Selaa lähdekoodia

去除用户实体中与用户登录信息实体关联,保留用户登录信息实体与用户实体关联

wangmh 7 vuotta sitten
vanhempi
commit
4a484be886

+ 3 - 1
sso-server/src/main/java/com/uas/sso/controller/LoginController.java

@@ -381,6 +381,8 @@ public class LoginController extends BaseController {
          * 设置登录 Cookie 最后一个参数 true 时添加 cookie 同时销毁当前 JSESSIONID
          * 创建信任的 JSESSIONID
          */
+        UserRecord userRecord = userRecordService.findOne(userAccount.getUserUU());
+        userAccount.setLastLoginTime(Optional.ofNullable(userRecord).map(UserRecord::getLastLoginTime).orElse(null));
         String baseUrl = (String) request.getSession().getAttribute("baseUrl");
         baseUrl = HttpUtil.decodeURL(baseUrl);
         SSOToken st = new SSOToken(request, userAccount.getMobile());
@@ -388,7 +390,7 @@ public class LoginController extends BaseController {
         SSOHelper.setSSOCookie(request, response, st, true);
 
         // 设置登录时间,并将密码输错次数设为0,为空则不设置
-        UserRecord userRecord = new UserRecord(userAccount.getUserUU());
+        userRecord = new UserRecord(userAccount.getUserUU());
         userRecord.setLastLoginTime(System.currentTimeMillis());
         userService.save(userRecord);
 

+ 2 - 0
sso-server/src/main/java/com/uas/sso/controller/PersonalRegisterController.java

@@ -106,6 +106,7 @@ public class PersonalRegisterController extends BaseController {
         App app = appService.findOne(appId);
         if ("mall".equals(appId)) {
             UserAccount userAccount = personalAccountService.findOneByUserUU(appId, user.getUserUU());
+            userAccount.setLastLoginTime(null);
             List<String> loginUrls = appService.findAllLoginUrl();
             ModelMap data = new ModelMap();
             data.addAttribute("data", userAccount)
@@ -118,6 +119,7 @@ public class PersonalRegisterController extends BaseController {
             return success(data);
         } else if ("city".equals(appId) || "city".equals(app.getUserControl())) {
             UserAccount userAccount = personalAccountService.findOneByUserUU(appId, user.getUserUU());
+            userAccount.setLastLoginTime(null);
             List<String> loginUrls = appService.findAllLoginUrl();
             ModelMap data = new ModelMap();
             data.addAttribute("data", userAccount)

+ 2 - 0
sso-server/src/main/java/com/uas/sso/controller/UserspaceRegisterController.java

@@ -174,6 +174,7 @@ public class UserspaceRegisterController extends BaseController {
         App app = appService.findOne(appId);
         if ("mall".equals(appId)) {
             UserAccount userAccount = userAccountService.findOneByUserUU(appId, admin.getUserUU(), userspace.getSpaceUU());
+            userAccount.setLastLoginTime(null);
             List<String> loginUrls = appService.findAllLoginUrl();
             ModelMap data = new ModelMap();
             data.addAttribute("data", userAccount)
@@ -186,6 +187,7 @@ public class UserspaceRegisterController extends BaseController {
             return success(data);
         } else if ("city".equals(appId) || "city".equals(app.getUserControl())) {
             UserAccount userAccount = userAccountService.findOneByUserUU(appId, admin.getUserUU(), userspace.getSpaceUU());
+            userAccount.setLastLoginTime(null);
             List<String> loginUrls = appService.findAllLoginUrl();
             ModelMap data = new ModelMap();
             data.addAttribute("bgImage", "https://dfs.ubtob.com/group1/M00/88/AE/CgpkyFsPxC-ADHD8ACBM14PiAS8632.png")

+ 1 - 1
sso-server/src/main/java/com/uas/sso/service/impl/PersonalAccountServiceImpl.java

@@ -26,7 +26,7 @@ public class PersonalAccountServiceImpl implements PersonalAccountService {
      */
     private static final String JPQL= "select new com.uas.sso.entity.UserAccount(user.userUU, user.vipName, user.mobile, user.mobileArea, " +
             "user.mobileValidCode, user.password, user.salt, user.email, user.emailValidCode, " +
-            "user.identityValidCode, user.lock, app.uid, ur.lastLoginTime) from User user, App app, UserRecord ur where user.userUU = ur.userUU ";
+            "user.identityValidCode, user.lock, app.uid, CURRENT_TIME()) from User user, App app where 1=1 ";
 
     @Override
     public List<UserAccount> findAll() {

+ 1 - 1
sso-server/src/main/java/com/uas/sso/service/impl/UserAccountServiceImpl.java

@@ -28,7 +28,7 @@ public class UserAccountServiceImpl implements UserAccountService {
     private static final String JPQL= "select new com.uas.sso.entity.UserAccount(user.userUU, user.vipName, user.mobile, user.mobileArea, " +
             "user.mobileValidCode, user.password, user.salt, user.email, user.emailValidCode, " +
             "user.identityValidCode, user.lock, us.spaceUU, us.spaceName, us.businessCode, " +
-            "us.domain, app.uid, ur.lastLoginTime) from User user inner join user.userSpaces us inner join us.apps app, UserRecord ur where user.userUU = ur.userUU ";
+            "us.domain, app.uid, CURRENT_TIME()) from User user inner join user.userSpaces us inner join us.apps app where 1=1 ";
 
     @Override
     public List<UserAccount> findAll() {