系统配置合并
This commit is contained in:
@@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -29,15 +29,15 @@ public class PassWordRuleParam {
|
|||||||
@Range(min = 5,max = 60,message = "自动解锁(分钟)超范围")
|
@Range(min = 5,max = 60,message = "自动解锁(分钟)超范围")
|
||||||
private Integer releaseTime;
|
private Integer releaseTime;
|
||||||
|
|
||||||
@ApiModelProperty(name = "sessionTime",value = "*会话超时时间(分钟)")
|
// @ApiModelProperty(name = "sessionTime",value = "*会话超时时间(分钟)")
|
||||||
@NotNull(message = "会话超时时间(分钟)不可为空")
|
// @NotNull(message = "会话超时时间(分钟)不可为空")
|
||||||
@Range(min = 1,max = 1440000,message = "会话超时时间(分钟)超范围")
|
// @Range(min = 1,max = 1440000,message = "会话超时时间(分钟)超范围")
|
||||||
private Integer sessionTime;
|
// private Integer sessionTime;
|
||||||
|
//
|
||||||
@ApiModelProperty(name = "sessionRefreshTime",value = "*会话刷新时间(分钟)")
|
// @ApiModelProperty(name = "sessionRefreshTime",value = "*会话刷新时间(分钟)")
|
||||||
@NotNull(message = "会话刷新时间(分钟)不可为空")
|
// @NotNull(message = "会话刷新时间(分钟)不可为空")
|
||||||
@Range(min = 1,max = 1440000,message = "会话刷新时间(分钟)超范围")
|
// @Range(min = 1,max = 1440000,message = "会话刷新时间(分钟)超范围")
|
||||||
private Integer sessionRefreshTime;
|
// private Integer sessionRefreshTime;
|
||||||
|
|
||||||
@ApiModelProperty(name = "passwordExpirationDays",value = "密码有效期")
|
@ApiModelProperty(name = "passwordExpirationDays",value = "密码有效期")
|
||||||
@NotNull(message = "密码有效期不可为空")
|
@NotNull(message = "密码有效期不可为空")
|
||||||
@@ -57,13 +57,24 @@ public class PassWordRuleParam {
|
|||||||
//@NotNull(message = "密码大小写混合校验不可为空")
|
//@NotNull(message = "密码大小写混合校验不可为空")
|
||||||
private Integer mixedCaseCheckFlag;*/
|
private Integer mixedCaseCheckFlag;*/
|
||||||
|
|
||||||
@ApiModelProperty(name = "maxUseUser",value = "大于0" )
|
@ApiModelProperty(name = "maxUseUser",value = "最大并发用户" )
|
||||||
@NotNull(message = "最大并发用户不可为空")
|
@NotNull(message = "最大并发用户不可为空")
|
||||||
@Range(min = 10,max = 99,message = "最大并发用户超范围")
|
@Range(min = 10,max = 99,message = "最大并发用户超范围")
|
||||||
private Integer maxUseUser;
|
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 = "账号长时间未登录休眠期(天)超范围")
|
@Range(min = 1,max = 180,message = "账号长时间未登录休眠期(天)超范围")
|
||||||
private Integer sleepDay;
|
private Integer sleepDay;
|
||||||
|
@NotNull(message = "用户注销时间(天)不可为空")
|
||||||
|
@Range(min = 1,max = 360,message = "用户注销(天)超范围")
|
||||||
|
private Integer logoutDay;
|
||||||
|
//(类型:0-临时用户 1-正常用户)
|
||||||
|
@NotNull(message = "用户类型不可为空")
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ import com.njcn.common.pojo.response.HttpResult;
|
|||||||
import com.njcn.common.utils.HttpResultUtil;
|
import com.njcn.common.utils.HttpResultUtil;
|
||||||
import com.njcn.common.utils.LogUtil;
|
import com.njcn.common.utils.LogUtil;
|
||||||
import com.njcn.user.enums.UserResponseEnum;
|
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.pojo.po.AuthClient;
|
||||||
import com.njcn.user.service.IAuthClientService;
|
import com.njcn.user.service.IAuthClientService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
@@ -17,11 +19,8 @@ import io.swagger.annotations.ApiOperation;
|
|||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
import com.njcn.web.controller.BaseController;
|
import com.njcn.web.controller.BaseController;
|
||||||
|
|
||||||
import java.util.Objects;
|
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<Boolean> sessionConfigUpdate(@RequestBody @Validated AuthClientParam authClientParam) {
|
||||||
|
String methodDescribe = getMethodDescribe("sessionConfigUpdate");
|
||||||
|
Boolean flag = authClientService.sessionConfigUpdate(authClientParam);
|
||||||
|
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description:
|
* Description:
|
||||||
* Date: 2024/7/11 18:01【需求编号】
|
* Date: 2024/7/11 18:01【需求编号】
|
||||||
@@ -34,6 +36,8 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class PassWordRuleController extends BaseController {
|
public class PassWordRuleController extends BaseController {
|
||||||
private final IPassWordRuleService passWordRuleService;
|
private final IPassWordRuleService passWordRuleService;
|
||||||
|
|
||||||
|
|
||||||
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
@ApiOperation("密码规则修改")
|
@ApiOperation("密码规则修改")
|
||||||
@RequestMapping(value = "/ruleUpdate", method = RequestMethod.POST)
|
@RequestMapping(value = "/ruleUpdate", method = RequestMethod.POST)
|
||||||
@@ -64,6 +68,16 @@ public class PassWordRuleController extends BaseController {
|
|||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userStrategy, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userStrategy, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
|
||||||
|
@ApiOperation("获取用户策略列表")
|
||||||
|
@RequestMapping(value = "/getUserStrategyList", method = RequestMethod.POST)
|
||||||
|
public HttpResult<List<PassWordRuleParam>> getUserStrategyList() {
|
||||||
|
String methodDescribe = getMethodDescribe("getUserStrategyList");
|
||||||
|
List<PassWordRuleParam> userStrategys = passWordRuleService.getUserStrategyList();
|
||||||
|
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userStrategys, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@OperateInfo(info = LogEnum.SYSTEM_SERIOUS)
|
@OperateInfo(info = LogEnum.SYSTEM_SERIOUS)
|
||||||
@ApiOperation("解锁超级管理员")
|
@ApiOperation("解锁超级管理员")
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.user.service;
|
package com.njcn.user.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.user.pojo.param.AuthClientParam;
|
||||||
import com.njcn.user.pojo.po.AuthClient;
|
import com.njcn.user.pojo.po.AuthClient;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -19,4 +20,6 @@ public interface IAuthClientService extends IService<AuthClient> {
|
|||||||
* @return .
|
* @return .
|
||||||
*/
|
*/
|
||||||
AuthClient getAuthClientByName(String clientName);
|
AuthClient getAuthClientByName(String clientName);
|
||||||
|
|
||||||
|
Boolean sessionConfigUpdate(AuthClientParam authClientParam);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ package com.njcn.user.service;
|
|||||||
import com.njcn.user.pojo.param.PassWordRuleParam;
|
import com.njcn.user.pojo.param.PassWordRuleParam;
|
||||||
import com.njcn.user.pojo.po.UserStrategy;
|
import com.njcn.user.pojo.po.UserStrategy;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description:
|
* Description:
|
||||||
* Date: 2024/7/11 18:06【需求编号】
|
* Date: 2024/7/11 18:06【需求编号】
|
||||||
@@ -18,4 +20,6 @@ public interface IPassWordRuleService {
|
|||||||
Boolean unlockRoot();
|
Boolean unlockRoot();
|
||||||
|
|
||||||
UserStrategy getUserStrategy();
|
UserStrategy getUserStrategy();
|
||||||
|
|
||||||
|
List<PassWordRuleParam> getUserStrategyList();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.njcn.common.pojo.response.HttpResult;
|
|||||||
import com.njcn.system.api.AreaFeignClient;
|
import com.njcn.system.api.AreaFeignClient;
|
||||||
import com.njcn.system.pojo.po.Area;
|
import com.njcn.system.pojo.po.Area;
|
||||||
import com.njcn.user.mapper.AuthClientMapper;
|
import com.njcn.user.mapper.AuthClientMapper;
|
||||||
|
import com.njcn.user.pojo.param.AuthClientParam;
|
||||||
import com.njcn.user.pojo.po.AuthClient;
|
import com.njcn.user.pojo.po.AuthClient;
|
||||||
import com.njcn.user.service.IAuthClientService;
|
import com.njcn.user.service.IAuthClientService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@@ -31,4 +32,11 @@ public class AuthClientServiceImpl extends ServiceImpl<AuthClientMapper, AuthCli
|
|||||||
.eq(AuthClient::getState,DataStateEnum.ENABLE.getCode())
|
.eq(AuthClient::getState,DataStateEnum.ENABLE.getCode())
|
||||||
.one();
|
.one();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean sessionConfigUpdate(AuthClientParam authClientParam) {
|
||||||
|
return lambdaUpdate().set(AuthClient::getRefreshTokenValidity,authClientParam.getRefreshTokenValidity())
|
||||||
|
.set(AuthClient::getAccessTokenValidity,authClientParam.getAccessTokenValidity())
|
||||||
|
.update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package com.njcn.user.service.impl;
|
|||||||
|
|
||||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
import com.njcn.user.pojo.param.PassWordRuleParam;
|
import com.njcn.user.pojo.param.PassWordRuleParam;
|
||||||
import com.njcn.user.pojo.po.AuthClient;
|
|
||||||
import com.njcn.user.pojo.po.User;
|
import com.njcn.user.pojo.po.User;
|
||||||
import com.njcn.user.pojo.po.UserStrategy;
|
import com.njcn.user.pojo.po.UserStrategy;
|
||||||
import com.njcn.user.service.IAuthClientService;
|
import com.njcn.user.service.IAuthClientService;
|
||||||
@@ -13,6 +12,9 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description:
|
* Description:
|
||||||
* Date: 2024/7/11 18:06【需求编号】
|
* Date: 2024/7/11 18:06【需求编号】
|
||||||
@@ -33,19 +35,21 @@ public class PassWordRuleServiceImpl implements IPassWordRuleService {
|
|||||||
@Transactional(rollbackFor = {Exception.class})
|
@Transactional(rollbackFor = {Exception.class})
|
||||||
public Boolean ruleUpdate(PassWordRuleParam passWordRuleParam) {
|
public Boolean ruleUpdate(PassWordRuleParam passWordRuleParam) {
|
||||||
|
|
||||||
iUserStrategyService.lambdaUpdate().eq(UserStrategy::getType,"1")
|
iUserStrategyService.lambdaUpdate().eq(UserStrategy::getType,passWordRuleParam.getType())
|
||||||
.eq(UserStrategy::getState, DataStateEnum.ENABLE.getCode())
|
.eq(UserStrategy::getState, DataStateEnum.ENABLE.getCode())
|
||||||
.set(UserStrategy::getLimitPwdTimes,passWordRuleParam.getErrorsCount())
|
.set(UserStrategy::getLimitPwdTimes,passWordRuleParam.getErrorsCount())
|
||||||
.set(UserStrategy::getLimitPwdDate,passWordRuleParam.getPasswordExpirationMonth())
|
.set(UserStrategy::getLimitPwdDate,passWordRuleParam.getPasswordExpirationMonth())
|
||||||
.set(UserStrategy::getLockPwdTime,passWordRuleParam.getReleaseTime())
|
.set(UserStrategy::getLockPwdTime,passWordRuleParam.getReleaseTime())
|
||||||
.set(UserStrategy::getMaxNum,passWordRuleParam.getMaxUseUser())
|
.set(UserStrategy::getMaxNum,passWordRuleParam.getMaxUseUser())
|
||||||
.set(UserStrategy::getSleep,passWordRuleParam.getSleepDay())
|
.set(UserStrategy::getSleep,passWordRuleParam.getSleepDay())
|
||||||
|
.set(UserStrategy::getLockPwdCheck,passWordRuleParam.getLockPwdCheck())
|
||||||
|
.set(UserStrategy::getLogout,passWordRuleParam.getLogoutDay())
|
||||||
.update();
|
.update();
|
||||||
|
|
||||||
iAuthClientService.lambdaUpdate()
|
// iAuthClientService.lambdaUpdate()
|
||||||
.set(AuthClient::getRefreshTokenValidity,passWordRuleParam.getSessionRefreshTime())
|
// .set(AuthClient::getRefreshTokenValidity,passWordRuleParam.getSessionRefreshTime())
|
||||||
.set(AuthClient::getAccessTokenValidity,passWordRuleParam.getSessionTime())
|
// .set(AuthClient::getAccessTokenValidity,passWordRuleParam.getSessionTime())
|
||||||
.update();
|
// .update();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,10 +63,11 @@ public class PassWordRuleServiceImpl implements IPassWordRuleService {
|
|||||||
passWordRuleParam.setPasswordExpirationMonth(userStrategy.getLimitPwdDate());
|
passWordRuleParam.setPasswordExpirationMonth(userStrategy.getLimitPwdDate());
|
||||||
passWordRuleParam.setMaxUseUser(userStrategy.getMaxNum());
|
passWordRuleParam.setMaxUseUser(userStrategy.getMaxNum());
|
||||||
passWordRuleParam.setSleepDay(userStrategy.getSleep());
|
passWordRuleParam.setSleepDay(userStrategy.getSleep());
|
||||||
|
passWordRuleParam.setLockPwdCheck(userStrategy.getLockPwdCheck());
|
||||||
AuthClient authClient = iAuthClientService.lambdaQuery().last(" limit 1").one();
|
passWordRuleParam.setLogoutDay(userStrategy.getLogout());
|
||||||
passWordRuleParam.setSessionTime(authClient.getAccessTokenValidity());
|
// AuthClient authClient = iAuthClientService.lambdaQuery().last(" limit 1").one();
|
||||||
passWordRuleParam.setSessionRefreshTime(authClient.getRefreshTokenValidity());
|
// passWordRuleParam.setSessionTime(authClient.getAccessTokenValidity());
|
||||||
|
// passWordRuleParam.setSessionRefreshTime(authClient.getRefreshTokenValidity());
|
||||||
return passWordRuleParam;
|
return passWordRuleParam;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,4 +84,26 @@ public class PassWordRuleServiceImpl implements IPassWordRuleService {
|
|||||||
.eq(UserStrategy::getState, DataStateEnum.ENABLE.getCode())
|
.eq(UserStrategy::getState, DataStateEnum.ENABLE.getCode())
|
||||||
.one();
|
.one();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PassWordRuleParam> getUserStrategyList() {
|
||||||
|
List<UserStrategy> list = iUserStrategyService.list();
|
||||||
|
List<PassWordRuleParam> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user