request->isGet) { $get = Yii::$app->request->get(); // 检查提交的参数 $res = Yii::$app->services->validate->validate($get, [ [['page', 'limit'], 'integer'], [['type'], 'string'] ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); // 获取收益列表 $where = []; $where[] = ['=', 'mall_id', $this->mall_id]; $where[] = ['=', 'user_id', $this->user_id]; $where[] = ['=', 'status', StatusEnum::ENABLED]; if(!empty($get['type'])) { if($get['type'] == 'no_settle') { $where[] = ['=', 'is_settle', StatusEnum::DISABLED]; } if($get['type'] == 'is_settle') { $where[] = ['=', 'is_settle', StatusEnum::ENABLED]; $where[] = ['in', 'order_status', [HappinessPensionEnum::NO_SEND,HappinessPensionEnum::IS_SEND, HappinessPensionEnum::WAIT_ENTRY]]; } if($get['type'] == 'is_entry') { $where[] = ['=', 'order_status', HappinessPensionEnum::IS_ENTRY]; } if($get['type'] == 'cancel') { $where[] = ['=', 'order_status', HappinessPensionEnum::CANCEL]; } } if (!empty($get['time'])) { $time = explode(',', $get['time']); $where[] = ['>=', 'created_at', strtotime($time[0])]; if (count($time) == 2) { $where[] = ['<=', 'created_at', strtotime($time[1]) + 86400]; } } $order = 'created_at desc'; $select = '*'; $with = ['user' => function ($query) { $query->select('id,nickname,avatar_url'); }]; $params = array('where' => $where, 'with' => $with, 'order' => $order, 'select' => $select, 'limit' => $get['limit']); $list = HappinessPension::listPage($params, false, true); //获取商品名称 $order_ids=array_column($list['list'],'order_id'); //获取订单列表 $order_list=OrderDetail::find()->where(['order_id'=>$order_ids])->select('id,order_id,goods_name') ->asArray()->all(); //将订单按相同的订单id分组 foreach ($list['list'] as &$v) { $goods_list=array_values(array_filter($order_list, function($value) use($v) { if($value['order_id']==$v['order_id']) { return true; } })); $v['created_at'] = date('Y-m-d H:i:s', $v['created_at']); $v['settle_status_text'] = $v['is_settle']?'已结算':'未结算'; $v['goods_name'] = $goods_list[0]['goods_name']; } $data['total']=[ 'no_settle'=>HappinessPension::find()->where(['mall_id'=>$this->mall_id,'user_id'=>$this->user_id,'status'=>StatusEnum::ENABLED,'is_settle'=>StatusEnum::DISABLED,'order_status'=>HappinessPensionEnum::NO_SEND])->sum('money')??0, 'no_send'=>HappinessPension::find()->where(['mall_id'=>$this->mall_id,'user_id'=>$this->user_id,'status'=>StatusEnum::ENABLED,'is_settle'=>StatusEnum::ENABLED]) ->andWhere(['in', 'order_status', [HappinessPensionEnum::NO_SEND,HappinessPensionEnum::IS_SEND, HappinessPensionEnum::WAIT_ENTRY]])->sum('money')??0, 'is_send'=>HappinessPension::find()->where(['mall_id'=>$this->mall_id,'user_id'=>$this->user_id,'status'=>StatusEnum::ENABLED,'is_settle'=>StatusEnum::ENABLED,'order_status'=> HappinessPensionEnum::IS_ENTRY])->sum('money')??0 ]; $data['list'] = $list; $this->success('获取成功', $data); } } public function actionReal() { if (Yii::$app->request->isGet) { $get = Yii::$app->request->get(); $user_id=$this->user_id; $third=HappinessThirdUser::find()->where(['user_id'=>$user_id,'status'=>StatusEnum::ENABLED,'type'=>1])->asArray()->one(); if(empty($third)) { $this->success('获取成功', ['is_real'=>0,'mobile'=>$this->user['mobile']]); } return $this->success('获取成功', ['is_real'=>$third['is_real'],'mobile'=>$this->user['mobile']]); } if (Yii::$app->request->isPost) { $post = Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($post, [ [['user_name', 'id_no','id_img','id_img_back'], 'string'], [['user_name', 'id_no','mobile','id_img','id_img_back'], 'required'], [['mobile'], 'match', 'pattern' => '/^1[3456789]\d{9}$/', 'message' => '请输入正确的手机号码'], ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $third=HappinessThirdUser::find()->where(['user_id'=>$this->user_id,'status'=>StatusEnum::ENABLED,'type'=>1])->one(); //先注册个账号 $service=new PensionService(); if(empty($third)) { $res=$service->register($this->user['mobile'],$this->mall_id,$this->user_id); if($res===false) { return $this->error($service->getError()); } $uid=$res['uid']; } else{ $uid=$third['uid']; } //再提交实名 $res=$service->real($this->user_id,$uid,$post['user_name'],$post['id_no'],$post['id_img'],$post['id_img_back'], $post['mobile']); if($res==false) { return $this->error($service->getError()); } return $this->success('提交成功'); } } }