系统配置合并
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 = "自动解锁(分钟)超范围")
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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<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.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<List<PassWordRuleParam>> getUserStrategyList() {
|
||||
String methodDescribe = getMethodDescribe("getUserStrategyList");
|
||||
List<PassWordRuleParam> userStrategys = passWordRuleService.getUserStrategyList();
|
||||
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userStrategys, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.SYSTEM_SERIOUS)
|
||||
@ApiOperation("解锁超级管理员")
|
||||
|
||||
@@ -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<AuthClient> {
|
||||
* @return .
|
||||
*/
|
||||
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.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<PassWordRuleParam> getUserStrategyList();
|
||||
}
|
||||
|
||||
@@ -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<AuthClientMapper, AuthCli
|
||||
.eq(AuthClient::getState,DataStateEnum.ENABLE.getCode())
|
||||
.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.user.pojo.param.PassWordRuleParam;
|
||||
import com.njcn.user.pojo.po.AuthClient;
|
||||
import com.njcn.user.pojo.po.User;
|
||||
import com.njcn.user.pojo.po.UserStrategy;
|
||||
import com.njcn.user.service.IAuthClientService;
|
||||
@@ -13,6 +12,9 @@ import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* Date: 2024/7/11 18:06【需求编号】
|
||||
@@ -33,19 +35,21 @@ public class PassWordRuleServiceImpl implements IPassWordRuleService {
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public Boolean ruleUpdate(PassWordRuleParam passWordRuleParam) {
|
||||
|
||||
iUserStrategyService.lambdaUpdate().eq(UserStrategy::getType,"1")
|
||||
iUserStrategyService.lambdaUpdate().eq(UserStrategy::getType,passWordRuleParam.getType())
|
||||
.eq(UserStrategy::getState, DataStateEnum.ENABLE.getCode())
|
||||
.set(UserStrategy::getLimitPwdTimes,passWordRuleParam.getErrorsCount())
|
||||
.set(UserStrategy::getLimitPwdDate,passWordRuleParam.getPasswordExpirationMonth())
|
||||
.set(UserStrategy::getLockPwdTime,passWordRuleParam.getReleaseTime())
|
||||
.set(UserStrategy::getMaxNum,passWordRuleParam.getMaxUseUser())
|
||||
.set(UserStrategy::getSleep,passWordRuleParam.getSleepDay())
|
||||
.set(UserStrategy::getLockPwdCheck,passWordRuleParam.getLockPwdCheck())
|
||||
.set(UserStrategy::getLogout,passWordRuleParam.getLogoutDay())
|
||||
.update();
|
||||
|
||||
iAuthClientService.lambdaUpdate()
|
||||
.set(AuthClient::getRefreshTokenValidity,passWordRuleParam.getSessionRefreshTime())
|
||||
.set(AuthClient::getAccessTokenValidity,passWordRuleParam.getSessionTime())
|
||||
.update();
|
||||
// iAuthClientService.lambdaUpdate()
|
||||
// .set(AuthClient::getRefreshTokenValidity,passWordRuleParam.getSessionRefreshTime())
|
||||
// .set(AuthClient::getAccessTokenValidity,passWordRuleParam.getSessionTime())
|
||||
// .update();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -59,10 +63,11 @@ public class PassWordRuleServiceImpl implements IPassWordRuleService {
|
||||
passWordRuleParam.setPasswordExpirationMonth(userStrategy.getLimitPwdDate());
|
||||
passWordRuleParam.setMaxUseUser(userStrategy.getMaxNum());
|
||||
passWordRuleParam.setSleepDay(userStrategy.getSleep());
|
||||
|
||||
AuthClient authClient = iAuthClientService.lambdaQuery().last(" limit 1").one();
|
||||
passWordRuleParam.setSessionTime(authClient.getAccessTokenValidity());
|
||||
passWordRuleParam.setSessionRefreshTime(authClient.getRefreshTokenValidity());
|
||||
passWordRuleParam.setLockPwdCheck(userStrategy.getLockPwdCheck());
|
||||
passWordRuleParam.setLogoutDay(userStrategy.getLogout());
|
||||
// AuthClient authClient = iAuthClientService.lambdaQuery().last(" limit 1").one();
|
||||
// passWordRuleParam.setSessionTime(authClient.getAccessTokenValidity());
|
||||
// passWordRuleParam.setSessionRefreshTime(authClient.getRefreshTokenValidity());
|
||||
return passWordRuleParam;
|
||||
}
|
||||
|
||||
@@ -79,4 +84,26 @@ public class PassWordRuleServiceImpl implements IPassWordRuleService {
|
||||
.eq(UserStrategy::getState, DataStateEnum.ENABLE.getCode())
|
||||
.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