/** * 计算黑水值 * Execute the console command. * @return mixed */ public function fire() { $i = 0; $black_water_val = (int) getenv('BLACK_WATER'); while (true) { $result = UserBase::where('user_id', '>', $i)->orderBy('user_id', 'asc')->limit($this->limit)->get()->toArray(); if (empty($result)) { break; } foreach ($result as $value) { $user_login_log = UserLoginLog::where('user_id', $value['user_id'])->where('date', date('Ymd', strtotime('-1 day')))->first(); if (empty($user_login_log)) { $user_black_water = new UserBlackWater(); $user_black_water_result = $user_black_water->where('user_id', $value['user_id'])->first(); if (empty($user_black_water_result)) { $user_black_water->user_id = $value['user_id']; $user_black_water->black_water = $black_water_val; $user_black_water->save(); } else { $user_black_water->where('user_id', $value['user_id'])->update(['black_water' => $user_black_water_result->black_water + $black_water_val]); } } $i = $value['user_id']; } } }
/** * 第三方平台注册 * @param $params * @return array */ public function otherRegister($params) { if (!$params->get('open_id')) { return ['status' => false, 'message' => '用户唯一标识不能为空!']; } if (!$params->get('type')) { return ['status' => false, 'message' => '登入来源标识不能为空!']; } $user_third_parth = new UserThirdParty(); $rt = $user_third_parth->where('user_other_id', $params->get('open_id'))->where('type', $params->get('type'))->first(); $user_base = new UserBase(); $user_image = new UserImage(); //如果没注册过 if (empty($rt) && in_array($params->get('type'), [UserThirdParty::TX_QQ, UserThirdParty::WEI_XIN])) { $user_base->invite_code = time() . mt_rand(100, 999); if ($params->get('nick_name')) { $user_base->user_name = $params->get('nick_name'); } $user_base->save(); if ($user_base->user_id) { $user_third_parth->user_other_id = $params->get('open_id'); $user_third_parth->type = $params->get('type'); $user_third_parth->user_id = $user_base->user_id; $user_third_parth->save(); $image = $user_image->where('user_id', $user_base->user_id)->head()->first(); if (empty($image)) { $user_image->image_url = $params->get('head_img') ?: UserImage::defaultImage(); $user_image->user_id = $user_base->user_id; $user_image->is_completion = UserImage::IS_COMPLETION_TRUE; $user_image->type = UserImage::TYPE_HEAD; $user_image->save(); } else { $user_image->where('user_id', $user_base->user_id)->where('type', UserImage::TYPE_HEAD)->update(['image_url' => $params->get('head_img') ?: UserImage::defaultImage()]); } if (UserFinancial::getInitialize() > 0) { $user_financial = new UserFinancial(); $user_financial->user_id = $user_base->user_id; $user_financial->water_count = UserFinancial::getInitialize(); $user_financial->save(); } } else { return ['status' => false, 'message' => '系统一个人去旅行了,请稍后重试!']; } $user = $user_base->where('user_id', $user_base->user_id)->IsOpen()->first()->toArray(); if ($params->get('head_img')) { $user['user_head'] = $params->get('head_img'); } else { $user['user_head'] = UserImage::defaultImage(); } $user['token'] = TokenService::tokenEncode($user_base->user_id); UserLoginLog::insert_login_log($user_base->user_id); return $this->outputFormat(true, 'success', $this->formatUser($user)); } //如果已经注册过 $user = $user_base->where('user_id', $rt->user_id)->IsOpen()->first()->toArray(); $image = $user_image->where('user_id', $rt->user_id)->head()->first(); if ($image) { $user['user_head'] = $image->path(); } else { $user['user_head'] = UserImage::defaultImage(); } $user['token'] = TokenService::tokenEncode($rt->user_id); UserLoginLog::insert_login_log($rt->user_id); return $this->outputFormat(true, 'success', $this->formatUser($user)); }
public function getLogout() { Log::info("into doLogout->"); $user = Auth::user(); $session_id = Session::getId(); $userLoginLog = UserLoginLog::find($session_id); $current_time = Carbon::now(); if (!empty($userLoginLog)) { $userLoginLog->logout_time = $current_time; $userLoginLog->save(); Log::info("into user->" . $user . ",session id=" . $session_id . ",current time=" . $current_time); } Auth::logout(); // Session::flush(); return redirect()->intended('/login'); }