diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/logger/dto/LoginLogCreateReqDTO.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/logger/dto/LoginLogCreateReqDTO.java index 62707cdb8..2a1478f15 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/logger/dto/LoginLogCreateReqDTO.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/logger/dto/LoginLogCreateReqDTO.java @@ -43,4 +43,7 @@ public class LoginLogCreateReqDTO { @Schema(description = "所属地区") @Size(max = 200, message = "所属地区长度不能超过200个字符") private String region; + + @Schema(description = "组织id") + private Long organId; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/logger/vo/loginlog/LoginLogPageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/logger/vo/loginlog/LoginLogPageReqVO.java index 8d5e41748..1347926f6 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/logger/vo/loginlog/LoginLogPageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/logger/vo/loginlog/LoginLogPageReqVO.java @@ -22,7 +22,7 @@ public class LoginLogPageReqVO extends PageParam { private String username; @Schema(description = "操作状态", example = "true") - private Boolean status; + private Boolean result; @Schema(description = "登录时间", example = "[2022-07-01 00:00:00,2022-07-01 23:59:59]") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/customplateno/CustomPlateNoSeqDO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/customplateno/CustomPlateNoSeqDO.java index 3b889bf2d..629be0756 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/customplateno/CustomPlateNoSeqDO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/customplateno/CustomPlateNoSeqDO.java @@ -39,7 +39,7 @@ public class CustomPlateNoSeqDO implements Serializable { /** * 组织ID */ - @TableField(fill = FieldFill.INSERT_UPDATE) + @TableField(fill = FieldFill.INSERT) private Long organId; /** diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/logger/LoginLogDO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/logger/LoginLogDO.java index 6a2ad387a..fec0d6454 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/logger/LoginLogDO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/logger/LoginLogDO.java @@ -73,4 +73,9 @@ public class LoginLogDO extends BaseDO { * 所属地区 */ private String region; + + /** + * 组织id + */ + private Long organId; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/notice/NoticeDO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/notice/NoticeDO.java index 380ad33a7..1b3c7c8af 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/notice/NoticeDO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/notice/NoticeDO.java @@ -58,6 +58,6 @@ public class NoticeDO extends BaseDO { /** * 组织ID */ - @TableField(fill = FieldFill.INSERT_UPDATE) + @TableField(fill = FieldFill.INSERT) private Long organId; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/systemconfig/SystemConfigDO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/systemconfig/SystemConfigDO.java index 1107ea653..8274422af 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/systemconfig/SystemConfigDO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/systemconfig/SystemConfigDO.java @@ -66,7 +66,7 @@ public class SystemConfigDO extends BaseDO { /** * 组织id */ - @TableField(fill = FieldFill.INSERT_UPDATE) + @TableField(fill = FieldFill.INSERT) private Long organId; /** diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/logger/LoginLogMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/logger/LoginLogMapper.java index 18a8005af..d91263e52 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/logger/LoginLogMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/logger/LoginLogMapper.java @@ -16,9 +16,9 @@ public interface LoginLogMapper extends BaseMapperX { .likeIfPresent(LoginLogDO::getUserIp, reqVO.getUserIp()) .likeIfPresent(LoginLogDO::getUsername, reqVO.getUsername()) .betweenIfPresent(LoginLogDO::getCreateTime, reqVO.getCreateTime()); - if (Boolean.TRUE.equals(reqVO.getStatus())) { + if (Boolean.TRUE.equals(reqVO.getResult())) { query.eq(LoginLogDO::getResult, LoginResultEnum.SUCCESS.getResult()); - } else if (Boolean.FALSE.equals(reqVO.getStatus())) { + } else if (Boolean.FALSE.equals(reqVO.getResult())) { query.gt(LoginLogDO::getResult, LoginResultEnum.SUCCESS.getResult()); } query.orderByDesc(LoginLogDO::getId); // 降序 diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/auth/AdminAuthServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/auth/AdminAuthServiceImpl.java index be5b1a745..86063b38a 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/auth/AdminAuthServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/auth/AdminAuthServiceImpl.java @@ -111,21 +111,22 @@ public class AdminAuthServiceImpl implements AdminAuthService { AdminUserDO user = userService.getUserUniqueByUserName(username); // 校验用户是否存在 if (user == null) { - createLoginLog(null, username, logTypeEnum, LoginResultEnum.BAD_CREDENTIALS); + createLoginLog(null, username, null, logTypeEnum, LoginResultEnum.BAD_CREDENTIALS); throw ServiceExceptionUtil.exception(ErrorCodeConstants.AUTH_LOGIN_BAD_CREDENTIALS); } + Long organId = user.getOrganId(); // 校验机构有效性 - organService.validOrgan(user.getOrganId()); + organService.validOrgan(organId); // 校验部门有效性 deptService.validUserLoginDept(user.getDeptId()); // 校验密码 if (!userService.isPasswordMatch(password, user.getPassword())) { - createLoginLog(user.getId(), username, logTypeEnum, LoginResultEnum.BAD_CREDENTIALS); + createLoginLog(user.getId(), username, organId, logTypeEnum, LoginResultEnum.BAD_CREDENTIALS); throw ServiceExceptionUtil.exception(ErrorCodeConstants.AUTH_LOGIN_BAD_CREDENTIALS); } // 校验是否禁用 if (CommonStatusEnum.isDisable(user.getStatus())) { - createLoginLog(user.getId(), username, logTypeEnum, LoginResultEnum.USER_DISABLED); + createLoginLog(user.getId(), username, organId, logTypeEnum, LoginResultEnum.USER_DISABLED); throw ServiceExceptionUtil.exception(ErrorCodeConstants.AUTH_LOGIN_USER_DISABLED); } return user; @@ -164,7 +165,7 @@ public class AdminAuthServiceImpl implements AdminAuthService { AdminUserDO user = userService.getUserUniqueByUserName(mobile); // 校验用户是否存在 if (user == null) { - createLoginLog(null, mobile, LoginLogTypeEnum.LOGIN_USERNAME, LoginResultEnum.BAD_CREDENTIALS); + createLoginLog(null, mobile, null, LoginLogTypeEnum.LOGIN_USERNAME, LoginResultEnum.BAD_CREDENTIALS); return false; } if (StringUtils.isEmpty(user.getPassword())) { @@ -180,7 +181,7 @@ public class AdminAuthServiceImpl implements AdminAuthService { AdminUserDO user = userService.getUserUniqueByUserName(mobile); // 校验用户是否存在 if (user == null) { - createLoginLog(null, mobile, LoginLogTypeEnum.LOGIN_USERNAME, LoginResultEnum.BAD_CREDENTIALS); + createLoginLog(null, mobile, null, LoginLogTypeEnum.LOGIN_USERNAME, LoginResultEnum.BAD_CREDENTIALS); return false; } // 校验验证码正确性 @@ -219,7 +220,7 @@ public class AdminAuthServiceImpl implements AdminAuthService { return createTokenAfterLoginSuccess(user, reqVO.getMobile(), LoginLogTypeEnum.LOGIN_MOBILE, dataSourceCode); } - private void createLoginLog(Long userId, String username, + private void createLoginLog(Long userId, String username, Long organId, LoginLogTypeEnum logTypeEnum, LoginResultEnum loginResult) { String clientIP = getClientIP(); // 插入登录日志 @@ -232,6 +233,7 @@ public class AdminAuthServiceImpl implements AdminAuthService { reqDTO.setUserAgent(ServletUtils.getUserAgent()); reqDTO.setUserIp(clientIP); reqDTO.setResult(loginResult.getResult()); + reqDTO.setOrganId(organId); // 设置登录时通过ip云服务查询到的地域信息 if (ipQueryService.serviceEnable()) { IPQueryDataRespDTO ipQueryDataRespDTO = ipQueryService.querySource(clientIP); @@ -284,21 +286,11 @@ public class AdminAuthServiceImpl implements AdminAuthService { // 验证不通过 if (!response.isSuccess()) { // 创建登录失败日志(验证码不正确) - createLoginLog(null, reqVO.getUsername(), LoginLogTypeEnum.LOGIN_USERNAME, LoginResultEnum.CAPTCHA_CODE_ERROR); + createLoginLog(null, reqVO.getUsername(), null, LoginLogTypeEnum.LOGIN_USERNAME, LoginResultEnum.CAPTCHA_CODE_ERROR); throw ServiceExceptionUtil.exception(ErrorCodeConstants.AUTH_LOGIN_CAPTCHA_CODE_ERROR, response.getRepMsg()); } } - private AuthLoginRespVO createTokenAfterLoginSuccess(Long userId, String username, LoginLogTypeEnum logType, Boolean large, String dataCode, Long organId, String nickname) { - // 插入登陆日志 - createLoginLog(userId, username, logType, LoginResultEnum.SUCCESS); - // 创建访问令牌 - OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.createAccessToken(userId, getUserType().getValue(), - OAuth2ClientConstants.CLIENT_ID_DEFAULT, null, large, null, null, dataCode, organId, nickname); - // 构建返回结果 - return AuthConvert.INSTANCE.convert(accessTokenDO); - } - /** * 登陆成功后创建token * @@ -310,7 +302,7 @@ public class AdminAuthServiceImpl implements AdminAuthService { */ private AuthLoginRespVO createTokenAfterLoginSuccess(AdminUserDO user, String username, LoginLogTypeEnum logType, String dataCode) { // 插入登陆日志 - createLoginLog(user.getId(), username, logType, LoginResultEnum.SUCCESS); + createLoginLog(user.getId(), username, user.getOrganId(), logType, LoginResultEnum.SUCCESS); // 创建访问令牌 OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.createAccessToken(user, getUserType().getValue(), OAuth2ClientConstants.CLIENT_ID_DEFAULT, dataCode); // 构建返回结果 diff --git a/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/logger/LoginLogServiceImplTest.java b/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/logger/LoginLogServiceImplTest.java index 9276cdd31..cf4b9150d 100644 --- a/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/logger/LoginLogServiceImplTest.java +++ b/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/logger/LoginLogServiceImplTest.java @@ -51,7 +51,7 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest { LoginLogPageReqVO reqVO = new LoginLogPageReqVO(); reqVO.setUsername("wang"); reqVO.setUserIp("192.168.199"); - reqVO.setStatus(true); + reqVO.setResult(true); reqVO.setCreateTime(buildBetweenTime(2021, 3, 5, 2021, 3, 7)); // 调用