Browse Source

角色保存与部门列表获取修改

hotfix/yujt_opt
yujt 6 years ago
parent
commit
a2ced4bada
  1. 20
      epdc-cloud-admin/pom.xml
  2. 51
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysUserController.java
  3. 15
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysDeptService.java
  4. 64
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java
  5. 51
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java

20
epdc-cloud-admin/pom.xml

@ -183,23 +183,25 @@
<spring.profiles.active>test</spring.profiles.active>
<docker.tag>test</docker.tag>
<spring.redis.index>2</spring.redis.index>
<spring.redis.host>114.215.125.123</spring.redis.host>
<spring.redis.port>9603</spring.redis.port>
<spring.redis.password>epdc!redis@master1405</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
<nacos.ip>47.104.85.99</nacos.ip>
<nacos.namespace>6a3577b4-7b79-43f6-aebb-9c3f31263f6a</nacos.namespace>
<nacos.namespace>de000340-5fc4-45aa-bdbc-dd96852012ad</nacos.namespace>
<spring.zipkin.base-url>http://localhost:9411</spring.zipkin.base-url>
<!--亿联小程序配置-->
<!-- <wx.ma.appId>wxdd8530c5f4926766</wx.ma.appId>-->
<!-- <wx.ma.secret>5bf4fb813145431b3493a10aa7e041e9</wx.ma.secret>-->
<!--先锋市北小程序配置-->
<wx.ma.appId>wx5d3e97461d248397</wx.ma.appId>
<wx.ma.secret>bfed51b731e53db9affb9e6131e7ae12</wx.ma.secret>
<!--党群e家小程序配置-->
<wx.ma.appId>wx50ebeb95943868cd</wx.ma.appId>
<wx.ma.secret>c2719c261fe87b3e2d572552d2c8275d</wx.ma.secret>
<!--工作端小程序-->
<work.wx.ma.appId>wx9f20a46906ab2c3e</work.wx.ma.appId>
<work.wx.ma.secret>dc13065f79429979d9f687d249eb5c4e</work.wx.ma.secret>
<work.wx.ma.appId>wx6d45fd2f4dfe7ce4</work.wx.ma.appId>
<work.wx.ma.secret>54a30a48b100bbad20d7823cd9e1fb17</work.wx.ma.secret>
<!--数据分析端小程序-->
<analysis.wx.ma.appId>wxfa4afaa2b5f9c876</analysis.wx.ma.appId>
<analysis.wx.ma.secret>7db9f049c78c9a6cafa673deebe8330d</analysis.wx.ma.secret>

51
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysUserController.java

