diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/AuthClientParam.java b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/AuthClientParam.java new file mode 100644 index 000000000..61597b778 --- /dev/null +++ b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/AuthClientParam.java @@ -0,0 +1,37 @@ +package com.njcn.user.pojo.param; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Range; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +/** + * Description: + * Date: 2024/7/11 18:04【需求编号】 + * + * @author clam + * @version V1.0.0 + */ + +@Data +@ApiModel +public class AuthClientParam { + + @ApiModelProperty(name = "sessionTime",value = "*会话超时时间(分钟)") + @NotNull(message = "会话超时时间(分钟)不可为空") + @Range(min = 1,max = 1440000,message = "会话超时时间(分钟)超范围") + private Integer accessTokenValidity; + + @ApiModelProperty(name = "sessionRefreshTime",value = "*会话刷新时间(分钟)") + @NotNull(message = "会话刷新时间(分钟)不可为空") + @Range(min = 1,max = 1440000,message = "会话刷新时间(分钟)超范围") + private Integer refreshTokenValidity; + + + + + +} diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/PassWordRuleParam.java b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/PassWordRuleParam.java index 7fcca04f0..52c87e5c3 100644 --- a/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/PassWordRuleParam.java +++ b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/PassWordRuleParam.java @@ -29,15 +29,15 @@ public class PassWordRuleParam { @Range(min = 5,max = 60,message = "自动解锁(分钟)超范围") private Integer releaseTime; - @ApiModelProperty(name = "sessionTime",value = "*会话超时时间(分钟)") - @NotNull(message = "会话超时时间(分钟)不可为空") - @Range(min = 1,max = 1440000,message = "会话超时时间(分钟)超范围") - private Integer sessionTime; - - @ApiModelProperty(name = "sessionRefreshTime",value = "*会话刷新时间(分钟)") - @NotNull(message = "会话刷新时间(分钟)不可为空") - @Range(min = 1,max = 1440000,message = "会话刷新时间(分钟)超范围") - private Integer sessionRefreshTime; +// @ApiModelProperty(name = "sessionTime",value = "*会话超时时间(分钟)") +// @NotNull(message = "会话超时时间(分钟)不可为空") +// @Range(min = 1,max = 1440000,message = "会话超时时间(分钟)超范围") +// private Integer sessionTime; +// +// @ApiModelProperty(name = "sessionRefreshTime",value = "*会话刷新时间(分钟)") +// @NotNull(message = "会话刷新时间(分钟)不可为空") +// @Range(min = 1,max = 1440000,message = "会话刷新时间(分钟)超范围") +// private Integer sessionRefreshTime; @ApiModelProperty(name = "passwordExpirationDays",value = "密码有效期") @NotNull(message = "密码有效期不可为空") @@ -57,13 +57,24 @@ public class PassWordRuleParam { //@NotNull(message = "密码大小写混合校验不可为空") private Integer mixedCaseCheckFlag;*/ - @ApiModelProperty(name = "maxUseUser",value = "大于0" ) + @ApiModelProperty(name = "maxUseUser",value = "最大并发用户" ) @NotNull(message = "最大并发用户不可为空") @Range(min = 10,max = 99,message = "最大并发用户超范围") private Integer maxUseUser; - @NotNull(message = "账号长时间未登录休眠期(天)") + @ApiModelProperty(name = "maxUseUser",value = "验证密码错误次数" ) + @NotNull(message = "验证密码错误次数时间范围不可为空") + @Range(min = 10,max = 99,message = "最大并发用户超范围") + private Integer lockPwdCheck; + + @NotNull(message = "账号长时间未登录休眠期(天)不可为空") @Range(min = 1,max = 180,message = "账号长时间未登录休眠期(天)超范围") private Integer sleepDay; + @NotNull(message = "用户注销时间(天)不可为空") + @Range(min = 1,max = 360,message = "用户注销(天)超范围") + private Integer logoutDay; + //(类型:0-临时用户 1-正常用户) + @NotNull(message = "用户类型不可为空") + private Integer type; } diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/AuthClientController.java b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/AuthClientController.java index 7f37fd5a1..ddcbb6f8a 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/AuthClientController.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/AuthClientController.java @@ -9,6 +9,8 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.LogUtil; import com.njcn.user.enums.UserResponseEnum; +import com.njcn.user.pojo.param.AuthClientParam; +import com.njcn.user.pojo.param.PassWordRuleParam; import com.njcn.user.pojo.po.AuthClient; import com.njcn.user.service.IAuthClientService; import io.swagger.annotations.Api; @@ -17,11 +19,8 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.*; -import org.springframework.web.bind.annotation.RestController; import com.njcn.web.controller.BaseController; import java.util.Objects; @@ -57,5 +56,15 @@ public class AuthClientController extends BaseController { } } + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("客户端会话配置更新") + @RequestMapping(value = "/sessionConfigUpdate", method = RequestMethod.POST) + public HttpResult sessionConfigUpdate(@RequestBody @Validated AuthClientParam authClientParam) { + String methodDescribe = getMethodDescribe("sessionConfigUpdate"); + Boolean flag = authClientService.sessionConfigUpdate(authClientParam); + + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe); + } + } diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/PassWordRuleController.java b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/PassWordRuleController.java index 63928601d..87f12e2e4 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/PassWordRuleController.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/PassWordRuleController.java @@ -19,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * Description: * Date: 2024/7/11 18:01【需求编号】 @@ -34,6 +36,8 @@ import org.springframework.web.bind.annotation.RestController; @AllArgsConstructor public class PassWordRuleController extends BaseController { private final IPassWordRuleService passWordRuleService; + + @OperateInfo(info = LogEnum.SYSTEM_COMMON) @ApiOperation("密码规则修改") @RequestMapping(value = "/ruleUpdate", method = RequestMethod.POST) @@ -64,6 +68,16 @@ public class PassWordRuleController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userStrategy, methodDescribe); } + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("获取用户策略列表") + @RequestMapping(value = "/getUserStrategyList", method = RequestMethod.POST) + public HttpResult> getUserStrategyList() { + String methodDescribe = getMethodDescribe("getUserStrategyList"); + List userStrategys = passWordRuleService.getUserStrategyList(); + + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userStrategys, methodDescribe); + } + @OperateInfo(info = LogEnum.SYSTEM_SERIOUS) @ApiOperation("解锁超级管理员") diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/IAuthClientService.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/IAuthClientService.java index 7d8b9be08..5fdee9dd7 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/IAuthClientService.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/IAuthClientService.java @@ -1,6 +1,7 @@ package com.njcn.user.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.user.pojo.param.AuthClientParam; import com.njcn.user.pojo.po.AuthClient; /** @@ -19,4 +20,6 @@ public interface IAuthClientService extends IService { * @return . */ AuthClient getAuthClientByName(String clientName); + + Boolean sessionConfigUpdate(AuthClientParam authClientParam); } diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/IPassWordRuleService.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/IPassWordRuleService.java index 99953d2da..54ae87459 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/IPassWordRuleService.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/IPassWordRuleService.java @@ -3,6 +3,8 @@ package com.njcn.user.service; import com.njcn.user.pojo.param.PassWordRuleParam; import com.njcn.user.pojo.po.UserStrategy; +import java.util.List; + /** * Description: * Date: 2024/7/11 18:06【需求编号】 @@ -18,4 +20,6 @@ public interface IPassWordRuleService { Boolean unlockRoot(); UserStrategy getUserStrategy(); + + List getUserStrategyList(); } diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/AuthClientServiceImpl.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/AuthClientServiceImpl.java index baf8b5797..52252d14e 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/AuthClientServiceImpl.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/AuthClientServiceImpl.java @@ -5,6 +5,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.system.api.AreaFeignClient; import com.njcn.system.pojo.po.Area; import com.njcn.user.mapper.AuthClientMapper; +import com.njcn.user.pojo.param.AuthClientParam; import com.njcn.user.pojo.po.AuthClient; import com.njcn.user.service.IAuthClientService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -31,4 +32,11 @@ public class AuthClientServiceImpl extends ServiceImpl getUserStrategyList() { + List list = iUserStrategyService.list(); + List collect = list.stream().map(temp -> { + PassWordRuleParam passWordRuleParam = new PassWordRuleParam(); + + passWordRuleParam.setErrorsCount(temp.getLimitPwdTimes()); + passWordRuleParam.setReleaseTime(temp.getLockPwdTime()); + passWordRuleParam.setPasswordExpirationMonth(temp.getLimitPwdDate()); + passWordRuleParam.setMaxUseUser(temp.getMaxNum()); + passWordRuleParam.setSleepDay(temp.getSleep()); + passWordRuleParam.setLockPwdCheck(temp.getLockPwdCheck()); + passWordRuleParam.setLogoutDay(temp.getLogout()); + passWordRuleParam.setType(temp.getType()); +// AuthClient authClient = iAuthClientService.lambdaQuery().last(" limit 1").one(); +// passWordRuleParam.setSessionTime(authClient.getAccessTokenValidity()); +// passWordRuleParam.setSessionRefreshTime(authClient.getRefreshTokenValidity()); + return passWordRuleParam; + }).collect(Collectors.toList()); + return collect; + } }