| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- namespace addons\Mch\api\modules\v1\controllers;
- use addons\Mch\common\enums\MchEnum;
- use addons\Mch\common\models\Mch;
- use addons\Store\common\enums\StoreEnum;
- use Yii;
- use api\controllers\OnAuthController;
- use common\enums\StatusEnum;
- use common\models\common\AddonsMarketingSetting;
- /**
- * 默认控制器
- *
- * Class DefaultController
- * @package addons\Mch\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()
- {
- return 'Hello world';
- }
- /**
- * @name:
- * @msg: 商户首页装修数据
- * @return {*}
- */
- public function actionDiyInfo()
- {
- $data = AddonsMarketingSetting::getOne([['mall_id' => $this->mall_id], ['addons_name' => MchEnum::ADDONS_NAME], ['status' => StatusEnum::ENABLED]]);
- if ($data == false) return $this->error(AddonsMarketingSetting::getStaticError());
- $content = json_decode($data['content'], true);
- if (empty($content[3]['data']['goods'])) {
- return $this->success('success', []);
- }
- $mch_ids = [];
- foreach ($content[3]['data']['goods'] as $good) {
- $mch_ids[] = $good['params']['id'] ?? 0;
- }
- $mch_ids = array_unique($mch_ids);
- $mch_list = Mch::find()
- ->select('id,store_name,logo_img,praise')
- ->where( ['mall_id' => $this->mall_id,'status' => StatusEnum::ENABLED, 'check_status' => MchEnum::CHECK_ADOPT, 'id' => $mch_ids])
- ->andWhere(['or', ['>', 'expire_time', time()], ['expire_time' => 0]])
- ->indexBy('id')
- ->asArray()
- ->all();
- foreach ($content[3]['data']['goods'] as $k=>$good) {
- if(!empty($good['params']['id'])){
- $mch_id = $good['params']['id'];
- if(!isset($mch_list[$mch_id])) unset($content[3]['data']['goods'][$k]);
- }
- }
- $data['content'] = json_encode($content);
- return $this->success('', $data);
- }
- }
|