@ -231,6 +231,7 @@ public class SysUserController {
return new Result<List<DataScopeDeptList>>().ok(data);
}
@GetMapping("getWorkRecordRoleUser/{menuCode}")
public Result<List<Long>> getWorkRecordRoleUser(@PathVariable("menuCode") String menuCode) {
List<Long> data = sysRoleUserService.getWorkRecordRoleUser(menuCode);
@ -333,6 +334,7 @@ public class SysUserController {
DeptOption deptOption = sysDeptService.getUserDeptOption();
return new Result().ok(deptOption);
}
/**
* 获取用户部门多层结构用户前端显示请求需携带token
* <p>调接口从redis获取{@link SysUserController#packageUserDeptOption(Long)}接口生成的数据</p>
@ -347,11 +349,6 @@ public class SysUserController {
DeptOption deptOption = sysDeptService.getDeptAuthByUser();
return new Result().ok(deptOption);
}
@GetMapping("deptOptions/getGridAuthByUser")
public Result<List<DeptGridDTO>> getGridAuthByUser() {
List<DeptGridDTO> deptOption = sysDeptService.getGridAuthByUser();
return new Result().ok(deptOption);
}
/**
* 获取用户部门多层结构完整层级结构包括顶级部门用户前端显示请求需携带token
@ -368,6 +365,21 @@ public class SysUserController {
return new Result().ok(option);
}
/**
* 获取用户业务部门多层结构用户前端显示请求需携带token
* <p>调接口从redis获取{@link SysUserController#packageUserDeptOption(Long)}接口生成的数据</p>
* <p>此接口展示三级机构层级街道-社区-网格不包括区级不包括科室科室和没有下属网格的社区</p>
*
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.DeptOption>
* @author work@yujt.net.cn
* @date 2020/5/14 10:05
*/
@GetMapping("deptOptions/getBusinessDeptByUser")
public Result<DeptOption> getBusinessDeptByUser() {
DeptOption deptOption = sysDeptService.getBusinessDeptByUser();
return new Result().ok(deptOption);
}
/**
* pc端页面获取用户街道-社区层级关系前端显示请求需携带token
* <p>只组装 街道-社区 两级
@ -401,6 +413,12 @@ public class SysUserController {
return new Result().ok(option);
}
@GetMapping("deptOptions/getGridAuthByUser")
public Result<List<DeptGridDTO>> getGridAuthByUser() {
List<DeptGridDTO> deptOption = sysDeptService.getGridAuthByUser();
return new Result().ok(deptOption);
}
/**
* 退出登录
*
@ -440,24 +458,23 @@ public class SysUserController {
}
/**
* @describe: 判断是否更新头像
* @author wangtong
* @date 2020/3/30 13:49
* @param []
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @describe: 判断是否更新头像
* @author wangtong
* @date 2020/3/30 13:49
*/
@GetMapping("checkUpdateAvatar")
public Result checkUpdateAvatar() {
return sysUserService.checkUpdateAvatar();
}
/**
* @describe: 更新头像
* @author wangtong
* @date 2020/3/30 16:11
* @param [avatar]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
* @param avatar
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @describe: 更新头像
* @author wangtong
* @date 2020/3/30 16:11
*/
@GetMapping("updateAvatar")
public Result updateAvatar(String avatar) {
return sysUserService.updateAvatar(avatar);

15
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysDeptService.java

@ -242,10 +242,8 @@ public interface SysDeptService extends BaseService<SysDeptEntity> {
Result<List<Long>> pageDeptIdByTypeKey(String typeKey, Integer pageSize, Integer pageIndex);
/**
* 根据部门id获取部门层级关系获取部门领导姓名
* pc端页面获取用户街道-社区层级关系前端显示请求需携带token
*
* @param deptId 部门id
* @param leaderFlag 是否需要查询网格长姓名 0 1
* @return com.elink.esua.epdc.dto.DeptLevelAndLeaderDTO
* @author work@yujt.net.cn
* @date 2019/12/18 11:05
@ -266,9 +264,18 @@ public interface SysDeptService extends BaseService<SysDeptEntity> {
/**
* @Description: 获取全部的部门基本信息
* @Param: [userSysDeptInfoFormDTO]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO>>
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO>>
* @Author: zy
* @Date: 2020-04-14
*/
List<UserSysDeptInfoResultDTO> listAllDeptInfo(UserSysDeptInfoFormDTO formDTO);
/**
* 展示三级机构层级街道-社区-网格不包括区级不包括科室科室和没有下属网格的社区
*
* @return com.elink.esua.epdc.dto.DeptOption
* @author work@yujt.net.cn
* @date 2020/5/14 10:11
*/
DeptOption getBusinessDeptByUser();
}

64
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java

@ -350,10 +350,12 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
public DeptOption getUserDeptOption() {
return getUserDeptOption(SecurityUser.getUserId());
}
@Override
public DeptOption getDeptAuthByUser() {
return getDeptAuthByUser(SecurityUser.getUserId());
}
@Override
public List<DeptGridDTO> getGridAuthByUser() {
// 用户拥有的所有部门权限
@ -385,6 +387,7 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
}
return (DeptOption) obj;
}
/**
* 根据userId从redis取出用户部门层级关系街道-社区-网格
*
@ -415,6 +418,51 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
return (DeptOption) obj;
}
@Override
public DeptOption getBusinessDeptByUser() {
DeptOption result = getUserDeptOption(SecurityUser.getUserId());
List<JSONObject> options = result.getOptions();
if (options.isEmpty()) {
return result;
}
// 代表存在子级机构的json key
String childJsonOptionKey = "children";
// 一个街道机构
JSONObject streetOption;
// 一个街道下所有社区机构
JSONArray communityOptionArray;
// 一个社区机构
JSONObject communityOption;
// 循环所有街道
for (int i = options.size() - NumConstant.ONE; i >= NumConstant.ZERO; i--) {
// 取出一个街道
streetOption = options.get(i);
// 街道没有children,代表没有下级社区(没有children的,其实是区直)
if (null == streetOption.get(childJsonOptionKey)) {
// 移除区直机构
options.remove(i);
continue;
}
// 获取该街道的所有社区
communityOptionArray = streetOption.getJSONArray(childJsonOptionKey);
if (communityOptionArray.isEmpty()) {
// 移除区直机构
options.remove(i);
continue;
}
// 社区不为空,循环所有社区
for (int j = communityOptionArray.size() - 1; j >= 0; j--) {
// 取出一个社区
communityOption = communityOptionArray.getJSONObject(j);
if (null == communityOption.get(childJsonOptionKey) || communityOption.getJSONArray(childJsonOptionKey).isEmpty()) {
// 若街道有下级机构(社区),移除社区
communityOptionArray.remove(j);
}
}
}
return result;
}
@Override
public DeptOption getMiddleByLoginUser() {
DeptOption result = getUserDeptOption(SecurityUser.getUserId());
@ -614,10 +662,11 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
}
}
/**
* 组装部门层级结构
*
* @param userId 用户id
* @param userId 用户id
* @return void
* @author work@yujt.net.cn
* @date 2020/1/28 10:49
@ -717,6 +766,7 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
result.put("pids", parentDeptIdList);
return result;
}
/**
* 组装下级结构节点
*
@ -766,9 +816,9 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
nodeParent.put("children", childrenNodeList);
}
}
if(allParentNode.size() == 0){
if (allParentNode.size() == 0) {
for (int index = 0; index < childDepts.size(); index++) {
JSONObject node = new JSONObject();
JSONObject node = new JSONObject();
node.put("label", childDepts.get(index).getName());
node.put("value", String.valueOf(childDepts.get(index).getId()));
allParentNode.add(node);
@ -790,6 +840,7 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
result.put("scope", dataScopeDeptList);
return result;
}
@Override
public void packgeAllDeptOption() {
List<DeptTreeDTO> deptList = baseDao.selectListDeptTree();
@ -1046,10 +1097,10 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
@Override
public List<UserSysDeptInfoResultDTO> listAllDeptInfo(UserSysDeptInfoFormDTO formDTO) {
Map<String, Object> map = new HashMap<>();
if (formDTO.getTypeKeyList() != null && formDTO.getTypeKeyList().size() >0) {
if (formDTO.getTypeKeyList() != null && formDTO.getTypeKeyList().size() > 0) {
map.put("typeKey", formDTO.getTypeKeyList().get(0));
}
if (formDTO.getDeptIdList() != null && formDTO.getDeptIdList().size() >0) {
if (formDTO.getDeptIdList() != null && formDTO.getDeptIdList().size() > 0) {
map.put("deptId", formDTO.getDeptIdList().get(0));
}
if (formDTO.getDeptName() != null && formDTO.getDeptName() != "") {
@ -1060,11 +1111,10 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
}
/**
*
* 组织机构名称修改发送MQ消息
*
* @params [dto]
* @return void
* @params [dto]
* @author liuchuang
* @since 2020/3/6 21:34
*/

51
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java

@ -133,21 +133,40 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
//保存角色数据权限关系
sysRoleDataScopeService.saveOrUpdate(entity.getId(), dto.getDeptIdList());
//保存角色与app菜单关系
handleEpdcUserRole(dto, entity);
}
/**
* 党群相关权限集中处理 包括工作端数据端吹哨权限
*
* @param dto 管理员设置的用户权限
* @param entity dto转化而来的实体对象
* @return void
* @author work@yujt.net.cn
* @date 2020/5/13 19:42
*/
private void handleEpdcUserRole(SysRoleDTO dto, SysRoleEntity entity) {
//保存角色与工作端菜单关系
appRoleMenuService.saveOrUpdate(entity.getId(), dto.getAppMenuIdList());
// //更新角色与数据端菜单关系
//更新角色与数据端菜单关系
sysAnalysisRoleMenuService.saveOrUpdate(entity.getId(), dto.getAnalysisMenuIdList());
//保存角色与项目处理类型关系
HandleRoleCategoryFormDTO categoryFormDTO = new HandleRoleCategoryFormDTO();
categoryFormDTO.setRoleId(entity.getId());
categoryFormDTO.setCategoryIdList(dto.getCategoryIdList());
eventFeignClient.saveOrUpdateHandleCategory(categoryFormDTO);
//保存角色对应的可吹哨部门权限
this.saveOrUpdateWhistleDeptId(entity.getId(), dto.getWhistleDeptIdList());
List<String> categoryIdList = dto.getCategoryIdList();
if (CollUtil.isNotEmpty(categoryIdList)) {
HandleRoleCategoryFormDTO categoryFormDTO = new HandleRoleCategoryFormDTO();
categoryFormDTO.setRoleId(entity.getId());
categoryFormDTO.setCategoryIdList(categoryIdList);
eventFeignClient.saveOrUpdateHandleCategory(categoryFormDTO);
}
List<Long> whistleDeptIdList = dto.getWhistleDeptIdList();
if (CollUtil.isNotEmpty(whistleDeptIdList)) {
//保存角色对应的可吹哨部门权限
this.saveOrUpdateWhistleDeptId(entity.getId(), whistleDeptIdList);
}
}
/**
@ -200,19 +219,7 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
//更新角色数据权限关系
sysRoleDataScopeService.saveOrUpdate(entity.getId(), dto.getDeptIdList());
//更新角色与app菜单关系
appRoleMenuService.saveOrUpdate(entity.getId(), dto.getAppMenuIdList());
//更新角色与数据端菜单关系
sysAnalysisRoleMenuService.saveOrUpdate(entity.getId(), dto.getAnalysisMenuIdList());
//保存角色与项目处理类型关系
HandleRoleCategoryFormDTO categoryFormDTO = new HandleRoleCategoryFormDTO();
categoryFormDTO.setRoleId(entity.getId());
categoryFormDTO.setCategoryIdList(dto.getCategoryIdList());
eventFeignClient.saveOrUpdateHandleCategory(categoryFormDTO);
//保存角色对应的可吹哨部门权限
this.saveOrUpdateWhistleDeptId(entity.getId(), dto.getWhistleDeptIdList());
handleEpdcUserRole(dto, entity);
}

Loading…
Cancel
Save