Browse Source

Merge branch 'master' of http://git.elinkit.com.cn:7070/r/epmet-cloud

feature/evaluate
wangxianzhang 3 years ago
parent
commit
cd93fd8c73
  1. 14
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  2. 11
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java
  3. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/HouseInfoCache.java
  4. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java
  5. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactAgencyUserHouseDailyServiceImpl.java
  6. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGridUserHouseDailyServiceImpl.java
  7. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactNeighborhoodUserHouseDailyServiceImpl.java
  8. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactUserHouseServiceImpl.java
  9. 2
      epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/AreaCodeDTO.java
  10. 13
      epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDetailFormDTO.java
  11. 76
      epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/CustomerTreeDTO.java
  12. 22
      epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java
  13. 10
      epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java
  14. 28
      epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java
  15. 18
      epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java
  16. 10
      epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java
  17. 321
      epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java
  18. 10
      epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeChildDao.xml
  19. 31
      epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeDao.xml
  20. 1
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java
  21. 5
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleDTO.java
  22. 5
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleMenuDTO.java
  23. 5
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/GovRoleUserDTO.java
  24. 19
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/GetStaffExistRoleFormDTO.java
  25. 26
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/RoleUserFormDTO.java
  26. 40
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/NewUserRoleResultDTO.java
  27. 23
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java
  28. 14
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/fallback/GovAccessFeignClientFallBack.java
  29. 6
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovMenuController.java
  30. 11
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleController.java
  31. 6
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleMenuController.java
  32. 26
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/GovRoleUserController.java
  33. 12
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/GovRoleDao.java
  34. 9
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/GovRoleMenuDao.java
  35. 6
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovMenuEntity.java
  36. 5
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleEntity.java
  37. 5
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleMenuEntity.java
  38. 5
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/GovRoleUserEntity.java
  39. 1
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/GovMenuService.java
  40. 19
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/GovRoleUserService.java
  41. 58
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java
  42. 5
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleMenuServiceImpl.java
  43. 11
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleServiceImpl.java
  44. 58
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleUserServiceImpl.java
  45. 16
      epmet-module/gov-access/gov-access-server/src/main/resources/db/migration/V0.0.7__alter_gov_role.sql
  46. 9
      epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovRoleDao.xml
  47. 12
      epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovRoleMenuDao.xml
  48. 2
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java
  49. 2
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/StaffSubmitFromDTO.java
  50. 128
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyAreaResultDTO.java
  51. 1
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java
  52. 12
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizationCodeResultDTO.java
  53. 1
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffInitResultDTO.java
  54. 2
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffRoleResultDTO.java
  55. 5
      epmet-module/gov-org/gov-org-server/pom.xml
  56. 29
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
  57. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
  58. 1
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java
  59. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/ServiceProjectController.java
  60. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/UserHouseScopeController.java
  61. 23
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
  62. 3
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/CustomerAgencyRedis.java
  63. 21
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java
  64. 3
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
  65. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/ServiceProjectService.java
  66. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/UserHouseScopeService.java
  67. 164
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
  68. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
  69. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  70. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  71. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/ServiceProjectServiceImpl.java
  72. 14
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java
  73. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/UserHouseScopeServiceImpl.java
  74. 51
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
  75. 1
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
  76. 5
      epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/CustomerRelationDTO.java
  77. 41
      epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/CustomerRelationFormDTO.java
  78. 111
      epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java
  79. 12
      epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/OperCrmOpenFeignClient.java
  80. 5
      epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/fallback/OperCrmOpenFeignClientFallback.java
  81. 6
      epmet-module/oper-crm/oper-crm-server/pom.xml
  82. 104
      epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java
  83. 33
      epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerRelationDao.java
  84. 5
      epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/entity/CustomerRelationEntity.java
  85. 25
      epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerRelationService.java
  86. 69
      epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java
  87. 42
      epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml
  88. 1
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HomeInfoResultDTO.java
  89. 9
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  90. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  91. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeWelfareController.java
  92. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java
  93. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java
  94. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java
  95. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java
  96. 86
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ChangeWelfareExcel.java
  97. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java
  98. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserRoleService.java
  99. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
  100. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

14
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){

11
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<String> keys = redisTemplate.keys(prex);
if (!CollectionUtils.isEmpty(keys)) {
redisTemplate.delete(keys);
}
}
}

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/HouseInfoCache.java

@ -102,6 +102,7 @@ public class HouseInfoCache implements Serializable {
* 房屋编码
*/
private String houseCode;
private String coding;
/**
* 二维码地址
*/

2
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<OrgTreeResultDTO> orgTreeResultDTOS = (List<OrgTreeResultDTO>) redisUtils.get(treeCacheKey);
//如果接近过期或已经过期且缓存数据不为空 则异步查询

3
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactAgencyUserHouseDailyServiceImpl.java

@ -74,6 +74,7 @@ public class FactAgencyUserHouseDailyServiceImpl extends BaseServiceImpl<FactAge
@Override
public List<FactUserHouseResultDTO> listExport(Map<String, Object> params) {
params.put("customerId", loginUserUtil.getLoginUserCustomerId());
return baseDao.listPage(params);
}
@ -118,4 +119,4 @@ public class FactAgencyUserHouseDailyServiceImpl extends BaseServiceImpl<FactAge
baseDao.deleteByDateId(formDTO);
}
}
}

1
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGridUserHouseDailyServiceImpl.java

@ -82,6 +82,7 @@ public class FactGridUserHouseDailyServiceImpl extends BaseServiceImpl<FactGridU
@Override
public List<FactUserHouseResultDTO> listExport(Map<String, Object> params) {
params.put("customerId", loginUserUtil.getLoginUserCustomerId());
return baseDao.listPage(params);
}

1
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactNeighborhoodUserHouseDailyServiceImpl.java

@ -93,6 +93,7 @@ public class FactNeighborhoodUserHouseDailyServiceImpl extends BaseServiceImpl<F
@Override
public List<FactUserHouseResultDTO> listExport(Map<String, Object> params) {
params.put("customerId", loginUserUtil.getLoginUserCustomerId());
return baseDao.listPage(params);
}

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactUserHouseServiceImpl.java

