소스 검색

修改bug

lishuangjiang@potevio.com 1 년 전
부모
커밋
a9786424d1

+ 20 - 0
sso-module-system/sso-module-system-biz/src/main/java/com/poteviohealth/cgp/sso/module/system/controller/admin/auth/AuthController.java

@@ -31,8 +31,10 @@ import javax.annotation.Resource;
 import javax.annotation.security.PermitAll;
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
+import java.time.LocalDateTime;
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 import java.util.Set;
 
 import static com.poteviohealth.cgp.sso.framework.common.pojo.CommonResult.success;
@@ -69,6 +71,24 @@ public class AuthController {
         return success(authService.login(reqVO));
     }
 
+    @PostMapping("/loginData")
+    @PermitAll
+    @Operation(summary = "获取loginData")
+    public CommonResult<AuthLoginRespVO> loginData(HttpServletRequest request) {
+        Long loginUserId = getLoginUserId();
+        AuthLoginRespVO respVO = new AuthLoginRespVO();
+        if(Objects.nonNull(loginUserId)){
+            AdminUserDO user = userService.getUser(loginUserId);
+            if(user.getIsChangedPassword()==0){
+                respVO.setLoginDate(null);
+            }else{
+                respVO.setLoginDate(user.getLoginDate());
+            }
+
+        }
+        return success(respVO);
+    }
+
     @PostMapping("/logout")
     @PermitAll
     @Operation(summary = "登出系统")

+ 2 - 0
sso-module-system/sso-module-system-biz/src/main/java/com/poteviohealth/cgp/sso/module/system/dal/dataobject/user/AdminUserDO.java

@@ -126,4 +126,6 @@ public class AdminUserDO extends TenantBaseDO {
     private Integer roleType;
 
     private Integer businessRole;
+
+    private Integer isChangedPassword;
 }

+ 1 - 1
sso-module-system/sso-module-system-biz/src/main/java/com/poteviohealth/cgp/sso/module/system/service/auth/AdminAuthServiceImpl.java

@@ -108,7 +108,7 @@ public class AdminAuthServiceImpl implements AdminAuthService {
                     reqVO.getSocialType(), reqVO.getSocialCode(), reqVO.getSocialState()));
         }
         // 创建 Token 令牌,记录登录日志
-        return createTokenAfterLoginSuccess(user.getId(), reqVO.getUsername(),user.getLoginDate(),LoginLogTypeEnum.LOGIN_USERNAME,user.getDeptId());
+        return createTokenAfterLoginSuccess(user.getId(), reqVO.getUsername(),user.getIsChangedPassword()==0?null:user.getLoginDate(),LoginLogTypeEnum.LOGIN_USERNAME,user.getDeptId());
     }
 
     @Override

+ 4 - 0
sso-module-system/sso-module-system-biz/src/main/java/com/poteviohealth/cgp/sso/module/system/service/user/AdminUserServiceImpl.java

@@ -198,6 +198,7 @@ public class AdminUserServiceImpl implements AdminUserService {
         validateOldPassword(id, reqVO.getOldPassword());
         // 执行更新
         AdminUserDO updateObj = new AdminUserDO().setId(id);
+        updateObj.setIsChangedPassword(1);
         updateObj.setPassword(encodePassword(reqVO.getNewPassword())); // 加密密码
         userMapper.updateById(updateObj);
     }
@@ -218,6 +219,7 @@ public class AdminUserServiceImpl implements AdminUserService {
     @Override
     @LogRecord(type = SYSTEM_USER_TYPE, subType = SYSTEM_USER_UPDATE_PASSWORD_SUB_TYPE, bizNo = "{{#id}}",
             success = SYSTEM_USER_UPDATE_PASSWORD_SUCCESS)
+    @Transactional
     public void updateUserPassword(Long id, String password) {
         // 1. 校验用户存在
         AdminUserDO user = validateUserExists(id);
@@ -231,6 +233,8 @@ public class AdminUserServiceImpl implements AdminUserService {
         updateObj.setPassword(encodePassword(password)); // 加密密码
         userMapper.updateById(updateObj);
 
+        // 更新
+
         // 3. 记录操作日志上下文
         LogRecordContext.putVariable("user", user);
         LogRecordContext.putVariable("newPassword", updateObj.getPassword());