model = new \app\admin\model\pickup\Package; $this->view->assign("statusList", $this->model->getStatusList()); } /** * 查看 */ public function index() { //设置过滤方法 $this->request->filter(['strip_tags']); if ($this->request->isAjax()) { //如果发送的来源是Selectpage,则转发到Selectpage if ($this->request->request('keyField')) { return $this->selectpage(); } list($where, $sort, $order, $offset, $limit) = $this->buildparams(); $total = $this->model ->where($where) ->order($sort, $order) ->count(); $list = $this->model ->where($where) ->order($sort, $order) ->limit($offset, $limit) ->select(); $list = collection($list)->toArray(); $request = request(); foreach ($list as $k => &$v) { $v['link'] = $request->domain() . "/addons/pickup#/pages/index/index?id=" . $v['id']; $v['qrcodelink'] = urlencode($v['link']); $v['domain'] = $request->domain(); $v['qrcode'] = $v['domain'] . "/addons/pickup/index/qrcode?text=" . $v['qrcodelink'] . "&labelhalign=0&labelvalign=3&foreground=%23000000&background=%23ffffff&size=300&padding=10&labelfontsize=14&errorcorrection=quartile"; } $result = array("total" => $total, "rows" => $list); return json($result); } return $this->view->fetch(); } /** * 设置活动礼包中商品 */ public function setgoods($ids = null) { $row = $this->model->get($ids); if (!$row) { $this->error(__('No Results were found')); } $goods_ids_list = json_decode($row['goods_list'], true); if (!$goods_ids_list) { $goods_ids_list = []; } $modelGiftGoods = new \app\admin\model\pickup\Goods; //设置过滤方法 $this->request->filter(['strip_tags']); if ($this->request->isAjax()) { //如果发送的来源是Selectpage,则转发到Selectpage if ($this->request->request('keyField')) { return $this->selectpage(); } list($where, $sort, $order, $offset, $limit) = $this->buildparams(); $total = $modelGiftGoods ->where($where) ->order($sort, $order) ->count(); $list = $modelGiftGoods ->where($where) ->order($sort, $order) ->limit($offset, $limit) ->select(); $list = collection($list)->toArray(); foreach ($list as $k => &$v) { $v['isselected'] = false; if (in_array($v['id'], $goods_ids_list)) { $v['isselected'] = true; } } $result = array("total" => $total, "rows" => $list); return json($result); } $this->view->assign("goods_ids_list", $goods_ids_list); $this->view->assign("row", $row); return $this->view->fetch(); } /** * 保存活动礼包中商品 */ public function savegoods($gpid = null, $ids = null) { $gpid = $gpid ? $gpid : $this->request->param("gpid"); $ids = $ids ? $ids : $this->request->param("ids"); if ($ids && $gpid) { if ($this->request->has('params')) { parse_str($this->request->post("params"), $values); $values = $this->auth->isSuperAdmin() ? $values : array_intersect_key($values, array_flip(is_array($this->multiFields) ? $this->multiFields : explode(',', $this->multiFields))); //检查gp是否存在 $row = $this->model->get($gpid); if (!$row) { $this->error(__('No Results were found')); } //检查商品是否存在 $modelGiftGoods = new \app\admin\model\pickup\Goods; $goods = $modelGiftGoods->get($ids); if (!$goods) { $this->error(__('No Results were found')); } //给商品列表字段增加或者减少商品ID $goods_ids_list = json_decode($row['goods_list'], true); (!$goods_ids_list) && $goods_ids_list = []; $new_list = []; if (in_array($ids, $goods_ids_list)) { foreach ($goods_ids_list as $k => $v) { if ($v == $ids) { if (isset($values['isselected'])&&$values['isselected'] == 1) { $new_list[] = $v; } } else { $new_list[] = $v; } } } else { $goods_ids_list[] = $ids; $new_list = $goods_ids_list; } Db::startTrans(); try { $row->goods_list = json_encode($new_list); $row->save(); Db::commit(); } catch (PDOException $e) { Db::rollback(); $this->error($e->getMessage()); } catch (Exception $e) { Db::rollback(); $this->error($e->getMessage()); } $this->success(); } } $this->error(__('Parameter %s can not be empty', 'ids')); } }