v1.0.15
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.imyeyu.api.modules.user.service;
|
||||
|
||||
import com.e2ins.ms.notify.vo.sms.CaptchaVerifyReq;
|
||||
import com.imyeyu.api.modules.user.entity.User;
|
||||
import com.imyeyu.api.modules.user.vo.LoginRequest;
|
||||
import com.imyeyu.api.modules.user.vo.LoginResponse;
|
||||
@@ -23,6 +24,8 @@ public interface UserLoginService {
|
||||
|
||||
LoginResponse login(String token, String userId);
|
||||
|
||||
LoginResponse loginBySms(CaptchaVerifyReq req);
|
||||
|
||||
/**
|
||||
* 根据令牌获取用户
|
||||
*
|
||||
|
||||
+24
-2
@@ -1,5 +1,8 @@
|
||||
package com.imyeyu.api.modules.user.service.implement;
|
||||
|
||||
import com.e2ins.ms.notify.SmsNotifyService;
|
||||
import com.e2ins.ms.notify.bean.NotifyDetail;
|
||||
import com.e2ins.ms.notify.vo.sms.CaptchaVerifyReq;
|
||||
import com.imyeyu.api.config.dbsource.TimiServerDBConfig;
|
||||
import com.imyeyu.api.modules.common.entity.Attachment;
|
||||
import com.imyeyu.api.modules.common.entity.Setting;
|
||||
@@ -7,13 +10,13 @@ import com.imyeyu.api.modules.common.service.AttachmentService;
|
||||
import com.imyeyu.api.modules.common.service.SettingService;
|
||||
import com.imyeyu.api.modules.user.bean.BootstrapData;
|
||||
import com.imyeyu.api.modules.user.entity.User;
|
||||
import com.imyeyu.api.modules.user.service.RoleService;
|
||||
import com.imyeyu.api.modules.user.service.UserLoginService;
|
||||
import com.imyeyu.api.modules.user.service.UserRoleService;
|
||||
import com.imyeyu.api.modules.user.service.UserService;
|
||||
import com.imyeyu.api.modules.user.vo.LoginRequest;
|
||||
import com.imyeyu.api.modules.user.vo.LoginResponse;
|
||||
import com.imyeyu.java.TimiJava;
|
||||
import com.imyeyu.java.bean.timi.TimiCode;
|
||||
import com.imyeyu.java.bean.timi.TimiException;
|
||||
import com.imyeyu.spring.TimiSpring;
|
||||
import com.imyeyu.spring.util.Redis;
|
||||
@@ -27,6 +30,7 @@ import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
@@ -44,9 +48,9 @@ public class UserLoginServiceImplement implements UserLoginService, TimiJava {
|
||||
private static final long PHONE_VERIFY_CODE_TTL = Time.M * 5;
|
||||
|
||||
private final UserService userService;
|
||||
private final RoleService roleService;
|
||||
private final SettingService settingService;
|
||||
private final UserRoleService userRoleService;
|
||||
private final SmsNotifyService smsNotifyService;
|
||||
private final AttachmentService attachmentService;
|
||||
|
||||
private final Redis<String, String> redisUserToken;
|
||||
@@ -98,6 +102,24 @@ public class UserLoginServiceImplement implements UserLoginService, TimiJava {
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public LoginResponse loginBySms(CaptchaVerifyReq req) {
|
||||
try {
|
||||
NotifyDetail detail = smsNotifyService.captchaVerify(req);
|
||||
// 无报错即成功
|
||||
User user = userService.getByPhoneNo(detail.getSendTo());
|
||||
if (!user.isValidPhone()) {
|
||||
user.setPhoneNoVerifyAt(Time.now());
|
||||
userService.update(user);
|
||||
}
|
||||
return login(UUID.randomUUID().toString(), user.getId());
|
||||
} catch (IOException e) {
|
||||
log.error("login by sms error", e);
|
||||
throw new TimiException(TimiCode.ERROR, "验证短信失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public User getLoginUser(String token) {
|
||||
if (TimiJava.isEmpty(token)) {
|
||||
|
||||
Reference in New Issue
Block a user