Browse Source

集成吹哨流程功能

hotfix/yujt_opt
yujt 5 years ago
parent
commit
7d06ed68a0
  1. 9
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysRoleController.java
  2. 63
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/feign/EventFeignClient.java
  3. 41
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/feign/fallback/EventFeignClientFallback.java
  4. 4
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysRoleService.java
  5. 87
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java

9
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysRoleController.java

@ -94,6 +94,15 @@ public class SysRoleController {
//查询角色对应数据端菜单权限
List<Long> analysisMenuIdList = sysAnalysisRoleMenuService.getAnalysisMenuIdList(id);
data.setAnalysisMenuIdList(analysisMenuIdList);
//查询角色对应的项目处理类型权限
List<String> categoryIdList = sysRoleService.getCategoryIdList(id);
data.setCategoryIdList(categoryIdList);
//查询角色对应的吹哨部门
List<Long> whistleDeptIdList=sysRoleService.getWhistleDeptIdList(id);
data.setWhistleDeptIdList(whistleDeptIdList);
return new Result<SysRoleDTO>().ok(data);
}

63
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/feign/EventFeignClient.java

@ -0,0 +1,63 @@
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.handleroledept.form.HandleRoleDeptFormDTO;
import com.elink.esua.epdc.dto.rulecategory.form.HandleRoleCategoryFormDTO;
import com.elink.esua.epdc.feign.fallback.EventFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
/**
* @Author: yinzuomei
* @Date: 2019/12/24 09:28
* @Description: 事件接口
*/
@FeignClient(name = ServiceConstant.EPDC_EVENTS_SERVER, fallback = EventFeignClientFallback.class)
public interface EventFeignClient {
/**
* @param orgTypeFormDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei
* @Description 保存项目处理类型权限
* @Date 2019/12/24 17:17
**/
@PostMapping(value = "events/handlerolecategory/saveOrUpdate", consumes = MediaType.APPLICATION_JSON_VALUE)
Result saveOrUpdateHandleCategory(HandleRoleCategoryFormDTO orgTypeFormDTO);
/**
* @param roleId
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < java.lang.String>>
* @Author yinzuomei
* @Description 查询角色对应的项目处理类型权限
* @Date 2019/12/24 17:17
**/
@GetMapping(value = "events/handlerolecategory/queryCategoryIdList/{roleId}")
Result<List<String>> queryCategoryIdList(@PathVariable("roleId") Long roleId);
/**
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei
* @Description 保存角色对应可吹哨部门权限
* @Date 2019/12/26 14:09
**/
@PostMapping(value = "events/handleroledept/saveOrUpdate", consumes = MediaType.APPLICATION_JSON_VALUE)
Result saveOrUpdateHandleRoleDept(HandleRoleDeptFormDTO formDTO);
/**
* @param roleId
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < java.lang.Long>>
* @Author yinzuomei
* @Description 查询角色对应可吹哨部门权限
* @Date 2019/12/26 14:09
**/
@GetMapping(value = "events/handleroledept/queryWhistleDeptIdList/{roleId}")
Result<List<Long>> queryWhistleDeptIdList(@PathVariable("roleId") Long roleId);
}

41
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/feign/fallback/EventFeignClientFallback.java

@ -0,0 +1,41 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.handleroledept.form.HandleRoleDeptFormDTO;
import com.elink.esua.epdc.dto.rulecategory.form.HandleRoleCategoryFormDTO;
import com.elink.esua.epdc.feign.EventFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Description
* @Author yinzuomei
* @Date 2019/12/24 9:45
*/
@Component
public class EventFeignClientFallback implements EventFeignClient {
@Override
public Result saveOrUpdateHandleCategory(HandleRoleCategoryFormDTO orgTypeFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "saveOrUpdate", orgTypeFormDTO);
}
@Override
public Result<List<String>> queryCategoryIdList(Long roleId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "queryCategoryIdList", roleId);
}
@Override
public Result saveOrUpdateHandleRoleDept(HandleRoleDeptFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "saveOrUpdate", formDTO);
}
@Override
public Result<List<Long>> queryWhistleDeptIdList(Long roleId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "queryWhistleDeptIdList", roleId);
}
}

