request->isAjax) { if (\Yii::$app->request->isGet) { if (!MallAddons::isInstall($this->mall_id, 'DoubleCopy')) return $this->error('二二复制插件未安装'); $data = [ 'goods_list' => [] ]; $double_copy_level_model = DoubleCopyLevel::getOne([['mall_id' => $this->mall_id], ['level' => 1], ['status' => [StatusEnum::ENABLED]]], true); $double_copy_level_model['goods_list'] = json_decode($double_copy_level_model['goods_list'], true); if(empty($double_copy_level_model['goods_list'])){ return $this->error('二二复制商品未设置'); } $data['goods_list'] = $double_copy_level_model['goods_list']; $cloud_stock_double_copy_goods = \Yii::$app->services->setting->addons->get($this->mall_id, AddonsEnum::ADDONS_NAME_CLOUD_STOCK, 'double_copy_goods'); $goods_list = json_decode($cloud_stock_double_copy_goods['goods_list'], true); $goods_arr = []; if (!empty($goods_list)) { $cloud_stock_goods_ids = array_column($goods_list, 'cloud_stock_goods_id'); $c_s_goods_list = CloudStockGoods::lists(['where' => [['goods_id' => $cloud_stock_goods_ids], ['status' => StatusEnum::ENABLED]]]); $cloud_stock_goods_ids = array_column($c_s_goods_list, 'goods_id'); foreach ($goods_list as $v) { if (in_array($v['cloud_stock_goods_id'], $cloud_stock_goods_ids)) { $goods_arr[$v['id']] = $v; } } } foreach ($data['goods_list'] as &$item) { $item['num'] = 0; $item['cloud_stock_goods_id'] = ''; $item['cloud_stock_goods_cover_pic'] = ''; $item['cloud_stock_goods_name'] = ''; if (isset($goods_arr[$item['id']])) { $item['num'] = $goods_arr[$item['id']]['num']; $item['cloud_stock_goods_id'] = $goods_arr[$item['id']]['cloud_stock_goods_id']; $item['cloud_stock_goods_cover_pic'] = $goods_arr[$item['id']]['cloud_stock_goods_cover_pic']; $item['cloud_stock_goods_name'] = $goods_arr[$item['id']]['cloud_stock_goods_name']; } } return $this->success('', $data); } elseif (\Yii::$app->request->isPost) { $post = \Yii::$app->request->post(); \Yii::$app->services->setting->addons->set($this->mall_id, AddonsEnum::ADDONS_NAME_CLOUD_STOCK, ['double_copy_goods' => $post]); return $this->success('操作成功'); } } return $this->render($this->action->id, []); } }