| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- <?php
- namespace addons\Happiness\backend\controllers;
- use addons\Happiness\common\enums\HappinessPensionEnum;
- use addons\Happiness\common\models\HappinessPension;
- use addons\Happiness\common\models\HappinessThirdUser;
- use addons\Happiness\common\service\CommissionService;
- use addons\Happiness\common\service\PensionService;
- use common\enums\StatusEnum;
- use common\models\order\Order;
- use common\models\user\User;
- use Yii;
- class StorePensionController extends BaseController
- {
- public function actionIndex()
- {
- if(Yii::$app->request->isAjax)
- {
- if (\Yii::$app->request->isGet)
- {
- $page = \Yii::$app->request->get('page', 1);
- $limit = \Yii::$app->request->get('limit', $this->pageSize);
- $params = \Yii::$app->request->get();
- $wheres = [
- ['=','p.status',StatusEnum::ENABLED],
- ['=','p.mall_id' ,$this->mall_id]
- ];
- if($params['is_entry']===0)
- {
- $wheres[]=['<','order_status' ,HappinessPensionEnum::IS_ENTRY];
- }
- if($params['is_entry']===1)
- {
- $wheres[]=['>=','order_status' ,HappinessPensionEnum::IS_ENTRY];
- $wheres[]=['<>','order_status' ,HappinessPensionEnum::CANCEL];
- }
- if(!empty($params['user_keyword']))
- {
- $user_where=[
- 'or',
- ['=', 'id', $params['user_keyword']],
- ['like', 'nickname', $params['user_keyword']],
- ['=', 'mobile', $params['user_keyword']]
- ];
- $user_ids=User::find()->where(['status' => StatusEnum::ENABLED,'mall_id' =>
- $this->mall_id])->andWhere($user_where)
- ->select('id')->column()??[];
- $wheres[] = ['in','p.user_id' ,$user_ids];
- }
- if(!empty($start_time))
- {
- $wheres[] = ['>=','p.created_at', strtotime($start_time)];
- }
- if(!empty($end_time))
- {
- $wheres[] = ['<=','p.created_at', strtotime($end_time)+86400];
- }
- if($params['is_real']===1 || $params['is_real']===0)
- {
- $wheres[] = ['=','th.is_real', $params['is_real']];
- }
- $params = [
- 'alias' => 'p',
- 'select' => 'p.*',
- 'where' => $wheres,
- 'order' => 'created_at desc',
- 'page' => $page,
- 'limit' => $limit,
- 'with' => ['user' => function ($query) {
- $query->select('id,nickname,mobile');
- },'thirdUser'],
- 'join' => [['left join', HappinessThirdUser::tableName() . ' as th', 'p.user_id=th.user_id and th.type=1']],
- ];
- $list = HappinessPension::listPage($params);
- if (false === $list) {
- return $this->error(HappinessPension::getStaticError());
- }
- if(!empty($list['list']))
- {
- foreach ($list['list'] as &$item)
- {
- $item['order_status_text'] = HappinessPensionEnum::getMap()[$item['order_status']];
- }
- }
- $total_money=[
- 'no_send'=>HappinessPension::find()->where(['order_status'=>HappinessPensionEnum::NO_SEND,'is_settle'=>StatusEnum::ENABLED])->sum('money'),
- 'is_send'=>HappinessPension::find()->where(['order_status'=>HappinessPensionEnum::IS_SEND,'is_settle'=>StatusEnum::ENABLED])->sum('money'),
- 'wait_entry'=>HappinessPension::find()->where(['order_status'=>HappinessPensionEnum::WAIT_ENTRY,'is_settle'=>StatusEnum::ENABLED])->sum('money'),
- 'is_entry'=>HappinessPension::find()->where(['order_status'=>HappinessPensionEnum::IS_ENTRY,'is_settle'=>StatusEnum::ENABLED])->sum('money'),
- ];
- $list['total_money']=$total_money;
- return $this->success('操作成功',$list);
- }
- }
- return $this->render('index');
- }
-
- public function actionSend()
- {
- $id = Yii::$app->request->post('id');
- $model = HappinessPension::findOne($id);
- if (!$model) {
- return $this->error('数据不存在');
- }
- if ($model->order_status != HappinessPensionEnum::NO_SEND) {
- return $this->error('订单状态错误');
- }
-
- //发送养老金订单
- $pensionService=new PensionService();
- $uid=$model->thirdUser?$model->thirdUser->uid:0;
- if(!$uid)
- {
- return $this->error('养老金用户未同步');
- }
- $res=$pensionService->send($uid,$model->money);
- if($res===false)
- {
- return $this->error($pensionService->getError());
- }
- $model->order_status=HappinessPensionEnum::IS_SEND;//改为已发起
- $res=$model->save();
- if($res===false)
- {
- return $this->error(HappinessPension::getErrorMessage());
- }
-
- $order = Order::getOne([['id' => $model->order_id]],true,['detail']);
- $service=new CommissionService();
- $res=$service->statsItem( [
- 'mall_id' => $this->mall_id,
- 'order_id' => $order['id'],
- 'order_no' => $order['order_no'],
- 'order_money' => $order['pay_money'],
- 'user_id' => $model->user_id,
- ],'pension_money');
- if($res===false)
- {
- return $this->error($service->getError());
- }
- return $this->success('操作成功');
- }
- }
|