| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- <?php
- /**
- * Created by PhpStorm.
- * User: wniu
- * Date: 2022/3/24
- * Time: 9:59 上午
- */
- namespace addons\LuckyGroup\api\modules\v1\controllers;
- use addons\LuckyGroup\common\enums\LuckyGroupEnum;
- use addons\LuckyGroup\common\logic\notify\Notify;
- use addons\LuckyGroup\common\models\DefaultModel;
- use addons\LuckyGroup\common\models\LuckyGroupLotteryPeriod;
- use addons\LuckyGroup\common\models\LuckyGroupOrder;
- use api\controllers\OnAuthController;
- use common\enums\PayTypeEnum;
- use common\enums\StatusEnum;
- use common\models\user\User;
- class GroupController extends OnAuthController
- {
- public $modelClass = '';
- /**
- * 不用进行登录验证的方法
- *
- * 例如: ['index', 'update', 'create', 'view', 'delete']
- * 默认全部需要验证
- *
- * @var array
- */
- protected $authOptional = [];
- /**
- * 拼团记录
- * @Author xiucun
- * @DateTime 2021-04-20 14:48:47
- * @return void
- * @copyright: Copyright (c) 2020 广东七件事集团
- */
- public function actionGroupOrderList()
- {
- $get = \Yii::$app->request->get();
- $res = \Yii::$app->services->validate->validate($get, [
- [['group_status'], 'integer'],
- ]);
- if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
- $params['where'] = [
- ['=', 'mall_id', $this->mall_id],
- ['=', 'user_id', $this->user_id],
- ['=', 'status', StatusEnum::ENABLED],
- // ['=', 'is_pay', LuckyGroupEnum::IS_PAY_1],
- ];
- if (isset($get['group_status'])&&$get['group_status']!=='') {
- $params['where'][] = ['=', 'group_status', $get['group_status']];
- }
- $params['select'] = 'id,goods_id,group_status,goods_attr_id,total_pay_price,buy_nums';
- $params['order'] = 'created_at desc';
- $params['with'] = ['goods', 'goodsAttr'];
- $params['limit'] = 10;
- $order_list = LuckyGroupOrder::listPage($params);
- if (!$order_list) return $this->error(LuckyGroupOrder::getStaticError());
- if ($order_list['list']) {
- foreach ($order_list['list'] as $k => &$v) {
- $v['group_status_text'] = DefaultModel::getGroupText($this->mall_id, $v['group_status']);
- }
- }
- return $this->success('success', $order_list);
- }
- /**
- * 拼团订单详情
- * @Author xiucun
- * @DateTime 2021-04-20 14:48:47
- * @return void
- * @copyright: Copyright (c) 2020 广东七件事集团
- */
- public function actionGroupOrderDetail()
- {
- $get = \Yii::$app->request->get();
- $res = \Yii::$app->services->validate->validate($get, [
- [['id'], 'integer'],
- ]);
- if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
- $select = 'id,order_no,goods_id,goods_attr_id,group_status,attend_type,address_id,money,buy_nums,win_time,win_nums,payment_type,pay_at,remark,total_pay_price,total_price,shipping_money,created_at,updated_at';
- $order_info = LuckyGroupOrder::getOne([['id' => $get['id']]], true, ['goods', 'address', 'goodsAttr', 'orderMarketing'], 'id desc', $select);
- if (!$order_info) return $this->error(LuckyGroupOrder::getStaticError());
- $order_info['status_text'] = DefaultModel::getAttendTypeArr($this->mall_id, $order_info['attend_type']);
- $order_info['group_status_text'] = DefaultModel::getGroupText($this->mall_id, $order_info['group_status']);
- $pay_type = PayTypeEnum::getMap();
- $order_info['payment_type_status'] = $pay_type[$order_info['payment_type']];
- return $this->success('success', $order_info);
- }
- /**
- * 拼中公示
- * User: wniu
- * Date: 2022/4/6
- * Time: 9:45 上午
- *
- */
- public function actionWinList()
- {
- $params = \Yii::$app->request->get();
- $params['select'] = '*';
- $params['order'] = 'number desc';
- $params['with'] = ['user'];
- $params['group'] ='number';
- $params['where'] = [['mall_id' => $this->mall_id, 'activity_id' => $params['activity_id'], 'goods_id' => $params['goods_id']]];
- $list = LuckyGroupLotteryPeriod::listPage($params);
- $win_order_ids = [];
- if($list['list']){
- foreach ($list['list'] as $k=>$v){
- $v['win_order_ids'] = explode(',',$v['win_order_ids']);
- $win_order_ids = array_merge($win_order_ids,$v['win_order_ids']);
- }
- $order_list = LuckyGroupOrder::lists(['where'=>[['id'=>$win_order_ids]],'select'=>'id,user_id','index'=>'id']);
- $user_ids = array_column($order_list,'user_id');
- $user_list = User::lists(['where'=>[['id'=>$user_ids]],'select'=>'id,avatar_url','index'=>'id']);
- foreach ($list['list'] as &$v){
- $win_order_ids = explode(',',$v['win_order_ids']);
- $v['win_avatar_url'] = [];
- foreach ($win_order_ids as $order_id){
- if(!empty($order_list[$order_id])&&!empty($user_list[$order_list[$order_id]['user_id']])){
- $v['win_avatar_url'][] = $user_list[$order_list[$order_id]['user_id']]['avatar_url'];
- }
- }
- }
- }
- return $this->success('success', $list);
- }
- }
|