4
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysRoleService.java

@ -35,4 +35,8 @@ public interface SysRoleService extends BaseService<SysRoleEntity> {
void update(SysRoleDTO dto);
void delete(Long[] ids);
List<String> getCategoryIdList(Long id);
List<Long> getWhistleDeptIdList(Long id);
}

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

@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.enums.DelFlagEnum;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant;
import com.elink.esua.epdc.commons.tools.enums.SuperAdminEnum;
@ -22,17 +23,25 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.RoleTypeKeyConstant;
import com.elink.esua.epdc.dao.SysDeptDao;
import com.elink.esua.epdc.dao.SysRoleDao;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.dto.SysRoleDTO;
import com.elink.esua.epdc.dto.handleroledept.HandleRoleDeptDTO;
import com.elink.esua.epdc.dto.handleroledept.form.HandleRoleDeptFormDTO;
import com.elink.esua.epdc.dto.rulecategory.form.HandleRoleCategoryFormDTO;
import com.elink.esua.epdc.entity.SysDeptEntity;
import com.elink.esua.epdc.entity.SysRoleEntity;
import com.elink.esua.epdc.feign.EventFeignClient;
import com.elink.esua.epdc.service.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -56,6 +65,10 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
private AppRoleMenuService appRoleMenuService;
@Autowired
private SysAnalysisRoleMenuService sysAnalysisRoleMenuService;
@Autowired
private EventFeignClient eventFeignClient;
@Autowired
private SysDeptDao sysDeptDao;
@Override
public PageData<SysRoleDTO> page(Map<String, Object> params) {
@ -126,6 +139,15 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
// //更新角色与数据端菜单关系
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());
}
/**
@ -183,6 +205,15 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
//更新角色与数据端菜单关系
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());
}
@Override
@ -197,4 +228,60 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
//[角色菜单关系、角色数据权限关系、App菜单授权],需要保留,不然逻辑删除就变成物理删除了
}
/**
* @param id
* @return java.util.List<java.lang.String>
* @Author yinzuomei
* @Description 查询角色对应的项目处理类型权限
* @Date 2019/12/24 16:03
**/
@Override
public List<String> getCategoryIdList(Long id) {
Result<List<String>> result = eventFeignClient.queryCategoryIdList(id);
return result.getData();
}
/**
* @param id
* @return java.util.List<java.lang.Long>
* @Author yinzuomei
* @Description 查询角色对应可吹哨部门权限
* @Date 2020/2/20 17:17
**/
@Override
public List<Long> getWhistleDeptIdList(Long id) {
Result<List<Long>> result = eventFeignClient.queryWhistleDeptIdList(id);
return result.getData();
}
/**
* @param roleId
* @param whistleDeptIdList
* @return void
* @Author yinzuomei
* @Description
* @Date 2019/12/26 13:22
**/
private void saveOrUpdateWhistleDeptId(Long roleId, List<Long> whistleDeptIdList) {
HandleRoleDeptFormDTO formDTO = new HandleRoleDeptFormDTO();
formDTO.setRoleId(roleId.toString());
if (null != whistleDeptIdList && whistleDeptIdList.size() >= 0) {
QueryWrapper<SysDeptEntity> wrapper = new QueryWrapper<>();
wrapper.in(FieldConstant.ID, whistleDeptIdList);
List<SysDeptEntity> deptEntityList = sysDeptDao.selectList(wrapper);
List<HandleRoleDeptDTO> formDTOList = new ArrayList<>();
for (SysDeptEntity dept : deptEntityList) {
HandleRoleDeptDTO handleRoleDeptDTO = new HandleRoleDeptDTO();
handleRoleDeptDTO.setDeptId(dept.getId().toString());
handleRoleDeptDTO.setDeptName(dept.getName());
handleRoleDeptDTO.setDeptType(dept.getTypeKey());
handleRoleDeptDTO.setRoleId(roleId.toString());
formDTOList.add(handleRoleDeptDTO);
}
formDTO.setHandleRoleDeptDTOList(formDTOList);
}
eventFeignClient.saveOrUpdateHandleRoleDept(formDTO);
}
}

Loading…
Cancel
Save