From a47249a92509c49d5e6dc5650ec43e5bcc7d0cb4 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Thu, 21 Feb 2019 19:07:01 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=92=E8=89=B2=E6=B7=BB=E5=8A=A0=E5=94=AF?= =?UTF-8?q?=E4=B8=80=E6=A3=80=E6=9F=A5=20=E7=94=A8=E6=88=B7=E4=BF=AE?= =?UTF-8?q?=E6=94=B9Bug=20=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/api/iservice/busi/ISysRoleService.java | 4 +++ .../controller/busi/PersonnelController.java | 2 +- .../controller/busi/SysRoleController.java | 3 ++ .../controller/busi/SysUserController.java | 2 ++ .../serviceimpl/busi/SysRoleService.java | 38 ++++++++++++++++++++++ 5 files changed, 48 insertions(+), 1 deletion(-) diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java index 70b8537..db5e921 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SysRefRoleMenu; import cn.estsh.i3plus.pojo.platform.bean.SysRole; +import cn.estsh.i3plus.pojo.platform.bean.SysUser; import io.swagger.annotations.ApiOperation; import java.util.List; @@ -122,4 +123,7 @@ public interface ISysRoleService { @ApiOperation(value = "查信角色信息",notes = "查询角色信息(分页/组合)") ListPager querySysRole(SysRole role, Pager pager); + @ApiOperation(value = "角色唯一检查") + void checkSysRoleOnly(SysRole role); + } 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 c788cef..a5b8d2f 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 @@ -196,7 +196,7 @@ public class PersonnelController extends CoreBaseController { refreshSysUserPassword(user); personnelService.saveSysUser(user); - personnelService.saveSysUserInfo(info); + personnelService.saveSysUserInfo(userInfo); 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/SysRoleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java index 92e4dae..d6ecb0e 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java @@ -51,6 +51,8 @@ public class SysRoleController extends CoreBaseController{ ValidatorBean.beginValid(role) .notNull("name", role.getName()); + sysRoleService.checkSysRoleOnly(role); + //新增初始化 ConvertBean.modelInitialize(role, AuthUtil.getSessionUser()); role.setRoleStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue()); @@ -74,6 +76,7 @@ public class SysRoleController extends CoreBaseController{ ValidatorBean.beginValid(role) .notNull("id", role.getId()) .notNull("name", role.getName()); + sysRoleService.checkSysRoleOnly(role); ConvertBean.modelUpdate(role, AuthUtil.getSessionUser()); 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 06f5199..42b02bb 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 @@ -223,6 +223,8 @@ public class SysUserController extends CoreBaseController{ ValidatorBean.checkNotNull(password, "旧密码不能为空"); ValidatorBean.checkNotNull(newPwd, "新密码不能为空"); + personnelService.checkSysUserPassword(newPwd); + sysUserService.updateSysUserPassword(sessionUser.getUser().getId(),password,newPwd); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java index ffb50af..0d91857 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java @@ -250,4 +250,42 @@ public class SysRoleService implements ISysRoleService { return new ListPager(roleRDao.findByHqlWherePage(hqlPack + role.orderBy(), pager), pager); } } + + @Override + public void checkSysRoleOnly(SysRole role) { + if(role != null){ + // 登录名唯一教研 + if(!checkSysRoleName(role.getName(), role.getId() == null ? 0 : role.getId())){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("用户名已存在") + .setErrorSolution("请重新输入用户名") + .build(); + } + } + } + + + /** + * 登录名 唯一检查 + * @param roleName + * @param roleId + * @return + */ + private boolean checkSysRoleName(String roleName, long roleId) { + int count = 0; + if(roleId > 0){ + StringBuffer sw = new StringBuffer(); + HqlPack.getNumEqualPack(CommonEnumUtil.IS_VAILD.VAILD.getValue(),"isValid",sw); + HqlPack.getStringEqualPack(roleName,"name",sw); + HqlPack.getNumNOEqualPack(roleId,"id",sw); + count = roleRDao.findByHqlWhereCount(sw.toString()); + }else{ + count = roleRDao.findByPropertyCount( + new String[]{"name","isValid"}, + new Object[]{roleName,CommonEnumUtil.IS_VAILD.VAILD.getValue()}); + } + return count <= 0 ; + } }