| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- <?php
- namespace addons\Store\api\modules\v1\controllers;
- use addons\Store\common\enums\StoreEnum;
- use addons\Store\common\models\Store;
- use addons\Store\common\models\StoreGoods;
- use Yii;
- use api\controllers\OnAuthController;
- use common\enums\StatusEnum;
- use common\models\common\AddonsMarketingSetting;
- /**
- * 默认控制器
- *
- * Class DefaultController
- * @package addons\Store\api\modules\v1\controllers
- */
- class DefaultController extends OnAuthController
- {
- public $modelClass = '';
- /**
- * 不用进行登录验证的方法
- *
- * 例如: ['index', 'update', 'create', 'view', 'delete']
- * 默认全部需要验证
- *
- * @var array
- */
- protected $authOptional = ['index'];
- /**
- * 首页
- *
- * @return string
- */
- public function actionIndex()
- {
- echo 'this is home index page 。。。。';
- }
- public function actionDiyInfo()
- {
- $data = AddonsMarketingSetting::getOne([['mall_id' => $this->mall_id], ['addons_name' => StoreEnum::ADDONS_NAME], ['status' => StatusEnum::ENABLED]]);
- $content = json_decode($data['content'],true);
- $store_ids = [];
- if(isset($content[3]['data']['goods'])){
- foreach ($content[3]['data']['goods'] as $item){
- $store_ids[]=$item['params']['id'];
- }
- $store_list = Store::lists([
- 'where'=>[
- ['id'=>$store_ids],
- ['status' => StatusEnum::ENABLED],
- ['check_status' => StoreEnum::CHECK_ADOPT],
- ['or', ['>', 'expire_time', time()], ['expire_time' => 0]]
- ],
- 'index'=>'id'
- ]);
- $store_arr = [];
- foreach ($content[3]['data']['goods'] as $item){
- if(isset($store_list[$item['params']['id']])){
- $item['params']['store_name'] = $store_list[$item['params']['id']]['store_name'];
- $store_arr[]=$item;
- }
- }
- $content[3]['data']['goods'] = $store_arr;
- }
- if(isset($content[4]['data']['goods'])){
- $store_ids = $goods_ids = [];
- foreach ($content[4]['data']['goods'] as $item){
- $goods_ids[]=$item['params']['id'];
- $store_ids[]=$item['params']['store_id'];
- }
- $store_list = Store::lists([
- 'where'=>[
- ['id'=>$store_ids],
- ['status' => StatusEnum::ENABLED],
- ['check_status' => StoreEnum::CHECK_ADOPT],
- ['or', ['>', 'expire_time', time()], ['expire_time' => 0]]
- ],
- ]);
- $store_goods_list = StoreGoods::lists([
- 'where'=>[
- ['id'=>$goods_ids],
- ['status' => StatusEnum::ENABLED],
- ['check_status' => StoreEnum::CHECK_ADOPT],
- ['is_on_sale' =>1],
- ],
- 'index'=>'id'
- ]);
- $store_id_arr =array_column($store_list,'id');
- $goods_arr = [];
- foreach ($content[4]['data']['goods'] as $item){
- if(in_array($item['params']['store_id'],$store_id_arr)){
- if(isset($store_goods_list[$item['params']['id']])){
- $goods_arr[]=$item;
- }
- }
- }
- $content[4]['data']['goods'] = $goods_arr;
- }
- $data['content'] = json_encode($content);
- if ($data == false) return $this->error(AddonsMarketingSetting::getStaticError());
- return $this->success('', $data);
- }
- public function actionConf()
- {
- $decoration = \Yii::$app->services->setting->addons->get($this->mall_id, StoreEnum::ADDONS_NAME, 'decoration');
- $return['near_shop_title'] = $decoration['near_shop_title'] ?? '附近商家';
- return $this->success('', $return);
- }
- }
|