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('操作成功'); } }