@ -103,6 +103,15 @@ public class FactUserHouseServiceImpl implements FactUserHouseService {
@Override
public List<FactUserHouseResultDTO> list(Map<String, Object> params) {
List<FactUserHouseResultDTO> list = new ArrayList<>();
if (params.containsKey("startTime") && params.containsKey("endTime")) {
if (StringUtils.isNotBlank(params.get("startTime").toString()) && StringUtils.isNotBlank(params.get("endTime").toString())) {
params.put("dateId", StringUtils.EMPTY);
} else {
params.put("dateId", DateUtils.getBeforeNDay(NumConstant.ONE));
}
} else {
params.put("dateId", DateUtils.getBeforeNDay(NumConstant.ONE));
}
if (params.containsKey("level")) {
if("neighborhood".equals(params.get("level").toString()) || OrgLevelEnum.GRID.getCode().equals(params.get("level").toString())){
list = factNeighborhoodUserHouseDailyService.listExport(params);

2
epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/AreaCodeDTO.java

@ -37,7 +37,7 @@ public class AreaCodeDTO implements Serializable {
/**
* 主键
*/
private Integer id;
private String id;
/**
* 省份code

13
epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDetailFormDTO.java

@ -0,0 +1,13 @@
package com.epmet.dto.form;
import lombok.Data;
@Data
public class AreaCodeDetailFormDTO {
private String areaCode;
/**
* 省级:province; 市级: city; 区县级: district ;街道:street ;社区级community
*/
private String level;
}

76
epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/CustomerTreeDTO.java

@ -0,0 +1,76 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 客户关系表(01.14 add)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-02-03
*/
@Data
public class CustomerTreeDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* 当前客户级别社区级community
街道:street,
区县级: district,
市级: city
省级:province
*/
private String level;
/**
* 当前客户的地区编码实际就是根组织的area_code
*/
private String areaCode;
/**
* 当前客户的地区名称
*/
private String areaName;
/**
* 当前客户的父节点地区名称
*/
private String parentCode;
/**
* 客户名称
*/
private String customerName;
/**
* 下一级
*/
private List<CustomerTreeDTO> children;
}

22
epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java

@ -98,6 +98,28 @@ public interface EpmetCommonServiceOpenFeignClient {
@PostMapping("commonservice/workday/workminutes")
Result<Map<String,Integer>> workMinutes(@RequestBody WorkMinuteFormDTO param);
/**
* 行政地区编码查询
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.AreaCodeDictResultDTO>>
* @author zhy
* @date 2022/7/6 15:07
*/
@PostMapping("commonservice/areacode/areacodedetail")
Result<AreaCodeResultDTO> areaCodeDetail(@RequestBody AreaCodeDetailFormDTO formDTO);
/**
* 行政地区编码树查询
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.AreaCodeDictResultDTO>>
* @author zhy
* @date 2022/7/6 15:07
*/
@PostMapping("commonservice/areacode/areacodetree")
Result<List<CustomerTreeDTO>> areaCodeTree(@RequestBody CustomerTreeDTO formDTO);
/**
* @Description 行政地区编码查询
* @Param formDTO

10
epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java

@ -79,6 +79,16 @@ public class EpmetCommonServiceOpenFeignClientFallback implements EpmetCommonSer
return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "workMinutes", param);
}
@Override
public Result<AreaCodeResultDTO> areaCodeDetail(AreaCodeDetailFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "areaCodeDetail", formDTO);
}
@Override
public Result<List<CustomerTreeDTO>> areaCodeTree(CustomerTreeDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "areaCodeTree", formDTO);
}
@Override
public Result<List<AreaCodeDictResultDTO>> areaCodeDictTree(AreaCodeDictFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "areaCodeDictTree", formDTO);

28
epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java

@ -25,12 +25,10 @@ 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.AreaCodeDTO;
import com.epmet.dto.form.AddAreaCodeDictFormDTO;
import com.epmet.dto.form.AddAreaCodeFormDTO;
import com.epmet.dto.form.AreaCodeDictFormDTO;
import com.epmet.dto.form.AreaCodeFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.AreaCodeDictResultDTO;
import com.epmet.dto.result.AreaCodeResultDTO;
import com.epmet.dto.result.CustomerTreeDTO;
import com.epmet.service.AreaCodeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -133,4 +131,26 @@ public class AreaCodeController {
public Result<List<AreaCodeResultDTO>> nextArea(@RequestBody AreaCodeFormDTO formDTO){
return new Result<List<AreaCodeResultDTO>>().ok(areaCodeService.nextArea(formDTO));
}
/**
* @Description 行政地区编码查询
* @Param formDTO
* @author zxc
* @date 2021/1/7 下午1:41
*/
@PostMapping("areacodedetail")
public Result<AreaCodeResultDTO> areaCodeDetail(@RequestBody AreaCodeDetailFormDTO formDTO){
return new Result<AreaCodeResultDTO>().ok(areaCodeService.getAreaCodeDetail(formDTO));
}
/**
* @Description 行政地区编码查询
* @Param formDTO
* @author zxc
* @date 2021/1/7 下午1:41
*/
@PostMapping("areacodetree")
public Result<List<CustomerTreeDTO>> areaCodeTree(@RequestBody CustomerTreeDTO formDTO){
return new Result<List<CustomerTreeDTO>>().ok(areaCodeService.getAreaCodeTree(formDTO));
}
}

18
epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java

@ -37,19 +37,25 @@ public interface AreaCodeDao extends BaseDao<AreaCodeEntity> {
List<AreaCodeDTO> selectAllArea();
AreaCodeDTO selectByCountyCode(String countyCode);
AreaCodeDTO selectByCountyCode(@Param("countyCode") String countyCode);
AreaCodeDTO selectByCityCode(String cityCode);
AreaCodeDTO selectByCityCode(@Param("cityCode") String cityCode);
AreaCodeDTO selectByProvinceCode(@Param("provinceCode") String provinceCode);
AreaCodeResultDTO selectByStreetCode(@Param("streetCode") String streetCode);
AreaCodeResultDTO selectByCommunityCode(@Param("communityCode") String communityCode);
AreaCodeDTO selectMaxCounty(String cityCode);
List<AreaCodeResultDTO> selectProvince();
List<AreaCodeResultDTO> selectCity(@Param("pCode")String pCode);
List<AreaCodeResultDTO> selectCity(@Param("pCode") String pCode);
List<AreaCodeResultDTO> selectDistrict(@Param("pCode")String pCode);
List<AreaCodeResultDTO> selectDistrict(@Param("pCode") String pCode);
List<AreaCodeResultDTO> selectStreet(@Param("pCode")String pCode);
List<AreaCodeResultDTO> selectStreet(@Param("pCode") String pCode);
List<AreaCodeResultDTO> selectCommunity(@Param("pCode")String pCode);
List<AreaCodeResultDTO> selectCommunity(@Param("pCode") String pCode);
}

10
epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java

@ -20,12 +20,10 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.AreaCodeDTO;
import com.epmet.dto.form.AddAreaCodeDictFormDTO;
import com.epmet.dto.form.AddAreaCodeFormDTO;
import com.epmet.dto.form.AreaCodeDictFormDTO;
import com.epmet.dto.form.AreaCodeFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.AreaCodeDictResultDTO;
import com.epmet.dto.result.AreaCodeResultDTO;
import com.epmet.dto.result.CustomerTreeDTO;
import com.epmet.entity.AreaCodeEntity;
import java.util.List;
@ -127,4 +125,8 @@ public interface AreaCodeService extends BaseService<AreaCodeEntity> {
String addAreaCode(AddAreaCodeFormDTO formDTO);
List<AreaCodeResultDTO> nextArea(AreaCodeFormDTO formDTO);
AreaCodeResultDTO getAreaCodeDetail(AreaCodeDetailFormDTO formDTO);
List<CustomerTreeDTO> getAreaCodeTree(CustomerTreeDTO formDTO);
}

321
epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java

@ -36,12 +36,10 @@ import com.epmet.dao.AreaCodeChildDao;
import com.epmet.dao.AreaCodeDao;
import com.epmet.dto.AreaCodeChildDTO;
import com.epmet.dto.AreaCodeDTO;
import com.epmet.dto.form.AddAreaCodeDictFormDTO;
import com.epmet.dto.form.AddAreaCodeFormDTO;
import com.epmet.dto.form.AreaCodeDictFormDTO;
import com.epmet.dto.form.AreaCodeFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.AreaCodeDictResultDTO;
import com.epmet.dto.result.AreaCodeResultDTO;
import com.epmet.dto.result.CustomerTreeDTO;
import com.epmet.entity.AreaCodeEntity;
import com.epmet.redis.AreaCodeRedis;
import com.epmet.service.AreaCodeChildService;
@ -72,6 +70,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
private AreaCodeChildDao childDao;
@Autowired
private AreaCodeChildService areaCodeChildService;
@Override
public PageData<AreaCodeDTO> page(Map<String, Object> params) {
IPage<AreaCodeEntity> page = baseDao.selectPage(
@ -88,8 +87,8 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
return ConvertUtils.sourceToTarget(entityList, AreaCodeDTO.class);
}
private QueryWrapper<AreaCodeEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
private QueryWrapper<AreaCodeEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<AreaCodeEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
@ -125,7 +124,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
}
/**
* @Description 行政地区编码查询
* @Description 行政地区编码查询
* @Param formDTO
* @author zxc
* @date 2021/1/7 下午1:41
@ -134,14 +133,14 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
public List<AreaCodeDictResultDTO> areaCodeDictTree(AreaCodeDictFormDTO formDTO) {
List<AreaCodeDictResultDTO> tree = new ArrayList<>();
String s = areaCodeRedis.get(AreaCodeConstant.SCREEN_TREE);
if (StringUtils.isNotBlank(s)){
tree = JSON.parseArray(s,AreaCodeDictResultDTO.class);
}else {
if (StringUtils.isNotBlank(s)) {
tree = JSON.parseArray(s, AreaCodeDictResultDTO.class);
} else {
List<AreaCodeDictResultDTO> areaCodeDictResultDTOS = disposeTree(formDTO);
areaCodeRedis.set(AreaCodeConstant.SCREEN_TREE,areaCodeDictResultDTOS);
areaCodeRedis.set(AreaCodeConstant.SCREEN_TREE, areaCodeDictResultDTOS);
tree = areaCodeDictResultDTOS;
}
if (StringUtils.isBlank(formDTO.getRootAreaCode())){
if (StringUtils.isBlank(formDTO.getRootAreaCode())) {
return tree;
}
List<AreaCodeDictResultDTO> treeByRootAreaCode = getTreeByRootAreaCode(tree, formDTO.getRootAreaCode());
@ -149,12 +148,12 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
}
/**
* @Description 行政区树查询
* @Description 行政区树查询
* @Param
* @author zxc
* @date 2021/1/8 上午8:57
*/
public List<AreaCodeDictResultDTO> disposeTree(AreaCodeDictFormDTO formDTO){
public List<AreaCodeDictResultDTO> disposeTree(AreaCodeDictFormDTO formDTO) {
// 查询所有省市区
List<AreaCodeDTO> areaCodeDTOS = baseDao.selectAllArea();
// 查询所有街道、社区
@ -173,8 +172,8 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
dto.setCode(four.getCode());
dto.setName(four.getName());
dto.setParentCode(four.getPCode());
groupByPCode.forEach((pCode,v) -> {
if (dto.getCode().equals(pCode)){
groupByPCode.forEach((pCode, v) -> {
if (dto.getCode().equals(pCode)) {
List<AreaCodeDictResultDTO> fiveResult = new ArrayList<>();
v.forEach(five -> {
AreaCodeDictResultDTO fiveDto = new AreaCodeDictResultDTO();
@ -189,7 +188,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
fourResult.add(dto);
});
List<AreaCodeDictResultDTO> fourSort = new ArrayList<>();
if (!CollectionUtils.isEmpty(fourResult)){
if (!CollectionUtils.isEmpty(fourResult)) {
fourSort = fourResult.stream().sorted(Comparator.comparing(AreaCodeDictResultDTO::getCode)).collect(Collectors.toList());
}
@ -209,7 +208,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
dto.setName(three.getCountyName());
List<AreaCodeDictResultDTO> fourOnceResult = new ArrayList<>();
finalFourSort.forEach(four -> {
if (dto.getCode().equals(four.getParentCode())){
if (dto.getCode().equals(four.getParentCode())) {
fourOnceResult.add(four);
}
});
@ -220,13 +219,13 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
cityDto.setChildren(threeSort);
cityResult.add(cityDto);
});
groupByProvince.forEach((p,v) -> {
groupByProvince.forEach((p, v) -> {
AreaCodeDictResultDTO dto = new AreaCodeDictResultDTO();
dto.setCode(p);
dto.setName(v.get(NumConstant.ZERO).getProvinceName());
List<AreaCodeDictResultDTO> cityOnceResult = new ArrayList<>();
cityResult.forEach(c -> {
if (dto.getCode().equals(c.getParentCode())){
if (dto.getCode().equals(c.getParentCode())) {
cityOnceResult.add(c);
}
});
@ -239,54 +238,51 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
}
/**
* @Description 根据节点获取组织区域树遍历传参只能是 区级别 暂时这样循环太多了
*
*
* @Description 根据节点获取组织区域树遍历传参只能是 区级别 暂时这样循环太多了
* <p>
* <p>
* 暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样
* ==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==
* 暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样
*
*
*
* ==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==
* 暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样
* @Param tree
* @Param rootAreaCode
* @author zxc
* @date 2021/1/8 上午10:02
*/
public List<AreaCodeDictResultDTO> getTreeByRootAreaCode(List<AreaCodeDictResultDTO> tree , String rootAreaCode){
public List<AreaCodeDictResultDTO> getTreeByRootAreaCode(List<AreaCodeDictResultDTO> tree, String rootAreaCode) {
List<AreaCodeDictResultDTO> result = new ArrayList<>();
if (!CollectionUtils.isEmpty(tree)){
if (!CollectionUtils.isEmpty(tree)) {
// 省级获取
for (AreaCodeDictResultDTO dto : tree) {
if (rootAreaCode.equals(dto.getCode())){
if (rootAreaCode.equals(dto.getCode())) {
result.add(dto);
return result;
}
// 市级获取
if (!CollectionUtils.isEmpty(dto.getChildren())){
if (!CollectionUtils.isEmpty(dto.getChildren())) {
for (AreaCodeDictResultDTO child : dto.getChildren()) {
if (rootAreaCode.equals(child.getCode())){
if (rootAreaCode.equals(child.getCode())) {
result.add(child);
return result;
}
// 区级获取
if (!CollectionUtils.isEmpty(child.getChildren())){
if (!CollectionUtils.isEmpty(child.getChildren())) {
for (AreaCodeDictResultDTO threeChild : child.getChildren()) {
if (rootAreaCode.equals(threeChild.getCode())){
if (rootAreaCode.equals(threeChild.getCode())) {
result.add(threeChild);
return result;
}
// 街道获取
if (!CollectionUtils.isEmpty(threeChild.getChildren())){
if (!CollectionUtils.isEmpty(threeChild.getChildren())) {
for (AreaCodeDictResultDTO fourChild : threeChild.getChildren()) {
if (rootAreaCode.equals(fourChild.getCode())){
if (rootAreaCode.equals(fourChild.getCode())) {
result.add(fourChild);
return result;
}
// 社区获取
if (!CollectionUtils.isEmpty(fourChild.getChildren())){
if (!CollectionUtils.isEmpty(fourChild.getChildren())) {
for (AreaCodeDictResultDTO fiveChild : fourChild.getChildren()) {
if (rootAreaCode.equals(fiveChild.getCode())){
if (rootAreaCode.equals(fiveChild.getCode())) {
result.add(fiveChild);
return result;
}
@ -304,40 +300,40 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
}
@Override
public List<AreaCodeDictResultDTO> areaCodeDictTreePlus(AreaCodeDictFormDTO formDTO){
public List<AreaCodeDictResultDTO> areaCodeDictTreePlus(AreaCodeDictFormDTO formDTO) {
List<AreaCodeDictResultDTO> tree = new ArrayList<>();
String s = areaCodeRedis.get(AreaCodeConstant.THREE_SCREEN_TREE);
if (StringUtils.isNotBlank(s)){
tree = JSON.parseArray(s,AreaCodeDictResultDTO.class);
}else {
if (StringUtils.isNotBlank(s)) {
tree = JSON.parseArray(s, AreaCodeDictResultDTO.class);
} else {
List<AreaCodeDictResultDTO> threeTree = beforeThreeTree();
areaCodeRedis.set(AreaCodeConstant.THREE_SCREEN_TREE,threeTree);
areaCodeRedis.set(AreaCodeConstant.THREE_SCREEN_TREE, threeTree);
tree = threeTree;
}
if (StringUtils.isBlank(formDTO.getRootAreaCode())){
if (StringUtils.isBlank(formDTO.getRootAreaCode())) {
return tree;
}
if (StringUtils.isBlank(formDTO.getRootAreaLevel())){
if (StringUtils.isBlank(formDTO.getRootAreaLevel())) {
throw new RenException(AreaCodeConstant.ROOT_AGENCY_LEVEL_IS_LEVEL);
}
// 传参为街道-社区级
if (formDTO.getRootAreaLevel().equals(AreaCodeConstant.STREET) || formDTO.getRootAreaLevel().equals(AreaCodeConstant.COMMUNITY)){
if (formDTO.getRootAreaLevel().equals(AreaCodeConstant.STREET) || formDTO.getRootAreaLevel().equals(AreaCodeConstant.COMMUNITY)) {
tree = disposeAfterTwoLevel(formDTO);
}else if (formDTO.getRootAreaLevel().equals(AreaCodeConstant.PROVINCE) || formDTO.getRootAreaLevel().equals(AreaCodeConstant.CITY) || formDTO.getRootAreaLevel().equals(AreaCodeConstant.DISTRICT)){
tree = disposeBeforeThreeLevelFinal(formDTO,tree);
}else {
throw new RenException(String.format(AreaCodeConstant.LEVEL_ERROR,formDTO.getRootAreaLevel()));
} else if (formDTO.getRootAreaLevel().equals(AreaCodeConstant.PROVINCE) || formDTO.getRootAreaLevel().equals(AreaCodeConstant.CITY) || formDTO.getRootAreaLevel().equals(AreaCodeConstant.DISTRICT)) {
tree = disposeBeforeThreeLevelFinal(formDTO, tree);
} else {
throw new RenException(String.format(AreaCodeConstant.LEVEL_ERROR, formDTO.getRootAreaLevel()));
}
return tree;
}
/**
* @Description 省市区三级联动查询
* @Description 省市区三级联动查询
* @Param
* @author zxc
* @date 2021/1/11 上午9:35
*/
public List<AreaCodeDictResultDTO> beforeThreeTree(){
public List<AreaCodeDictResultDTO> beforeThreeTree() {
// 查询所有省市区
List<AreaCodeDTO> areaCodeDTOS = baseDao.selectAllArea();
Map<String, List<AreaCodeDTO>> groupByCity = areaCodeDTOS.stream().collect(Collectors.groupingBy(AreaCodeDTO::getCityCode));
@ -362,13 +358,13 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
cityDto.setChildren(threeSort);
cityResult.add(cityDto);
});
groupByProvince.forEach((p,v) -> {
groupByProvince.forEach((p, v) -> {
AreaCodeDictResultDTO dto = new AreaCodeDictResultDTO();
dto.setCode(p);
dto.setName(v.get(NumConstant.ZERO).getProvinceName());
List<AreaCodeDictResultDTO> cityOnceResult = new ArrayList<>();
cityResult.forEach(c -> {
if (dto.getCode().equals(c.getParentCode())){
if (dto.getCode().equals(c.getParentCode())) {
cityOnceResult.add(c);
}
});
@ -383,12 +379,12 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
}
/**
* @Description 街道-社区组织树查询
* @Description 街道-社区组织树查询
* @Param
* @author zxc
* @date 2021/1/11 上午9:48
*/
public List<AreaCodeDictResultDTO> afterTwoTree(AreaCodeDictFormDTO form){
public List<AreaCodeDictResultDTO> afterTwoTree(AreaCodeDictFormDTO form) {
// 查询所有街道、社区
List<AreaCodeChildDTO> areaCodeChildDTOS = childDao.selectAllChild(form.getRootAreaCode());
List<AreaCodeDictResultDTO> fourResult = new ArrayList<>();
@ -399,7 +395,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
List<AreaCodeChildDTO> levelFive = org.apache.commons.collections4.CollectionUtils.isNotEmpty(groupByLevel.get(NumConstant.FIVE)) ? groupByLevel.get(NumConstant.FIVE) : new ArrayList<>();
Map<String, List<AreaCodeChildDTO>> groupByPCode = CollectionUtils.isEmpty(levelFive) ? new HashMap<>() : levelFive.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getPCode));
//街道
List<AreaCodeChildDTO> levelFour = org.apache.commons.collections4.CollectionUtils.isNotEmpty(groupByLevel.get(NumConstant.FOUR)) ?groupByLevel.get(NumConstant.FOUR):new ArrayList<>();
List<AreaCodeChildDTO> levelFour = org.apache.commons.collections4.CollectionUtils.isNotEmpty(groupByLevel.get(NumConstant.FOUR)) ? groupByLevel.get(NumConstant.FOUR) : new ArrayList<>();
// 6级
List<AreaCodeChildDTO> levelSix = groupByLevel.get(NumConstant.SIX);
Map<String, List<AreaCodeChildDTO>> groupBySixPCode = CollectionUtils.isEmpty(levelSix) ? new HashMap<>() : levelSix.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getPCode));
@ -409,8 +405,8 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
dto.setCode(f.getCode());
dto.setName(f.getName());
dto.setParentCode(f.getPCode());
groupBySixPCode.forEach((k,v) -> {
if (dto.getCode().equals(k)){
groupBySixPCode.forEach((k, v) -> {
if (dto.getCode().equals(k)) {
List<AreaCodeDictResultDTO> six = new ArrayList<>();
v.forEach(s -> {
AreaCodeDictResultDTO sixDto = new AreaCodeDictResultDTO();
@ -431,8 +427,8 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
dto.setCode(four.getCode());
dto.setName(four.getName());
dto.setParentCode(four.getPCode());
groupByFivePCode.forEach((pCode,v) -> {
if (dto.getCode().equals(pCode)){
groupByFivePCode.forEach((pCode, v) -> {
if (dto.getCode().equals(pCode)) {
dto.setChildren(v);
}
});
@ -443,28 +439,28 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
}
/**
* @Description 街道-社区组织树处理
* @Description 街道-社区组织树处理
* @Param form
* @author zxc
* @date 2021/1/11 上午9:58
*/
public List<AreaCodeDictResultDTO> disposeAfterTwoLevel(AreaCodeDictFormDTO form){
public List<AreaCodeDictResultDTO> disposeAfterTwoLevel(AreaCodeDictFormDTO form) {
List<AreaCodeDictResultDTO> result = new ArrayList<>();
List<AreaCodeDictResultDTO> areaCodeDictResultDTOS = afterTwoTree(form);
if (CollectionUtils.isEmpty(areaCodeDictResultDTOS)){
if (CollectionUtils.isEmpty(areaCodeDictResultDTOS)) {
return new ArrayList<>();
}
if (form.getRootAreaLevel().equals(AreaCodeConstant.STREET)){
if (form.getRootAreaLevel().equals(AreaCodeConstant.STREET)) {
for (AreaCodeDictResultDTO dto : areaCodeDictResultDTOS) {
if (dto.getCode().equals(form.getRootAreaCode())){
if (dto.getCode().equals(form.getRootAreaCode())) {
result.add(dto);
}
}
}else {
} else {
for (AreaCodeDictResultDTO dto : areaCodeDictResultDTOS) {
if (!CollectionUtils.isEmpty(dto.getChildren())){
if (!CollectionUtils.isEmpty(dto.getChildren())) {
for (AreaCodeDictResultDTO child : dto.getChildren()) {
if (child.getCode().equals(form.getRootAreaCode())){
if (child.getCode().equals(form.getRootAreaCode())) {
result.add(child);
}
}
@ -475,42 +471,42 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
}
/**
* @Description 省市区获取
* @Description 省市区获取
* @Param form
* @Param tree
* @author zxc
* @date 2021/1/12 上午9:22
*/
public List<AreaCodeDictResultDTO> disposeBeforeThreeLevel(AreaCodeDictFormDTO form,List<AreaCodeDictResultDTO> tree){
public List<AreaCodeDictResultDTO> disposeBeforeThreeLevel(AreaCodeDictFormDTO form, List<AreaCodeDictResultDTO> tree) {
List<AreaCodeDictResultDTO> result = new ArrayList<>();
if (CollectionUtils.isEmpty(tree)){
if (CollectionUtils.isEmpty(tree)) {
return new ArrayList<>();
}
if (form.getRootAreaLevel().equals(AreaCodeConstant.PROVINCE)){
if (form.getRootAreaLevel().equals(AreaCodeConstant.PROVINCE)) {
for (AreaCodeDictResultDTO dto : tree) {
if (dto.getCode().equals(form.getRootAreaCode())){
if (dto.getCode().equals(form.getRootAreaCode())) {
result.add(dto);
return result;
}
}
}else if (form.getRootAreaLevel().equals(AreaCodeConstant.CITY)){
} else if (form.getRootAreaLevel().equals(AreaCodeConstant.CITY)) {
for (AreaCodeDictResultDTO dto : tree) {
if (!CollectionUtils.isEmpty(dto.getChildren())){
if (!CollectionUtils.isEmpty(dto.getChildren())) {
for (AreaCodeDictResultDTO city : dto.getChildren()) {
if (city.getCode().equals(form.getRootAreaCode())){
if (city.getCode().equals(form.getRootAreaCode())) {
result.add(city);
return result;
}
}
}
}
}else if (form.getRootAreaLevel().equals(AreaCodeConstant.DISTRICT)){
} else if (form.getRootAreaLevel().equals(AreaCodeConstant.DISTRICT)) {
for (AreaCodeDictResultDTO dto : tree) {
if (!CollectionUtils.isEmpty(dto.getChildren())){
if (!CollectionUtils.isEmpty(dto.getChildren())) {
for (AreaCodeDictResultDTO city : dto.getChildren()) {
if (!CollectionUtils.isEmpty(city.getChildren())){
if (!CollectionUtils.isEmpty(city.getChildren())) {
for (AreaCodeDictResultDTO child : city.getChildren()) {
if (child.getCode().equals(form.getRootAreaCode())){
if (child.getCode().equals(form.getRootAreaCode())) {
result.add(child);
return result;
}
@ -524,29 +520,29 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
}
/**
* @Description 拼接 街道-社区
* @Description 拼接 街道-社区
* @Param form
* @Param tree
* @author zxc
* @date 2021/1/12 上午9:21
*/
public List<AreaCodeDictResultDTO> disposeBeforeThreeLevelFinal(AreaCodeDictFormDTO form,List<AreaCodeDictResultDTO> tree){
public List<AreaCodeDictResultDTO> disposeBeforeThreeLevelFinal(AreaCodeDictFormDTO form, List<AreaCodeDictResultDTO> tree) {
List<AreaCodeDictResultDTO> threeDto = disposeBeforeThreeLevel(form, tree);
List<AreaCodeDictResultDTO> twoDto = afterTwoTree(form);
if (CollectionUtils.isEmpty(threeDto)){
if (CollectionUtils.isEmpty(threeDto)) {
return new ArrayList<>();
}
if (!CollectionUtils.isEmpty(twoDto)){
if (form.getRootAreaLevel().equals(AreaCodeConstant.PROVINCE)){
if (!CollectionUtils.isEmpty(twoDto)) {
if (form.getRootAreaLevel().equals(AreaCodeConstant.PROVINCE)) {
for (AreaCodeDictResultDTO dto : tree) {
if (dto.getCode().equals(form.getRootAreaCode())){
if (!CollectionUtils.isEmpty(dto.getChildren())){
if (dto.getCode().equals(form.getRootAreaCode())) {
if (!CollectionUtils.isEmpty(dto.getChildren())) {
for (AreaCodeDictResultDTO city : dto.getChildren()) {
if (!CollectionUtils.isEmpty(city.getChildren())){
if (!CollectionUtils.isEmpty(city.getChildren())) {
for (AreaCodeDictResultDTO child : city.getChildren()) {
List<AreaCodeDictResultDTO> areaList = new ArrayList<>();
for (AreaCodeDictResultDTO area : twoDto) {
if (child.getCode().equals(area.getParentCode())){
if (child.getCode().equals(area.getParentCode())) {
areaList.add(area);
}
}
@ -557,13 +553,13 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
}
}
}
}else if (form.getRootAreaLevel().equals(AreaCodeConstant.CITY)){
} else if (form.getRootAreaLevel().equals(AreaCodeConstant.CITY)) {
for (AreaCodeDictResultDTO dto : threeDto) {
if (!CollectionUtils.isEmpty(dto.getChildren())){
if (!CollectionUtils.isEmpty(dto.getChildren())) {
for (AreaCodeDictResultDTO child : dto.getChildren()) {
List<AreaCodeDictResultDTO> areaList = new ArrayList<>();
for (AreaCodeDictResultDTO area : twoDto) {
if (child.getCode().equals(area.getParentCode())){
if (child.getCode().equals(area.getParentCode())) {
areaList.add(area);
}
}
@ -571,11 +567,11 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
}
}
}
}else{
} else {
for (AreaCodeDictResultDTO dto : threeDto) {
List<AreaCodeDictResultDTO> areaList = new ArrayList<>();
for (AreaCodeDictResultDTO area : twoDto) {
if (dto.getCode().equals(area.getParentCode())){
if (dto.getCode().equals(area.getParentCode())) {
areaList.add(area);
}
}
@ -677,35 +673,35 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
String areaCode = "";
switch (formDTO.getCurrentAreaLevel()) {
case AreaCodeConstant.DISTRICT:
areaCode = addDistrictAreaCode(formDTO.getParentAreaCode(),formDTO.getName());
areaCode = addDistrictAreaCode(formDTO.getParentAreaCode(), formDTO.getName());
break;
case AreaCodeConstant.STREET:
areaCode = addStreetCommAreaCode(ConvertUtils.sourceToTarget(formDTO,AddAreaCodeDictFormDTO.class));
areaCode = addStreetCommAreaCode(ConvertUtils.sourceToTarget(formDTO, AddAreaCodeDictFormDTO.class));
break;
case AreaCodeConstant.COMMUNITY:
areaCode = addStreetCommAreaCode(ConvertUtils.sourceToTarget(formDTO,AddAreaCodeDictFormDTO.class));
areaCode = addStreetCommAreaCode(ConvertUtils.sourceToTarget(formDTO, AddAreaCodeDictFormDTO.class));
break;
default:
log.info("currentAreaLevel值为"+formDTO.getCurrentAreaLevel());
log.info("currentAreaLevel值为" + formDTO.getCurrentAreaLevel());
}
return areaCode;
}
@Override
public List<AreaCodeResultDTO> nextArea(AreaCodeFormDTO formDTO) {
if(StringUtils.isBlank(formDTO.getParentAreaCode())&&StringUtils.isBlank(formDTO.getParentLevel())){
String pKey=RedisKeys.getNextAreaCodeKey(NumConstant.ZERO_STR);
List<AreaCodeResultDTO> list=areaCodeRedis.getNextAreaCodeKey(pKey);
if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)){
if (StringUtils.isBlank(formDTO.getParentAreaCode()) && StringUtils.isBlank(formDTO.getParentLevel())) {
String pKey = RedisKeys.getNextAreaCodeKey(NumConstant.ZERO_STR);
List<AreaCodeResultDTO> list = areaCodeRedis.getNextAreaCodeKey(pKey);
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) {
return list;
}
List<AreaCodeResultDTO> pList=baseDao.selectProvince();
areaCodeRedis.setNextAreaCodeKey(pKey,pList);
List<AreaCodeResultDTO> pList = baseDao.selectProvince();
areaCodeRedis.setNextAreaCodeKey(pKey, pList);
return pList;
}
String key=RedisKeys.getNextAreaCodeKey(formDTO.getParentAreaCode());
List<AreaCodeResultDTO> list=areaCodeRedis.getNextAreaCodeKey(key);
if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)){
String key = RedisKeys.getNextAreaCodeKey(formDTO.getParentAreaCode());
List<AreaCodeResultDTO> list = areaCodeRedis.getNextAreaCodeKey(key);
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) {
return list;
}
switch (formDTO.getParentLevel()) {
@ -723,17 +719,116 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
break;
case AreaCodeConstant.COMMUNITY:
log.info("社区无下级");
list=null;
list = null;
break;
default:
log.warn("parentLevel错误:"+formDTO.getParentLevel());
log.warn("parentLevel错误:" + formDTO.getParentLevel());
}
if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)){
areaCodeRedis.setNextAreaCodeKey(key,list);
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) {
areaCodeRedis.setNextAreaCodeKey(key, list);
}
return list;
}
@Override
public AreaCodeResultDTO getAreaCodeDetail(AreaCodeDetailFormDTO formDTO) {
AreaCodeResultDTO result = new AreaCodeResultDTO();
switch (formDTO.getLevel()) {
case AreaCodeConstant.PROVINCE:
AreaCodeDTO province = baseDao.selectByProvinceCode(formDTO.getAreaCode());
if (province != null) {
result.setAreaName(province.getProvinceName());
result.setAreaCode(province.getProvinceCode());
result.setParentCode(NumConstant.ZERO_STR);
result.setLevel(AreaCodeConstant.PROVINCE);
}
break;
case AreaCodeConstant.CITY:
AreaCodeDTO city = baseDao.selectByCityCode(formDTO.getAreaCode());
if (city != null) {
result.setAreaName(city.getCityName());
result.setAreaCode(city.getCityName());
result.setParentCode(city.getProvinceCode());
result.setLevel(AreaCodeConstant.CITY);
}
break;
case AreaCodeConstant.DISTRICT:
AreaCodeDTO county = baseDao.selectByCountyCode(formDTO.getAreaCode());
if (county != null) {
result.setAreaName(county.getCountyName());
result.setAreaCode(county.getCountyCode());
result.setParentCode(county.getCityCode());
result.setLevel(AreaCodeConstant.DISTRICT);
}
break;
case AreaCodeConstant.STREET:
result = baseDao.selectByStreetCode(formDTO.getAreaCode());
break;
case AreaCodeConstant.COMMUNITY:
result = baseDao.selectByCommunityCode(formDTO.getAreaCode());
break;
default:
log.warn("Level错误:" + formDTO.getLevel());
}
return result;
}
@Override
public List<CustomerTreeDTO> getAreaCodeTree(CustomerTreeDTO formDTO) {
List<AreaCodeResultDTO> tree = new ArrayList<>();
areaCodeHandle(formDTO.getLevel(), formDTO.getAreaCode(), tree);
return ConvertUtils.sourceToTarget(tree, CustomerTreeDTO.class);
}
private void areaCodeHandle(String level, String areaCode, List<AreaCodeResultDTO> tree) {
AreaCodeResultDTO result = new AreaCodeResultDTO();
switch (level) {
case AreaCodeConstant.PROVINCE:
AreaCodeDTO province = baseDao.selectByProvinceCode(areaCode);
if (province != null) {
result.setAreaName(province.getProvinceName());
result.setAreaCode(province.getProvinceCode());
result.setParentCode(NumConstant.ZERO_STR);
result.setLevel(AreaCodeConstant.PROVINCE);
tree.add(result);
}
break;
case AreaCodeConstant.CITY:
AreaCodeDTO city = baseDao.selectByCityCode(areaCode);
if (city != null) {
result.setAreaName(city.getCityName());
result.setAreaCode(city.getCityCode());
result.setParentCode(city.getProvinceCode());
result.setLevel(AreaCodeConstant.CITY);
tree.add(result);
areaCodeHandle(AreaCodeConstant.PROVINCE, city.getProvinceCode(), tree);
}
break;
case AreaCodeConstant.DISTRICT:
AreaCodeDTO county = baseDao.selectByCountyCode(areaCode);
if (county != null) {
result.setAreaName(county.getCountyName());
result.setAreaCode(county.getCountyCode());
result.setParentCode(county.getCityCode());
result.setLevel(AreaCodeConstant.DISTRICT);
tree.add(result);
areaCodeHandle(AreaCodeConstant.CITY, county.getCityCode(), tree);
}
break;
case AreaCodeConstant.STREET:
result = baseDao.selectByStreetCode(areaCode);
tree.add(result);
areaCodeHandle(AreaCodeConstant.DISTRICT, result.getParentCode(), tree);
break;
case AreaCodeConstant.COMMUNITY:
result = baseDao.selectByCommunityCode(areaCode);
tree.add(result);
areaCodeHandle(AreaCodeConstant.STREET, result.getParentCode(), tree);
break;
default:
log.warn("Level错误:" + level);
}
}
private String addDistrictAreaCode(String cityCode, String countyName) {
AreaCodeDTO city = baseDao.selectByCityCode(cityCode);

10
epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeChildDao.xml

@ -20,6 +20,16 @@
and m.`CODE`=#{code}
</select>
<select id="getByCode" resultType="com.epmet.dto.result.AreaCodeResultDTO">
SELECT
*
FROM
area_code_child m
WHERE
m.DEL_FLAG = '0'
and m.`CODE`= #{code}
</select>
<!-- 根据p_code、name查询社区列表 -->
<select id="selectByPCodeAndName" resultType="com.epmet.dto.AreaCodeChildDTO">
SELECT

31
epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeDao.xml

@ -19,6 +19,13 @@
and ac.CITY_CODE=#{cityCode}
</select>
<select id="selectByProvinceCode" resultType="com.epmet.dto.AreaCodeDTO">
select distinct ac.PROVINCE_CODE,ac.PROVINCE_NAME
from area_code ac
where ac.DEL_FLAG='0'
and ac.PROVINCE_CODE=#{provinceCode}
</select>
<select id="selectMaxCounty" resultType="com.epmet.dto.AreaCodeDTO" parameterType="java.lang.String">
select *
from area_code ac
@ -106,4 +113,28 @@
ORDER BY
ac.`code` ASC
</select>
<select id="selectByStreetCode" resultType="com.epmet.dto.result.AreaCodeResultDTO">
SELECT
ac.`code` AS areaCode,
ac.`name` AS areaName,
ac.p_code AS parentCode,
'street' AS LEVEL
FROM
area_code_child ac
WHERE
ac.DEL_FLAG = '0'
AND ac.`code` = #{streetCode}
</select>
<select id="selectByCommunityCode" resultType="com.epmet.dto.result.AreaCodeResultDTO">
SELECT
ac.`code` AS areaCode,
ac.`name` AS areaName,
ac.p_code AS parentCode,
'street' AS LEVEL
FROM
area_code_child ac
WHERE
ac.DEL_FLAG = '0'
AND ac.`code` = #{communityCode}
</select>
</mapper>

1
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java

@ -141,6 +141,7 @@ public class WxMaCodeServiceImpl implements WxMaCodeService {
WxResult<String> result = new WxResult<>();
String url = WxMaCodeConstant.SUBMIT_AUDIT_URL + "?" + "access_token=" + accessToken;
Result<String> submitResult = HttpClientManager.getInstance().sendPostByJSON(url, toJson(auditRequest));
log.info("submitAudit result:{}",JSON.toJSONString(submitResult));
if (!submitResult.success()) {
result.setErrorCode(submitResult.getCode());
result.setErrorMsg(submitResult.getMsg());

5
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;
/**
* 角色名称
*/

5
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
*/

5
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
*/

19
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;
}

26
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<String> roleIds;
private String userId;
private String customerId;
}

40
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;
}
}

23
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<Set<String>> 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<List<NewUserRoleResultDTO>> getStaffExistRole(@RequestBody GetStaffExistRoleFormDTO formDTO);
}

14
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<Set<String>> 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<List<NewUserRoleResultDTO>> getStaffExistRole(GetStaffExistRoleFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "getStaffExistRole", formDTO);
}
}

6
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<List<GovMenuDTO>>().ok(list);
}
@GetMapping("navDigitalCommunity")
public Result<List<GovMenuDTO>> navDigitalCommunity(@LoginUser TokenDto tokenDto, String tableName){
List<GovMenuDTO> list = govMenuService.navDigitalCommunity(tokenDto,tableName);
return new Result<List<GovMenuDTO>>().ok(list);
}
/**
* 权限标识
* @param tokenDto token

11
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<PageData<GovRoleDTO>> page(@RequestParam Map<String, Object> params){
public Result<PageData<GovRoleDTO>> page(@LoginUser TokenDto tokenDto, @RequestParam Map<String, Object> params){
params.put("customerId", tokenDto.getCustomerId());
PageData<GovRoleDTO> page = govRoleService.page(params);
return new Result<PageData<GovRoleDTO>>().ok(page);
}
@ -67,7 +70,7 @@ public class GovRoleController {
return new Result<GovRoleDTO>().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");

6
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<GovRoleMenuDTO>().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");

26
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<List<NewUserRoleResultDTO>> getStaffExistRole(@RequestBody GetStaffExistRoleFormDTO formDTO){
return new Result<List<NewUserRoleResultDTO>>().ok(govRoleUserService.getStaffExistRole(formDTO));
}
}

12
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<GovRoleEntity> {
/**
* Desc: 获取客户下所有角色
* @param customerId
* @author zxc
* @date 2022/7/13 10:09
*/
List<NewUserRoleResultDTO> getCustomerRoles(@Param("customerId")String customerId);
}

9
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<GovRoleMenuEntity> {
*/
List<String> getMenuIdList(String roleId);
/**
* Desc: 根据角色IDs获取菜单IDs列表
* @param roleIds
* @author zxc
* @date 2022/7/12 14:45
*/
List<String> getMenuIdsList(@Param("ids") List<String> roleIds);
/**
* 根据角色id删除角色菜单关系
* @param roleId 角色id

6
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;
}

5
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;
}

5
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;
}

5
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;
}

1
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/GovMenuService.java

@ -129,6 +129,7 @@ public interface GovMenuService extends BaseService<GovMenuEntity> {
* @return java.util.List<GovMenuDTO>
*/
List<GovMenuDTO> getUserMenuNavList(TokenDto tokenDto, String tableName);
List<GovMenuDTO> navDigitalCommunity(TokenDto tokenDto, String tableName);
/**
* 获取用户权限标识

19
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<GovRoleUserEntity> {
* @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<NewUserRoleResultDTO> getStaffExistRole(GetStaffExistRoleFormDTO formDTO);
}

58
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<GovMenuDao, GovMenuEntit
private GovLanguageService govLanguageService;
@Autowired
private GovCustomerMenuService govCustomerMenuService;
@Autowired
private GovRoleDao govRoleDao;
@Autowired
private GovRoleMenuDao govRoleMenuDao;
@Autowired
private GovRoleUserDao govRoleUserDao;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Override
public PageData<GovMenuDTO> page(Map<String, Object> params) {
@ -218,7 +233,26 @@ public class GovMenuServiceImpl extends BaseServiceImpl<GovMenuDao, GovMenuEntit
// PC端 每个客户的菜单信息,不放入缓存,每次登陆重新查询。
// 或者 你可以选择,在给每个客户 配置可见菜单的时候, 在saveCustomerMenu方法中,增加更新缓存的逻辑
tableName = getTableName(tableName);
return getCustomerMenuList(tokenDto.getCustomerId(), MenuTypeEnum.MENU.value(),tableName);
return getCustomerMenuList(tokenDto.getCustomerId(), MenuTypeEnum.MENU.value(),tableName,tokenDto.getUserId());
}
@Override
public List<GovMenuDTO> navDigitalCommunity(TokenDto tokenDto, String tableName) {
tableName = getTableName(tableName);
List<GovMenuEntity> menuList = baseDao.getCustomerMenuList(tokenDto.getCustomerId(), MenuTypeEnum.MENU.value(), HttpContextUtils.getLanguage(),tableName);
Result<Boolean> isRootManager = epmetUserOpenFeignClient.getIsRootManager(tokenDto.getUserId());
if (!isRootManager.success()){
throw new EpmetException("getIsRootManager method is failure");
}
if (isRootManager.getData()){
List<GovMenuDTO> govMenuDTOS = ConvertUtils.sourceToTarget(menuList, GovMenuDTO.class);
return TreeUtils.buildTree(govMenuDTOS);
}
disposeGovMenu(menuList,tokenDto.getUserId());
Map<Boolean, List<GovMenuEntity>> groupByStatus = menuList.stream().collect(Collectors.groupingBy(GovMenuEntity::getRoleStatus));
List<GovMenuDTO> dtoList = ConvertUtils.sourceToTarget(CollectionUtils.isEmpty(groupByStatus.get(true)) ? new ArrayList<>() : groupByStatus.get(true), GovMenuDTO.class);
List<GovMenuDTO> govMenuDTOS = TreeUtils.buildTree(dtoList);
return govMenuDTOS;
}
/**
@ -231,7 +265,7 @@ public class GovMenuServiceImpl extends BaseServiceImpl<GovMenuDao, GovMenuEntit
* @Author zhangyong
* @Date 15:51 2021-03-16
**/
private List<GovMenuDTO> getCustomerMenuList(String customerId, Integer type, String tableName) {
private List<GovMenuDTO> getCustomerMenuList(String customerId, Integer type, String tableName,String userId) {
List<GovMenuDTO> govMenuDTOS = govCustomerMenuRedis.getCustomerMenuList(customerId,type,tableName);
if (!CollectionUtils.isEmpty(govMenuDTOS)){
return govMenuDTOS;
@ -243,6 +277,26 @@ public class GovMenuServiceImpl extends BaseServiceImpl<GovMenuDao, GovMenuEntit
return govMenuDTOS;
}
public void disposeGovMenu(List<GovMenuEntity> menuList,String userId){
List<String> roleIdList = govRoleUserDao.getRoleIdList(userId);
if (CollectionUtils.isEmpty(roleIdList)){
menuList = new ArrayList<>();
return;
}
List<String> 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<String> getUserPermissions(TokenDto tokenDto) {
//用户权限列表

5
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<GovRoleMenuDao, GovR
private GovRoleMenuRedis govRoleMenuRedis;
@Autowired
private GovRoleMenuDao govRoleMenuDao;
@Autowired
private LoginUserUtil loginUserUtil;
@Override
public PageData<GovRoleMenuDTO> page(Map<String, Object> params) {
@ -125,6 +129,7 @@ public class GovRoleMenuServiceImpl extends BaseServiceImpl<GovRoleMenuDao, GovR
GovRoleMenuEntity govRoleMenuEntity = new GovRoleMenuEntity();
govRoleMenuEntity.setMenuId(menuId);
govRoleMenuEntity.setRoleId(roleId);
govRoleMenuEntity.setCustomerId(loginUserUtil.getLoginUserCustomerId());
//保存
insert(govRoleMenuEntity);

11
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleServiceImpl.java

@ -21,7 +21,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
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.GovRoleDao;
import com.epmet.dto.GovRoleDTO;
@ -54,6 +57,8 @@ public class GovRoleServiceImpl extends BaseServiceImpl<GovRoleDao, GovRoleEntit
private GovRoleMenuService govRoleMenuService;
@Autowired
private GovRoleUserService govRoleUserService;
@Autowired
private LoginUserUtil loginUserUtil;
@Override
public PageData<GovRoleDTO> page(Map<String, Object> params) {
@ -66,6 +71,7 @@ public class GovRoleServiceImpl extends BaseServiceImpl<GovRoleDao, GovRoleEntit
@Override
public List<GovRoleDTO> list(Map<String, Object> params) {
params.put("customerId", loginUserUtil.getLoginUserCustomerId());
List<GovRoleEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, GovRoleDTO.class);
@ -74,8 +80,10 @@ public class GovRoleServiceImpl extends BaseServiceImpl<GovRoleDao, GovRoleEntit
private QueryWrapper<GovRoleEntity> getWrapper(Map<String, Object> 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<GovRoleEntity> 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<GovRoleDao, GovRoleEntit
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
govRoleMenuService.deleteByRoleIds(ids);

58
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleUserServiceImpl.java

@ -24,8 +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.NewUserRoleResultDTO;
import com.epmet.entity.GovRoleUserEntity;
import com.epmet.redis.GovRoleUserRedis;
import com.epmet.service.GovRoleUserService;
@ -33,7 +37,9 @@ 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 org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@ -51,6 +57,8 @@ public class GovRoleUserServiceImpl extends BaseServiceImpl<GovRoleUserDao, GovR
private GovRoleUserRedis govRoleUserRedis;
@Autowired
private GovRoleUserDao govRoleUserDao;
@Autowired
private GovRoleDao govRoleDao;
@Override
public PageData<GovRoleUserDTO> page(Map<String, Object> params) {
@ -153,4 +161,54 @@ public class GovRoleUserServiceImpl extends BaseServiceImpl<GovRoleUserDao, GovR
govRoleUserDao.deleteByUserIds(userIds);
}
/**
* Desc: 保存角色
* @param formDTO
* @author zxc
* @date 2022/7/12 16:14
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void roleUser(RoleUserFormDTO formDTO) {
baseDao.deleteByUserId(formDTO.getUserId());
if (!CollectionUtils.isEmpty(formDTO.getRoleIds())){
List<GovRoleUserEntity> 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<NewUserRoleResultDTO> getStaffExistRole(GetStaffExistRoleFormDTO formDTO) {
List<NewUserRoleResultDTO> result = new ArrayList<>();
result = govRoleDao.getCustomerRoles(formDTO.getCustomerId());
if (CollectionUtils.isEmpty(result)){
return result;
}
List<String> 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;
}
}

16
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`;

9
epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovRoleDao.xml

@ -3,4 +3,13 @@
<mapper namespace="com.epmet.dao.GovRoleDao">
<!-- 获取客户下所有角色 -->
<select id="getCustomerRoles" resultType="com.epmet.dto.result.NewUserRoleResultDTO">
SELECT
ID AS roleId,
`name` AS roleName
FROM gov_role
WHERE DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
</select>
</mapper>

12
epmet-module/gov-access/gov-access-server/src/main/resources/mapper/GovRoleMenuDao.xml

@ -4,7 +4,17 @@
<mapper namespace="com.epmet.dao.GovRoleMenuDao">
<select id="getMenuIdList" resultType="java.lang.String">
select menu_id from gov_role_menu where role_id = #{value}
select menu_id from gov_role_menu where del_flag = 0 and role_id = #{value}
</select>
<select id="getMenuIdsList" resultType="java.lang.String">
select menu_id from gov_role_menu
where del_flag = 0
and role_id in (
<foreach collection="ids" item="id" separator=",">
#{id}
</foreach>
)
</select>
<update id="deleteByRoleIds">

2
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<String> newRoles;
}

2
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<String> newRoles;
}

128
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyAreaResultDTO.java

@ -0,0 +1,128 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 组织信息
*
* @author sun
*/
@Data
public class AgencyAreaResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 客户名称
*/
private String customerName;
/**
* 上级组织机构ID
*/
private String pid;
/**
* 所有上级组织机构ID(以英文:隔开)
*/
private String pids;
/**
* 所有上级名称,-连接
*/
private String allParentName;
/**
* 组织名称
*/
private String organizationName;
/**
* 机关级别社区级community
街道:street,
区县级: district,
市级: city
省级:province 机关级别社区级community街道:street,区县级: district,市级: city省级:province
*/
private String level;
/**
* 地区编码
*/
private String areaCode;
/**
* 总人数
*/
private Integer totalUser;
/**
*
*/
private String province;
/**
* 城市名称
*/
private String city;
/**
* 区县名称
*/
private String district;
/**
* 当前组织的上级行政地区编码add0204;举例平阴县对应的是济南市3701
*/
private String parentAreaCode;
/**
* 街道
*/
private String street;
/**
* 社区名称0409
*/
private String community;
/**
* 组织编码
*/
private String code;
/**
* 负责人姓名
*/
private String contacts;
/**
* 联系电话
*/
private String mobile;
}

1
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java

@ -103,6 +103,7 @@ public class HouseInfoDTO implements Serializable {
* 房屋编码
*/
private String houseCode;
private String coding;
/**
* 二维码地址
*/

12
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizationCodeResultDTO.java

@ -6,7 +6,7 @@ import java.io.Serializable;
/**
* @program: epmet-cloud
* @description:小区-楼栋-房屋编码
* @description:小区-楼栋-单元-房屋编码
* @author: wangtong
* @create: 2022-06-29 09:51
**/
@ -14,13 +14,17 @@ import java.io.Serializable;
public class OrganizationCodeResultDTO implements Serializable {
/**
* 可编辑的楼栋编码
* 可编辑的编码
*/
private String coding;
/**
* 不可编辑的楼栋编码
* 不可编辑的编码
*/
private String sysCoding;
/**
* 不可编辑的前缀编码
*/
private String preCoding;
}

1
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<StaffRoleResultDTO> roleList;
private List<StaffRoleResultDTO> newRoleList;
}

2
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;
}

5
epmet-module/gov-org/gov-org-server/pom.xml

@ -18,6 +18,11 @@
<artifactId>gov-org-client</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-access-client</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>oper-crm-client</artifactId>

29
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java

@ -505,4 +505,33 @@ public class AgencyController {
List<AgencyAddressBookTreeResultDTO> dto = agencyService.getAddressTree(name, customerId);
return new Result<List<AgencyAddressBookTreeResultDTO>>().ok(dto);
}
/**
* 获取区域编码下级的所有客户信息
*
* @param areaCode
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.result.AgencyAreaResultDTO>>
* @author zhy
* @date 2022/7/7 10:12
*/
@GetMapping("/areasubagency/{areaCode}")
public Result<List<AgencyAreaResultDTO>> getAreaSubAgency(@LoginUser TokenDto tokenDto, @PathVariable String areaCode) {
List<AgencyAreaResultDTO> dto = agencyService.getAreaSubAgency(tokenDto, areaCode);
return new Result<List<AgencyAreaResultDTO>>().ok(dto);
}
/**
* 客户树
*
* @param
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.result.CustomerRelationTreeDTO>>
* @author zhy
* @date 2022/7/6 13:24
*/
@RequestMapping("customertree")
public Result<List<CustomerTreeDTO>> customerTree(@LoginUser TokenDto tokenDto) {
return new Result<List<CustomerTreeDTO>>().ok(agencyService.getCustomerTree(tokenDto));
}
}

2
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<AgencyTreeResultDTO> getOrgTreeData(@LoginUser TokenDto tokenDTO) {
//tokenDTO.setUserId("dffe71e021a61b900f9025f4f07f6955");
return new Result<AgencyTreeResultDTO>().ok(customerAgencyService.getOrgTreeData(tokenDTO.getUserId()));
return new Result<AgencyTreeResultDTO>().ok(customerAgencyService.getOrgTreeData(tokenDTO.getUserId(),tokenDTO.getCustomerId()));
}
/**

1
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java

@ -92,7 +92,6 @@ public class GridController {
return result;
}
/**
* 删除网格
*/

2
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<ServiceProjectScopeResultDTO> getServiceScopeTree(@LoginUser TokenDto loginInfo) {
ServiceProjectScopeResultDTO r = serviceProjectService.getServiceScopeTree(loginInfo.getUserId());
ServiceProjectScopeResultDTO r = serviceProjectService.getServiceScopeTree(loginInfo.getUserId(),loginInfo.getCustomerId());
return new Result<ServiceProjectScopeResultDTO>().ok(r);
}
}

2
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<UserHouseScopeResultDTO> getServiceScopeTree(@LoginUser TokenDto loginInfo) {
UserHouseScopeResultDTO r = userHouseScopeService.getServiceScopeTree(loginInfo.getUserId());
UserHouseScopeResultDTO r = userHouseScopeService.getServiceScopeTree(loginInfo.getUserId(),loginInfo.getCustomerId());
return new Result<UserHouseScopeResultDTO>().ok(r);
}
}

23
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java

@ -353,5 +353,28 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
CommunityInfoResultDTO getCommunityInfo(OrgInfoPointFormDTO formDTO);
CommunityInfoResultDTO getCommunityInfoByUserId(@Param("userId") String userId);
/**
* 获取区域编码下级的所有客户信息
*
* @param areaCode
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.AgencyAreaResultDTO>>
* @author zhy
* @date 2022/7/7 10:12
*/
List<AgencyAreaResultDTO> getAreaSubAgency(@Param("areaCode") String areaCode);
/**
* 客户树根节点
*
* @param
* @return java.util.List<com.epmet.dto.result.CustomerTreeDTO>
* @author zhy
* @date 2022/7/6 13:32
*/
List<CustomerTreeDTO> selectRootCustomer(@Param("areaCode") String areaCode, @Param("level") String level);
CustomerAgencyEntity getAreaRootAgency(@Param("customerId") String customerId);
}

3
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);
}
}

21
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java

@ -178,4 +178,25 @@ public interface AgencyService {
* @date 2022/5/16 10:43
*/
List<AgencyAddressBookTreeResultDTO> getAddressTree(String name, String customerId);
/**
* 获取区域编码下级的所有客户信息
*
* @param areaCode
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.result.AgencyAreaResultDTO>>
* @author zhy
* @date 2022/7/7 10:12
*/
List<AgencyAreaResultDTO> getAreaSubAgency(TokenDto tokenDto, String areaCode);
/**
* 客户树
*
* @param tokenDto
* @return java.util.List<com.epmet.dto.result.CustomerTreeDTO>
* @author zhy
* @date 2022/7/6 13:32
*/
List<CustomerTreeDTO> getCustomerTree(TokenDto tokenDto);
}

3
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<CustomerAgencyEntity>
* @param staffId
* @return
*/
AgencyTreeResultDTO getOrgTreeData(String staffId);
AgencyTreeResultDTO getOrgTreeData(String staffId,String customerId);
/**
* @Description 事件社区服务热线

4
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);
}

2
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);
}

164
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;
@ -43,6 +44,7 @@ import com.epmet.dao.CustomerDepartmentDao;
import com.epmet.dao.CustomerGridDao;
import com.epmet.dao.IcBuildingDao;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.CustomerDTO;
import com.epmet.dto.GovStaffRoleDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
@ -50,12 +52,14 @@ import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerDepartmentEntity;
import com.epmet.entity.CustomerGridEntity;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.OperCrmFeignClient;
import com.epmet.redis.CustomerAgencyRedis;
import com.epmet.service.AgencyService;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.CustomerOrgParameterService;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Joiner;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@ -66,10 +70,9 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 机关单位信息
@ -99,7 +102,7 @@ public class AgencyServiceImpl implements AgencyService {
@Autowired
private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
private OperCrmFeignClient operCrmFeignClient;
@Autowired
private IcBuildingDao icBuildingDao;
@Autowired
@ -237,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;
}
@ -902,6 +907,46 @@ public class AgencyServiceImpl implements AgencyService {
return NodeTreeUtils.build(list);
}
@Override
public List<AgencyAreaResultDTO> getAreaSubAgency(TokenDto tokenDto, String areaCode) {
if (NumConstant.ZERO_STR.equals(areaCode)) {
CustomerAgencyEntity root = customerAgencyDao.getAreaRootAgency(tokenDto.getCustomerId());
areaCode = root.getAreaCode();
}
List<AgencyAreaResultDTO> list = customerAgencyDao.getAreaSubAgency(areaCode);
list.forEach(item -> {
CustomerDTO customerDTO = new CustomerDTO();
customerDTO.setId(item.getCustomerId());
Result<CustomerDTO> customerResult = operCrmFeignClient.getCustomerInfo(customerDTO);
if (customerResult.success() && null != customerResult.getData()) {
item.setCustomerName(item.getOrganizationName().concat(StrConstant.HYPHEN).concat(customerResult.getData().getCustomerName()));
}
});
return list;
}
@Override
public List<CustomerTreeDTO> getCustomerTree(TokenDto tokenDto) {
List<CustomerTreeDTO> resultList = new ArrayList<>();
List<CustomerTreeDTO> rootList = customerAgencyDao.selectRootCustomer(null, null);
List<CustomerTreeDTO> treeList = new ArrayList<>();
Map<String, CustomerTreeDTO> treeMap = new HashMap<>();
if (!rootList.isEmpty()) {
// 获取已有客户的所有组织架构,并转换成map,保证唯一
rootList.forEach(item -> {
customerHandle(item, treeList);
});
// treeMap = treeList.stream().collect(Collectors.toMap(CustomerTreeDTO::getAreaCode, Function.identity(), (val1, val2) -> val2));
// 组合成组织树
resultList = getCustomerTree(treeList);
}
return resultList;
}
private CustomerAgencyEntity constructInsertEntity(AddAgencyV2FormDTO formDTO, CustomerAgencyDTO parent) {
CustomerAgencyEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, CustomerAgencyEntity.class);
insertEntity.setOrganizationName(formDTO.getAgencyName());
@ -951,4 +996,109 @@ public class AgencyServiceImpl implements AgencyService {
return insertEntity;
}
/**
* 处理子客户
*
* @param customer
* @return com.epmet.dto.result.CustomerTreeDTO
* @author zhy
* @date 2022/7/6 13:54
*/
private void customerHandle(CustomerTreeDTO customer, List<CustomerTreeDTO> treeList) {
Result<List<CustomerTreeDTO>> area = epmetCommonServiceOpenFeignClient.areaCodeTree(customer);
if (area.success()) {
if (area.getData() != null) {
treeList.addAll(area.getData());
}
}
}
/**
* 生成客户树
*
* @param
* @return com.epmet.dto.result.CustomerTreeDTO
* @author wgf
* @date 2022/7/6 13:54
*/
private List<CustomerTreeDTO> getCustomerTree(List<CustomerTreeDTO> treeList) {
treeList = treeList.stream().distinct().collect(Collectors.toList());
// 回显客户名称
treeList.forEach(item -> {
List<String> customerNames = new ArrayList<>();
List<CustomerTreeDTO> subList = customerAgencyDao.selectRootCustomer(item.getAreaCode(), item.getLevel());
subList.forEach(customer -> {
CustomerDTO customerDTO = new CustomerDTO();
customerDTO.setId(customer.getCustomerId());
Result<CustomerDTO> customerResult = operCrmFeignClient.getCustomerInfo(customerDTO);
if (customerResult.success() && null != customerResult.getData()) {
customerNames.add(customerResult.getData().getCustomerName());
}
});
item.setCustomerName(Joiner.on(",").join(customerNames));
});
// 省
List<CustomerTreeDTO> province = new ArrayList<CustomerTreeDTO>();
// 市
List<CustomerTreeDTO> city = new ArrayList<CustomerTreeDTO>();
// 区
List<CustomerTreeDTO> district = new ArrayList<CustomerTreeDTO>();
// 街道
List<CustomerTreeDTO> street = new ArrayList<CustomerTreeDTO>();
// 社区
List<CustomerTreeDTO> community = new ArrayList<CustomerTreeDTO>();
for (int i = 0; i < treeList.size(); i++) {
if ("province".equals(treeList.get(i).getLevel())) {
province.add(treeList.get(i));
} else if ("city".equals(treeList.get(i).getLevel())) {
city.add(treeList.get(i));
} else if ("district".equals(treeList.get(i).getLevel())) {
district.add(treeList.get(i));
} else if ("street".equals(treeList.get(i).getLevel())) {
street.add(treeList.get(i));
} else if ("community".equals(treeList.get(i).getLevel())) {
community.add(treeList.get(i));
}
}
// 组装街道树
for (CustomerTreeDTO streetDto : street) {
this.addChild(streetDto, community);
}
// 组装区树
for (CustomerTreeDTO districtDto : district) {
this.addChild(districtDto, street);
}
// 组装市树
for (CustomerTreeDTO cityDto : city) {
this.addChild(cityDto, district);
}
// 组装省树
for (CustomerTreeDTO provinceDto : province) {
this.addChild(provinceDto, city);
}
return province;
}
/**
* 组装子项
*
* @param parentDto
* @param childList
*/
private void addChild(CustomerTreeDTO parentDto, List<CustomerTreeDTO> childList) {
List<CustomerTreeDTO> children = new ArrayList<CustomerTreeDTO>();
for (CustomerTreeDTO childDto : childList) {
if (parentDto.getAreaCode().equals(childDto.getParentCode())) {
children.add(childDto);
}
}
parentDto.setChildren(children);
}
}

6
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<CustomerAgencyDao
@Override
public AgencyTreeResultDTO getOrgTreeData(String staffId) {
public AgencyTreeResultDTO getOrgTreeData(String staffId,String customerId) {
AgencyTreeResultDTO result = new AgencyTreeResultDTO();
//1.查询工作人员所属组织信息
AgencyResultDTO rootAgency = baseDao.selectAgencyByStaffId(staffId);
@ -1191,7 +1191,7 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
result.setLongitude(rootAgency.getLongitude());
result.setLatitude(rootAgency.getLatitude());
String orgTreeCacheKey = RedisKeys.getOrgTreeCacheKey(rootAgency.getAgencyId());
String orgTreeCacheKey = RedisKeys.getOrgTreeCacheKey(rootAgency.getAgencyId(),customerId);
Object o = redisUtils.get(orgTreeCacheKey);
if (o == null){
ExtStaffPermissionResultDTO res = baseDao.selectAgencyAndGridById(rootAgency.getAgencyId());
@ -1460,7 +1460,7 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
result.setLongitude(rootAgency.getLongitude());
result.setLatitude(rootAgency.getLatitude());
String orgTreeCacheKey = RedisKeys.getOrgTreeCacheKey(rootAgency.getId());
String orgTreeCacheKey = RedisKeys.getOrgTreeCacheKey(rootAgency.getId(),rootAgency.getCustomerId());
Object o = redisUtils.get(orgTreeCacheKey);
if (o == null) {
ExtStaffPermissionResultDTO res = baseDao.selectAgencyAndGridById(rootAgency.getId());

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java

@ -348,7 +348,9 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
}
customerGridDTO.setCenterAddress(editGridFormDTO.getCenterAddress());
baseDao.editGrid(customerGridDTO);
//一些下拉组织树的缓存要清除掉
String orgTreeCachePrexKey = RedisKeys.getOrgTreeCachePrexKey(tokenDto.getCustomerId());
redisUtils.deleteByPrex(orgTreeCachePrexKey);
return new Result();
}

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java

@ -574,7 +574,7 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
if (null == houseInfo) {
return houseInfo;
}
if (null != houseInfo && StringUtils.isNotBlank(houseInfo.getAgencyId())) {
if (StringUtils.isNotBlank(houseInfo.getAgencyId())) {
AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(houseInfo.getAgencyId());
houseInfo.setAgencyPathName(StringUtils.isNotBlank(agencyInfoCache.getAllParentName()) ? agencyInfoCache.getAllParentName().concat(StrConstant.HYPHEN).concat(agencyInfoCache.getOrganizationName()) : agencyInfoCache.getOrganizationName());
houseInfo.setAreaCode(StringUtils.isNotBlank(agencyInfoCache.getAreaCode()) ? agencyInfoCache.getAreaCode() : StrConstant.EPMETY_STR);

8
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/ServiceProjectServiceImpl.java

@ -1,16 +1,12 @@
package com.epmet.service.impl;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dao.CustomerAgencyDao;
import com.epmet.dao.CustomerGridDao;
import com.epmet.dao.IcNeighborHoodDao;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.result.AgencyTreeResultDTO;
import com.epmet.dto.result.ServiceProjectScopeResultDTO;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.IcPlaceOrgEntity;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.NeighborHoodService;
import com.epmet.service.ServiceProjectService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -42,8 +38,8 @@ public class ServiceProjectServiceImpl implements ServiceProjectService {
}
@Override
public ServiceProjectScopeResultDTO getServiceScopeTree(String staffId) {
AgencyTreeResultDTO orgTreeData = customerAgencyService.getOrgTreeData(staffId);
public ServiceProjectScopeResultDTO getServiceScopeTree(String staffId,String customerId) {
AgencyTreeResultDTO orgTreeData = customerAgencyService.getOrgTreeData(staffId,customerId);
ServiceProjectScopeResultDTO rootScope = new ServiceProjectScopeResultDTO();
rootScope.setObjectId(orgTreeData.getAgencyId());

14
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java

@ -4,6 +4,7 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
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.RedisUtils;
@ -78,6 +79,8 @@ public class StaffServiceImpl implements StaffService {
private CustomerStaffRedis customerStaffRedis;
@Resource
private StaffOrgRelationDao staffOrgRelationDao;
@Autowired
private GovAccessFeignClient govAccessFeignClient;
@Override
public Result<StaffsInAgencyResultDTO> 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();
}

4
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());

51
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -930,4 +930,55 @@
limit 1
</select>
<select id="getAreaSubAgency" resultType="com.epmet.dto.result.AgencyAreaResultDTO">
SELECT
ac.*
FROM
customer_agency ac
INNER JOIN customer_org_parameter cop ON cop.CUSTOMER_ID = ac.CUSTOMER_ID
WHERE
ac.DEL_FLAG = '0'
AND cop.DEL_FLAG = '0'
AND cop.PARAMETER_KEY = 'area_code_switch'
AND ac.PID = '0'
AND cop.PARAMETER_VALUE = 'open'
<if test="areaCode != null and areaCode != ''">
AND ac.AREA_CODE LIKE CONCAT(#{areaCode}, '%')
</if>
</select>
<select id="selectRootCustomer" resultType="com.epmet.dto.result.CustomerTreeDTO">
SELECT
c.*
FROM
customer_agency c
WHERE
c.DEL_FLAG = '0'
AND c.pid = '0'
AND c.AREA_CODE IS NOT NULL
<if test="areaCode != null and areaCode != ''">
AND c.AREA_CODE = #{areaCode}
</if>
<if test="level != null and level != ''">
AND c.LEVEL = #{level}
</if>
</select>
<select id="getAreaRootAgency" resultType="com.epmet.entity.CustomerAgencyEntity">
SELECT
ac.*
FROM
customer_agency ac
INNER JOIN customer_org_parameter cop ON cop.CUSTOMER_ID = ac.CUSTOMER_ID
WHERE
ac.DEL_FLAG = '0'
AND cop.DEL_FLAG = '0'
AND cop.PARAMETER_KEY = 'area_code_switch'
AND ac.PID = '0'
AND cop.PARAMETER_VALUE = 'open'
<if test="customerId != null and customerId != ''">
AND ac.CUSTOMER_ID = #{customerId}
</if>
</select>
</mapper>

1
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

@ -274,6 +274,7 @@
n.GRID_ID,
gr.GRID_NAME,
ih.HOUSE_CODE,
ih.CODING,
ih.HOUSE_QRCODE_URL
FROM ic_house ih
left JOIN ic_neighbor_hood n ON ( ih.NEIGHBOR_HOOD_ID = n.id AND n.DEL_FLAG = '0')

5
epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/CustomerRelationDTO.java

@ -83,6 +83,11 @@ public class CustomerRelationDTO implements Serializable {
*/
private String areaCode;
/**
* 当前客户的地区编码实际就是根组织的area_code
*/
private String parentAreaCode;
/**
* 删除标识0未删除1已删除
*/

41
epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/CustomerRelationFormDTO.java

@ -0,0 +1,41 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* 客户关系表(01.14 add)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-02-03
*/
@Data
public class CustomerRelationFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
}

111
epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java

@ -0,0 +1,111 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 客户关系表(01.14 add)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-02-03
*/
@Data
public class CustomerRelationTreeDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户id
*/
private String customerId;
/**
* 父级客户id;如果是顶级客户此列=0
*/
private String parentCustomerId;
/**
* 当前客户的所有父级客户id,以英文冒号隔开如果是顶级客户此列=0
*/
private String pids;
/**
* 当前客户类型取值 external:外部客户internal:内部客户
*/
private String customerType;
/**
* 父级客户类型取值 external:外部客户internal:内部客户;如果是顶级客户此列=0
*/
private String parentCustomerType;
/**
* open,closed是否启用
*/
private String status;
/**
* 当前客户级别社区级community
街道:street,
区县级: district,
市级: city
省级:province
*/
private String level;
/**
* 当前客户的地区编码实际就是根组织的area_code
*/
private String areaCode;
/**
* 当前客户的地区名称
*/
private String areaName;
/**
* 客户名称
*/
private String customerName;
/**
* 有效期
*/
private Date validityTime;
/**
* 客户logo
*/
private String logo;
/**
* 下一级
*/
private List<CustomerRelationTreeDTO> children;
}

12
epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/OperCrmOpenFeignClient.java

@ -133,4 +133,16 @@ public interface OperCrmOpenFeignClient {
**/
@GetMapping("/oper/crm/customer/getexternalandparentcustomerid/{customerId}")
Result<String> getExternalAndParentCustomerId(@PathVariable("customerId") String customerId);
/**
* 获取子客户
*
* @param customerId
* @return com.epmet.commons.tools.utils.Result<java.util.List<java.lang.String>>
* @author zhy
* @date 2022/7/8 13:41
*/
@GetMapping("/oper/crm/customerRelation/subcustomer/{customerId}")
Result<List<String>> getSubCustomer(@PathVariable("customerId") String customerId);
}

5
epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/fallback/OperCrmOpenFeignClientFallback.java

@ -99,4 +99,9 @@ public class OperCrmOpenFeignClientFallback implements OperCrmOpenFeignClient {
public Result<String> getExternalAndParentCustomerId(String customerId) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CRM_SERVER, "getExternalAndParentCustomerId", customerId);
}
@Override
public Result<List<String>> getSubCustomer(String customerId) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CRM_SERVER, "getSubCustomer", customerId);
}
}

6
epmet-module/oper-crm/oper-crm-server/pom.xml

@ -111,6 +111,12 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>common-service-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

104
epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java

@ -0,0 +1,104 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
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;
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.CustomerRelationDTO;
import com.epmet.dto.result.CustomerRelationTreeDTO;
import com.epmet.service.CustomerRelationService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* 客户关系表(01.14 add)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-06
*/
@RestController
@RequestMapping("customerRelation")
public class CustomerRelationController {
@Autowired
private CustomerRelationService customerRelationService;
@RequestMapping("page")
public Result<PageData<CustomerRelationDTO>> page(@RequestParam Map<String, Object> params) {
PageData<CustomerRelationDTO> page = customerRelationService.page(params);
return new Result<PageData<CustomerRelationDTO>>().ok(page);
}
@RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
public Result<CustomerRelationDTO> get(@PathVariable("id") String id) {
CustomerRelationDTO data = customerRelationService.get(id);
return new Result<CustomerRelationDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody CustomerRelationDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
customerRelationService.saveV2(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody CustomerRelationDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
customerRelationService.update(dto);
return new Result();
}
@RequestMapping(value = "delete", method = {RequestMethod.POST, RequestMethod.DELETE})
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
customerRelationService.delete(ids);
return new Result();
}
/**
* 客户树
*
* @param
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.result.CustomerRelationTreeDTO>>
* @author zhy
* @date 2022/7/6 13:24
*/
@RequestMapping("customertree")
public Result<List<CustomerRelationTreeDTO>> customerTree(@LoginUser TokenDto tokenDto) {
return new Result<List<CustomerRelationTreeDTO>>().ok(customerRelationService.getCustomerTree(tokenDto));
}
/**
* 获取子客户
*
* @param customerId
* @return com.epmet.commons.tools.utils.Result<java.util.List<java.lang.String>>
* @author zhy
* @date 2022/7/8 13:41
*/
@GetMapping("subcustomer/{customerId}")
public Result<List<String>> getSubCustomer(@PathVariable("customerId") String customerId) {
if(StringUtils.isNotBlank(customerId)){
List<String> result = customerRelationService.getSubCustomer(customerId);
return new Result<List<String>>().ok(result);
}
return new Result<>();
}
}

33
epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerRelationDao.java

@ -19,8 +19,10 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.CustomerRelationDTO;
import com.epmet.dto.result.CustomerRelationTreeDTO;
import com.epmet.entity.CustomerRelationEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -48,4 +50,35 @@ public interface CustomerRelationDao extends BaseDao<CustomerRelationEntity> {
* @return java.util.List<java.lang.String>
*/
List<String> selectAllSubCustomerIds(String customerId);
/**
* 客户树根节点
*
* @param customerId
* @return java.util.List<com.epmet.dto.result.CustomerRelationTreeDTO>
* @author zhy
* @date 2022/7/6 13:32
*/
List<CustomerRelationTreeDTO> selectRootCustomerByCustomerId(@Param("customerId") String customerId);
/**
* 客户树子节点
*
* @param customerPid
* @return java.util.List<com.epmet.dto.result.CustomerRelationTreeDTO>
* @author zhy
* @date 2022/7/6 13:32
*/
List<CustomerRelationTreeDTO> selectSubCustomerByPid(@Param("customerPid") String customerPid);
/**
* 获取子客户
*
* @param customerId
* @return com.epmet.commons.tools.utils.Result<java.util.List<java.lang.String>>
* @author zhy
* @date 2022/7/8 13:41
*/
List<String> getSubCustomer(@Param("customerId") String customerId);
}

5
epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/entity/CustomerRelationEntity.java

@ -79,4 +79,9 @@ public class CustomerRelationEntity extends BaseEpmetEntity {
*/
private String areaCode;
/**
* 当前客户的地区编码实际就是根组织的area_code
*/
private String parentAreaCode;
}

25
epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerRelationService.java

@ -19,7 +19,9 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.CustomerRelationDTO;
import com.epmet.dto.result.CustomerRelationTreeDTO;
import com.epmet.entity.CustomerRelationEntity;
import java.util.List;
@ -73,6 +75,16 @@ public interface CustomerRelationService extends BaseService<CustomerRelationEnt
*/
void save(CustomerRelationDTO dto);
/**
* 默认保存-数据融合版本
*
* @param dto
* @return void
* @author zhy
* @date 2022/7/7 14:56
*/
void saveV2(CustomerRelationDTO dto);
/**
* 默认更新
*
@ -121,4 +133,17 @@ public interface CustomerRelationService extends BaseService<CustomerRelationEnt
* @Date 2021/2/3 21:37
**/
List<String> getAllSubCustomerIds(String customerId);
/**
* 客户树
*
* @param tokenDto
* @return java.util.List<com.epmet.dto.result.CustomerRelationTreeDTO>
* @author zhy
* @date 2022/7/6 13:32
*/
List<CustomerRelationTreeDTO> getCustomerTree(TokenDto tokenDto);
List<String> getSubCustomer(String customerId);
}

69
epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java

@ -25,11 +25,17 @@ import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
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.Result;
import com.epmet.dao.CustomerRelationDao;
import com.epmet.dto.CustomerDTO;
import com.epmet.dto.CustomerRelationDTO;
import com.epmet.dto.form.AreaCodeDetailFormDTO;
import com.epmet.dto.result.AreaCodeResultDTO;
import com.epmet.dto.result.CustomerRelationTreeDTO;
import com.epmet.entity.CustomerRelationEntity;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.redis.CustomerRedis;
import com.epmet.service.CustomerRelationService;
import com.epmet.service.CustomerService;
@ -58,6 +64,8 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl<CustomerRelatio
private CustomerRedis customerRedis;
@Autowired
private CustomerService customerService;
@Autowired
private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient;
@Override
public PageData<CustomerRelationDTO> page(Map<String, Object> params) {
@ -75,8 +83,8 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl<CustomerRelatio
return ConvertUtils.sourceToTarget(entityList, CustomerRelationDTO.class);
}
private QueryWrapper<CustomerRelationEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
private QueryWrapper<CustomerRelationEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<CustomerRelationEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
@ -97,6 +105,15 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl<CustomerRelatio
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void saveV2(CustomerRelationDTO dto) {
CustomerRelationEntity entity = ConvertUtils.sourceToTarget(dto, CustomerRelationEntity.class);
entity.setCustomerType("internal");
entity.setParentCustomerType("internal");
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(CustomerRelationDTO dto) {
@ -134,12 +151,12 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl<CustomerRelatio
*/
@Override
public String getRootCustomerId(String customerId) {
CustomerRelationDTO customerRelationDTO=this.getByCustomerId(customerId);
CustomerRelationDTO customerRelationDTO = this.getByCustomerId(customerId);
if (null == customerRelationDTO) {
log.info(String.format("根据客户id:%s查找customer_relation为空",customerId));
log.info(String.format("根据客户id:%s查找customer_relation为空", customerId));
return StrConstant.EPMETY_STR;
}
log.info(JSON.toJSONString(customerRelationDTO,true));
log.info(JSON.toJSONString(customerRelationDTO, true));
if (!NumConstant.ZERO_STR.equals(customerRelationDTO.getParentCustomerId())) {
log.info("parentCustomerId is not equals 0 so continue");
return getRootCustomerId(customerRelationDTO.getParentCustomerId());
@ -170,4 +187,46 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl<CustomerRelatio
return new ArrayList<>();
}
@Override
public List<CustomerRelationTreeDTO> getCustomerTree(TokenDto tokenDto) {
// String customerId = tokenDto.getCustomerId();
String customerId = "78e2b2227c07de1fe54da14e2b2d9eb6";
List<CustomerRelationTreeDTO> rootList = baseDao.selectRootCustomerByCustomerId(customerId);
if (!rootList.isEmpty()) {
rootList.forEach(this::getSubCustomer);
}
return rootList;
}
@Override
public List<String> getSubCustomer(String customerId) {
return baseDao.getSubCustomer(customerId);
}
/**
* 处理子客户
*
* @param customer
* @return com.epmet.dto.result.CustomerRelationTreeDTO
* @author zhy
* @date 2022/7/6 13:54
*/
private CustomerRelationTreeDTO getSubCustomer(CustomerRelationTreeDTO customer) {
AreaCodeDetailFormDTO formDTO = new AreaCodeDetailFormDTO();
formDTO.setAreaCode(customer.getAreaCode());
formDTO.setLevel(customer.getLevel());
Result<AreaCodeResultDTO> area = epmetCommonServiceOpenFeignClient.areaCodeDetail(formDTO);
if (area.success()) {
if (area.getData() != null) {
customer.setAreaName(area.getData().getAreaName());
}
}
List<CustomerRelationTreeDTO> children = baseDao.selectSubCustomerByPid(customer.getCustomerId());
customer.setChildren(children);
if (!children.isEmpty()) {
children.forEach(this::getSubCustomer);
}
return customer;
}
}

42
epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml

@ -23,4 +23,46 @@
cr.DEL_FLAG = '0'
AND cr.PIDS like CONCAT(#{customerId},'%')
</select>
<select id="selectRootCustomerByCustomerId" parameterType="java.lang.String" resultType="com.epmet.dto.result.CustomerRelationTreeDTO">
SELECT
cr.*,
c.CUSTOMER_NAME,
c.VALIDITY_TIME,
c.LOGO
FROM
customer_relation cr
LEFT JOIN customer c ON c.id = cr.CUSTOMER_ID
WHERE
cr.DEL_FLAG = '0'
-- AND c.DEL_FLAG = '0'
AND cr.CUSTOMER_ID = #{customerId}
</select>
<select id="selectSubCustomerByPid" parameterType="java.lang.String" resultType="com.epmet.dto.result.CustomerRelationTreeDTO">
SELECT
cr.*,
c.CUSTOMER_NAME,
c.VALIDITY_TIME,
c.LOGO
FROM
customer_relation cr
LEFT JOIN customer c ON c.id = cr.CUSTOMER_ID
WHERE
cr.DEL_FLAG = '0'
-- AND c.DEL_FLAG = '0'
AND cr.PARENT_CUSTOMER_ID = #{customerPid}
</select>
<select id="getSubCustomer" parameterType="java.lang.String" resultType="java.lang.String">
SELECT
CUSTOMER_ID
FROM
customer_relation
WHERE
`STATUS` = 'open'
AND FIND_IN_SET( #{customerId}, pids )
AND DEL_FLAG = '0'
</select>
</mapper>

1
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HomeInfoResultDTO.java

@ -19,5 +19,6 @@ public class HomeInfoResultDTO implements Serializable {
private String houseId;
private String houseName;
private String houseCode;
private String coding;
private String qrCodeUrl;
}

9
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<Boolean> icDataSyncTask(String customerId);
/**
* Desc: 查询是否是超级管理员
* @param userId
* @author zxc
* @date 2022/7/13 11:03
*/
@PostMapping("/epmetuser/staffrole/getIsRootManager")
Result<Boolean> getIsRootManager(@RequestParam("userId") String userId);
}

5
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<Boolean> getIsRootManager(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getIsRootManager", userId);
}
}

2
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeWelfareController.java

@ -77,7 +77,7 @@ public class ChangeWelfareController {
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<ChangeWelfareDTO> list = changeWelfareService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, ChangeWelfareExcel.class);
ExcelUtils.exportEpmetExcel(response, null, list, ChangeWelfareExcel.class);
}
/**

11
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java

@ -217,4 +217,15 @@ public class StaffRoleController {
return new Result<PageData<CustomerGridStaffResultDTO>>().ok(staffRoleService.getGridStaffList(formDTO));
}
/**
* Desc: 查询是否是超级管理员
* @param userId
* @author zxc
* @date 2022/7/13 11:03
*/
@PostMapping("getIsRootManager")
public Result<Boolean> getIsRootManager(@RequestParam("userId") String userId){
return new Result<Boolean>().ok(staffRoleService.getIsRootManager(userId));
}
}

5
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<List<UserRoleResultDTO>> getUserRoleInfo(@RequestBody UserRoleFormDTO userRoleFormDTO) {
public Result<List<NewUserRoleResultDTO>> 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<List<UserRoleResultDTO>> getUserRoleInfoByUserId(@PathVariable("userId") String userId) {
public Result<List<NewUserRoleResultDTO>> getUserRoleInfoByUserId(@PathVariable("userId") String userId) {
return userRoleService.getUserRoleInfoByUserId(userId);
}

2
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java

@ -182,4 +182,6 @@ public interface StaffRoleDao extends BaseDao<StaffRoleEntity> {
* @date 2022/1/17 2:45 下午
*/
List<CustomerGridStaffResultDTO> getStaffList(GridStaffFormDTO formDTO);
List<String> getRoleKeys(@Param("staffId")String staffId);
}

5
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<UserRoleEntity> {
* @Author wangc
* @Date 2020.03.30 15:35
**/
List<UserRoleResultDTO> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO);
List<NewUserRoleResultDTO> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO);
/**
* @Description 根据用户Id网格Id客户Id查询用户角色key列表
@ -62,7 +63,7 @@ public interface UserRoleDao extends BaseDao<UserRoleEntity> {
* @Author zhangyong
* @Date 14:24 2020-07-23
**/
List<UserRoleResultDTO> getUserRoleInfoByUserId(@Param("userId") String userId);
List<NewUserRoleResultDTO> getUserRoleInfoByUserId(@Param("userId") String userId);
/**
* @param formDTO

86
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/ChangeWelfareExcel.java

@ -3,8 +3,6 @@ package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 福利表
*
@ -14,14 +12,14 @@ import java.util.Date;
@Data
public class ChangeWelfareExcel {
@Excel(name = "主键")
private String id;
@Excel(name = "epmet用户主键")
private String userId;
@Excel(name = "epmet网格ID")
private String gridId;
// @Excel(name = "主键")
// private String id;
//
// @Excel(name = "epmet用户主键")
// private String userId;
//
// @Excel(name = "epmet网格ID")
// private String gridId;
@Excel(name = "姓名")
private String name;
@ -32,44 +30,44 @@ public class ChangeWelfareExcel {
@Excel(name = "手机号")
private String mobile;
@Excel(name = "性别 0女 1男")
@Excel(name = "性别",replace = { "男_1", "女_0", "女_2", " _null"} )
private String gender;
@Excel(name = "类型")
private String type;
// @Excel(name = "类型")
// private String type;
//
@Excel(name = "加入时间")
private String joinDate;
@Excel(name = "加入原因")
private String joinReason;
@Excel(name = "移除时间")
private String removeDate;
@Excel(name = "移除原因")
private String removeReason;
@Excel(name = "删除标记 0:未删除,1:已删除")
private String delFlag;
@Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "创建人")
private String createdBy;
@Excel(name = "创建时间")
private Date createdTime;
@Excel(name = "更新人")
private String updatedBy;
@Excel(name = "更新时间")
private Date updatedTime;
@Excel(name = "客户ID")
private String customerId;
//
// @Excel(name = "加入原因")
// private String joinReason;
// @Excel(name = "移除时间")
// private String removeDate;
//
// @Excel(name = "移除原因")
// private String removeReason;
//
// @Excel(name = "删除标记 0:未删除,1:已删除")
// private String delFlag;
// @Excel(name = "乐观锁")
// private Integer revision;
//
// @Excel(name = "创建人")
// private String createdBy;
//
// @Excel(name = "创建时间")
// private Date createdTime;
//
// @Excel(name = "更新人")
// private String updatedBy;
//
// @Excel(name = "更新时间")
// private Date updatedTime;
//
// @Excel(name = "客户ID")
// private String customerId;
}

8
epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java

@ -122,4 +122,12 @@ public interface StaffRoleService extends BaseService<StaffRoleEntity> {
* @date 2022/1/17 2:37 下午
*/
PageData<CustomerGridStaffResultDTO> getGridStaffList(GridStaffFormDTO formDTO);
/**
* Desc: 查询是否是超级管理员
* @param userId
* @author zxc
* @date 2022/7/13 11:03
*/
Boolean getIsRootManager(String userId);
}

5
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<UserRoleEntity> {
* @Author wangc
* @Date 2020.03.30 15:35
**/
Result<List<UserRoleResultDTO>> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO);
Result<List<NewUserRoleResultDTO>> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO);
/**
* 添加用户角色关系
@ -121,7 +122,7 @@ public interface UserRoleService extends BaseService<UserRoleEntity> {
* @Author zhangyong
* @Date 14:24 2020-07-23
**/
Result<List<UserRoleResultDTO>> getUserRoleInfoByUserId(String userId);
Result<List<NewUserRoleResultDTO>> getUserRoleInfoByUserId(String userId);
/**
* @Description 查询此人是不是党员true是党员false不是党员

16
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<CustomerStaffDao,
private GovStaffRoleDao govStaffRoleDao;
@Autowired
private OperCrmOpenFeignClient operCrmOpenFeignClient;
@Autowired
private GovAccessFeignClient govAccessFeignClient;
@Override
public PageData<CustomerStaffDTO> page(Map<String, Object> params) {
@ -283,7 +288,16 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl<CustomerStaffDao,
}
}));
resultDTO.setRoleList(staffRoleList);
// 获取新角色
GetStaffExistRoleFormDTO getStaffExistRoleFormDTO = ConvertUtils.sourceToTarget(fromDTO, GetStaffExistRoleFormDTO.class);
Result<List<NewUserRoleResultDTO>> staffExistRole = govAccessFeignClient.getStaffExistRole(getStaffExistRoleFormDTO);
if (!staffExistRole.success()){
throw new EpmetException("getStaffExistRole method is failure");
}
if (!CollectionUtils.isEmpty(staffExistRole.getData())){
List<StaffRoleResultDTO> staffRoleResultDTOS = ConvertUtils.sourceToTarget(staffExistRole.getData(), StaffRoleResultDTO.class);
resultDTO.setNewRoleList(staffRoleResultDTOS);
}
return new Result<StaffInitResultDTO>().ok(resultDTO);
}

7
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -2525,10 +2525,13 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
throw new EpmetException(EpmetErrorCode.ORG_ADD_FAILED.getCode(), errorMsg, errorMsg);
}
}
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(houseInfo.getGridId());
if (null == gridInfo) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询网格信息失败", "查询网格信息失败");
}
dto.setCustomerId(houseInfo.getCustomerId());
dto.setAgencyId(houseInfo.getAgencyId());
dto.setPids(houseInfo.getAgencyPids());
dto.setPids(gridInfo.getPids());
dto.setGridId(houseInfo.getGridId());
dto.setVillageId(houseInfo.getNeighborHoodId());
dto.setBuildId(houseInfo.getBuildingId());

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save