diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java index bd292838e1..2289ba0491 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java @@ -10,6 +10,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; @@ -129,6 +130,7 @@ public interface SysUserFeign { @ApiOperation(value = "3、登录") @ApiOperationSupport(order = 30) public ResultBean login(@RequestBody SysUserQuery sysUserQuery); + @PostMapping("/loginByNoVeriCode") @ResponseBody @ApiOperation(value = "3、登录无验证码") @@ -181,4 +183,8 @@ public interface SysUserFeign { @ApiOperation("根据角色sid查询用户") @GetMapping("/getUsersByRoleSid/{roleSid}") ResultBean getUsersByRoleSid(@PathVariable("roleSid") String roleSid); + + @ApiOperation(value = "根据角色、发起人部门sidPath获取用户列表算法") + @GetMapping(value = "getUserByRole") + ResultBean> getUserByRole(@SpringQueryMap UserQuery query); } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java index 1a2475d477..1dc004e08a 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java @@ -168,4 +168,9 @@ public class SysUserFeignFallback implements SysUserFeign { public ResultBean getUsersByRoleSid(String roleSid) { return null; } + + @Override + public ResultBean> getUserByRole(UserQuery query) { + return null; + } } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java index ef07541991..dd7ddae285 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java @@ -28,6 +28,7 @@ import java.util.List; @Data @NoArgsConstructor public class SysUserVo implements Vo { + private static final long serialVersionUID = 2415131854581950721L; @ApiModelProperty("部门sid") private String departmentSid; @ApiModelProperty("部门名称") diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/UserQuery.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/UserQuery.java new file mode 100644 index 0000000000..c7dc6f8558 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/UserQuery.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.portal.api.sysuser; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/21 8:47 + * @Description + */ +@Data +public class UserQuery implements Query { + + private static final long serialVersionUID = -3979717077029562761L; + @ApiModelProperty(value = "角色sid必传项") + private String roleSid; + @ApiModelProperty(value = "用户部门sid路径是必传项") + private String orgSidPath; +} diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.java index b50f77736d..2340919958 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.java @@ -51,4 +51,6 @@ public interface SysRoleMapper extends BaseMapper { SysRoleVo fetchBySid(String sid); int updateIsEnable(@Param("sid") String sid, @Param("isEnable") String isEnable); + + String getLevelType(String roleSid); } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.xml index 39c5110137..527ad6da76 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.xml +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.xml @@ -1,50 +1,71 @@ - - - - - - + + + - - - - - DELETE FROM sys_role WHERE sid IN - - #{sid} - - - - DELETE FROM sys_role WHERE sid =#{sid} - + + - - UPDATE sys_role - SET isEnable = #{isEnable} - WHERE sid = #{sid} - + + + + + DELETE + FROM sys_role WHERE sid IN + + #{sid} + + + + DELETE + FROM sys_role + WHERE sid = #{sid} + + + + UPDATE sys_role + SET isEnable = #{isEnable} + WHERE sid = #{sid} + + + \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleService.java index f68e8fa982..de781e9322 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleService.java @@ -35,116 +35,122 @@ import java.util.List; */ @Service public class SysRoleService extends MybatisBaseService { - public PagerVo listPage(PagerQuery pq) { - SysRoleQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPage(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - public List listAll(SysRoleQuery query) { - QueryWrapper qw = createQueryWrapper(query); - return baseMapper.selectList(qw); - } - private QueryWrapper createQueryWrapper(SysRoleQuery query) { - // todo: 这里根据具体业务调整查询条件 - // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); - QueryWrapper qw = new QueryWrapper<>(); - - - if (StringUtils.isNotBlank(query.getName())) { - qw.like("sr.name", query.getName()); - } - - if (query.getSort() != null) { - qw.eq("sr.sort", query.getSort()); - } - - if (StringUtils.isNotBlank(query.getCode())) { - qw.eq("sr.code", query.getCode()); - } - - if (query.getType() != null) { - qw.eq("sr.type", query.getType()); - } - return qw; - } - - public PagerVo listPageVo(PagerQuery pq) { - SysRoleQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - - public List listAllVo(SysRoleQuery query) { - QueryWrapper qw = createQueryWrapper(query); - return baseMapper.selectListAllVo(qw); - } - - public List listVo() { - return baseMapper.selectListVo(); - } - - public void saveOrUpdateDto(SysRoleDto dto){ - SysRole entity = new SysRole(); - dto.fillEntity(entity); - this.saveOrUpdate(entity); - } - - public SysRoleVo fetchByIdVo(String id){ - SysRole entity = this.fetchById(id); - SysRoleVo vo = new SysRoleVo(); - BeanUtil.copyProperties(entity, vo); - return vo; - } - - public List fetchByUserSid(String userSid) { - return baseMapper.fetchByUserSid(userSid); - } - - public List listAllByUserSid(String userSid) { - return baseMapper.listAllByUserSid(userSid); - } + public PagerVo listPage(PagerQuery pq) { + SysRoleQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAll(SysRoleQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + + private QueryWrapper createQueryWrapper(SysRoleQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getName())) { + qw.like("sr.name", query.getName()); + } + + if (query.getSort() != null) { + qw.eq("sr.sort", query.getSort()); + } + + if (StringUtils.isNotBlank(query.getCode())) { + qw.eq("sr.code", query.getCode()); + } + + if (query.getType() != null) { + qw.eq("sr.type", query.getType()); + } + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + SysRoleQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAllVo(SysRoleQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectListAllVo(qw); + } + + public List listVo() { + return baseMapper.selectListVo(); + } + + public void saveOrUpdateDto(SysRoleDto dto) { + SysRole entity = new SysRole(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public SysRoleVo fetchByIdVo(String id) { + SysRole entity = this.fetchById(id); + SysRoleVo vo = new SysRoleVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public List fetchByUserSid(String userSid) { + return baseMapper.fetchByUserSid(userSid); + } + + public List listAllByUserSid(String userSid) { + return baseMapper.listAllByUserSid(userSid); + } public SysRoleVo fetchByName(String name) { - SysRole entity = baseMapper.fetchByName(name); - SysRoleVo vo = new SysRoleVo(); - BeanUtil.copyProperties(entity, vo); - return vo; + SysRole entity = baseMapper.fetchByName(name); + SysRoleVo vo = new SysRoleVo(); + BeanUtil.copyProperties(entity, vo); + return vo; } - /** - * 描述 : <描述函数实现的功能>.
- *

- * - * @param sids - * @return - */ - public int delBySids(String sids) { - String[] split = sids.split(","); - if (split.length < 1) { - return 0; - } else if (split.length == 1) { - return baseMapper.deleteBySid(sids); - } else { - List list = new ArrayList<>(); - for (String sid : split) { - list.add(sid); - } - return baseMapper.deleteBatchSids(list); - } - } - - public SysRoleVo fetchBySidVo(String sid) { - SysRoleVo vo = baseMapper.fetchBySid(sid); - return vo; - } - - public int updateIsEnable(String sid, String isEnable) { - return baseMapper.updateIsEnable(sid, isEnable); - } + /** + * 描述 : <描述函数实现的功能>.
+ *

+ * + * @param sids + * @return + */ + public int delBySids(String sids) { + String[] split = sids.split(","); + if (split.length < 1) { + return 0; + } else if (split.length == 1) { + return baseMapper.deleteBySid(sids); + } else { + List list = new ArrayList<>(); + for (String sid : split) { + list.add(sid); + } + return baseMapper.deleteBatchSids(list); + } + } + + public SysRoleVo fetchBySidVo(String sid) { + SysRoleVo vo = baseMapper.fetchBySid(sid); + return vo; + } + + public int updateIsEnable(String sid, String isEnable) { + return baseMapper.updateIsEnable(sid, isEnable); + } + + public String getLevelType(String roleSid) { + return baseMapper.getLevelType(roleSid); + } } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.java index 685132e96a..4b952ab369 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.java @@ -12,7 +12,6 @@ import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo; import com.yxt.anrui.portal.api.sysuser.wx.WxHomePageVo; import com.yxt.anrui.portal.api.sysuser.wx.WxMySysUserInfoVo; import com.yxt.anrui.portal.api.sysuser.wx.WxSysUserVo; -import com.yxt.common.core.result.ResultBean; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -39,7 +38,7 @@ public interface SysUserMapper extends BaseMapper { //@Update("update sys_user set name=#{msg} where id=#{id}") //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper ew,@Param("orgName") String orgName); + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper ew, @Param("orgName") String orgName); List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); @@ -157,5 +156,7 @@ public interface SysUserMapper extends BaseMapper { int updateIsEnable(@Param("sid") String sid, @Param("isEnable") String isEnable); - List getUsersByRoleSid(@Param("roleSid")String roleSid); + List getUsersByRoleSid(@Param("roleSid") String roleSid); + + List getUserByRole(@Param("roleSid") String roleSid, @Param("levelOrgSid") String levelOrgSid); } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml index 09f8468bd9..1b19feb170 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml @@ -7,52 +7,57 @@ SELECT DISTINCT user.staffSid, user.isEnable, ( - SELECT GROUP_CONCAT(org.name) - FROM sys_staff_org staffOrg - LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid - WHERE staffOrg.staffSid = user.staffSid - ) departmentName, + SELECT GROUP_CONCAT(org.name) + FROM sys_staff_org staffOrg + LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid + WHERE staffOrg.staffSid = user.staffSid + ) departmentName, ( - SELECT GROUP_CONCAT(org.sid) - FROM sys_staff_org staffOrg - LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid - WHERE staffOrg.staffSid = user.staffSid - ) departmentSid, + SELECT GROUP_CONCAT(org.sid) + FROM sys_staff_org staffOrg + LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid + WHERE staffOrg.staffSid = user.staffSid + ) departmentSid, ( - SELECT GROUP_CONCAT(post.name) - FROM sys_staff_post staffPost - LEFT JOIN sys_post post ON post.sid = staffPost.postSid - WHERE staffPost.staffSid = user.staffSid - ) postName, + SELECT GROUP_CONCAT(post.name) + FROM sys_staff_post staffPost + LEFT JOIN sys_post post ON post.sid = staffPost.postSid + WHERE staffPost.staffSid = user.staffSid + ) postName, ( - SELECT GROUP_CONCAT(post.sid) - FROM sys_staff_post staffPost - LEFT JOIN sys_post post ON post.sid = staffPost.postSid - WHERE staffPost.staffSid = user.staffSid - ) postSid, + SELECT GROUP_CONCAT(post.sid) + FROM sys_staff_post staffPost + LEFT JOIN sys_post post ON post.sid = staffPost.postSid + WHERE staffPost.staffSid = user.staffSid + ) postSid, user.userName, user.sid sid, staff.name, ( - SELECT GROUP_CONCAT(role.name) - FROM sys_user_role user_role - LEFT JOIN sys_role role ON role.sid = user_role.roleSid - WHERE user_role.userSid = USER.sid - ) roleName, + SELECT GROUP_CONCAT(role.name) + FROM sys_user_role user_role + LEFT JOIN sys_role role ON role.sid = user_role.roleSid + WHERE user_role.userSid = USER.sid + ) roleName, dict.dictValue userType, user.userType userTypeKey FROM sys_user USER - LEFT JOIN sys_user_role user_role ON user_role.userSid = USER.sid - LEFT JOIN sys_role role ON role.sid = user_role.roleSid - LEFT JOIN dict_common dict ON dict.dictKey = user.userType AND dict.dictType = 'userType' - LEFT JOIN sys_staffinfo staff ON staff.sid = user.staffSid + LEFT JOIN sys_user_role user_role ON user_role.userSid = USER.sid + LEFT JOIN sys_role role ON role.sid = user_role.roleSid + LEFT JOIN dict_common dict ON dict.dictKey = user.userType AND dict.dictType = 'userType' + LEFT JOIN sys_staffinfo staff ON staff.sid = user.staffSid ${ew.sqlSegment} - AND (SELECT GROUP_CONCAT(org.name) - FROM sys_staff_org staffOrg - LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid - WHERE staffOrg.staffSid = user.staffSid) LIKE concat('%',#{orgName},'%') + AND (SELECT GROUP_CONCAT(org.name) + FROM sys_staff_org staffOrg + LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid + WHERE staffOrg.staffSid = user.staffSid) + LIKE concat('%', + #{orgName} + , + '%' + ) @@ -141,17 +146,17 @@ SELECT su.staffSid, si.name staffName, sso.orgSid, sso.orgName, so.orgCode FROM sys_user su - LEFT JOIN sys_staffinfo si ON su.staffSid = si.sid - LEFT JOIN sys_staff_org sso ON su.staffSid = sso.staffSid - LEFT JOIN sys_organization so ON sso.orgSid = so.sid + LEFT JOIN sys_staffinfo si ON su.staffSid = si.sid + LEFT JOIN sys_staff_org sso ON su.staffSid = sso.staffSid + LEFT JOIN sys_organization so ON sso.orgSid = so.sid WHERE su.sid = #{userSid} ORDER BY sso.id LIMIT 1 @@ -196,12 +201,22 @@ + + \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java index 1ebac83ef0..5e9eca045b 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java @@ -312,8 +312,6 @@ public class SysUserRest implements SysUserFeign { @Override public ResultBean login(SysUserQuery userQuery) { - - String userName = userQuery.getUserName(); String password = userQuery.getPassword(); String verifyCode = userQuery.getVerifyCode(); @@ -387,7 +385,6 @@ public class SysUserRest implements SysUserFeign { } else { return new ResultBean().fail().setMsg("验证码错误"); } - if (StringUtils.isBlank(userName)) { return new ResultBean().fail().setMsg("用户名不能为空"); } @@ -575,4 +572,9 @@ public class SysUserRest implements SysUserFeign { public ResultBean getUsersByRoleSid(String roleSid) { return sysUserService.getUsersByRoleSid(roleSid); } + + @Override + public ResultBean> getUserByRole(UserQuery query) { + return sysUserService.getUserByRole(query); + } } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java index fd6123da6f..8ff0d33580 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java @@ -13,7 +13,6 @@ import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo; import com.yxt.anrui.portal.api.sysstaffpost.SysStaffPostDetailsVo; -import com.yxt.anrui.portal.api.sysstaffpost.SysStaffPostVo; import com.yxt.anrui.portal.api.sysuser.*; import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo; import com.yxt.anrui.portal.api.sysuser.wx.WxHomePageVo; @@ -24,7 +23,6 @@ import com.yxt.anrui.portal.biz.sysrole.SysRoleService; import com.yxt.anrui.portal.biz.sysstaffinfo.SysStaffinfoService; import com.yxt.anrui.portal.biz.sysstafforg.SysStaffOrgService; import com.yxt.anrui.portal.biz.sysstaffpost.SysStaffPostService; -import com.yxt.anrui.portal.biz.sysuserrole.SysUserRoleService; import com.yxt.anrui.portal.config.DictCommonType; import com.yxt.anrui.portal.utils.MsgWs; import com.yxt.common.base.config.RedisUtil; @@ -35,7 +33,6 @@ import com.yxt.common.base.utils.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import org.apache.commons.collections.map.HashedMap; import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -99,6 +96,8 @@ public class SysUserService extends MybatisBaseService { @Autowired private ImageUploadUtil imageUploadUtil; + @Autowired + private SysRoleService sysRoleService; public PagerVo listPage(PagerQuery pq) { @@ -133,7 +132,7 @@ public class SysUserService extends MybatisBaseService { SysUserQuery query = pq.getParams(); QueryWrapper qw = createQueryWrapper(query); IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw,query.getOrgName()); + IPage pagging = baseMapper.selectPageVo(page, qw, query.getOrgName()); List records = pagging.getRecords(); for (SysUserVo record : records) { String departmentSid = record.getDepartmentSid(); @@ -325,7 +324,7 @@ public class SysUserService extends MybatisBaseService { userInfoOneVo.setDepartmentSid(sysStaffOrgVo.getOrgSid()); String psid = sysOrganizationService.fetchBySid(sysStaffOrgVo.getOrgSid()).getPsid(); String name = sysOrganizationService.fetchBySid(psid).getName(); - userInfoOneVo.setPNameAndDepartmentNameAndPostName(name + "-" +sysStaffOrgVo.getOrgName() + " " + userInfoOneVo.getPostName()); + userInfoOneVo.setPNameAndDepartmentNameAndPostName(name + "-" + sysStaffOrgVo.getOrgName() + " " + userInfoOneVo.getPostName()); userInfoOneVo.setOrganizationSid(sysStaffOrgVo.getOrgSid()); userInfoOneVo.setOrganizationName(sysStaffOrgVo.getOrgName()); userInfoOneVo.setOrgNamePath(sysStaffOrg.getOrgNamePath()); @@ -884,4 +883,22 @@ public class SysUserService extends MybatisBaseService { ResultBean objectResultBean = ResultBean.fireSuccess().setData(r); return objectResultBean; } + + public ResultBean> getUserByRole(UserQuery query) { + ResultBean> rb = ResultBean.fireFail(); + List sysUserVoList = new ArrayList<>(); + //根据角色sid获取角色的层级 + String levelTypeKey = sysRoleService.getLevelType(query.getRoleSid()); + if (StringUtils.isNotBlank(levelTypeKey)) { + String orgSidPath = query.getOrgSidPath(); + if(query.getOrgSidPath().split("/").length>=Integer.parseInt(levelTypeKey)-1){ + String levelOrgSid = query.getOrgSidPath().split("/")[Integer.parseInt(levelTypeKey) - 1]; + sysUserVoList = baseMapper.getUserByRole(query.getRoleSid(), levelOrgSid); + sysUserVoList.removeAll(Collections.singleton(null)); + } + } + return rb.success().setData(sysUserVoList); + + + } } \ No newline at end of file