From 2cbffd777d92ee161abfc0f8b5429e3ecc4d21a4 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Mon, 25 Feb 2019 19:00:12 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=A0=E6=95=B0=E6=8D=AE=20-=20=E7=94=A8?= =?UTF-8?q?=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/base/WhiteController.java | 2 +- .../controller/busi/PersonnelController.java | 14 +- .../controller/busi/SysDashboardController.java | 2 +- .../controller/busi/SysOrganizeController.java | 2 +- .../controller/busi/SysUserController.java | 2 +- .../apiservice/controller/busi/TestController.java | 214 ++++++++++++++++++--- .../serviceimpl/busi/PersonnelServiceService.java | 2 +- 7 files changed, 196 insertions(+), 42 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java index e3d1a07..f1a3902 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java @@ -104,7 +104,7 @@ public class WhiteController extends CoreBaseController { e.printStackTrace(); } - SessionUser user = userService.queryUserLogin(loginName,loginPwd,languageCode); + SessionUser user = userService.queryUserLogin(loginName,loginPwd.trim(),languageCode); String redisKey = CommonConstWords.USER_LOGIN_ERROR + "_" + user.getUser().getId(); redisCore.deleteKey(redisKey); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java index a5b8d2f..4cd95bb 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java @@ -470,7 +470,7 @@ public class PersonnelController extends CoreBaseController { * @param isCheckId * @throws Exception */ - private void checkUserDetailModel(UserDetailModel model,boolean isCheckId)throws Exception{ + public void checkUserDetailModel(UserDetailModel model,boolean isCheckId)throws Exception{ if(isCheckId){ ValidatorBean.beginValid(model) .notNull("userInfoId", model.getUserInfoId()) @@ -495,7 +495,7 @@ public class PersonnelController extends CoreBaseController { * @param model * @throws Exception */ - private void checkUserModel(UserDetailModel model)throws Exception{ + public void checkUserModel(UserDetailModel model)throws Exception{ ValidatorBean.beginValid(model) .notNull("userInfoId", model.getUserInfoId()) .notNull("userId", model.getUserId()) @@ -513,7 +513,7 @@ public class PersonnelController extends CoreBaseController { * @param user * @throws Exception */ - private void initUser(UserDetailModel model ,SysUser user)throws Exception{ + public void initUser(UserDetailModel model ,SysUser user)throws Exception{ if(user != null && model != null){ user.setUserLoginName(model.getUserLoginName()); user.setDepartmentId(Long.parseLong(model.getUserDepartmentId())); @@ -532,7 +532,7 @@ public class PersonnelController extends CoreBaseController { * @param info * @param model */ - private void refreshRef(SysUser user,SysUserInfo info,UserDetailModel model){ + public void refreshRef(SysUser user,SysUserInfo info,UserDetailModel model){ if(user != null){ // 刷新账号 部门关系 personnelService.refreshRefSysUserDepartment(user.getId(), StringTool.getArrayLong(model.getUserDepartmentIdList())); @@ -552,17 +552,17 @@ public class PersonnelController extends CoreBaseController { * 更新用户密码 * @param user */ - private void refreshSysUserPassword(SysUser user)throws Exception{ + public void refreshSysUserPassword(SysUser user)throws Exception{ if(user != null){ if(user.getId() != null){ // 更新密码 if(!StringUtils.isAnyBlank(user.getUserLoginPassword())){ // 使用新密码 - user.setUserLoginPassword(EncryptTool.hexMD5(user.getUserLoginPassword())); + user.setUserLoginPassword(EncryptTool.hexMD5(user.getUserLoginPassword().trim())); }else{ //使用旧密码 SysUser sysUser = personnelService.getSysUserById(user.getId()); user.setUserLoginPassword(sysUser.getUserLoginPassword()); } }else { // 创建密码 - user.setUserLoginPassword(EncryptTool.hexMD5(user.getUserLoginPassword())); + user.setUserLoginPassword(EncryptTool.hexMD5(user.getUserLoginPassword().trim())); } } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDashboardController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDashboardController.java index 2c9e4a6..a5d6e83 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDashboardController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDashboardController.java @@ -145,7 +145,7 @@ public class SysDashboardController extends CoreBaseController { LOGGER.info("getLevelLogNum:{}",redisCore); try { // 保持时间,key统一 - String redisKey = PlatformConstWords.REDIS_DASHBOARD_LOG_NUM + "_" + TimeTool.getNowTime("yyyyMMddhhmmss"); + String redisKey = PlatformConstWords.REDIS_DASHBOARD_LOG_NUM + "_" + TimeTool.getNowTime("yyyyMMddhhmms"); Map dashboardData = redisCore.getHashMap(redisKey); LOGGER.info("getLevelLogNumredisKey:{},dashboardData:{}",redisKey,dashboardData); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java index 94ac971..b9be58b 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java @@ -102,7 +102,7 @@ public class SysOrganizeController extends CoreBaseController{ ValidatorBean.checkIsNumber(idStr.toString(), "您要删除的组织不存在"); organizeService.deleteSysOrganizeById(Long.parseLong(idStr)); - return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); } catch (Exception e) { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java index 42b02bb..e898673 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java @@ -225,7 +225,7 @@ public class SysUserController extends CoreBaseController{ personnelService.checkSysUserPassword(newPwd); - sysUserService.updateSysUserPassword(sessionUser.getUser().getId(),password,newPwd); + sysUserService.updateSysUserPassword(sessionUser.getUser().getId(),password,newPwd.trim()); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch(ImppBusiException busExcep){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TestController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TestController.java index b543479..efcbd32 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TestController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TestController.java @@ -1,25 +1,31 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; -import cn.estsh.i3plus.core.api.iservice.busi.ISysLogSystemService; -import cn.estsh.i3plus.core.api.iservice.busi.ISysToolService; -import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService; -import cn.estsh.i3plus.core.api.iservice.busi.ITestService; +import cn.estsh.i3plus.core.api.iservice.busi.*; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.TimeTool; +import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.model.platform.UserDetailModel; import cn.estsh.i3plus.pojo.platform.bean.*; import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem; +import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.eureka.EurekaClientHealthCheck; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ImppRedis; import cn.estsh.impp.framework.boot.util.ResultBean; +import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import org.apache.commons.lang3.RandomStringUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateFormatUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -32,10 +38,7 @@ import javax.annotation.Resource; import javax.persistence.EntityManager; import java.lang.reflect.Method; import java.lang.reflect.Parameter; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @Description : @@ -50,6 +53,16 @@ import java.util.Map; public class TestController { public static final Logger LOGGER = LoggerFactory.getLogger(TestController.class); + String TEXT = "飓风黑兹尔是1954年大西洋飓风季期间造成死亡人数最多、经济损失最惨重的飓风。这场风暴夺走了海地多达1000人的生命,然后又以四级飓风强度从南、北卡罗莱纳州边境附近袭击美国,造成95人丧生。之后黑兹尔转变成温带风暴,但仍然致使81人遇难,其中大部分来自多伦多。由于风暴造成了重大人员伤亡和财产损失,其名称“黑兹尔”因此从大西洋风暴命名名单上退役。黑兹尔摧毁了海地40%的咖啡树和50%的可可作物,对当地经济的影响持续了数年之久。飓风在南、北卡罗莱纳州登陆,冲击点附近的大部分海滨住宅被毁。气旋从北卡罗莱纳州沿大西洋海岸北上,先后影响了弗吉尼亚州、西弗吉尼亚州、马里兰州、特拉华州、新泽西州、宾夕法尼亚州和纽约州,产生的阵风时速有近160公里,造成的经济损失高达3.08亿美元。多伦多市内及周边有许多溪流溢出,导致严重的洪涝灾害。加拿大遭受的损失达到1.35亿加拿大元。由于缺少应对热带气旋的经验,加上风暴强度的保持时间异常之长,多伦多所受影响的严重程度是前所未有的"; + + SnowflakeIdMaker snowflakeIdMaker = new SnowflakeIdMaker(); + + @Autowired + private PersonnelController personnelController; + + @Autowired + private IPersonnelService personnelService; + @Autowired private ISysLogSystemService syslogSystemService; @@ -68,6 +81,21 @@ public class TestController { @Autowired private EurekaClientHealthCheck healthCheck; + @Autowired + private ISysPositionService positionService; + + @Autowired + private ISysOrganizeService organizeService; + + @Autowired + private ISysDepartmentService departmentService; + + @Autowired + private ISysMenuService menuService; + + @Autowired + private ISysRoleService roleService; + @Resource(name = "redisRes") private ImppRedis redisRes; @@ -77,6 +105,7 @@ public class TestController { * @param num 对象生成数量/π计算线程数 * @param cpu 是否进行cpu测试 * @param piLength π精确位数 + * @param piLength π精确位数 * @param ram 是否进行内存测试 * @return */ @@ -138,7 +167,7 @@ public class TestController { */ @GetMapping(value = "/test-db") @ApiOperation(value = "数据库操作测试", notes = "数据库操作测试") - public ResultBean testDBCRUD(int num, boolean mongo, boolean insert, boolean update, boolean batchUpdate, boolean delete, boolean batchDelete,int waitTime) { + public ResultBean testDBCRUD(int num, boolean mongo, boolean insert, boolean update, boolean batchUpdate, boolean delete, boolean batchDelete, int waitTime) { try { long time = System.currentTimeMillis(); Pager page = new Pager(); @@ -188,9 +217,9 @@ public class TestController { if (update || delete) { // 查询批量修改或删除的数据 - if(mongo){ - list = syslogSystemService.querySysLogSystemByPager(null,page).getObjectList(); - }else { + if (mongo) { + list = syslogSystemService.querySysLogSystemByPager(null, page).getObjectList(); + } else { list = sysToolService.findSysToolByTop(num); } @@ -204,11 +233,11 @@ public class TestController { } else if (!mongo && update) { for (Object obj : list) { sysTool = (SysTool) obj; - sysTool.setName("修改测试"+System.currentTimeMillis()); + sysTool.setName("修改测试" + System.currentTimeMillis()); sysTool.setToolTypeId(1073140662133723136L); sysTool.setToolIp("192.168.1.35"); sysTool.setToolPort(8888); - sysTool.setToolDescription("描述修改测试"+System.currentTimeMillis()); + sysTool.setToolDescription("描述修改测试" + System.currentTimeMillis()); sysToolService.updateSysTool(sysTool); } @@ -255,14 +284,12 @@ public class TestController { /** * 数据库操作测试 * - * @param num 操作数量 + * @param num 操作数量 * @return */ @GetMapping(value = "/data-insert") @ApiOperation(value = "数据库造数据", notes = "数据库造数据") - public ResultBean dateInsert(int num, - boolean mongo, - int waitTime) { + public ResultBean dateInsert(int num, boolean mongo, int waitTime) { try { long time = System.currentTimeMillis(); SysTool sysTool; @@ -271,9 +298,9 @@ public class TestController { // 新增数据 if (!mongo) { - sysToolService.insertBatch(num,waitTime); + sysToolService.insertBatch(num, waitTime); } else { - syslogSystemService.insertSysLogBatch(num,waitTime); + syslogSystemService.insertSysLogBatch(num, waitTime); } return ResultBean.success("调用完成-耗时:" + (System.currentTimeMillis() - time) + ",数据量:" + num) @@ -536,20 +563,21 @@ public class TestController { /** - * 可靠性测试 - * @param needChangeHealth 是否需要修改健康状态 - * @param serverHealth 设置微服务健康状态 - * @param needSleep 是否需要线程睡眠 - * @param sleepTime 睡眠时间ms + * 可靠性测试 + * + * @param needChangeHealth 是否需要修改健康状态 + * @param serverHealth 设置微服务健康状态 + * @param needSleep 是否需要线程睡眠 + * @param sleepTime 睡眠时间ms * @return */ @GetMapping(value = "/test-network") @ApiOperation(value = "网络测试", notes = "网络测试") - public ResultBean testNetwork(boolean needChangeHealth,boolean serverHealth,boolean needSleep, int sleepTime) { + public ResultBean testNetwork(boolean needChangeHealth, boolean serverHealth, boolean needSleep, int sleepTime) { try { long time = System.currentTimeMillis(); - if(needChangeHealth){ + if (needChangeHealth) { healthCheck.setHealth(serverHealth); } @@ -568,9 +596,10 @@ public class TestController { /** * 多表查询 - * @param num 查询数量 - * @param needCache 是否使用缓存 - * @param cacheTime 缓存时间 + * + * @param num 查询数量 + * @param needCache 是否使用缓存 + * @param cacheTime 缓存时间 * @return */ @GetMapping(value = "/test-complex-query") @@ -614,4 +643,129 @@ public class TestController { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } + + @GetMapping(value = "/test-user-detail-model") + @ApiOperation(value = "用户数据", notes = "用户数据") + public void testUserDetailModel() { + List roleList = roleService.findSysRoleAll(); + List positionList = positionService.listSysPosition(); + List departmentList = departmentService.listSysDepartment(); + for (int l = 0; l < 100; l++) { + + UserDetailModel model = new UserDetailModel(); + List roleIds = new ArrayList<>(); + List positionIds = new ArrayList<>(); + List departmentIds = new ArrayList<>(); + + for (int i = 0; i < new Random().nextInt(10); i++) { + SysRole role = roleList.get(new Random().nextInt(roleList.size() - 1)); + roleIds.add(role.getId().toString()); + } + + for (int i = 0; i < new Random().nextInt(10); i++) { + SysPosition position = positionList.get(new Random().nextInt(positionList.size() - 1)); + positionIds.add(position.getId().toString()); + } + + for (int i = 0; i < new Random().nextInt(10); i++) { + SysDepartment department = departmentList.get(new Random().nextInt(departmentList.size() - 1)); + departmentIds.add(department.getId().toString()); + } + + + model.setUserInfoId(System.currentTimeMillis() + snowflakeIdMaker.nextId() + ""); + model.setUserId(System.currentTimeMillis() + snowflakeIdMaker.nextId() + ""); + model.setInfoName(RandomStringUtils.random(5, TEXT)); + model.setUserPhone(RandomStringUtils.random(11, false, true)); + model.setUserEmail(RandomStringUtils.random(15, true, true)); + model.setInfoEmpNo(RandomStringUtils.random(10, true, true)); + model.setUserLoginName(RandomStringUtils.random(20, true, true)); + model.setUserLoginPassword("123456"); + model.setInfoPositionId(positionList.get(0).getId().toString()); + model.setInfoDepartmentId(departmentList.get(0).getId().toString()); + model.setUserDepartmentId(departmentList.get(0).getId().toString()); + model.setUserRoleIdList(roleIds); + model.setUserDepartmentIdList(departmentIds); + model.setInfoPositionIdList(positionIds); + model.setInfoDepartmentIdList(departmentIds); + + + try { + SysUser user = model.getSysUser(); + SysUserInfo info = model.getSysUserInfo(); + + init(user); + init(info); + + if (StringUtils.isBlank(info.getUserJoinDate())) { + info.setUserJoinDate(TimeTool.getToday()); + } + + info.setUserInfoStatus(CommonEnumUtil.USER_INFO_STATUS.INCUMBENT.getValue()); + info.setUserLoginNum(0); + info.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); + + user.setUserType(CommonEnumUtil.USER_TYPE.USER.getValue()); + user.setUserStatus(CommonEnumUtil.USER_STATUS.ENABLE.getValue()); + user.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); + user.setUserLoginNum(0); + + SysDepartment infoDepartment = personnelService.getSysDepartmentById(Long.parseLong(model.getInfoDepartmentId())); + if (infoDepartment == null) { + ValidatorBean.checkNotNull(infoDepartment, "用户主部门不存在"); + } + SysOrganize infoOrganize = personnelService.getSysOrganizeById(infoDepartment.getOrganizeId()); + SysPosition position = personnelService.getSysPositionById(Long.parseLong(model.getInfoPositionId())); + if (infoDepartment == null) { + ValidatorBean.checkNotNull(position, "用户主岗位存在"); + } + + SysDepartment userDepartment = personnelService.getSysDepartmentById(Long.parseLong(model.getUserDepartmentId())); + if (userDepartment == null) { + ValidatorBean.checkNotNull(userDepartment, "账号主部门不存在"); + } + SysOrganize userOrganize = personnelService.getSysOrganizeById(userDepartment.getOrganizeId()); + + info.setDepartmentId(infoDepartment.getId()); + info.setDepartmentNameRdd(infoDepartment.getName()); + info.setOrganizeId(infoOrganize.getId()); + info.setOrganizeNameRdd(infoOrganize.getName()); + info.setOrganizeCode(infoOrganize.getOrganizeCode()); + info.setPositionId(position.getId()); + info.setPositionNameRdd(position.getName()); + personnelService.saveSysUserInfo(info); + + user.setDepartmentId(userDepartment.getId()); + user.setDepartmentNameRdd(userDepartment.getName()); + user.setOrganizeId(userOrganize.getId()); + user.setOrganizeNameRdd(userOrganize.getName()); + user.setOrganizeCode(userOrganize.getOrganizeCode()); + user.setUserInfoId(info.getId()); + personnelController.refreshSysUserPassword(user); + personnelService.saveSysUser(user); + + info.setUserId(user.getId()); + personnelService.saveSysUserInfo(info); + + // 关系 刷新 + personnelController.refreshRef(user, info, model); + + } catch (ImppBusiException busExcep) { + } catch (Exception e) { + } + } + } + + + public void init(BaseBean bean)throws Exception{ + bean.setId(System.currentTimeMillis() + snowflakeIdMaker.nextId()); + bean.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); + bean.setIsDeleted(CommonEnumUtil.IS_DEAL.NO.getValue()); + bean.setCreateUser("系统管理员-测试"); + bean.setModifyUser("系统管理员-测试"); + bean.setCreateDatetime(DateFormatUtils.format(System.currentTimeMillis(),"yyyy-MM-dd HH:mm:ss")); + bean.setModifyDatetime(DateFormatUtils.format(System.currentTimeMillis(),"yyyy-MM-dd HH:mm:ss")); + + Thread.sleep(1); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java index 9e43d44..a4449ab 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java @@ -544,7 +544,7 @@ public class PersonnelServiceService implements IPersonnelService { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.NOT_CONFIG_EXCEPTION.getCode()) - .setErrorDetail("密码长度不足") + .setErrorDetail("密码长度不够"+config.getConfigValue()+"位") .setErrorSolution("请重新输入") .build(); }