From 7d06ed68a04aa8fd5e02aab2269440ecfdf5fba7 Mon Sep 17 00:00:00 2001 From: yujt Date: Tue, 12 May 2020 14:46:30 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9B=86=E6=88=90=E5=90=B9=E5=93=A8=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/controller/SysRoleController.java | 9 ++ .../esua/epdc/feign/EventFeignClient.java | 63 ++++++++++++++ .../fallback/EventFeignClientFallback.java | 41 +++++++++ .../esua/epdc/service/SysRoleService.java | 4 + .../epdc/service/impl/SysRoleServiceImpl.java | 87 +++++++++++++++++++ 5 files changed, 204 insertions(+) create mode 100644 epdc-cloud-admin/src/main/java/com/elink/esua/epdc/feign/EventFeignClient.java create mode 100644 epdc-cloud-admin/src/main/java/com/elink/esua/epdc/feign/fallback/EventFeignClientFallback.java diff --git a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysRoleController.java b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysRoleController.java index c284327..85eb588 100644 --- a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysRoleController.java +++ b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysRoleController.java @@ -94,6 +94,15 @@ public class SysRoleController { //查询角色对应数据端菜单权限 List analysisMenuIdList = sysAnalysisRoleMenuService.getAnalysisMenuIdList(id); data.setAnalysisMenuIdList(analysisMenuIdList); + + //查询角色对应的项目处理类型权限 + List categoryIdList = sysRoleService.getCategoryIdList(id); + data.setCategoryIdList(categoryIdList); + + //查询角色对应的吹哨部门 + List whistleDeptIdList=sysRoleService.getWhistleDeptIdList(id); + data.setWhistleDeptIdList(whistleDeptIdList); + return new Result().ok(data); } diff --git a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/feign/EventFeignClient.java b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/feign/EventFeignClient.java new file mode 100644 index 0000000..a769267 --- /dev/null +++ b/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> + * @Author yinzuomei + * @Description 查询角色对应的项目处理类型权限 + * @Date 2019/12/24 17:17 + **/ + @GetMapping(value = "events/handlerolecategory/queryCategoryIdList/{roleId}") + Result> 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> + * @Author yinzuomei + * @Description 查询角色对应可吹哨部门权限 + * @Date 2019/12/26 14:09 + **/ + @GetMapping(value = "events/handleroledept/queryWhistleDeptIdList/{roleId}") + Result> queryWhistleDeptIdList(@PathVariable("roleId") Long roleId); +} diff --git a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/feign/fallback/EventFeignClientFallback.java b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/feign/fallback/EventFeignClientFallback.java new file mode 100644 index 0000000..ecbaa9b --- /dev/null +++ b/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> 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> queryWhistleDeptIdList(Long roleId) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "queryWhistleDeptIdList", roleId); + } + +} diff --git a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysRoleService.java b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysRoleService.java index 7300f79..7e06254 100644 --- a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysRoleService.java +++ b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysRoleService.java @@ -35,4 +35,8 @@ public interface SysRoleService extends BaseService { void update(SysRoleDTO dto); void delete(Long[] ids); + + List getCategoryIdList(Long id); + + List getWhistleDeptIdList(Long id); } diff --git a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java index c08f058..faa1bce 100644 --- a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java +++ b/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 page(Map params) { @@ -126,6 +139,15 @@ public class SysRoleServiceImpl extends BaseServiceImpl + * @Author yinzuomei + * @Description 查询角色对应的项目处理类型权限 + * @Date 2019/12/24 16:03 + **/ + @Override + public List getCategoryIdList(Long id) { + Result> result = eventFeignClient.queryCategoryIdList(id); + return result.getData(); + } + + /** + * @param id + * @return java.util.List + * @Author yinzuomei + * @Description 查询角色对应可吹哨部门权限 + * @Date 2020/2/20 17:17 + **/ + @Override + public List getWhistleDeptIdList(Long id) { + Result> 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 whistleDeptIdList) { + HandleRoleDeptFormDTO formDTO = new HandleRoleDeptFormDTO(); + formDTO.setRoleId(roleId.toString()); + if (null != whistleDeptIdList && whistleDeptIdList.size() >= 0) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in(FieldConstant.ID, whistleDeptIdList); + List deptEntityList = sysDeptDao.selectList(wrapper); + List 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); + } + }