|
@@ -14,6 +14,7 @@ import cn.com.ty.lift.system.user.dao.entity.model.UserResponse;
|
|
|
import cn.com.ty.lift.system.user.service.*;
|
|
|
import cn.com.ty.lift.system.utils.PasswordUtils;
|
|
|
import cn.com.xwy.boot.web.dto.RestResponse;
|
|
|
+import cn.hutool.crypto.SecureUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
@@ -26,9 +27,12 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpSession;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.ZoneOffset;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.UUID;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
@@ -121,7 +125,7 @@ public class LoginService implements ILoginService {
|
|
|
UserAccount userAccount = userAccountService.getByMobile(userRequest.getMobile());
|
|
|
//验证手机号是否存在
|
|
|
if (userAccount == null) {
|
|
|
- return RestResponse.fail(ApiConstants.RESULT_ERROR, "手机号尚未注册") ;
|
|
|
+ return RestResponse.fail(ApiConstants.RESULT_ERROR, "手机号尚未注册");
|
|
|
}
|
|
|
//判断用户是否为物管端用户
|
|
|
int userType = userAccount.getType() != null ? userAccount.getType() : ApiConstants.UserConstants.TYPE_USER;
|
|
@@ -342,7 +346,11 @@ public class LoginService implements ILoginService {
|
|
|
//封装登录用户信息
|
|
|
Map<String, Object> currentUserInfoMap = getUserInfoMap(userResponse);
|
|
|
//设置token为sessionId
|
|
|
- userResponse.setToken(session.getId());
|
|
|
+ //生成token 用户手机号+uuid+时间戳通过md5加密
|
|
|
+ String securityStr = userResponse.getMobile() + UUID.randomUUID().toString() +
|
|
|
+ LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();
|
|
|
+ String token = SecureUtil.md5(securityStr);
|
|
|
+ userResponse.setToken(token);
|
|
|
String mobileUserInfo = getUserInfoKeyInRedis(userRequest);
|
|
|
putUserInfoToRedis(userRequest, userResponse, currentUserInfoMap, mobileUserInfo);
|
|
|
return userResponse;
|