Forráskód Böngészése

Merge branch 'huangyuan-user' of lift-manager/lift-server into develop

huangyuan 5 éve
szülő
commit
2ecbef0154

+ 10 - 2
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/LoginService.java

@@ -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;