| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- <?php
- namespace addons\CloudStock\api\modules\v1\controllers;
- use addons\CloudStock\common\models\CloudStockBonusPoolLevel;
- use addons\CloudStock\common\models\CloudStockBonusPoolUser;
- use addons\CloudStock\common\services\CloudStockPriceDifferenceGiftPackageOrderService;
- use addons\CloudStock\common\services\CloudStockPriceDifferenceGiftPackageService;
- use common\enums\AddonsEnum;
- use common\enums\StatusEnum;
- /**
- * 默认控制器
- *
- * Class DefaultController
- * @package addons\CloudStock\api\modules\v1\controllers
- */
- class DefaultController extends BaseController
- {
- public $modelClass = '';
- /**
- * 不用进行登录验证的方法
- *
- * 例如: ['index', 'update', 'create', 'view', 'delete']
- * 默认全部需要验证
- *
- * @var array
- */
- protected $authOptional = ['index'];
- /**
- * 首页
- *
- * @return string
- */
- public function actionIndex()
- {
- return 'Hello world';
- }
- public function actionPoolLevelList()
- {
- $configs = \Yii::$app->services->setting->addons->get($this->mall_id, AddonsEnum::ADDONS_NAME_CLOUD_STOCK, 'basic');
- $pool_user = CloudStockBonusPoolUser::findOne(['mall_id' => $this->mall_id, 'user_id' => $this->user_id, 'status' => StatusEnum::ENABLED]);
- if (empty($pool_user)) return $this->success('', []);
- $where = [
- ['mall_id' => $this->mall_id],
- ['status' => StatusEnum::ENABLED],
- ];
- if (empty($configs['is_superposition'])) {
- $where[] = ['level' => $pool_user['level']];
- } else {
- $where[] = ['<=', 'level', $pool_user['level']];
- }
- $list = CloudStockBonusPoolLevel::lists([
- 'where' => $where,
- 'order' => 'level desc'
- ]);
- if (empty($list)) return $this->success('', []);
- $level_arr = array_column($list, 'level');
- $pool_user_list = CloudStockBonusPoolUser::lists([
- 'where' => [
- ['mall_id' => $this->mall_id],
- ['status' => StatusEnum::ENABLED],
- ['level' => $level_arr],
- ],
- 'group' => 'level',
- 'select' => 'count(*) as counts,level',
- 'index' => 'level'
- ]);
- $data = [];
- foreach ($list as $item) {
- $row = [
- 'name' => $item['name'],
- 'money' => $item['money'],
- 'people_nums' => 0,
- ];
- if (isset($pool_user_list[$item['level']])) {
- $row['people_nums'] = $pool_user_list[$item['level']]['counts'];
- }
- $data[] = $row;
- }
- return $this->success('', $data);
- }
- public function actionPriceDifferenceGiftPackageList()
- {
- if (\Yii::$app->request->isGet) {
- $params = \Yii::$app->request->get();
- $params['mall_id'] = $this->mall_id;
- $data = (new CloudStockPriceDifferenceGiftPackageService(['mall_id' => $this->mall_id, 'user_id' => $this->user_id]))->list($params);
- return $this->success('操作成功', $data);
- }
- }
- public function actionPriceDifferenceGiftPackageDetail()
- {
- if (\Yii::$app->request->isGet) {
- $params = \Yii::$app->request->get();
- $params['mall_id'] = $this->mall_id;
- $data = (new CloudStockPriceDifferenceGiftPackageService(['mall_id' => $this->mall_id, 'user_id' => $this->user_id]))->info($params);
- return $this->success('操作成功', $data);
- }
- }
- public function actionPriceDifferenceGiftPackageAddCart()
- {
- try {
- $params = \Yii::$app->request->post();
- $rules = [
- [['goods_id', 'num', 'type', 'price_difference_gift_package_id'], 'required'],
- ];
- $res = \Yii::$app->services->validate->validate($params, $rules);
- if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
- $params['mall_id'] = $this->mall_id;
- $data = (new CloudStockPriceDifferenceGiftPackageOrderService(['mall_id' => $this->mall_id, 'user_id' => $this->user_id]))->addCart($params);
- return $this->success('操作成功', $data);
- } catch (\Exception $e) {
- return $this->error($e->getMessage());
- }
- }
- public function actionPriceDifferenceGiftPackageDelCart()
- {
- $params = \Yii::$app->request->post();
- $rules = [
- [['goods_id', 'price_difference_gift_package_id'], 'required'],
- ];
- $res = \Yii::$app->services->validate->validate($params, $rules);
- if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
- $params['mall_id'] = $this->mall_id;
- $data = (new CloudStockPriceDifferenceGiftPackageOrderService(['mall_id' => $this->mall_id, 'user_id' => $this->user_id]))->delCart($params);
- return $this->success('操作成功', $data);
- }
- public function actionPriceDifferenceGiftPackageIndexCart()
- {
- $params = \Yii::$app->request->get();
- $params['mall_id'] = $this->mall_id;
- $data = (new CloudStockPriceDifferenceGiftPackageOrderService(['mall_id' => $this->mall_id, 'user_id' => $this->user_id]))->indexCart($params);
- return $this->success('操作成功', $data);
- }
- public function actionPriceDifferenceGiftPackageOrderPreview()
- {
- try {
- $params = \Yii::$app->request->post();
- $rules = [
- [['goods_ids', 'price_difference_gift_package_id'], 'required'],
- [['address_id'], 'safe'],
- ];
- $res = \Yii::$app->services->validate->validate($params, $rules);
- if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
- $params['mall_id'] = $this->mall_id;
- $data = (new CloudStockPriceDifferenceGiftPackageOrderService(['mall_id' => $this->mall_id, 'user_id' => $this->user_id]))->orderPreview($params);
- return $this->success('操作成功', $data);
- } catch (\Exception $e) {
- return $this->error($e->getMessage());
- }
- }
- public function actionPriceDifferenceGiftPackageOrderCreate()
- {
- try {
- $params = \Yii::$app->request->post();
- $rules = [
- [['goods_ids', 'price_difference_gift_package_id'], 'required'],
- [['address_id', 'remark', 'receiver_name', 'receiver_mobile'], 'safe'],
- ];
- $res = \Yii::$app->services->validate->validate($params, $rules);
- if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
- $params['mall_id'] = $this->mall_id;
- $data = (new CloudStockPriceDifferenceGiftPackageOrderService(['mall_id' => $this->mall_id, 'user_id' => $this->user_id]))->orderCreate($params);
- return $this->success('操作成功', $data);
- } catch (\Exception $e) {
- return $this->error($e->getMessage());
- }
- }
- }
|