11
This commit is contained in:
@@ -203,8 +203,12 @@ class CommonController extends BaseController{
|
||||
/**
|
||||
* 登录
|
||||
* @Apidoc\Method("POST")
|
||||
* @Apidoc\Param("username", type="string",require=true, desc="用户名")
|
||||
* @Apidoc\Param("password", type="string",require=true, desc="密码")
|
||||
* @Apidoc\Param("username", type="string",require=false, desc="用户名登录必填")
|
||||
* @Apidoc\Param("mobile", type="string",require=false, desc="手机号登录必填")
|
||||
* @Apidoc\Param("type", type="string",require=true,default="mobile",desc="登录方式,username,mobile,email")
|
||||
* @Apidoc\Param("password", type="string",require=false, desc="密码的登录必填")
|
||||
* @Apidoc\Param("code", type="string",require=false, desc="验证码登录必填")
|
||||
* @Apidoc\Param("region", type="string",require=false,default="86", desc="区域,手机号登录必填")
|
||||
*/
|
||||
public function login(Request $request){
|
||||
$username = input('username');
|
||||
@@ -237,7 +241,8 @@ class CommonController extends BaseController{
|
||||
if($user === false){
|
||||
return $this->fail(\support\Jwt::getError());
|
||||
}
|
||||
$user= Hook('user.profile',$user);
|
||||
//登录成功的事件
|
||||
$user = Hook("user.login_successed", $user);
|
||||
return $this->success(__('successful'), $user[0]);
|
||||
} catch (\Exception $e) {
|
||||
return $this->error($e->getMessage());
|
||||
@@ -271,28 +276,28 @@ class CommonController extends BaseController{
|
||||
return $this->error(__('Invalid parameters'));
|
||||
}
|
||||
//验证Token
|
||||
if (!Validate::check(['newpassword' => $newpassword], ['newpassword' => 'require|regex:\S{6,30}'])) {
|
||||
return $this->error(__('Password must be 6 to 30 characters'));
|
||||
if (!Validate::check(['newpassword' => $newpassword], ['newpassword' => 'require|regex:\S{6,32}'])) {
|
||||
return $this->error(__('Password must be 6 to 32 characters'));
|
||||
}
|
||||
|
||||
if (!$mobile && !$email){
|
||||
try{
|
||||
$user = \support\Jwt::getUser();
|
||||
}catch(\Exception $e){
|
||||
log_alert($e->getMessage());
|
||||
//log_alert($e->getMessage());
|
||||
$user = false;
|
||||
}
|
||||
if($user){
|
||||
captcha_verfiy('mobile','reset_pwd',$user->mobile);
|
||||
}
|
||||
}else{
|
||||
if ($email && Validate::is($email, "email")) {
|
||||
captcha_verfiy('email','reset_pwd',$email);
|
||||
$user = UserModel::getByEmail($email);
|
||||
}
|
||||
if ($mobile && Validate::regex($mobile, "^1\d{10}$")) {
|
||||
captcha_verfiy('mobile','reset_pwd',$mobile);
|
||||
$user = UserModel::getByMobile($mobile);
|
||||
$region = Input('region');
|
||||
$region = str_replace('+','',$region);
|
||||
$user = UserModel::where('region',$region)->where('mobile',$mobile)->find();
|
||||
}else if ($email && Validate::is($email, "email")) {
|
||||
captcha_verfiy('email','reset_pwd',$email);
|
||||
$user = UserModel::getByEmail($email);
|
||||
}
|
||||
}
|
||||
if (!$user) {
|
||||
@@ -327,8 +332,8 @@ class CommonController extends BaseController{
|
||||
return $this->error(__('Invalid parameters'));
|
||||
}
|
||||
//验证Token
|
||||
if (!Validate::check(['newpassword' => $newpassword], ['newpassword' => 'require|regex:\S{6,6}'])) {
|
||||
return $this->error(__('Trade password must be 6 characters'));
|
||||
if (!Validate::check(['newpassword' => $newpassword], ['newpassword' => 'require|regex:\S{6,32}'])) {
|
||||
return $this->error(__('Trade password must be 6-32 characters'));
|
||||
}
|
||||
|
||||
if (!$mobile && !$email){
|
||||
|
||||
@@ -99,10 +99,11 @@ class ThaliController extends BaseController{
|
||||
return $this->fail(__('Role does not exist'));
|
||||
}
|
||||
$role_id = $thali->role_id;
|
||||
if($user->role_id >= $role_id){
|
||||
if($user->role_id > $role_id){
|
||||
return $this->fail(__('Your level is too high to purchase this character'));
|
||||
}
|
||||
$price = $thali->price;
|
||||
|
||||
if($quantity == 1){
|
||||
$price = $thali->month_price;
|
||||
}
|
||||
@@ -112,7 +113,17 @@ class ThaliController extends BaseController{
|
||||
if($quantity == 12){
|
||||
$price = $thali->year_price;
|
||||
}
|
||||
$amount = $price * $quantity;
|
||||
//升级
|
||||
$isUpgrade=true;
|
||||
//续费
|
||||
if($user->role_id == $role_id){
|
||||
$isUpgrade = false;
|
||||
}
|
||||
$amount = $price;
|
||||
if($isUpgrade){
|
||||
//按那个价格算,目前是按原价,剩余时间不做抵扣
|
||||
}
|
||||
//$amount = $price * $quantity;
|
||||
if($amount <=0){
|
||||
return $this->fail(__('This character group is not allowed to be sold'));
|
||||
}
|
||||
@@ -121,14 +132,17 @@ class ThaliController extends BaseController{
|
||||
}
|
||||
\support\Jwt::verify_trade_password($request->post('trade_password'));
|
||||
$user = \support\Jwt::getUser();
|
||||
$user->role_id = $role_id;
|
||||
$user->expire_at = ($user->expire_at>time() ? $user->expire_at : time())+86400* $quantity * 30;
|
||||
if($isUpgrade){
|
||||
$user->expire_at = (time())+86400* $quantity * 30;
|
||||
$user->role_id = $role_id;
|
||||
}
|
||||
$user->save();
|
||||
cache('user_role_'.$user->userID,[
|
||||
'role_id'=>$role_id,'expire_at'=>$user->expire_at
|
||||
],$user->expire_at-time());
|
||||
|
||||
\app\model\User::score($user->id,-$amount,\app\enum\BalanceType::PURCHASE_ROLE,$role_id);
|
||||
\app\model\User::score($user->id,-$amount,\app\enum\BalanceType::PURCHASE_ROLE,json_encode(['role_id'=>$role_id,'quantity'=>$quantity,'role_name'=>$thali->title]));
|
||||
//Hook('user.roleup', $user);
|
||||
// $data = [
|
||||
// 'role_id' => $role_id,
|
||||
|
||||
Reference in New Issue
Block a user