model = new \app\admin\model\wanlshop\Active; $this->view->assign("statusList", $this->model->getStatusList()); } /** * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法 * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑 * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改 */ public function add(){ if($this->request->isPost()){ $data = $this->request->post(); $maininfo = $data['row']; $maininfo['createtime'] = date('Y-m-d H:i:s'); $goodIDS = $data['goods_id']; if(!isset($data['goods_id'])||empty($goodIDS)) $this->error("请选择参与活动的商品"); Db::startTrans($data); try { $aid = $this->model->insertGetId($maininfo); if($aid){ $pnum = $data['pnum']; $indexshow = $data['indexshow']; $insetGoods = []; $item = []; foreach ($goodIDS as $key => $value){ $item['goods_id'] = $value; $item['type'] = 1; $item['link_id'] = $aid; $item['start_time'] = $maininfo['start_time']; $item['end_time'] = $maininfo['end_time']; $item['isindex'] = $indexshow[$value]; $item['pnum'] = $pnum[$value]; $item['bili'] = $maininfo['active_bili']; $insetGoods[] = $item; } if(!Goods::insertAll($insetGoods)) throw new Exception("创建活动失败,商品信息有误"); Db::commit(); }else{ throw new Exception("创建活动失败,活动信息有误"); } } catch (PDOException $e) { Db::rollback(); $this->error($e->getMessage()); } catch (Exception $e) { Db::rollback(); $this->error($e->getMessage()); } $this->success("限时活动创建成功"); } return $this->view->fetch(); } public function addnew(){ if($this->request->isPost()){ $data = $this->request->post(); $maininfo = $data['row']; $maininfo['createtime'] = date('Y-m-d H:i:s'); $goodIDS = $data['goods_id']; if(!isset($data['goods_id'])||empty($goodIDS)) $this->error("请选择参与活动的商品"); Db::startTrans($data); try { $aid = $this->model->insertGetId($maininfo); if($aid){ $pnum = $data['pnum']; $indexshow = $data['indexshow']; $insetGoods = []; $item = []; foreach ($goodIDS as $key => $value){ $item['goods_id'] = $value; $item['type'] = 1; $item['link_id'] = $aid; $item['start_time'] = $maininfo['start_time']; $item['end_time'] = $maininfo['end_time']; $item['isindex'] = $indexshow[$value]; $item['pnum'] = $pnum[$value]; $item['bili'] = $maininfo['active_bili']; $insetGoods[] = $item; } if(!Goods::insertAll($insetGoods)) throw new Exception("创建活动失败,商品信息有误"); Db::commit(); }else{ throw new Exception("创建活动失败,活动信息有误"); } } catch (PDOException $e) { Db::rollback(); $this->error($e->getMessage()); } catch (Exception $e) { Db::rollback(); $this->error($e->getMessage()); } $this->success("限时活动创建成功"); } return $this->view->fetch(); } public function addtoday(){ if($this->request->isPost()){ $data = $this->request->post(); $maininfo = $data['row']; $maininfo['createtime'] = date('Y-m-d H:i:s'); $goodIDS = $data['goods_id']; if(!isset($data['goods_id'])||empty($goodIDS)) $this->error("请选择参与活动的商品"); Db::startTrans($data); try { $aid = $this->model->insertGetId($maininfo); if($aid){ $pnum = $data['pnum']; $indexshow = $data['indexshow']; $insetGoods = []; $item = []; foreach ($goodIDS as $key => $value){ $item['goods_id'] = $value; $item['type'] = 1; $item['link_id'] = $aid; $item['start_time'] = $maininfo['start_time']; $item['end_time'] = $maininfo['end_time']; $item['isindex'] = $indexshow[$value]; $item['pnum'] = $pnum[$value]; $item['bili'] = $maininfo['active_bili']; $insetGoods[] = $item; } if(!Goods::insertAll($insetGoods)) throw new Exception("创建活动失败,商品信息有误"); Db::commit(); }else{ throw new Exception("创建活动失败,活动信息有误"); } } catch (PDOException $e) { Db::rollback(); $this->error($e->getMessage()); } catch (Exception $e) { Db::rollback(); $this->error($e->getMessage()); } $this->success("限时活动创建成功"); } return $this->view->fetch(); } public function edit($ids=null){ $info = $this->model->get($ids); if($this->request->post()){ $data = $this->request->post(); $maininfo = $data['row']; $goodIDS = $data['goods_id']; if(!isset($data['goods_id'])||empty($goodIDS)) $this->error("请选择参与活动的商品"); Db::startTrans($data); try { $info->active_name = $maininfo['active_name']; $info->updatetime = date('Y-m-d H:i:s'); $info->start_time = $maininfo['start_time']; $info->end_time = $maininfo['end_time']; $info->active_bili = $maininfo['active_bili']; $info->status = 0; if($info->save() && Goods::where("link_id",$ids)->delete()){ $pnum = $data['pnum']; $indexshow = $data['indexshow']; $insetGoods = []; $item = []; foreach ($goodIDS as $key => $value){ $item['goods_id'] = $value; $item['type'] = 1; $item['link_id'] = $ids; $item['start_time'] = $maininfo['start_time']; $item['end_time'] = $maininfo['end_time']; $item['isindex'] = $indexshow[$value]; $item['pnum'] = $pnum[$value]; $item['bili'] = $maininfo['active_bili']; $insetGoods[] = $item; } if(!Goods::insertAll($insetGoods)) throw new Exception("参加活动的商品有误,请重新编辑信息"); Db::commit(); }else{ throw new Exception("活动信息有误,修改活动失败"); } } catch (PDOException $e) { Db::rollback(); $this->error($e->getMessage()); } catch (Exception $e) { Db::rollback(); $this->error($e->getMessage()); } $this->success("限时活动修改成功"); } $this->assign("row",$info); return $this->view->fetch(); } }