request->isAjax) { $where[] = ['=', 'mall_id', $this->mall_id]; $where[] = ['in', 'status', [StatusEnum::DISABLED, StatusEnum::ENABLED]]; $params = [ 'where' => $where, 'order' => 'id desc' ]; $page_data = CloudStockTwoUpgradeBag::listPage($params,false,true); if(!empty($page_data['list'])){ $goods_id_arr = array_column($page_data['list'],'goods_id'); $give_goods_id_arr = array_column($page_data['list'],'give_goods_id'); $level_arr = array_column($page_data['list'],'level'); $goods_arr = Goods::lists(['where'=>[['id'=>$goods_id_arr]],'index'=>'id']); $give_goods_arr = Goods::lists(['where'=>[['id'=>$give_goods_id_arr]],'index'=>'id']); $level_list = CloudStockTwoLevel::lists(['where'=>[['mall_id'=>$this->mall_id],['level'=>$level_arr],['status'=>[StatusEnum::DISABLED,StatusEnum::ENABLED]]],'index'=>'level']); foreach ($page_data['list'] as &$item){ $item['level_name'] = ''; $item['goods_name'] = $item['cover_pic'] = ''; $item['give_goods_name'] = $item['give_cover_pic'] = ''; if($goods_arr[$item['goods_id']]){ $item['goods_name'] = $goods_arr[$item['goods_id']]['goods_name']; $item['cover_pic'] = $goods_arr[$item['goods_id']]['cover_pic']; } if($give_goods_arr[$item['give_goods_id']]){ $item['give_goods_name'] = $give_goods_arr[$item['give_goods_id']]['goods_name']; $item['give_cover_pic'] = $give_goods_arr[$item['give_goods_id']]['cover_pic']; } if($level_list[$item['level']]){ $item['level_name'] = $level_list[$item['level']]['name']; } $item['give_goods_info'] = json_decode($item['give_goods_info'],true) ?? []; if(!empty($item['give_goods_info'])){ foreach($item['give_goods_info'] as &$info){ $goods = Goods::findOne(['id'=>$info['goods_id']]); if($goods){ $info['goods_name'] = $goods['goods_name']; $info['cover_pic'] = $goods['cover_pic']; }else{ $info['goods_name'] = ''; $info['cover_pic'] = ''; } } } } } return $this->success('操作成功', $page_data); } return $this->render($this->action->id, []); } public function actionEdit() { try { $request = Yii::$app->request; if ($request->isAjax) { if ($request->isGet) { $id = Yii::$app->request->get('id', ''); $data = CloudStockTwoUpgradeBag::getOne([['id'=>$id],['mall_id'=>$this->mall_id],['status'=>[StatusEnum::DISABLED,StatusEnum::ENABLED]]],true); $goods = Goods::findOne(['id'=>$data['goods_id']]); // $give_goods = Goods::findOne(['id'=>$data['give_goods_id']]); $data['goods_name'] = $goods['goods_name']; $data['cover_pic'] = $goods['cover_pic']; // $data['give_goods_name'] = $give_goods['goods_name']??''; // $data['give_cover_pic'] = $give_goods['cover_pic']??''; $data['give_goods_info'] = json_decode($data['give_goods_info'],true) ?? []; if(!empty($data['give_goods_info'])){ foreach($data['give_goods_info'] as &$give_goods_info){ $goods = Goods::findOne(['id'=>$give_goods_info['goods_id']]); if($goods){ $give_goods_info['goods_name'] = $goods['goods_name']; $give_goods_info['cover_pic'] = $goods['cover_pic']; }else{ $give_goods_info['goods_name'] = ''; $give_goods_info['cover_pic'] = ''; } } } return $this->success('操作成功', $data); } if ($request->isPost) { $params = Yii::$app->request->post(); $params['mall_id'] = $this->mall_id; if(!empty($params['give_goods_info'])){ foreach($params['give_goods_info'] as &$give_goods_info){ unset($give_goods_info['goods_name'],$give_goods_info['cover_pic']); } } $params['give_goods_info'] = json_encode($params['give_goods_info']); $res = CloudStockTwoUpgradeBag::setData($params); if ($res === false) return $this->error(CloudStockTwoAgent::getStaticError()); return $this->success('操作成功'); } } } catch (\Exception $e) { return $this->error($e->getMessage(), []); } return $this->render('edit'); } public function actionUpdateStatus(){ $params = Yii::$app->request->post(); $params['mall_id'] = $this->mall_id; $res = CloudStockTwoUpgradeBag::setData($params); if ($res === false) return $this->error(CloudStockTwoLevel::getStaticError()); return $this->success('操作成功'); } public function actionDel(){ $params = Yii::$app->request->get(); $params['mall_id'] = $this->mall_id; $params['status'] = StatusEnum::DELETE; $res = CloudStockTwoUpgradeBag::setData($params); if ($res === false) return $this->error(CloudStockTwoLevel::getStaticError()); return $this->success('操作成功'); } //不用验证权限 public function actionGetCloudStockTwoGoodsList(){ $where[] = ['=', 'mall_id', $this->mall_id]; $where[] = ['in', 'status', [StatusEnum::DISABLED, StatusEnum::ENABLED]]; $params = [ 'where' => $where, 'order' => 'id desc','select'=>'id,goods_id' ]; $page_data = CloudStockTwoGoods::listPage($params,false,true); if(!empty($page_data['list'])){ $goods_id_arr = array_column($page_data['list'],'goods_id'); $goods_arr = Goods::lists(['where'=>[['id'=>$goods_id_arr]],'index'=>'id']); foreach ($page_data['list'] as &$item){ $item['goods_name'] = $item['cover_pic'] = ''; if(!empty($goods_arr[$item['goods_id']])){ $item['goods_name'] = $goods_arr[$item['goods_id']]['goods_name']; $item['cover_pic'] = $goods_arr[$item['goods_id']]['cover_pic']; } } } return $this->success('操作成功', $page_data); } }