post()->goCheck('getMobileByMnp'); $params['user_id'] = $this->userId; $result = UserLogic::getMobileByMnp($params); if ($result === false) { return $this->fail(UserLogic::getError()); } if($result && is_numeric($result)){ $data = UserLogic::info($result); $userInfo = UserTokenService::setToken($result, 1); $data['token'] = $userInfo['token']; }else{ $data = UserLogic::info($this->userId); } return $this->success('绑定成功', $data, 1, 1); } // #[ // ApiDoc\Title('用户个人信息'), // ApiDoc\url('/api/user/user/info'), // ApiDoc\Method('POST'), // ApiDoc\Param(), // ApiDoc\NotHeaders(), // ApiDoc\Header(name: "token", type: "string", require: true, desc: "token"), // ApiDoc\ResponseSuccess("data", type: "array"), // ] public function info() { return $this->success('success', UserLogic::info($this->userId)); } // #[ // ApiDoc\Title('充值金额'), // ApiDoc\url('/api/user/user/rechange_amount'), // ApiDoc\Method('Get'), // ApiDoc\Param(), // ApiDoc\NotHeaders(), // ApiDoc\Header(name: "token", type: "string", require: true, desc: "token"), // ApiDoc\ResponseSuccess("data", type: "array"), // ] public function rechange_amount() { $res = UserLogic::rechange_level(); return $this->success('ok',$res); } // #[ // ApiDoc\Title('小程序充值'), // ApiDoc\url('/api/user/user/recharge'), // ApiDoc\Method('POST'), // ApiDoc\Param(name: "price", type: "string", require: true, desc: "金额"), // ApiDoc\NotHeaders(), // ApiDoc\Header(name: "token", type: "string", require: true, desc: "token"), // ApiDoc\ResponseSuccess("data", type: "array"), // ] public function recharge() { $params = (new UserValidate())->post()->goCheck('rechargeMoney'); $params['uid'] = $this->userId; $params['channel_type'] = $this->userInfo['terminal']; $order = UserLogic::recharge($params); $redirectUrl = $params['redirect'] ?? '/pages/payment/payment'; $result = PaymentLogic::pay(PayEnum::WECHAT_PAY_MINI, 'recharge', $order, $this->userInfo['terminal'], $redirectUrl); if (PaymentLogic::hasError()) { return $this->fail(PaymentLogic::getError(), $params); } return $this->success('', $result); } // #[ // ApiDoc\Title('会员账户详情'), // ApiDoc\url('/api/user/user/capital_flow'), // ApiDoc\Method('POST'), // ApiDoc\Param(name: "page_no", type: "int", require: true, desc: "默认1页数"), // ApiDoc\Param(name: "page_size", type: "int", require: false, desc: "条数默认15"), // ApiDoc\NotHeaders(), // ApiDoc\Header(name: "token", type: "string", require: true, desc: "token"), // ApiDoc\ResponseSuccess("data", type: "array"), // ] public function capital_flow() { $page_no = (int)$this->request->post('page_no',1); $page_size = (int)$this->request->post('page_size',15); $params['page_no'] = $page_no; $params['page_size'] = $page_size; if(empty($page_no) || empty($page_size)){ $params['page_no'] = 1; $params['page_size'] = 15; } $res = UserLogic::capital_list($this->userId,$params); $res['page_no'] =$params['page_no']; $res['page_size'] =$params['page_size']; return $this->success('ok',$res); } // #[ // ApiDoc\Title('会员账户统计'), // ApiDoc\url('/api/user/user/capital_count'), // ApiDoc\Method('POST'), // ApiDoc\Param(), // ApiDoc\NotHeaders(), // ApiDoc\Header(name: "token", type: "string", require: true, desc: "token"), // ApiDoc\ResponseSuccess("data", type: "array"), // ] public function capital_count() { $res = UserLogic::capital_count($this->userId); return $this->success('ok',$res); } public function send_sms() { $res = (new UserLogic())->dealSendSms($this->userId); if ($res){ return $this->success('发送成功'); } return $this->fail('发送失败'); } //登录 public function login_sms() { $params = (new UserValidate())->post()->goCheck('login'); $res = (new UserLogic())->dealLoginSms($params['account']); if ($res){ return $this->success('发送成功'); } return $this->fail('发送失败'); } //报备 public function reporting_sms() { $params = (new UserValidate())->post()->goCheck('login'); $res = (new UserLogic())->dealReportingSms($params['account']); if ($res){ return $this->success('发送成功',[],1,1); } return $this->fail('发送失败'); } public function set_payPassword() { $params = (new UserValidate())->post()->goCheck('setPayPassword'); $remark = $this->userId.'_payPassword'; $code = Cache::get($remark); if ($code && isset($params['code']) && $code !== $params['code']) { return $this->fail('验证码错误'); } if ($params['rePassword'] !== $params['password']) return $this->fail('两次密码不一致'); $result = UserLogic::dealPayPassword($params,$this->userId); if (!$result) { return $this->fail('设置失败'); } return $this->success('设置成功'); } //修改 // public function withdrawalPassword() // { // $data = $this->request->params(['repassword', 'password', 'sms_code']); // $sms_code = app()->make(SmsService::class)->checkSmsCode($this->user->phone, $data['sms_code'], 'change_pwd'); // if (!$data['sms_code'] || !$sms_code) { // return app('json')->fail('验证码不正确'); // } // if (!$this->user->phone) // return app('json')->fail('请先绑定手机号'); // if (empty($data['repassword']) || empty($data['password'])) // return app('json')->fail('请输入提现密码'); // if ($data['repassword'] !== $data['password']) // return app('json')->fail('两次密码不一致'); // $password = $this->repository->encodePassword($data['password']); // $this->repository->update($this->request->uid(), ['withdrawal_pwd' => $password]); // return app('json')->success('绑定成功'); // // } //采购款明细、余额明细、礼品券明细、返还金明细 public function fundList() { (new UserValidate())->get()->goCheck('fund'); $page_no = (int)$this->request->get('page_no', 1); $page_size = (int)$this->request->get('page_size', 15); $params = $this->request->get(); $params['page_no'] = $page_no > 0 ? $page_no : 1; $params['page_size'] = $page_size > 0 ? $page_size : 15; $res = UserLogic::dealDetails($params,$this->userId); $integral = User::where('id',$this->userId)->value('integral'); $number = UserSign::where('id',$this->userId)->where('status',0)->sum('number'); $GetNumber = UserSign::where('id',$this->userId)->where('status',1)->sum('number'); $res['page_no'] = $params['page_no']; $res['page_size'] = $params['page_size']; $res['extend'] = [ 'integral'=>$integral, 'number'=>$number, 'get_number'=>$GetNumber ]; return $this->success('ok', $res); } /** * 用户信息 */ public function other_user_info(){ $mobile=$this->request->get('mobile'); if($mobile){ $user=User::where('mobile',$mobile)->field('id,avatar,real_name,nickname,mobile,user_ship,purchase_funds')->find(); if($user){ $user['address_info']=UserAddress::where('uid',$user['id'])->where('is_default',1)->find(); } return $this->success('ok',$user?->toArray()); } return $this->success('ok',[]); } }