From 4b31fac72193deb7944a64a054c433106fe266f4 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Tue, 6 Nov 2018 17:32:31 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E7=AE=A1=E7=90=86=20=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E7=AE=A1=E7=90=86=20=E7=BB=84=E7=BB=87=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E7=AE=A1=E7=90=86=20=E5=B2=97=E4=BD=8D?= =?UTF-8?q?=E7=AE=A1=E7=90=86=20=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/api/iservice/busi/ISysMenuService.java | 7 ++++ .../core/api/iservice/busi/ISysRoleService.java | 7 ++++ .../controller/busi/DepartmentController.java | 1 + .../controller/busi/OrganizeController.java | 3 ++ .../controller/busi/PositionController.java | 8 ++-- .../controller/busi/SysMenuController.java | 29 +++++++++++++-- .../controller/busi/SysRoleController.java | 29 ++++++++++++++- .../controller/busi/SysUserController.java | 3 ++ .../serviceimpl/busi/DepartmentService.java | 7 ++-- .../serviceimpl/busi/OrganizeService.java | 8 ++-- .../serviceimpl/busi/PositionService.java | 4 +- .../serviceimpl/busi/SysMenuService.java | 43 +++++++++++++++++++--- .../serviceimpl/busi/SysRoleService.java | 23 +++++++++++- .../serviceimpl/busi/SysUserService.java | 3 +- 14 files changed, 150 insertions(+), 25 deletions(-) diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java index 2337d42..d592364 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java @@ -50,6 +50,13 @@ public interface ISysMenuService { void deleteSysMenuById(String id); /** + * 根据id批量删除 + * @param ids id数组 + * @return + */ + void deleteSysMenuByIds(String[] ids); + + /** * 新增数据 * * @param sysMenu 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 441b06d..083d898 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 @@ -50,6 +50,13 @@ public interface ISysRoleService { void deleteSysRoleById(String id); /** + * 根据id批量删除 + * @param ids id数组 + * @return + */ + void deleteSysRoleByIds(String[] ids); + + /** * 新增数据 * * @param sysRole diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/DepartmentController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/DepartmentController.java index dc945d2..93f6d4d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/DepartmentController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/DepartmentController.java @@ -177,6 +177,7 @@ public class DepartmentController { @ApiOperation(value = "根据id批量删除", notes = "根据id批量删除") public ResultBean deleteDepartmentByIds(String[] ids){ try{ + ids = ConvertBean.modelSafeArrayNumber(ids,true); if(ids.length == 0){ throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/OrganizeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/OrganizeController.java index 7ffbaea..89c9cf5 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/OrganizeController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/OrganizeController.java @@ -46,6 +46,7 @@ public class OrganizeController { //条件验证 ValidatorBean.beginValid(organize) .notNull("name", organize.getName()) + .notNull("organizeCode", organize.getOrganizeCode()) .notNull("organizeTypeId", organize.getOrganizeTypeId()); //新增初始化 @@ -72,6 +73,7 @@ public class OrganizeController { ValidatorBean.beginValid(organize) .notNull("id", organize.getId()) .notNull("name", organize.getName()) + .notNull("organizeCode", organize.getOrganizeCode()) .notNull("organizeTypeId", organize.getOrganizeTypeId()); ConvertBean.modelUpdate(organize, AuthUtil.getSessionUser()); @@ -185,6 +187,7 @@ public class OrganizeController { @ApiOperation(value = "根据id批量删除", notes = "根据id批量删除") public ResultBean deleteOrganizeByIds(String[] ids){ try{ + ids = ConvertBean.modelSafeArrayNumber(ids,true); if(ids.length == 0){ throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PositionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PositionController.java index a0fd8c3..70ac0ab 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PositionController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PositionController.java @@ -56,8 +56,9 @@ public class PositionController { position.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); } - positionService.insertPosition(position); - return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + Position pos = positionService.insertPosition(position); + return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultObject(pos); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); return ResultBean.fail(busExcep.getErrorShow()); @@ -77,7 +78,7 @@ public class PositionController { //条件验证 ValidatorBean.beginValid(position) .notNull("id",position.getId()) - .notNull("positionName",position.getName()) + .notNull("name",position.getName()) .notNull("positionCode",position.getPositionCode()); //修改初始化 @@ -173,6 +174,7 @@ public class PositionController { @ApiOperation(value = "根据id批量删除", notes = "根据id批量删除") public ResultBean deletePositionByIds(String[] ids){ try{ + ids = ConvertBean.modelSafeArrayNumber(ids,true); if(ids.length == 0){ throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java index 92a42be..64dc0f7 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java @@ -10,6 +10,7 @@ import cn.estsh.i3plus.pojo.platform.bean.SysMenu; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; + import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; @@ -126,7 +127,7 @@ public class SysMenuController { @GetMapping(value="/query") @ApiOperation(value="查询权限",notes="组合查询权限,外带分页功能") - public ResultBean queryPosition(SysMenu menu, Pager pager){ + public ResultBean querySysMenu(SysMenu menu, Pager pager){ try{ ListPager listPager = sysMenuService.querySysMenu(menu, pager); @@ -187,6 +188,7 @@ public class SysMenuController { public ResultBean updateBatchStatus(String[] ids,int status) { try { // 数据校验 + ids = ConvertBean.modelSafeArrayNumber(ids,true); ValidatorBean.checkNotNull(ids, "功能id 不能为空"); ValidatorBean.checkNotZero(status, "功能状态不能为空"); @@ -202,7 +204,28 @@ public class SysMenuController { } } - - + @DeleteMapping(value = "/batch-delete") + @ApiOperation(value = "根据id批量删除", notes = "根据id批量删除") + public ResultBean deleteSysMenuByIds(String[] ids){ + try{ + ids = ConvertBean.modelSafeArrayNumber(ids,true); + if(ids.length == 0){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("请选择需要删除的资源。") + .build(); + } + sysMenuService.deleteSysMenuByIds(ids); + return ResultBean.success("删除成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); + return ResultBean.fail(busExcep.getErrorShow()); + }catch(Exception e){ + LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); + return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + } + } } 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 41a619b..e0e4399 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 @@ -243,11 +243,12 @@ public class SysRoleController { @ApiOperation(value = "批量新增角色权限关系", notes = "批量新增角色权限关系") public ResultBean insertBatchRefMenu(String[] roleIds,String[] menuIds) { try { + roleIds = ConvertBean.modelSafeArrayNumber(roleIds,true); + menuIds = ConvertBean.modelSafeArrayNumber(menuIds,true); + // 数据校验 ValidatorBean.checkNotNull(roleIds, "角色roleIds 不能为空"); - roleIds = ConvertBean.modelSafeArrayNumber(roleIds,true); - if(roleIds.length == 0){ throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) @@ -267,4 +268,28 @@ public class SysRoleController { return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); } } + + @DeleteMapping(value = "/batch-delete") + @ApiOperation(value = "根据id批量删除", notes = "根据id批量删除") + public ResultBean deleteSysRoleByIds(String[] ids){ + try{ + ids = ConvertBean.modelSafeArrayNumber(ids,true); + if(ids.length == 0){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("请选择需要删除的资源。") + .build(); + } + sysRoleService.deleteSysRoleByIds(ids); + return ResultBean.success("删除成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); + return ResultBean.fail(busExcep.getErrorShow()); + }catch(Exception e){ + LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); + return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + } + } } 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 f28a7f1..566e22f 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 @@ -217,6 +217,7 @@ public class SysUserController { @ApiOperation(value = "根据id批量删除", notes = "根据id批量删除") public ResultBean deleteBatchSysUserByIds(String[] ids){ try{ + ids = ConvertBean.modelSafeArrayNumber(ids,true); if(ids.length == 0){ throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) @@ -241,6 +242,8 @@ public class SysUserController { @ApiOperation(value = "批量修改系统功能状态", notes = "根据ID修改系统功能状态") public ResultBean updateBatchStatus(String[] ids,int status) { try { + ids = ConvertBean.modelSafeArrayNumber(ids,true); + // 数据校验 ValidatorBean.checkNotNull(ids, "功能id 不能为空"); ValidatorBean.checkNotZero(status, "功能状态不能为空"); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/DepartmentService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/DepartmentService.java index 480de7f..0a008e0 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/DepartmentService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/DepartmentService.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.tool.HqlPack; import cn.estsh.i3plus.pojo.platform.bean.Department; import cn.estsh.i3plus.pojo.platform.bean.Organize; import cn.estsh.i3plus.pojo.platform.repository.DepartmentRepository; @@ -48,10 +49,10 @@ public class DepartmentService implements IDepartmentService { if(count <= 0){ //冗余父节点信息 - if (department.getParentId() != null && department.getParentId().intValue() > 0) { + if (department.getParentId() != null && department.getParentId() > 0) { LOGGER.info("部门信息 DEPARTMENT :{}", department.getParentId()); Department parentPosition = departmentRDao.getById(department.getParentId()); - ValidatorBean.checkNotNull(parentPosition); + ValidatorBean.checkNotNull(parentPosition,"上级部门信息不存在"); department.setRedParentName(parentPosition.getName()); } @@ -138,7 +139,7 @@ public class DepartmentService implements IDepartmentService { if (department.getParentId() != null && department.getParentId() > 0) { LOGGER.info("部门信息 DEPARTMENT :{}", department.getParentId()); Department parentPosition = departmentRDao.getById(department.getParentId()); - ValidatorBean.checkNotNull(parentPosition); + ValidatorBean.checkNotNull(parentPosition,"上级部门信息不存在"); department.setRedParentName(parentPosition.getName()); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/OrganizeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/OrganizeService.java index 43ed3d0..c037138 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/OrganizeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/OrganizeService.java @@ -61,9 +61,9 @@ public class OrganizeService implements IOrganizeService { coreTreeService.doValidatorOrganizeParentId(organize); // 冗余父节点 - if(organize.getParentId() != null){ + if(organize.getParentId() != null && organize.getParentId() > 0){ Organize org = getOrganizeById(organize.getParentId().toString()); - ValidatorBean.checkNotNull(org); + ValidatorBean.checkNotNull(org,"上级组织信息不存在"); organize.setRedParentName(org.getName()); } @@ -126,9 +126,9 @@ public class OrganizeService implements IOrganizeService { long count = organizeRDao.findByPropertyCount("organizeCode", organize.getOrganizeCode()); if(count <= 0){ // 冗余信息 - if(organize.getParentId() != null && organize.getParentId().intValue() > 0){ + if(organize.getParentId() != null && organize.getParentId() > 0){ Organize org = getOrganizeById(organize.getParentId().toString()); - ValidatorBean.checkNotNull(org); + ValidatorBean.checkNotNull(org,"上级组织信息不存在"); organize.setRedParentName(org.getName()); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PositionService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PositionService.java index ba53a2d..bf682c2 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PositionService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PositionService.java @@ -51,7 +51,7 @@ public class PositionService implements IPositionService { LOGGER.info("岗位信息 POSITION parentId:{}", position.getParentId()); Position parentPosition = positionRDao.getById(position.getParentId()); - ValidatorBean.checkNotNull(parentPosition); + ValidatorBean.checkNotNull(parentPosition,"上级岗位信息不存在"); position.setRedParentName(parentPosition.getName()); } @@ -94,7 +94,7 @@ public class PositionService implements IPositionService { if (position.getParentId() != null && position.getParentId() > 0) { LOGGER.info("岗位信息 POSITION parentId:{}", position.getParentId()); Position parentPosition = positionRDao.getById(position.getParentId()); - ValidatorBean.checkNotNull(parentPosition); + ValidatorBean.checkNotNull(parentPosition,"上级岗位信息不存在"); position.setRedParentName(parentPosition.getName()); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java index 241ecd4..2fc9087 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java @@ -6,13 +6,14 @@ import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.HqlPack; -import cn.estsh.i3plus.pojo.platform.bean.Organize; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SysMenu; +import cn.estsh.i3plus.pojo.platform.repository.RefRoleMenuRepository; import cn.estsh.i3plus.pojo.platform.repository.SysMenuRepository; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import cn.estsh.impp.framework.boot.util.ValidatorBean; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -38,6 +39,9 @@ public class SysMenuService implements ISysMenuService { @Autowired private CoreTreeService coreTreeService; + @Autowired + private RefRoleMenuRepository refRoleMenuRDao; + @Override public void updateSysMenu(SysMenu sysMenu) { LOGGER.info("系统功能 SYS_MENU :{}", sysMenu); @@ -60,6 +64,12 @@ public class SysMenuService implements ISysMenuService { // 父节点检查 coreTreeService.doValidatorSysMenuParentId(sysMenu); + if (sysMenu.getParentId() != null && sysMenu.getParentId() > 0) { + SysMenu parent = sysMenuRDao.getById(sysMenu.getParentId()); + ValidatorBean.checkNotNull(parent,"上级权限信息不存在"); + sysMenu.setRedParentName(parent.getName()); + } + sysMenuRDao.update(sysMenu); sysMenuRDao.updateByProperties("parentId",sysMenu.getId(), "redParentName",sysMenu.getName()); @@ -105,21 +115,44 @@ public class SysMenuService implements ISysMenuService { .build(); } + + refRoleMenuRDao.deleteByProperties("menuId",id); sysMenuRDao.deleteById(Long.parseLong(id)); } @Override + public void deleteSysMenuByIds(String[] ids) { + LOGGER.info("系统功能 SYS_MENU ids :{}", ids); + long positionCount = sysMenuRDao.findByHqlWhereCount(CoreHqlPack.packHqlIds("parentId",ids)); + if (positionCount >= 1) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("存在相关系统功能信息无法删除!") + .setErrorSolution("请先删除子集信息在操作") + .build(); + }else { + Long[] array = new Long[ids.length]; + for (int i = 0; i < ids.length; i++) { + array[i] = Long.parseLong(ids[i]); + } + + refRoleMenuRDao.deleteByTypeLong("menuId",array); + sysMenuRDao.deleteByIds(array); + } + } + + @Override public SysMenu insertSysMenu(SysMenu sysMenu) { LOGGER.info("系统功能 SYS_MENU :{}", sysMenu); // 代码唯一校验 long count = sysMenuRDao.findByPropertyCount("menuCode", sysMenu.getMenuCode()); if(count <= 0){ - if (sysMenu.getParentId() != null && sysMenu.getParentId().intValue() > 0) { + if (sysMenu.getParentId() != null && sysMenu.getParentId() > 0) { SysMenu parent = sysMenuRDao.getById(sysMenu.getParentId()); - if(null != parent){ - sysMenu.setRedParentName(parent.getName()); - } + ValidatorBean.checkNotNull(parent,"上级权限信息不存在"); + sysMenu.setRedParentName(parent.getName()); } return sysMenuRDao.insert(sysMenu); }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 370b6bc..9cf1d59 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 @@ -74,9 +74,30 @@ public class SysRoleService implements ISysRoleService { @Override public void deleteSysRoleById(String id) { LOGGER.info("系统角色 SYS_ROLE Key:{}", id); + refRoleMenuRDao.deleteByProperties("roleId",id); sysRoleRDao.deleteById(Long.parseLong(id)); } + @Override + public void deleteSysRoleByIds(String[] ids) { + LOGGER.info("系统角色 SYS_ROLE ids :{}", ids); + long positionCount = sysRoleRDao.findByHqlWhereCount(CoreHqlPack.packHqlIds("parentId",ids)); + if (positionCount >= 1) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("存在相关系统功能信息无法删除!") + .setErrorSolution("请先删除子集信息在操作") + .build(); + }else { + Long[] array = new Long[ids.length]; + for (int i = 0; i < ids.length; i++) { + array[i] = Long.parseLong(ids[i]); + } + refRoleMenuRDao.deleteByTypeLong("roleId",array); + sysRoleRDao.deleteByIds(array); + } + } @Override public SysRole insertSysRole(SysRole sysRole) { @@ -132,7 +153,7 @@ public class SysRoleService implements ISysRoleService { if(CommonEnumUtil.METHOD_LEVEL.MODULE.getValue() == menu.getMenuTypeId().intValue()){ moduleListRdd.add(menu.getName()); } - if(CommonEnumUtil.METHOD_LEVEL.BUTTON.getValue() == menu.getMenuTypeId().intValue()){ + if(CommonEnumUtil.METHOD_LEVEL.METHOD.getValue() == menu.getMenuTypeId().intValue()){ featuresListRdd.add(menu.getName()); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java index 600d482..642a428 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java @@ -117,13 +117,12 @@ public class SysUserService implements ISysUserService { public void updateBatchSysUserStatus(String[] ids, int status, SessionUser user) { LOGGER.info("平台用户 SYS_USER DELETE By ids :{} status:{}, SessionUser :{}", ids,status,user); - // 标记用户已删除 String where = CoreHqlPack.packHqlIds("id", ids); List list = sysUserRDao.findByHqlWhere(where); if(null != list && list.size() > 0){ for (SysUser sysUser : list) { sysUser.setUserStatusId(status); - sysUser.setIsValid(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + sysUser.setIsValid(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); ConvertBean.modelUpdate(sysUser,user); } sysUserRDao.saveAll(list);