request->isAjax) { return $this->render('/diy/index'); } if (\Yii::$app->request->isGet) { $params['mall_id'] = $this->mall_id; $params['addons_name'] = StoreEnum::ADDONS_NAME; $params['status'] = StatusEnum::ENABLED; $res = AddonsMarketingSetting::findOne($params); if ($res == false) return $this->success('操作成功', []); $data = $res->toArray(); $content = json_decode($data['content'], true); if (!empty($content)) { if (!empty($content[2]['data']['defaultTabs'])) { $content[2]['data']['defaultTabs'][] = [ 'name' => 'addons', 'children' => ['application'] ]; } if (empty($content['3']['data']['listType'])) { $store_data = array_pop($content); $store_ids = []; if (!empty($store_data['data']['goods'])) { foreach ($store_data['data']['goods'] as $item) { $store_ids[] = $item['params']['store_id']; } $list = Store::lists( ['where' => [ ['id' => $store_ids], ['status' => StatusEnum::ENABLED], ['mall_id' => $this->mall_id] ], 'select' => 'id'] ); $list = []; $store_id_arr = array_column($list, 'id'); //没有被删除的活动id $goods_data = []; foreach ($store_data['data']['goods'] as $item) { if (in_array($item['params']['id'], $store_id_arr)) $goods_data[] = $item; } $store_data['data']['goods'] = $goods_data; $content[] = $store_data; } } $data['content'] = json_encode($content); } return $this->success('操作成功', $data); } else { $params = \Yii::$app->request->post(); $res = \Yii::$app->services->validate->validate($params, [ [['content'], 'required'], ]); if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage()); $params['mall_id'] = $this->mall_id; $params['addons_name'] = StoreEnum::ADDONS_NAME; $res = AddonsMarketingSetting::setData($params); if ($res == false) return $this->error(AddonsMarketingSetting::getStaticError()); return $this->success('操作成功', []); } } public function actionStoreList() { if (!\Yii::$app->request->isGet) { return $this->error('请求方式错误'); } $store_ids = \Yii::$app->request->get('store_ids'); $query = Store::find() ->select('id,mall_id,user_id,store_name,logo_img,store_name as title,logo_img as img') ->where(['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED, 'check_status' => StoreEnum::CHECK_ADOPT]) ->andWhere(['or', ['>', 'expire_time', time()], ['expire_time' => 0]]); if (!empty($store_ids)) { $query->andWhere(['id' => $store_ids]); } $stores = $query->asArray()->indexBy('id')->all(); $data = []; foreach ($store_ids as $store_id){ if(isset($stores[$store_id])){ $data[]=$stores[$store_id]; } } return $this->success('success', $data); } public function actionGoodList() { if (!\Yii::$app->request->isGet) { return $this->error('请求方式错误'); } $good_ids = \Yii::$app->request->get('good_ids'); $query = StoreGoods::find() ->alias('sg') ->join('INNER JOIN', Store::tableName() . ' as s', 'sg.store_id = s.id') ->select('sg.id,sg.goods_name,sg.sales_num,sg.cover_pic,sg.price,sg.original_price') ->where(['sg.mall_id' => $this->mall_id, 'sg.status' => StatusEnum::ENABLED, 'sg.check_status' => StoreEnum::CHECK_ADOPT, 'sg.is_on_sale' => 1, 's.status' => StatusEnum::ENABLED, 's.check_status' => StoreEnum::CHECK_ADOPT]) ->andWhere(['or', ['>', 'expire_time', time()], ['expire_time' => 0]]); if (!empty($good_ids)) { $query->andWhere(['sg.id' => $good_ids]); } $goods = $query->asArray()->all(); if (!empty($goods)) { foreach ($goods as &$good) { $good['img'] = $good['cover_pic']; $good['discount'] = bcsub($good['original_price'],$good['price'],2); if($good['discount']<0) $good['discount']= 0; } } return $this->success('success', $goods); } }