diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CustomerAgencyUserRoleFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CustomerAgencyUserRoleFormDTO.java index 8d1bd02d21..392e995b86 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CustomerAgencyUserRoleFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CustomerAgencyUserRoleFormDTO.java @@ -25,6 +25,6 @@ public class CustomerAgencyUserRoleFormDTO implements Serializable { /** * 工作人员IDs */ - @NotNull(message = "工作人员IDS不能为空",groups = CustomerAgencyUserRoleForm.class) - private List staffIds; + @NotBlank(message = "工作人员ID不能为空",groups = CustomerAgencyUserRoleForm.class) + private String staffId; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index 9686f28e58..1f619168ae 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -574,5 +574,5 @@ public interface EpmetUserOpenFeignClient { * @date 2021/6/15 3:03 下午 */ @PostMapping("/epmetuser/staffrole/getroles") - Result> getUserRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO); + Result getUserRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index a10545a10d..c4cb042786 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -395,7 +395,7 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien } @Override - public Result> getUserRoles(CustomerAgencyUserRoleFormDTO formDTO) { + public Result getUserRoles(CustomerAgencyUserRoleFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserRoles", formDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java index 08a5041dc5..411b6fee69 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java @@ -210,8 +210,8 @@ public class StaffRoleController { * @date 2021/6/15 3:03 下午 */ @PostMapping("getroles") - public Result> getUserRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO){ + public Result getUserRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, CustomerAgencyUserRoleFormDTO.CustomerAgencyUserRoleForm.class); - return new Result>().ok(staffRoleService.getUserRoles(formDTO)); + return new Result().ok(staffRoleService.getUserRoles(formDTO)); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java index 6436ef8ff6..25c8c2687f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java @@ -143,5 +143,5 @@ public interface StaffRoleDao extends BaseDao { * @author zxc * @date 2021/6/15 3:51 下午 */ - List getRolesByDB(@Param("userIds")List userIds); + List getRolesByDB(@Param("userId")String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java index ceb070f3ad..0fd2fcb101 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java @@ -173,5 +173,5 @@ public interface StaffRoleService extends BaseService { * @author zxc * @date 2021/6/15 3:03 下午 */ - List getUserRoles(CustomerAgencyUserRoleFormDTO formDTO); + CustomerAgencyUserRoleDTO getUserRoles(CustomerAgencyUserRoleFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java index 3ee5e72bb3..578c577f17 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java @@ -211,41 +211,29 @@ public class StaffRoleServiceImpl extends BaseServiceImpl getUserRoles(CustomerAgencyUserRoleFormDTO formDTO) { - List result = new ArrayList<>(); - List disUserIds = new ArrayList<>(); - if (!CollectionUtils.isEmpty(formDTO.getStaffIds())){ - List staffIds = formDTO.getStaffIds(); - String customerId = formDTO.getCustomerId(); - staffIds.forEach(userId -> { - CustomerAgencyUserRoleDTO role = staffRoleRedis.getRole(customerId, userId); - if (null != role){ - result.add(role); - }else { - disUserIds.add(userId); - } - }); - if (!CollectionUtils.isEmpty(disUserIds)){ - List rolesByDB = baseDao.getRolesByDB(disUserIds); - if (!CollectionUtils.isEmpty(rolesByDB)){ - Map> groupByUserId = rolesByDB.stream().collect(Collectors.groupingBy(RoleKeyValueResultDTO::getStaffId)); - groupByUserId.forEach((userId,list) -> { - CustomerAgencyUserRoleDTO dto = new CustomerAgencyUserRoleDTO(); - dto.setStaffId(list.get(NumConstant.ZERO).getStaffId()); - dto.setCustomerId(customerId); - dto.setAgencyId(list.get(NumConstant.ZERO).getOrgId()); - Map map = new HashMap(16); - list.forEach(l -> { - map.put(l.getRoleKey(),l.getRoleName()); - }); - dto.setRoles(map.toString()); - staffRoleRedis.setRole(customerId,userId,dto); - result.add(dto); - }); - } + public CustomerAgencyUserRoleDTO getUserRoles(CustomerAgencyUserRoleFormDTO formDTO) { + String staffId = formDTO.getStaffId(); + String customerId = formDTO.getCustomerId(); + CustomerAgencyUserRoleDTO role = staffRoleRedis.getRole(customerId, staffId); + if (null != role){ + return role; + }else { + List rolesByDB = baseDao.getRolesByDB(staffId); + if (!CollectionUtils.isEmpty(rolesByDB)) { + CustomerAgencyUserRoleDTO dto = new CustomerAgencyUserRoleDTO(); + dto.setStaffId(rolesByDB.get(NumConstant.ZERO).getStaffId()); + dto.setCustomerId(customerId); + dto.setAgencyId(rolesByDB.get(NumConstant.ZERO).getOrgId()); + Map map = new HashMap(16); + rolesByDB.forEach(l -> { + map.put(l.getRoleKey(), l.getRoleName()); + }); + dto.setRoles(map.toString()); + staffRoleRedis.setRole(customerId, staffId, dto); + return dto; } } - return result; + return null; } } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml index 8be9018471..437abfa4e3 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml @@ -216,12 +216,8 @@ gsr.ROLE_NAME, sr.STAFF_ID FROM staff_role sr - LEFT JOIN gov_staff_role gsr ON gsr.ID = sr.ROLE_ID AND gsr.DEL_FLAG = 0 + LEFT JOIN gov_staff_role gsr ON gsr.ID = sr.ROLE_ID AND gsr.DEL_FLAG = 0 WHERE sr.DEL_FLAG = 0 - AND ( - - sr.STAFF_ID = #{userId} - - ) + AND sr.STAFF_ID = #{userId}