Browse Source

添加获取本部门直属上级角色的用户接口、获取其他机构链角色的用户

master
dimengzhe 3 years ago
parent
commit
caa69b8470
  1. 17
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java
  2. 7
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java
  3. 20
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/UserRoleQuery.java
  4. 2
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.java
  5. 9
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.xml
  6. 4
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleService.java
  7. 7
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java
  8. 41
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java

17
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java

@ -193,9 +193,24 @@ public interface SysUserFeign {
@GetMapping(value = "getUserByRole")
ResultBean<List<SysUserVo>> getUserByRole(@SpringQueryMap UserQuery query);
/**
* 参数当前用户角色sid机构sid
* @param query
* @return
*/
@ApiOperation(value = "获取本部门直属上级角色的用户")
@GetMapping(value = "getUserByOrgRole")
ResultBean<List<SysUserVo>> getUserByOrgRole(@SpringQueryMap UserQuery query);
ResultBean<List<SysUserVo>> getUserByOrgRole(@SpringQueryMap UserRoleQuery query);
/**
* 参数为下一环节角色sid机构sid
*
* @param query
* @return
*/
@ApiOperation(value = "获取其他机构链角色的用户")
@GetMapping(value = "getOtherOrgRoleUser")
ResultBean<List<SysUserVo>> getOtherOrgRoleUser(@SpringQueryMap UserRoleQuery query);
@ApiOperation(value = "获取当前分公司下所有员工的userSid和员工姓名")
@GetMapping(value = "getUserByOrgSid")

7
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java

@ -181,7 +181,12 @@ public class SysUserFeignFallback implements SysUserFeign {
}
@Override
public ResultBean<List<SysUserVo>> getUserByOrgRole(UserQuery query) {
public ResultBean<List<SysUserVo>> getUserByOrgRole(UserRoleQuery query) {
return null;
}
@Override
public ResultBean<List<SysUserVo>> getOtherOrgRoleUser(UserRoleQuery query) {
return null;
}

20
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/UserRoleQuery.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/8/25 8:38
* @Description
*/
@Data
public class UserRoleQuery implements Query {
private static final long serialVersionUID = 1913450300189800653L;
@ApiModelProperty("角色sid")
private String roleSid;
@ApiModelProperty("部门sid")
private String orgSid;
}

2
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.java

@ -53,4 +53,6 @@ public interface SysRoleMapper extends BaseMapper<SysRole> {
int updateIsEnable(@Param("sid") String sid, @Param("isEnable") String isEnable);
String getLevelType(String roleSid);
String selectRoleSid(String userRoleSid);
}

9
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.xml

@ -68,4 +68,13 @@
from sys_role
where sid = #{roleSid}
</select>
<select id="selectRoleSid" resultType="java.lang.String">
SELECT ssr.sid
FROM sys_role sr
LEFT JOIN sys_post sp ON sp.sid = sr.postSid
left join sys_post ssp on sp.parentSid = ssp.sid
left join sys_role ssr on ssp.sid = ssr.postSid
where sr.sid = #{sid}
</select>
</mapper>

4
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleService.java

@ -153,4 +153,8 @@ public class SysRoleService extends MybatisBaseService<SysRoleMapper, SysRole> {
public String getLevelType(String roleSid) {
return baseMapper.getLevelType(roleSid);
}
public String selectRoleSid(String userRoleSid) {
return baseMapper.selectRoleSid(userRoleSid);
}
}

7
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java

@ -586,10 +586,15 @@ public class SysUserRest implements SysUserFeign {
}
@Override
public ResultBean<List<SysUserVo>> getUserByOrgRole(UserQuery query) {
public ResultBean<List<SysUserVo>> getUserByOrgRole(UserRoleQuery query) {
return sysUserService.getUserByOrgRole(query);
}
@Override
public ResultBean<List<SysUserVo>> getOtherOrgRoleUser(UserRoleQuery query) {
return sysUserService.getOtherOrgRoleUser(query);
}
@Override
public ResultBean<List<Map<String, String>>> getUserByOrgSid(String orgSid, String userSid) {
return sysUserService.getUserByOrgSid(orgSid, userSid);

41
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java

@ -957,21 +957,34 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
return rb.success().setData(ids);
}
public ResultBean<List<SysUserVo>> getUserByOrgRole(UserQuery query) {
public ResultBean<List<SysUserVo>> getUserByOrgRole(UserRoleQuery query) {
ResultBean<List<SysUserVo>> rb = ResultBean.fireFail();
//根据用户sid获取staffSid
SysUser sysUser = fetchBySid(query.getUserSid());
String s = sysStaffPostService.selecctPost(sysUser.getStaffSid());
String roleSid = s;
//根据组织架构、角色两个参数取相关符合条件的用户信息
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(roleSid);
userQuery.setOrgSidPath(query.getOrgSidPath());
ResultBean<List<SysUserVo>> resultBean = getUserByRole(query);
if(!resultBean.getSuccess()){
return rb.setMsg(resultBean.getMsg());
}
List<SysUserVo> sysUserVoList = resultBean.getData();
List<SysUserVo> sysUserVoList = new ArrayList<>();
//根据当前用户角色查询该角色的上一级角色
String userRoleSid = query.getRoleSid();
if(StringUtils.isBlank(userRoleSid)){
return rb.setMsg("角色不能为空");
}
if(StringUtils.isBlank(query.getOrgSid())){
return rb.setMsg("机构sid不能为空");
}
String roleSid = sysRoleService.selectRoleSid(userRoleSid);
sysUserVoList = baseMapper.getUserByRole(roleSid, query.getOrgSid());
return rb.success().setData(sysUserVoList);
}
public ResultBean<List<SysUserVo>> getOtherOrgRoleUser(UserRoleQuery query) {
ResultBean<List<SysUserVo>> rb = ResultBean.fireFail();
List<SysUserVo> sysUserVoList = new ArrayList<>();
String roleSid = query.getRoleSid();
if(StringUtils.isBlank(roleSid)){
return rb.setMsg("角色不能为空");
}
if(StringUtils.isNotBlank(query.getOrgSid())){
sysUserVoList = baseMapper.getUserByRole(roleSid, query.getOrgSid());
}else{
sysUserVoList = baseMapper.getUserByRoleSid(query.getRoleSid());
}
return rb.success().setData(sysUserVoList);
}
}
Loading…
Cancel
Save