user; unset($user['session_key']); $user['coupon_num'] = UserCoupon::where('user_id', $user['id'])->where('status', 1)->where('expire_time', '>', time())->count(); return out($user); } public function getPhoneNumber() { $req = request()->post(); $this->validate(request(), [ 'iv' => 'required', 'encryptData' => 'required', ]); $user = $this->user; $app = Factory::miniProgram(config('config.wechat_small_program')); try { $decryptedData = $app->encryptor->decryptData($user['session_key'], $req['iv'], $req['encryptData']); } catch (\Exception $e) { return out(null, 10001, '获取手机号失败', $e->getMessage()); } return out($decryptedData); } public function updateUser() { $req = request()->post(); $this->validate(request(), [ 'nickname' => 'max:100', 'avatar' => 'url', 'sex' => 'in:1,2', 'birthday' => 'date', 'latitude' => 'numeric', 'longitude' => 'numeric', ]); $user = $this->user; User::where('id', $user['id'])->update($req); return out(); } public function userBalanceLog() { $user = $this->user; $data = UserBalanceLog::where('user_id', $user['id'])->orderBy('id', 'desc')->paginate(); return out($data); } public function familyDocterList() { $user = $this->user; $order_ids = Order::where('user_id', $user['id'])->whereIn('order_status', [2, 3])->where('docter_id', '>', 0)->pluck('docter_id')->toArray(); $data = Order::with(['docter.office', 'docter.qualification', 'orderPatient'])->select(['id', 'docter_id'])->whereIn('docter_id', $order_ids)->paginate(); return out($data); } }