model = new \app\admin\model\Coupon; $this->view->assign("typeList", $this->model->getTypeList()); $this->view->assign("purposeList", $this->model->getPurposeList()); $this->view->assign("statusList", $this->model->getStatusList()); } /** * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法 * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑 * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改 */ //修改优惠券状态 public function chanagestatus() { $ids = input('ids', 0, 'intval'); //优惠券id $status = input('status', 0, 'intval'); //状态:1=发布,2=下架 if (!$ids) { $this->error('参数缺失'); } if (!in_array($status, [1, 2])) { $this->error('参数错误'); } $info = Db::name('coupon')->find($ids); if (!$info) { $this->error('优惠券不存在'); } if ($status == 1 && $info['status'] != 0) { $this->error('优惠券状态已改变'); } if ($status == 2) { if ($info['status'] != 1) { $this->error('优惠券状态已改变'); } if ($info['purpose'] == 0) { //获得方式:0=充值,1=注册,2=推广,3=后台发放,4=轮播图,5=报名活动 //判断是否有绑定充值 $count = Db::name('recharge')->where(['coupon_id' => $ids])->find(); if ($count) { $this->error('请先取消该优惠券与充值列表的绑定关系'); } } } $rs = Db::name('coupon')->where(['id' => $ids, 'status' => $info['status']])->setField('status', $status); if (!$rs) { $this->error('操作失败'); } $this->success('操作成功'); } /** * 删除 */ public function delcoupon($ids = "") { if (!$this->request->isPost()) { $this->error(__("Invalid parameters")); } $ids = $ids ? $ids : $this->request->post("ids"); $info = Db::name('coupon')->find($ids); if (!$info) { $this->error('操作成功'); } if ($info['status'] != 2) { $this->error('请先下架优惠券'); } Db::name('coupon')->delete($ids); $this->success('操作成功'); } }