| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- <?php
- namespace addons\Happiness\api\modules\v1\controllers;
- use addons\Happiness\common\enums\HappinessPensionEnum;
- use addons\Happiness\common\enums\HappinessRewardEnum;
- use addons\Happiness\common\models\HappinessPension;
- use addons\Happiness\common\models\HappinessThirdUser;
- use addons\Happiness\common\service\PensionService;
- use common\enums\StatusEnum;
- use Yii;
- use api\controllers\OnAuthController;
- use common\models\order\OrderDetail;
- class PensionController extends OnAuthController
- {
- public $modelClass = '';
- public function actionLog()
- {
- if (Yii::$app->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('提交成功');
- }
- }
- }
|