123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- <?php
- namespace app\admin\controller\egg;
- use app\common\controller\Backend;
- use think\Db;
- /**
- * 奖池礼物管理
- *
- * @icon fa fa-circle-o
- */
- class Gift extends Backend
- {
-
- /**
- * Gift模型对象
- * @var \app\admin\model\egg\Gift
- */
- protected $model = null;
- public function _initialize()
- {
- parent::_initialize();
- $this->model = new \app\admin\model\egg\Gift;
- $this->view->assign("isUseList", $this->model->getIsUseList());
- }
- public function import()
- {
- parent::import();
- }
- /**
- * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
- * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
- * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
- */
-
- /**
- * 查看
- */
- public function index()
- {
- //当前是否为关联查询
- $this->relationSearch = true;
- //设置过滤方法
- $this->request->filter(['strip_tags', 'trim']);
- if ($this->request->isAjax()) {
- //如果发送的来源是Selectpage,则转发到Selectpage
- if ($this->request->request('keyField')) {
- return $this->selectpage();
- }
- list($where, $sort, $order, $offset, $limit) = $this->buildparams();
- $list = $this->model
- ->field('*,count(gift.id) as gift_number')
- ->with(['eggjackpot'])
- ->where($where)
- ->order($sort, $order)
- ->group('gift.Jackpot_id,gift.gift_id')
- ->paginate();
- $totalMoney = $this->model->with(['eggjackpot'])->where($where)->sum('price');
- foreach ($list as $row) {
-
- $row->getRelation('eggjackpot')->visible(['name','type']);
- }
- $result = array("total" => $list->total(), "rows" => $list->items(), "extend" => ['total_price' => $totalMoney]);
- return json($result);
- }
- return $this->view->fetch();
- }
- /**
- * 添加
- */
- public function add()
- {
- if ($this->request->isPost()) {
- $gift_id = $this->request->post('gift_id');
- $jackpot_id = $this->request->post('jackpot_id');
- $number = $this->request->post('number');
- $gift_info = Db::name('gift')->where('id',$gift_id)->find();
- if(empty($gift_info)){
- $this->error('不存在的礼物');
- }
- $jackpot_info = Db::name('egg_jackpot')->where('id',$jackpot_id)->find();
- $data_all = [];
- for($i=1;$i<=$number;$i++){
- $one = [
- 'gift_id' => $gift_id,
- 'image' => $gift_info['image'],
- 'special' => $gift_info['special'],
- 'gift_name' => $gift_info['name'],
- 'Jackpot_id' => $jackpot_id,
- 'prize_no' => 0,
- 'price' => $gift_info['price'],
- 'is_use' => 0,
- 'starttime' => $jackpot_info['starttime'],
- ];
- $data_all[] = $one;
- }
- Db::startTrans();
- $rs = Db::name('egg_gift')->insertAll($data_all);
- Db::commit();
- $this->success('添加完成');
- }
- return $this->view->fetch();
- }
- /**
- * 编辑
- */
- public function newedit(){
- $gift_id = input('gift_id');
- $jackpot_id = input('jackpot_id');
- $info = Db::name('egg_gift')->field('*,count(id) as number')->where('gift_id',$gift_id)->where('Jackpot_id',$jackpot_id)->find();
- if ($this->request->isPost()) {
- $number = $this->request->post('number',0,'intval');
- if($number <= 0){
- $this->error('请填写正确的数量');
- }
- $gift_info = Db::name('gift')->where('id',$gift_id)->find();
- if(empty($gift_info)){
- $this->error('不存在的礼物');
- }
- $jackpot_info = Db::name('egg_jackpot')->where('id',$jackpot_id)->find();
- if(empty($jackpot_info)){
- $this->error('不存在的奖池');
- }
- $data_all = [];
- for($i=1;$i<=$number;$i++){
- $one = [
- 'gift_id' => $gift_id,
- 'image' => $gift_info['image'],
- 'special' => $gift_info['special'],
- 'gift_name' => $gift_info['name'],
- 'Jackpot_id' => $jackpot_id,
- 'prize_no' => 0,
- 'price' => $gift_info['price'],
- 'is_use' => 0,
- 'starttime' => $jackpot_info['starttime'],
- ];
- $data_all[] = $one;
- }
- Db::startTrans();
- //全删
- $info = Db::name('egg_gift')->where('gift_id',$gift_id)->where('Jackpot_id',$jackpot_id)->delete();
- if(!$info){
- Db::rollback();
- $this->error('操作失败');
- }
- //重新写入
- $rs = Db::name('egg_gift')->insertAll($data_all);
- if(!$rs){
- Db::rollback();
- $this->error('操作失败');
- }
- Db::commit();
- $this->success('修改完成');
- }
- $this->view->assign('row',$info);
- return $this->view->fetch();
- }
- /**
- * 删除
- */
- public function newdel(){
- $gift_id = input('gift_id');
- $jackpot_id = input('jackpot_id');
- $info = Db::name('egg_gift')->where('gift_id',$gift_id)->where('Jackpot_id',$jackpot_id)->delete();
- $this->success('删除完成');
- }
- }
|