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/base/SystemLoginService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemLoginService.java index ab4e0a0..f92a34f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemLoginService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemLoginService.java @@ -98,7 +98,8 @@ public class SystemLoginService implements ISystemLoginService { @Override @ApiOperation(value = "登录密码错误",notes = "登录密码错误记录错误次数功能") public Integer doLoginPasswordError(String loginName,String sessionId) { - SysUser user = sysUserRDao.getByProperty("userLoginName",loginName); + SysUser user = sysUserRDao.getByProperty(new String[]{"userLoginName", "isValid"}, + new Object[]{loginName, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()}); if(user != null){ String redisKey = CommonConstWords.USER_LOGIN_ERROR + "_" + sessionId + "_" + user.getId(); Object redisValue = redisCore.getObject(redisKey); 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 7237f47..9e43d44 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 @@ -399,12 +399,12 @@ public class PersonnelServiceService implements IPersonnelService { LOGGER.debug("平台岗位 SysPosition positionId:{}", positionId); if(positionId != null){ - long positionCount = positionRDao.findByPropertyCount("parentId",positionId); - if (positionCount >= 1) { + List positionList = positionRDao.findByProperty("parentId", positionId); + if (positionList!= null && positionList.size() >= 1) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("存在相关岗位信息无法删除!") + .setErrorDetail("["+positionList.get(0).getName()+"]存在相关岗位信息无法删除!") .setErrorSolution("请先删除子集信息在操作") .build(); } @@ -417,12 +417,12 @@ public class PersonnelServiceService implements IPersonnelService { // .setErrorSolution("请先删除用户关系信息再操作") // .build(); // } - long refUserInfoCount = userInfoRDao.findByPropertyCount("positionId",positionId); - if (refUserInfoCount >= 1) { + List userInfoList = userInfoRDao.findByProperty("positionId", positionId); + if (userInfoList != null && userInfoList.size() >= 1) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("存在用户信息无法删除!") + .setErrorDetail("["+userInfoList.get(0).getName()+"]存在用户信息无法删除!") .setErrorSolution("请先删除用户引用信息再操作") .build(); } @@ -434,12 +434,12 @@ public class PersonnelServiceService implements IPersonnelService { LOGGER.debug("平台部门 SysDepartment departmentId:{}", departmentId); if(departmentId != null){ - long departmentCount = departmentRDao.findByPropertyCount("parentId",departmentId); - if (departmentCount >= 1) { + List departmentList = departmentRDao.findByProperty("parentId", departmentId); + if (departmentList != null && departmentList.size() >= 1) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("存在相关部门信息无法删除!") + .setErrorDetail("["+departmentList.get(0).getName()+"]存在相关部门信息无法删除!") .setErrorSolution("请先删除子集信息在操作") .build(); } @@ -452,22 +452,22 @@ public class PersonnelServiceService implements IPersonnelService { // .setErrorSolution("请先删除用户关系信息再操作") // .build(); // } - long userInfoCount = userInfoRDao.findByPropertyCount("departmentId",departmentId); - if (userInfoCount >= 1) { + List userInfoList = userInfoRDao.findByProperty("departmentId", departmentId); + if (userInfoList != null && userInfoList.size() >= 1) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("存在用户信息无法删除!") + .setErrorDetail("["+userInfoList.get(0).getName()+"]存在用户信息无法删除!") .setErrorSolution("请先删除用户引用信息再操作") .build(); } - long userCount = userRDao.findByPropertyCount("departmentId",departmentId); - if (userCount >= 1) { + List userList = userRDao.findByProperty("departmentId", departmentId); + if (userList != null && userList.size() >= 1) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("存在账号信息无法删除!") + .setErrorDetail("["+userList.get(0).getUserLoginName()+"]存在账号信息无法删除!") .setErrorSolution("请先删除账号引用信息再操作") .build(); } @@ -479,12 +479,12 @@ public class PersonnelServiceService implements IPersonnelService { LOGGER.debug("平台部门 SysOrganize organizeId:{}", organizeId); if(organizeId != null){ - long organizeCount = organizeRDao.findByPropertyCount("parentId",organizeId); - if (organizeCount >= 1) { + List organizeList = organizeRDao.findByProperty("parentId", organizeId); + if (organizeList != null && organizeList.size() >= 1) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("存在相关组织信息无法删除!") + .setErrorDetail("["+organizeList.get(0).getName()+"]存在相关组织信息无法删除!") .setErrorSolution("请先删除子集信息在操作") .build(); } @@ -499,32 +499,32 @@ public class PersonnelServiceService implements IPersonnelService { // .build(); // } - long departmentCount = departmentRDao.findByPropertyCount("organizeId",organizeId); - if (departmentCount >= 1) { + List departmentList = departmentRDao.findByProperty("organizeId", organizeId); + if (departmentList != null && departmentList.size() >= 1) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("存在部门信息无法删除!") + .setErrorDetail("["+departmentList.get(0).getName()+"]存在部门信息无法删除!") .setErrorSolution("请先删除部门引用信息再操作") .build(); } - long userInfoCount = userInfoRDao.findByPropertyCount("organizeId",organizeId); - if (userInfoCount >= 1) { + List userInfoList = userInfoRDao.findByProperty("organizeId", organizeId); + if (userInfoList != null && userInfoList.size() >= 1) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("存在用户信息无法删除!") + .setErrorDetail("["+userInfoList.get(0).getName()+"]存在用户信息无法删除!") .setErrorSolution("请先删除用户引用信息再操作") .build(); } - long userCount = userRDao.findByPropertyCount("organizeId",organizeId); - if (userCount >= 1) { + List userList = userRDao.findByProperty("organizeId", organizeId); + if (userList != null && userList.size() >= 1) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("存在账号信息无法删除!") + .setErrorDetail("["+userList.get(0).getUserLoginName()+"]存在账号信息无法删除!") .setErrorSolution("请先删除账号引用信息再操作") .build(); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDepartmentService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDepartmentService.java index 061a1b6..fa0befd 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDepartmentService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDepartmentService.java @@ -105,12 +105,12 @@ public class SysDepartmentService implements ISysDepartmentService { @ApiOperation(value = "删除部门信息",notes = "根据ID 批量删除部门信息") public void deleteSysDepartmentByIds(Long[] ids) { LOGGER.info("部门信息 DEPARTMENT ids :{}", ids); - long positionCount = departmentRDao.findByHqlWhereCount(CoreHqlPack.packHqlIds("parentId",ids)); - if (positionCount >= 1) { + List list = departmentRDao.findByHqlWhere(CoreHqlPack.packHqlIds("parentId", ids)); + if (list != null && list.size() >= 1) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("存在相关部门信息无法删除!") + .setErrorDetail("["+list.get(0).getName()+"]存在相关部门信息无法删除!") .setErrorSolution("请先删除子集信息在操作") .build(); }else { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java index 354b4a3..5c7986a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java @@ -111,12 +111,12 @@ public class SysOrganizeService implements ISysOrganizeService { @Override @ApiOperation(value = "删除组织信息",notes = "根据 ID 批量删除组织信息") public void deleteSysOrganizeByIds(Long[] ids) { - long positionCount = organizeRDao.findByHqlWhereCount(CoreHqlPack.packHqlIds("parentId",ids)); - if (positionCount >= 1) { + List list = organizeRDao.findByHqlWhere(CoreHqlPack.packHqlIds("parentId", ids)); + if (list != null && list.size() >= 1) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("存在相关组织信息无法删除!") + .setErrorDetail("["+list.get(0).getName()+"]存在相关组织信息无法删除!") .setErrorSolution("请先删除子集信息在操作") .build(); }else { 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 ; + } }