diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/GetStaffExistRoleFormDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/GetStaffExistRoleFormDTO.java new file mode 100644 index 0000000000..19f9bb3d12 --- /dev/null +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/GetStaffExistRoleFormDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/7/13 09:58 + * @DESC + */ +@Data +public class GetStaffExistRoleFormDTO implements Serializable { + + private static final long serialVersionUID = 8877632229886141531L; + + private String customerId; + private String staffId; +} diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/UserRoleResultDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/UserRoleResultDTO.java new file mode 100644 index 0000000000..0565b0e81c --- /dev/null +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/UserRoleResultDTO.java @@ -0,0 +1,40 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/7/13 09:56 + * @DESC + */ +@Data +public class UserRoleResultDTO implements Serializable { + + private static final long serialVersionUID = -7761042062413503637L; + + private String roleId; + /** + * 角色key + */ + private String roleKey; + /** + * 角色名称 + */ + private String roleName; + + private Integer isDefault; + + /** + * 是否选中(选中的是true) + */ + private Boolean selected; + + public UserRoleResultDTO() { + this.roleId = ""; + this.roleKey = ""; + this.roleName = ""; + this.selected = false; + } +} diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java index f516612353..d7f415d85f 100644 --- a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java @@ -2,14 +2,17 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.GetStaffExistRoleFormDTO; import com.epmet.dto.form.InitDefaultOperationsFormDTO; import com.epmet.dto.form.ListOpePermsFormDTO; import com.epmet.dto.form.RoleUserFormDTO; +import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.feign.fallback.GovAccessFeignClientFallBackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import java.util.List; import java.util.Set; //@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallbackFactory = GovAccessFeignClientFallBackFactory.class, url = "http://localhost:8099") @@ -40,4 +43,13 @@ public interface GovAccessFeignClient { @PostMapping("/gov/access/govroleuser/roleUser") Result roleUser(@RequestBody RoleUserFormDTO formDTO); + /** + * Desc: 获取工作人员已经存在的新角色 + * @param formDTO + * @author zxc + * @date 2022/7/13 09:59 + */ + @PostMapping("/gov/access/govroleuser/getStaffExistRole") + Result> getStaffExistRole(@RequestBody GetStaffExistRoleFormDTO formDTO); + } diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/fallback/GovAccessFeignClientFallBack.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/fallback/GovAccessFeignClientFallBack.java index d7be3adf99..1c87c2030f 100644 --- a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/fallback/GovAccessFeignClientFallBack.java +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/fallback/GovAccessFeignClientFallBack.java @@ -3,11 +3,14 @@ package com.epmet.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.GetStaffExistRoleFormDTO; import com.epmet.dto.form.InitDefaultOperationsFormDTO; import com.epmet.dto.form.ListOpePermsFormDTO; import com.epmet.dto.form.RoleUserFormDTO; +import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.feign.GovAccessFeignClient; +import java.util.List; import java.util.Set; /** @@ -32,4 +35,9 @@ public class GovAccessFeignClientFallBack implements GovAccessFeignClient { public Result roleUser(RoleUserFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "roleUser", formDTO); } + + @Override + public Result> getStaffExistRole(GetStaffExistRoleFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "getStaffExistRole", formDTO); + } } diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleUserController.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleUserController.java index 30eb4405b1..8d6b30ec04 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleUserController.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleUserController.java @@ -25,7 +25,9 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.GovRoleUserDTO; +import com.epmet.dto.form.GetStaffExistRoleFormDTO; import com.epmet.dto.form.RoleUserFormDTO; +import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.service.GovRoleUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -142,4 +144,15 @@ public class GovRoleUserController { return new Result(); } + /** + * Desc: 获取工作人员已经存在的新角色 + * @param formDTO + * @author zxc + * @date 2022/7/13 09:59 + */ + @PostMapping("getStaffExistRole") + public Result> getStaffExistRole(@RequestBody GetStaffExistRoleFormDTO formDTO){ + return new Result>().ok(govRoleUserService.getStaffExistRole(formDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/GovRoleDao.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/GovRoleDao.java index 768fc42792..b12ac15692 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/GovRoleDao.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/GovRoleDao.java @@ -9,8 +9,12 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.entity.GovRoleEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 角色管理 @@ -21,4 +25,12 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface GovRoleDao extends BaseDao { + /** + * Desc: 获取客户下所有角色 + * @param customerId + * @author zxc + * @date 2022/7/13 10:09 + */ + List getCustomerRoles(@Param("customerId")String customerId); + } diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/GovRoleUserService.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/GovRoleUserService.java index 68b5b9d81b..b0b21e4573 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/GovRoleUserService.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/GovRoleUserService.java @@ -20,7 +20,9 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.GovRoleUserDTO; +import com.epmet.dto.form.GetStaffExistRoleFormDTO; import com.epmet.dto.form.RoleUserFormDTO; +import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.entity.GovRoleUserEntity; import java.util.List; @@ -139,4 +141,12 @@ public interface GovRoleUserService extends BaseService { * @date 2022/7/12 16:14 */ void roleUser(RoleUserFormDTO formDTO); + + /** + * Desc: 获取工作人员已经存在的新角色 + * @param formDTO + * @author zxc + * @date 2022/7/13 09:59 + */ + List getStaffExistRole(GetStaffExistRoleFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleUserServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleUserServiceImpl.java index 49ff30eb14..1f969e438f 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleUserServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleUserServiceImpl.java @@ -24,9 +24,12 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.GovRoleDao; import com.epmet.dao.GovRoleUserDao; import com.epmet.dto.GovRoleUserDTO; +import com.epmet.dto.form.GetStaffExistRoleFormDTO; import com.epmet.dto.form.RoleUserFormDTO; +import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.entity.GovRoleUserEntity; import com.epmet.redis.GovRoleUserRedis; import com.epmet.service.GovRoleUserService; @@ -54,6 +57,8 @@ public class GovRoleUserServiceImpl extends BaseServiceImpl page(Map params) { @@ -179,4 +184,31 @@ public class GovRoleUserServiceImpl extends BaseServiceImpl getStaffExistRole(GetStaffExistRoleFormDTO formDTO) { + List result = new ArrayList<>(); + result = govRoleDao.getCustomerRoles(formDTO.getCustomerId()); + if (CollectionUtils.isEmpty(result)){ + return result; + } + List roleIdList = govRoleUserDao.getRoleIdList(formDTO.getStaffId()); + if (roleIdList.isEmpty()){ + return result; + } + for (String id : roleIdList) { + for (UserRoleResultDTO r : result) { + if (id.equals(r.getRoleId())){ + r.setSelected(true); + } + } + } + return result; + } + } \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovRoleDao.xml b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovRoleDao.xml index 2de28e07bf..59b207e920 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovRoleDao.xml +++ b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovRoleDao.xml @@ -3,4 +3,14 @@ + + diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffInitResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffInitResultDTO.java index 393dd91771..c3d0f85a22 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffInitResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffInitResultDTO.java @@ -37,4 +37,5 @@ public class StaffInitResultDTO implements Serializable { * 职责列表 */ private List roleList; + private List newRoleList; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffRoleResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffRoleResultDTO.java index 7962be5504..d51032930a 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffRoleResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffRoleResultDTO.java @@ -36,4 +36,6 @@ public class StaffRoleResultDTO implements Serializable { private Boolean selected; private String description; + + private Integer isDefault; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index 024d3aed37..e5c5e65c6a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -25,6 +25,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.*; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; @@ -49,6 +50,7 @@ import com.epmet.entity.GovStaffRoleEntity; import com.epmet.entity.StaffRoleEntity; import com.epmet.entity.UserEntity; import com.epmet.feign.AuthFeignClient; +import com.epmet.feign.GovAccessFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.feign.OperCrmOpenFeignClient; import com.epmet.service.CustomerStaffService; @@ -94,6 +96,8 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl page(Map params) { @@ -283,7 +287,16 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl> staffExistRole = govAccessFeignClient.getStaffExistRole(getStaffExistRoleFormDTO); + if (!staffExistRole.success()){ + throw new EpmetException("getStaffExistRole method is failure"); + } + if (!CollectionUtils.isEmpty(staffExistRole.getData())){ + List staffRoleResultDTOS = ConvertUtils.sourceToTarget(staffExistRole.getData(), StaffRoleResultDTO.class); + resultDTO.setNewRoleList(staffRoleResultDTOS); + } return new Result().ok(resultDTO); }