diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 579f8ee9cf..32e4bcafca 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -644,8 +644,18 @@ public class RedisKeys { * @param agencyId * @return */ - public static String getOrgTreeCacheKey(String agencyId) { - return rootPrefix.concat("org:temp:orgtree").concat(agencyId); + public static String getOrgTreeCacheKey(String agencyId,String customerId) { + return rootPrefix.concat("org:temp:orgtree:").concat(customerId).concat(StrConstant.COLON).concat(agencyId); + } + + /** + * 与getOrgTreeCacheKey一致,用于模糊删除 + * @param customerId + * @return + */ + public static String getOrgTreeCachePrexKey(String customerId) { + // return "epmet:org:temp:orgtree".concat(StrConstant.STAR); + return rootPrefix.concat("org:temp:orgtree:").concat(customerId).concat(StrConstant.STAR); } public static String getHouseInfoCacheKey(String houseId,String customerId){ diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java index a324a5970a..2dce88e919 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java @@ -462,4 +462,15 @@ public class RedisUtils { public Long getTTL(String treeCacheKey) { return redisTemplate.getExpire(treeCacheKey); } + + /** + * 根据前缀模糊删除 + * @param prex + */ + public void deleteByPrex(String prex) { + Set keys = redisTemplate.keys(prex); + if (!CollectionUtils.isEmpty(keys)) { + redisTemplate.delete(keys); + } + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 0c2533a7c9..64144cd813 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -566,7 +566,7 @@ public class GovOrgServiceImpl implements GovOrgService { String agencyId = staffInfo.getAgencyId(); String client = formDTO.getClient(); //组织缓存key - String treeCacheKey = RedisKeys.getOrgTreeCacheKey(agencyId).concat(StrConstant.COLON).concat(client); + String treeCacheKey = RedisKeys.getOrgTreeCacheKey(agencyId,tokenDto.getCustomerId()).concat(StrConstant.COLON).concat(client); Long expiryTime = redisUtils.getTTL(treeCacheKey); List orgTreeResultDTOS = (List) redisUtils.get(treeCacheKey); //如果接近过期或已经过期且缓存数据不为空 则异步查询 diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleDTO.java index efe6643df6..f4b7ce74e9 100644 --- a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleDTO.java +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleDTO.java @@ -40,6 +40,11 @@ public class GovRoleDTO implements Serializable { */ private String id; + /** + * 客户id + */ + private String customerId; + /** * 角色名称 */ diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleMenuDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleMenuDTO.java index eacde30cf3..e13df4f520 100644 --- a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleMenuDTO.java +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleMenuDTO.java @@ -39,6 +39,11 @@ public class GovRoleMenuDTO implements Serializable { */ private String id; + /** + * 客户id + */ + private String customerId; + /** * 角色ID */ diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleUserDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleUserDTO.java index d3881edeb2..4a6cd5ea64 100644 --- a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleUserDTO.java +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleUserDTO.java @@ -39,6 +39,11 @@ public class GovRoleUserDTO implements Serializable { */ private String id; + /** + * 客户id + */ + private String customerId; + /** * 角色ID */ 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/form/RoleUserFormDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/RoleUserFormDTO.java new file mode 100644 index 0000000000..8a7c8569f9 --- /dev/null +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/RoleUserFormDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dto.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2022/7/12 16:11 + * @DESC + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class RoleUserFormDTO implements Serializable { + + private static final long serialVersionUID = 7503477804419017109L; + + private List roleIds; + + private String userId; + private String customerId; +} diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/NewUserRoleResultDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/NewUserRoleResultDTO.java new file mode 100644 index 0000000000..44b9c64d7d --- /dev/null +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/NewUserRoleResultDTO.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 NewUserRoleResultDTO 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 NewUserRoleResultDTO() { + 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 5e3a2e0fcb..36ccf542bb 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,13 +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.NewUserRoleResultDTO; 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") @@ -29,4 +33,23 @@ public interface GovAccessFeignClient { */ @PostMapping("/gov/access/access/listoperationpermissions") Result> listOperationPermissions(@RequestBody ListOpePermsFormDTO listOpePermsFormDTO); + + /** + * Desc: 保存角色 + * @param formDTO + * @author zxc + * @date 2022/7/12 16:14 + */ + @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 3bf8d2f111..bfb9acbc3b 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,10 +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.NewUserRoleResultDTO; import com.epmet.feign.GovAccessFeignClient; +import java.util.List; import java.util.Set; /** @@ -26,4 +30,14 @@ public class GovAccessFeignClientFallBack implements GovAccessFeignClient { public Result> listOperationPermissions(ListOpePermsFormDTO listOpePermsFormDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "listOperationPermissions", listOpePermsFormDTO); } + + @Override + 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/GovMenuController.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovMenuController.java index 20636cfc3a..ce89f2c7d8 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovMenuController.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovMenuController.java @@ -114,6 +114,12 @@ public class GovMenuController { return new Result>().ok(list); } + @GetMapping("navDigitalCommunity") + public Result> navDigitalCommunity(@LoginUser TokenDto tokenDto, String tableName){ + List list = govMenuService.navDigitalCommunity(tokenDto,tableName); + return new Result>().ok(list); + } + /** * 权限标识 * @param tokenDto token diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleController.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleController.java index d6f866dbe2..c11faba160 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleController.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleController.java @@ -17,7 +17,9 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -51,7 +53,8 @@ public class GovRoleController { private GovRoleMenuService govRoleMenuService; @GetMapping("page") - public Result> page(@RequestParam Map params){ + public Result> page(@LoginUser TokenDto tokenDto, @RequestParam Map params){ + params.put("customerId", tokenDto.getCustomerId()); PageData page = govRoleService.page(params); return new Result>().ok(page); } @@ -67,7 +70,7 @@ public class GovRoleController { return new Result().ok(data); } - @PostMapping + @PostMapping("save") public Result save(@RequestBody GovRoleDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); @@ -75,7 +78,7 @@ public class GovRoleController { return new Result(); } - @PutMapping + @PostMapping("edit") public Result update(@RequestBody GovRoleDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); @@ -83,7 +86,7 @@ public class GovRoleController { return new Result(); } - @DeleteMapping + @PostMapping("del") public Result delete(@RequestBody String[] ids){ //效验数据 AssertUtils.isArrayEmpty(ids, "id"); diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleMenuController.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleMenuController.java index 8b8a7d8aed..11c4e6e414 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleMenuController.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleMenuController.java @@ -57,7 +57,7 @@ public class GovRoleMenuController { return new Result().ok(data); } - @PostMapping + @PostMapping("save") public Result save(@RequestBody GovRoleMenuDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); @@ -65,7 +65,7 @@ public class GovRoleMenuController { return new Result(); } - @PutMapping + @PostMapping("edit") public Result update(@RequestBody GovRoleMenuDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); @@ -73,7 +73,7 @@ public class GovRoleMenuController { return new Result(); } - @DeleteMapping + @PostMapping("del") public Result delete(@RequestBody String[] ids){ //效验数据 AssertUtils.isArrayEmpty(ids, "id"); 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 fcd5733a4d..6544a7a37b 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,6 +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.NewUserRoleResultDTO; import com.epmet.service.GovRoleUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -129,4 +132,27 @@ public class GovRoleUserController { return new Result(); } + /** + * Desc: 保存角色 + * @param formDTO + * @author zxc + * @date 2022/7/12 16:14 + */ + @PostMapping("roleUser") + public Result roleUser(@RequestBody RoleUserFormDTO formDTO){ + govRoleUserService.roleUser(formDTO); + 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..526dbf9b37 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.NewUserRoleResultDTO; 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/dao/GovRoleMenuDao.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/GovRoleMenuDao.java index dc0559acb3..d7aeb80836 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/GovRoleMenuDao.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/GovRoleMenuDao.java @@ -11,6 +11,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.GovRoleMenuEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -28,6 +29,14 @@ public interface GovRoleMenuDao extends BaseDao { */ List getMenuIdList(String roleId); + /** + * Desc: 根据角色IDs,获取菜单IDs列表 + * @param roleIds + * @author zxc + * @date 2022/7/12 14:45 + */ + List getMenuIdsList(@Param("ids") List roleIds); + /** * 根据角色id,删除角色菜单关系 * @param roleId 角色id diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovMenuEntity.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovMenuEntity.java index fcb8a5fa38..9c1c3922ed 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovMenuEntity.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovMenuEntity.java @@ -66,4 +66,10 @@ public class GovMenuEntity extends BaseEpmetEntity { */ private Integer showFlag; + /** + * 筛选使用,跟角色菜单匹配上为true + */ + @TableField(exist = false) + private Boolean roleStatus = false; + } diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleEntity.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleEntity.java index 4bc4575836..654bee9ce6 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleEntity.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleEntity.java @@ -41,4 +41,9 @@ public class GovRoleEntity extends BaseEpmetEntity { @TableField(fill = FieldFill.INSERT) private Long deptId; + /** + * 客户id + */ + private String customerId; + } diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleMenuEntity.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleMenuEntity.java index 6ea4d1f2a5..03fd31b1e1 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleMenuEntity.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleMenuEntity.java @@ -33,4 +33,9 @@ public class GovRoleMenuEntity extends BaseEpmetEntity { */ private String menuId; + /** + * 客户id + */ + private String customerId; + } diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleUserEntity.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleUserEntity.java index 599ca7f3e2..16d26bbc84 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleUserEntity.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleUserEntity.java @@ -34,4 +34,9 @@ public class GovRoleUserEntity extends BaseEpmetEntity { */ private String userId; + /** + * 客户id + */ + private String customerId; + } diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/GovMenuService.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/GovMenuService.java index 0e87946dc5..fd09359551 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/GovMenuService.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/GovMenuService.java @@ -129,6 +129,7 @@ public interface GovMenuService extends BaseService { * @return java.util.List */ List getUserMenuNavList(TokenDto tokenDto, String tableName); + List navDigitalCommunity(TokenDto tokenDto, String tableName); /** * 获取用户权限标识 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 ff67c7d239..d4eba65037 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,6 +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.NewUserRoleResultDTO; import com.epmet.entity.GovRoleUserEntity; import java.util.List; @@ -130,4 +133,20 @@ public interface GovRoleUserService extends BaseService { * @param userIds 用户ids */ void deleteByUserIds(String[] userIds); + + /** + * Desc: 保存角色 + * @param formDTO + * @author zxc + * @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/GovMenuServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java index 2dbb4abe05..92c86a2c1c 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java @@ -22,17 +22,23 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.ErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.HttpContextUtils; +import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.TreeUtils; import com.epmet.dao.GovMenuDao; +import com.epmet.dao.GovRoleDao; +import com.epmet.dao.GovRoleMenuDao; +import com.epmet.dao.GovRoleUserDao; import com.epmet.dto.GovMenuDTO; import com.epmet.entity.GovMenuEntity; import com.epmet.enums.MenuTypeEnum; +import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.redis.GovCustomerMenuRedis; import com.epmet.redis.GovMenuRedis; import com.epmet.service.*; @@ -45,6 +51,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.*; +import java.util.stream.Collectors; /** * 菜单管理 @@ -67,6 +74,14 @@ public class GovMenuServiceImpl extends BaseServiceImpl page(Map params) { @@ -218,7 +233,26 @@ public class GovMenuServiceImpl extends BaseServiceImpl navDigitalCommunity(TokenDto tokenDto, String tableName) { + tableName = getTableName(tableName); + List menuList = baseDao.getCustomerMenuList(tokenDto.getCustomerId(), MenuTypeEnum.MENU.value(), HttpContextUtils.getLanguage(),tableName); + Result isRootManager = epmetUserOpenFeignClient.getIsRootManager(tokenDto.getUserId()); + if (!isRootManager.success()){ + throw new EpmetException("getIsRootManager method is failure"); + } + if (isRootManager.getData()){ + List govMenuDTOS = ConvertUtils.sourceToTarget(menuList, GovMenuDTO.class); + return TreeUtils.buildTree(govMenuDTOS); + } + disposeGovMenu(menuList,tokenDto.getUserId()); + Map> groupByStatus = menuList.stream().collect(Collectors.groupingBy(GovMenuEntity::getRoleStatus)); + List dtoList = ConvertUtils.sourceToTarget(CollectionUtils.isEmpty(groupByStatus.get(true)) ? new ArrayList<>() : groupByStatus.get(true), GovMenuDTO.class); + List govMenuDTOS = TreeUtils.buildTree(dtoList); + return govMenuDTOS; } /** @@ -231,7 +265,7 @@ public class GovMenuServiceImpl extends BaseServiceImpl getCustomerMenuList(String customerId, Integer type, String tableName) { + private List getCustomerMenuList(String customerId, Integer type, String tableName,String userId) { List govMenuDTOS = govCustomerMenuRedis.getCustomerMenuList(customerId,type,tableName); if (!CollectionUtils.isEmpty(govMenuDTOS)){ return govMenuDTOS; @@ -243,6 +277,26 @@ public class GovMenuServiceImpl extends BaseServiceImpl menuList,String userId){ + List roleIdList = govRoleUserDao.getRoleIdList(userId); + if (CollectionUtils.isEmpty(roleIdList)){ + menuList = new ArrayList<>(); + return; + } + List menuIdsList = govRoleMenuDao.getMenuIdsList(roleIdList); + if (CollectionUtils.isEmpty(menuIdsList)){ + menuList = new ArrayList<>(); + return; + } + for (String id : menuIdsList) { + for (GovMenuEntity m : menuList) { + if (m.getId().equals(id)){ + m.setRoleStatus(true); + } + } + } + } + @Override public Set getUserPermissions(TokenDto tokenDto) { //用户权限列表 diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleMenuServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleMenuServiceImpl.java index ec31c69146..6a882d2e92 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleMenuServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleMenuServiceImpl.java @@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; 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.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.GovRoleMenuDao; import com.epmet.dto.GovRoleMenuDTO; @@ -51,6 +52,9 @@ public class GovRoleMenuServiceImpl extends BaseServiceImpl page(Map params) { @@ -125,6 +129,7 @@ public class GovRoleMenuServiceImpl extends BaseServiceImpl page(Map params) { @@ -66,6 +71,7 @@ public class GovRoleServiceImpl extends BaseServiceImpl list(Map params) { + params.put("customerId", loginUserUtil.getLoginUserCustomerId()); List entityList = baseDao.selectList(getWrapper(params)); return ConvertUtils.sourceToTarget(entityList, GovRoleDTO.class); @@ -74,8 +80,10 @@ public class GovRoleServiceImpl extends BaseServiceImpl getWrapper(Map params){ String id = (String)params.get(FieldConstant.ID_HUMP); String name = (String)params.get(FieldConstant.NAME_HUMP); + String customerId = (String)params.get(FieldConstant.CUSTOMER_ID_HUMP); QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id).like(StringUtils.isNotBlank(name), FieldConstant.NAME, name); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id).like(StringUtils.isNotBlank(name), FieldConstant.NAME, name) + .eq(StringUtils.isNotBlank(customerId), FieldConstant.CUSTOMER_ID, customerId); return wrapper; } @@ -107,7 +115,6 @@ public class GovRoleServiceImpl extends BaseServiceImpl page(Map params) { @@ -153,4 +161,54 @@ public class GovRoleUserServiceImpl extends BaseServiceImpl entityList = new ArrayList<>(); + formDTO.getRoleIds().forEach(r -> { + GovRoleUserEntity entity = new GovRoleUserEntity(); + entity.setUserId(formDTO.getUserId()); + entity.setCustomerId(formDTO.getCustomerId()); + entity.setRoleId(r); + entityList.add(entity); + }); + insertBatch(entityList); + } + } + + /** + * Desc: 获取工作人员已经存在的新角色 + * @param formDTO + * @author zxc + * @date 2022/7/13 09:59 + */ + @Override + public List 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 (NewUserRoleResultDTO 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/db/migration/V0.0.7__alter_gov_role.sql b/epmet-module/gov-access/gov-access-server/src/main/resources/db/migration/V0.0.7__alter_gov_role.sql new file mode 100644 index 0000000000..c67ca9f27c --- /dev/null +++ b/epmet-module/gov-access/gov-access-server/src/main/resources/db/migration/V0.0.7__alter_gov_role.sql @@ -0,0 +1,16 @@ + + +ALTER TABLE `gov_role` +ADD COLUMN `CUSTOMER_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户ID' AFTER `id`; + + +ALTER TABLE `gov_role_menu` +ADD COLUMN `CUSTOMER_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户ID' AFTER `id`; + + +ALTER TABLE `gov_role_user` +ADD COLUMN `CUSTOMER_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户ID' AFTER `id`; + + + + 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..3078bf4cdf 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,13 @@ + + diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovRoleMenuDao.xml b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovRoleMenuDao.xml index 862679b5de..f2e09830ca 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovRoleMenuDao.xml +++ b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovRoleMenuDao.xml @@ -4,7 +4,17 @@ + + diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java index 5f369289e9..705ddfaadb 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java @@ -71,4 +71,6 @@ public class AddStaffV2FromDTO implements Serializable { * 来源client(PC端:web、微信小程序:wxmp) */ private String client; + + private List newRoles; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffSubmitFromDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffSubmitFromDTO.java index 284880f6d5..0f9f35a2f6 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffSubmitFromDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffSubmitFromDTO.java @@ -66,4 +66,6 @@ public class StaffSubmitFromDTO implements Serializable { * 来源client(PC端:web、微信小程序:wxmp) */ private String client; + + private List newRoles; } 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-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml index e937308c22..401f05c967 100644 --- a/epmet-module/gov-org/gov-org-server/pom.xml +++ b/epmet-module/gov-org/gov-org-server/pom.xml @@ -18,6 +18,11 @@ gov-org-client 2.0.0 + + com.epmet + gov-access-client + 2.0.0 + com.epmet oper-crm-client diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index ec9d682d76..73316bad52 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -396,7 +396,7 @@ public class CustomerAgencyController { @PostMapping("agencygridtree") public Result getOrgTreeData(@LoginUser TokenDto tokenDTO) { //tokenDTO.setUserId("dffe71e021a61b900f9025f4f07f6955"); - return new Result().ok(customerAgencyService.getOrgTreeData(tokenDTO.getUserId())); + return new Result().ok(customerAgencyService.getOrgTreeData(tokenDTO.getUserId(),tokenDTO.getCustomerId())); } /** diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java index 8f026e9f44..abcf908367 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java @@ -92,7 +92,6 @@ public class GridController { return result; } - /** * 删除网格 */ diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/ServiceProjectController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/ServiceProjectController.java index 6bae4e8f2f..db5b040103 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/ServiceProjectController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/ServiceProjectController.java @@ -29,7 +29,7 @@ public class ServiceProjectController { */ @RequestMapping("service/serviceScopeTree") public Result getServiceScopeTree(@LoginUser TokenDto loginInfo) { - ServiceProjectScopeResultDTO r = serviceProjectService.getServiceScopeTree(loginInfo.getUserId()); + ServiceProjectScopeResultDTO r = serviceProjectService.getServiceScopeTree(loginInfo.getUserId(),loginInfo.getCustomerId()); return new Result().ok(r); } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/UserHouseScopeController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/UserHouseScopeController.java index 3a5e67704f..3ad215bbf7 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/UserHouseScopeController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/UserHouseScopeController.java @@ -26,7 +26,7 @@ public class UserHouseScopeController { */ @RequestMapping("service/serviceScopeTree") public Result getServiceScopeTree(@LoginUser TokenDto loginInfo) { - UserHouseScopeResultDTO r = userHouseScopeService.getServiceScopeTree(loginInfo.getUserId()); + UserHouseScopeResultDTO r = userHouseScopeService.getServiceScopeTree(loginInfo.getUserId(),loginInfo.getCustomerId()); return new Result().ok(r); } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/CustomerAgencyRedis.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/CustomerAgencyRedis.java index a4be0f2703..c41d5eae0e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/CustomerAgencyRedis.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/CustomerAgencyRedis.java @@ -59,4 +59,7 @@ public class CustomerAgencyRedis { return BeanUtil.mapToBean(resultMap, AgencyInfoCache.class, true); } + public void deleteByPrex(String orgTreeCachePrexKey) { + redisUtils.deleteByPrex(orgTreeCachePrexKey); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index 21e6f17320..bec4188167 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -24,7 +24,6 @@ import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.CustomerAgencyEntity; -import org.springframework.web.bind.annotation.PathVariable; import java.util.List; import java.util.Map; @@ -270,7 +269,7 @@ public interface CustomerAgencyService extends BaseService * @param staffId * @return */ - AgencyTreeResultDTO getOrgTreeData(String staffId); + AgencyTreeResultDTO getOrgTreeData(String staffId,String customerId); /** * @Description 【事件】社区服务热线 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/ServiceProjectService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/ServiceProjectService.java index 22058470de..c09a6411b1 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/ServiceProjectService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/ServiceProjectService.java @@ -1,9 +1,7 @@ package com.epmet.service; -import com.epmet.commons.mybatis.service.BaseService; import com.epmet.dto.result.ServiceProjectScopeResultDTO; -import com.epmet.entity.IcPlaceOrgEntity; public interface ServiceProjectService { - ServiceProjectScopeResultDTO getServiceScopeTree(String staffId); + ServiceProjectScopeResultDTO getServiceScopeTree(String staffId,String customerId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/UserHouseScopeService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/UserHouseScopeService.java index 31fb3be5b8..210b0e7dad 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/UserHouseScopeService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/UserHouseScopeService.java @@ -3,5 +3,5 @@ package com.epmet.service; import com.epmet.dto.result.UserHouseScopeResultDTO; public interface UserHouseScopeService { - UserHouseScopeResultDTO getServiceScopeTree(String staffId); + UserHouseScopeResultDTO getServiceScopeTree(String staffId,String customerId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 1505018fa9..61059fb01c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -27,6 +27,7 @@ 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.RenException; +import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; @@ -239,7 +240,9 @@ public class AgencyServiceImpl implements AgencyService { //5.redis缓存 customerAgencyRedis.delete(formDTO.getAgencyId()); - + //6.一些下拉组织树的缓存要清除掉 + String orgTreeCachePrexKey = RedisKeys.getOrgTreeCachePrexKey(formDTO.getCustomerId()); + customerAgencyRedis.deleteByPrex(orgTreeCachePrexKey); return result; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index d7f4e95ac1..4354be6b51 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -1175,7 +1175,7 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl getStaffInfoForHome(StaffsInAgencyFromDTO fromDTO) { @@ -190,6 +193,10 @@ public class StaffServiceImpl implements StaffService { } return new Result().error(EpmetErrorCode.STAFF_EDIT_FAILED.getCode(), EpmetErrorCode.STAFF_EDIT_FAILED.getMsg()); } + Result roleUserAccess = govAccessFeignClient.roleUser(new RoleUserFormDTO(fromDTO.getNewRoles(), fromDTO.getStaffId(),fromDTO.getCustomerId())); + if (!roleUserAccess.success()){ + throw new EpmetException("save data to gov-role-user failure"); + } //2021.8.24 sun 人员信息编辑时删除工作人员的缓存信息 CustomerStaffRedis.delStaffInfoFormCache(fromDTO.getCustomerId(), fromDTO.getStaffId()); return result; @@ -578,6 +585,13 @@ public class StaffServiceImpl implements StaffService { staffOrgRelationEntity.setOrgType(fromDTO.getOrgType()); staffOrgRelationService.insert(staffOrgRelationEntity); + if (CollectionUtils.isNotEmpty(fromDTO.getNewRoles())){ + Result roleUserAccess = govAccessFeignClient.roleUser(new RoleUserFormDTO(fromDTO.getNewRoles(), customerStaffAgencyEntity.getUserId(),fromDTO.getCustomerId())); + if (!roleUserAccess.success()){ + throw new EpmetException("save data to gov-role-user failure"); + } + } + return new Result(); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/UserHouseScopeServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/UserHouseScopeServiceImpl.java index 8ccaa5a32a..f69dba9ea0 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/UserHouseScopeServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/UserHouseScopeServiceImpl.java @@ -30,8 +30,8 @@ public class UserHouseScopeServiceImpl implements UserHouseScopeService { } @Override - public UserHouseScopeResultDTO getServiceScopeTree(String staffId) { - AgencyTreeResultDTO orgTreeData = customerAgencyService.getOrgTreeData(staffId); + public UserHouseScopeResultDTO getServiceScopeTree(String staffId,String customerId) { + AgencyTreeResultDTO orgTreeData = customerAgencyService.getOrgTreeData(staffId,customerId); UserHouseScopeResultDTO rootScope = new UserHouseScopeResultDTO(); rootScope.setObjectId(orgTreeData.getAgencyId()); 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 d52625b704..2dffd84aee 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 @@ -846,4 +846,13 @@ public interface EpmetUserOpenFeignClient { */ @PostMapping("/epmetuser/icResiUserDataSync/icDataSyncTask") Result icDataSyncTask(String customerId); + + /** + * Desc: 查询是否是超级管理员 + * @param userId + * @author zxc + * @date 2022/7/13 11:03 + */ + @PostMapping("/epmetuser/staffrole/getIsRootManager") + Result getIsRootManager(@RequestParam("userId") String userId); } 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 56b203743a..bee7102a73 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 @@ -641,4 +641,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "icDataSyncTask", customerId); } + @Override + public Result getIsRootManager(String userId) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getIsRootManager", userId); + } + } 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 0cf0bc1760..63001fb2e9 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 @@ -217,4 +217,15 @@ public class StaffRoleController { return new Result>().ok(staffRoleService.getGridStaffList(formDTO)); } + + /** + * Desc: 查询是否是超级管理员 + * @param userId + * @author zxc + * @date 2022/7/13 11:03 + */ + @PostMapping("getIsRootManager") + public Result getIsRootManager(@RequestParam("userId") String userId){ + return new Result().ok(staffRoleService.getIsRootManager(userId)); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java index 99b07f9c36..dd1cd558a6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java @@ -28,6 +28,7 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.UserRoleDTO; import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.dto.form.UserRoleFormDTO; +import com.epmet.dto.result.NewUserRoleResultDTO; import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.excel.UserRoleExcel; import com.epmet.service.UserRoleService; @@ -102,7 +103,7 @@ public class UserRoleController { * @Date 2020.03.30 15:35 **/ @PostMapping("getuserroleinfo") - public Result> getUserRoleInfo(@RequestBody UserRoleFormDTO userRoleFormDTO) { + public Result> getUserRoleInfo(@RequestBody UserRoleFormDTO userRoleFormDTO) { ValidatorUtils.validateEntity(userRoleFormDTO); @@ -130,7 +131,7 @@ public class UserRoleController { * @Date 14:24 2020-07-23 **/ @GetMapping(value = "getuserroleinfobyuserid/{userId}") - public Result> getUserRoleInfoByUserId(@PathVariable("userId") String userId) { + public Result> getUserRoleInfoByUserId(@PathVariable("userId") String userId) { return userRoleService.getUserRoleInfoByUserId(userId); } 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 8f62aef830..fa14b5a742 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 @@ -182,4 +182,6 @@ public interface StaffRoleDao extends BaseDao { * @date 2022/1/17 2:45 下午 */ List getStaffList(GridStaffFormDTO formDTO); + + List getRoleKeys(@Param("staffId")String staffId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java index e8a47ab9a1..62e59d9b98 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.form.GetRoleKeyListFormDTO; import com.epmet.dto.form.UserRoleFormDTO; +import com.epmet.dto.result.NewUserRoleResultDTO; import com.epmet.dto.result.PartyMemberUserIdsResultDTO; import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.entity.UserRoleEntity; @@ -43,7 +44,7 @@ public interface UserRoleDao extends BaseDao { * @Author wangc * @Date 2020.03.30 15:35 **/ - List getUserRoleInfo(UserRoleFormDTO userRoleFormDTO); + List getUserRoleInfo(UserRoleFormDTO userRoleFormDTO); /** * @Description 根据用户Id、网格Id、客户Id查询用户角色key列表 @@ -62,7 +63,7 @@ public interface UserRoleDao extends BaseDao { * @Author zhangyong * @Date 14:24 2020-07-23 **/ - List getUserRoleInfoByUserId(@Param("userId") String userId); + List getUserRoleInfoByUserId(@Param("userId") String userId); /** * @param formDTO 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 2458ba809d..f763247d30 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 @@ -122,4 +122,12 @@ public interface StaffRoleService extends BaseService { * @date 2022/1/17 2:37 下午 */ PageData getGridStaffList(GridStaffFormDTO formDTO); + + /** + * Desc: 查询是否是超级管理员 + * @param userId + * @author zxc + * @date 2022/7/13 11:03 + */ + Boolean getIsRootManager(String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserRoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserRoleService.java index ae47c9291a..38f9ff02ac 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserRoleService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserRoleService.java @@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.UserRoleDTO; import com.epmet.dto.form.UserRoleFormDTO; +import com.epmet.dto.result.NewUserRoleResultDTO; import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.entity.UserRoleEntity; @@ -103,7 +104,7 @@ public interface UserRoleService extends BaseService { * @Author wangc * @Date 2020.03.30 15:35 **/ - Result> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO); + Result> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO); /** * 添加用户角色关系 @@ -121,7 +122,7 @@ public interface UserRoleService extends BaseService { * @Author zhangyong * @Date 14:24 2020-07-23 **/ - Result> getUserRoleInfoByUserId(String userId); + Result> getUserRoleInfoByUserId(String userId); /** * @Description 查询此人是不是党员,true是党员,false不是党员 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..c9c416d63c 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; @@ -44,11 +45,13 @@ import com.epmet.dao.StaffRoleDao; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; +import com.epmet.dto.result.NewUserRoleResultDTO; import com.epmet.entity.CustomerStaffEntity; 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 +97,8 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl page(Map params) { @@ -283,7 +288,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); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java index 0ab2d16b99..d63921e97a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java @@ -36,7 +36,7 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.dto.result.UserInfoOnEnterGridResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO; -import com.epmet.dto.result.UserRoleResultDTO; +import com.epmet.dto.result.NewUserRoleResultDTO; import com.epmet.entity.RegisterRelationEntity; import com.epmet.entity.UserCustomerEntity; import com.epmet.feign.GovOrgFeignClient; @@ -324,9 +324,9 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl roleList = userRoleDao.getUserRoleInfo(userRoleFormDTO); + List roleList = userRoleDao.getUserRoleInfo(userRoleFormDTO); List roleListString = new ArrayList<>(); - for(UserRoleResultDTO role : roleList){ + for(NewUserRoleResultDTO role : roleList){ roleListString.add(role.getRoleKey()); } resultObj.setUserRoleList(roleListString); 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 b8f34b04c9..62346d3726 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 @@ -204,4 +204,26 @@ public class StaffRoleServiceImpl extends BaseServiceImpl(result,count.get()); } + /** + * Desc: 查询是否是超级管理员 + * @param userId + * @author zxc + * @date 2022/7/13 11:03 + */ + @Override + public Boolean getIsRootManager(String userId) { + Boolean result = false; + List roleKeys = baseDao.getRoleKeys(userId); + if (roleKeys.isEmpty()){ + return result; + } + for (String roleKey : roleKeys) { + if (roleKey.equals("root_manager")){ + result = true; + break; + } + } + return result; + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java index 6785817934..4cccbd7bf4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java @@ -464,7 +464,7 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl roleList = userRoleDao.getUserRoleInfo(roleParam); + List roleList = userRoleDao.getUserRoleInfo(roleParam); List roleListFormat = new LinkedList<>(); if(null != roleList && !roleList.isEmpty()){ roleList.forEach(role -> { diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserRoleServiceImpl.java index 242a6c8a46..efb6eac3b5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserRoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserRoleServiceImpl.java @@ -29,6 +29,7 @@ import com.epmet.dao.UserRoleDao; import com.epmet.dto.RoleDTO; import com.epmet.dto.UserRoleDTO; import com.epmet.dto.form.UserRoleFormDTO; +import com.epmet.dto.result.NewUserRoleResultDTO; import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.entity.UserRoleEntity; import com.epmet.service.RoleService; @@ -114,8 +115,8 @@ public class UserRoleServiceImpl extends BaseServiceImpl> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO) { - return new Result>().ok(baseDao.getUserRoleInfo(userRoleFormDTO)); + public Result> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO) { + return new Result>().ok(baseDao.getUserRoleInfo(userRoleFormDTO)); } @Override @@ -131,9 +132,9 @@ public class UserRoleServiceImpl extends BaseServiceImpl> getUserRoleInfoByUserId(String userId) { - List list = baseDao.getUserRoleInfoByUserId(userId); - return new Result>().ok(list); + public Result> getUserRoleInfoByUserId(String userId) { + List list = baseDao.getUserRoleInfoByUserId(userId); + return new Result>().ok(list); } /** 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 6ce9736f4d..05881009cb 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 @@ -319,5 +319,13 @@ AND gsr.del_flag = '0' ORDER BY cs.CREATED_TIME DESC + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml index 7f3b21a0dd..bf7e4edd36 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml @@ -19,7 +19,7 @@