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 54375c7..796d2e5 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 @@ -64,4 +64,13 @@ public interface ISysRoleService extends ICrudService { */ @ApiOperation(value = "查询符合条件的角色") List findAllByBaseBean(SysRole sysRole); + + /** + * 根据sysRole属性 查询符合条件的角色 + * + * @param sysRole + * @return + */ + @ApiOperation(value = "查询符合条件的角色") + List findAllByRoleProperty(SysRole sysRole); } 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 8773eb2..4444fef 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 @@ -241,35 +241,28 @@ public class SysRoleController extends CrudBaseController { } } - @PostMapping(value = "/queryRoleRefUser",consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + @PostMapping(value = "/queryRoleRefUser", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) @ApiOperation(value = "查询角色及关联的人员信息", notes = "查询角色及关联的人员信息") public BaseResultBean queryRoleRefUser(@RequestBody SysRoleModel sysRoleModel) { try { ListPager result = null; + List roleList = null; SysRole sysRole = sysRoleModel.getSysRole(); Pager pager = sysRoleModel.getPager(); - if (ObjectUtils.isEmpty(sysRole)){ + if (ObjectUtils.isEmpty(sysRole)) { sysRole = new SysRole(); } - if (ObjectUtils.isEmpty(pager)){ + if (ObjectUtils.isEmpty(pager)) { pager = new Pager(); } - List refList = personnelService.findSysRefUserRole(getSessionUser().getUser().getId()); - if (refList != null && refList.size() > 0) { - List idList = new ArrayList<>(refList.size()); - Map refMap = new HashMap<>(); - refList.forEach(ref -> { - idList.add(ref.getRoleId()); - refMap.put(ref.getRoleId(), ref); - }); - - result = sysRoleService.querySysRole(sysRole, idList, pager); - List roleList = result.getObjectList(); - //过滤SysRefUserRole - - List roleIdList = roleList.stream().map(el -> el.getId()).collect(Collectors.toList()); - result = personnelService.findSysRefUserRoleByRoleIds(roleIdList,pager); + roleList = sysRoleService.findAllByRoleProperty(sysRole); + //过滤SysRefUserRole + if (ObjectUtils.isEmpty(roleList)){ + return ResultBean.success("操作成功"); } + + List roleIdList = roleList.stream().map(el -> el.getId()).collect(Collectors.toList()); + result = personnelService.findSysRefUserRoleByRoleIds(roleIdList, pager); return ResultBean.success("操作成功").setListPager(result).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); 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 66cd810..bf7028e 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 @@ -6,6 +6,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService; import cn.estsh.i3plus.core.apiservice.dao.IUserPermissionDao; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; @@ -36,6 +37,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Example; +import org.springframework.data.domain.Page; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; @@ -299,6 +301,14 @@ public class SysRoleService extends CrudService implements ISysRoleServ return this.roleRDao.findAll(example); } + @Override + public List findAllByRoleProperty(SysRole sysRole) { + DdlPackBean packBean = DdlPackBean.getDdlPackBean(sysRole); + DdlPreparedPack.getNumEqualPack(sysRole.getRoleStatus(), "roleStatus", packBean); + DdlPreparedPack.getStringLikerPack(sysRole.getName(), "name", packBean); + return roleRDao.findByHqlWhere(packBean); + } + // @Override // public void packAfterRefreshCache() {