From 4277d64290bb4457e8dcd2452c4a2009da1481f6 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Wed, 6 Jul 2022 10:32:47 +0800 Subject: [PATCH 01/40] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/AreaCodeController.java | 13 +++++++++++++ .../java/com/epmet/service/AreaCodeService.java | 12 ++++++++++-- .../com/epmet/service/impl/AreaCodeServiceImpl.java | 6 ------ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java index 7bf4e537f8..7fb844a8f9 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java @@ -99,6 +99,19 @@ public class AreaCodeController { return new Result>().ok(areaCodeService.areaCodeDictTreePlus(formDTO)); } + /** + * 行政编码查询 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author zhy + * @date 2022/7/6 10:28 + */ + @PostMapping("areacodedicttreenew") + public Result> areaCodeDictTreeNew(@RequestBody AreaCodeDictFormDTO formDTO) { + return new Result>().ok(areaCodeService.areaCodeDictTree(formDTO)); + } + /** * @param formDTO * @author yinzuomei diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java index e452332fea..baac590da6 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java @@ -99,14 +99,22 @@ public interface AreaCodeService extends BaseService { */ void delete(String[] ids); + /** + * 行政编码查询 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author zhy + * @date 2022/7/6 10:28 + */ + List areaCodeDictTree(AreaCodeDictFormDTO formDTO); + /** * @Description 行政地区编码查询 * @Param formDTO * @author zxc * @date 2021/1/7 下午1:41 */ - List areaCodeDictTree(AreaCodeDictFormDTO formDTO); - List areaCodeDictTreePlus(AreaCodeDictFormDTO formDTO); /** diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index 4d873b333e..0300b2ae78 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -124,12 +124,6 @@ public class AreaCodeServiceImpl extends BaseServiceImpl areaCodeDictTree(AreaCodeDictFormDTO formDTO) { List tree = new ArrayList<>(); From 89192bf6a3117338543951252608ae7c5c1481fc Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Wed, 6 Jul 2022 10:40:54 +0800 Subject: [PATCH 02/40] =?UTF-8?q?=E5=8E=BB=E6=8E=89redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/AreaCodeServiceImpl.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index 0300b2ae78..a414b229aa 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -128,13 +128,13 @@ public class AreaCodeServiceImpl extends BaseServiceImpl areaCodeDictTree(AreaCodeDictFormDTO formDTO) { List 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 areaCodeDictResultDTOS = disposeTree(formDTO); - areaCodeRedis.set(AreaCodeConstant.SCREEN_TREE,areaCodeDictResultDTOS); +// areaCodeRedis.set(AreaCodeConstant.SCREEN_TREE,areaCodeDictResultDTOS); tree = areaCodeDictResultDTOS; - } +// } if (StringUtils.isBlank(formDTO.getRootAreaCode())){ return tree; } @@ -151,6 +151,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeTree(AreaCodeDictFormDTO formDTO){ // 查询所有省市区 List areaCodeDTOS = baseDao.selectAllArea(); + log.info(areaCodeDTOS.size()+">>>>>>>>>>>>>>>>>>>>>>>>>>>>"); // 查询所有街道、社区 List areaCodeChildDTOS = childDao.selectAllChild(formDTO.getRootAreaCode()); List result = new ArrayList<>(); From bbaed756d3f67a9d596caed5d86a3f1802137a41 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Wed, 6 Jul 2022 11:02:50 +0800 Subject: [PATCH 03/40] =?UTF-8?q?=E4=B8=8D=E5=A4=84=E7=90=86areaCode?= =?UTF-8?q?=E6=A0=91=EF=BC=8C=E6=94=B9=E4=B8=BA=E4=BB=8Erelation=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/AreaCodeController.java | 13 ------------- .../java/com/epmet/service/AreaCodeService.java | 12 ++---------- .../epmet/service/impl/AreaCodeServiceImpl.java | 17 +++++++++++------ 3 files changed, 13 insertions(+), 29 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java index 7fb844a8f9..7bf4e537f8 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java @@ -99,19 +99,6 @@ public class AreaCodeController { return new Result>().ok(areaCodeService.areaCodeDictTreePlus(formDTO)); } - /** - * 行政编码查询 - * - * @param formDTO - * @return com.epmet.commons.tools.utils.Result> - * @author zhy - * @date 2022/7/6 10:28 - */ - @PostMapping("areacodedicttreenew") - public Result> areaCodeDictTreeNew(@RequestBody AreaCodeDictFormDTO formDTO) { - return new Result>().ok(areaCodeService.areaCodeDictTree(formDTO)); - } - /** * @param formDTO * @author yinzuomei diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java index baac590da6..e452332fea 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java @@ -99,22 +99,14 @@ public interface AreaCodeService extends BaseService { */ void delete(String[] ids); - /** - * 行政编码查询 - * - * @param formDTO - * @return com.epmet.commons.tools.utils.Result> - * @author zhy - * @date 2022/7/6 10:28 - */ - List areaCodeDictTree(AreaCodeDictFormDTO formDTO); - /** * @Description 行政地区编码查询 * @Param formDTO * @author zxc * @date 2021/1/7 下午1:41 */ + List areaCodeDictTree(AreaCodeDictFormDTO formDTO); + List areaCodeDictTreePlus(AreaCodeDictFormDTO formDTO); /** diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index a414b229aa..4d873b333e 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -124,17 +124,23 @@ public class AreaCodeServiceImpl extends BaseServiceImpl areaCodeDictTree(AreaCodeDictFormDTO formDTO) { List 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 areaCodeDictResultDTOS = disposeTree(formDTO); -// areaCodeRedis.set(AreaCodeConstant.SCREEN_TREE,areaCodeDictResultDTOS); + areaCodeRedis.set(AreaCodeConstant.SCREEN_TREE,areaCodeDictResultDTOS); tree = areaCodeDictResultDTOS; -// } + } if (StringUtils.isBlank(formDTO.getRootAreaCode())){ return tree; } @@ -151,7 +157,6 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeTree(AreaCodeDictFormDTO formDTO){ // 查询所有省市区 List areaCodeDTOS = baseDao.selectAllArea(); - log.info(areaCodeDTOS.size()+">>>>>>>>>>>>>>>>>>>>>>>>>>>>"); // 查询所有街道、社区 List areaCodeChildDTOS = childDao.selectAllChild(formDTO.getRootAreaCode()); List result = new ArrayList<>(); From b4a74adeaad019bf21e2dd32b3b3fee8a8c46b93 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Wed, 6 Jul 2022 13:55:34 +0800 Subject: [PATCH 04/40] =?UTF-8?q?=E5=AD=90=E5=AE=A2=E6=88=B7=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/CustomerRelationTreeDTO.java | 91 +++++++++++++++++++ .../CustomerRelationController.java | 88 ++++++++++++++++++ .../com/epmet/dao/CustomerRelationDao.java | 23 +++++ .../service/CustomerRelationService.java | 13 +++ .../impl/CustomerRelationServiceImpl.java | 38 +++++++- .../resources/mapper/CustomerRelationDao.xml | 21 +++++ 6 files changed, 269 insertions(+), 5 deletions(-) create mode 100644 epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java create mode 100644 epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java new file mode 100644 index 0000000000..08780aaa0f --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java @@ -0,0 +1,91 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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 List children; +} \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java new file mode 100644 index 0000000000..fa993d1f5d --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java @@ -0,0 +1,88 @@ +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.ExcelUtils; +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.UpdateGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.dto.CustomerRelationDTO; +import com.epmet.dto.result.CustomerRelationTreeDTO; +import com.epmet.service.CustomerRelationService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +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> page(@RequestParam Map params) { + PageData page = customerRelationService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET}) + public Result get(@PathVariable("id") String id) { + CustomerRelationDTO data = customerRelationService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody CustomerRelationDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + customerRelationService.save(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> + * @author zhy + * @date 2022/7/6 13:24 + */ + @PostMapping("customertree") + public Result> customerTree(@LoginUser TokenDto tokenDto) { + return new Result>().ok(customerRelationService.getCustomerTree(tokenDto)); + } +} diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerRelationDao.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerRelationDao.java index 948937062c..b935ef5b08 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerRelationDao.java +++ b/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,25 @@ public interface CustomerRelationDao extends BaseDao { * @return java.util.List */ List selectAllSubCustomerIds(String customerId); + + /** + * 客户树根节点 + * + * @param customerId + * @return java.util.List + * @author zhy + * @date 2022/7/6 13:32 + */ + List selectRootCustomerByCustomerId(@Param("customerId") String customerId); + + /** + * 客户树子节点 + * + * @param customerPid + * @return java.util.List + * @author zhy + * @date 2022/7/6 13:32 + */ + List selectSubCustomerByPid(@Param("customerPid") String customerPid); + } \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerRelationService.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerRelationService.java index 2776c8b0cf..37700b0ee5 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerRelationService.java +++ b/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; @@ -121,4 +123,15 @@ public interface CustomerRelationService extends BaseService getAllSubCustomerIds(String customerId); + + /** + * 客户树 + * + * @param tokenDto + * @return java.util.List + * @author zhy + * @date 2022/7/6 13:32 + */ + List getCustomerTree(TokenDto tokenDto); + } \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java index 6a68df0455..6ae414d2e2 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java @@ -25,10 +25,12 @@ 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.dao.CustomerRelationDao; import com.epmet.dto.CustomerDTO; import com.epmet.dto.CustomerRelationDTO; +import com.epmet.dto.result.CustomerRelationTreeDTO; import com.epmet.entity.CustomerRelationEntity; import com.epmet.redis.CustomerRedis; import com.epmet.service.CustomerRelationService; @@ -75,8 +77,8 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); @@ -134,12 +136,12 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl(); } + @Override + public List getCustomerTree(TokenDto tokenDto) { + List rootList = baseDao.selectRootCustomerByCustomerId(tokenDto.getCustomerId()); + if (!rootList.isEmpty()) { + rootList.forEach(this::getSubCustomer); + } + return rootList; + } + + /** + * 处理子客户 + * + * @param customer + * @return com.epmet.dto.result.CustomerRelationTreeDTO + * @author zhy + * @date 2022/7/6 13:54 + */ + private CustomerRelationTreeDTO getSubCustomer(CustomerRelationTreeDTO customer) { + List children = baseDao.selectSubCustomerByPid(customer.getCustomerId()); + customer.setChildren(children); + if (!children.isEmpty()) { + children.forEach(this::getSubCustomer); + } + return customer; + } + } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml index f757a48b51..f23b339e58 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml +++ b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml @@ -23,4 +23,25 @@ cr.DEL_FLAG = '0' AND cr.PIDS like CONCAT(#{customerId},'%') + + + + + \ No newline at end of file From 63556fcfd12ab515ffa27fa76165f89032d0bfb2 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Wed, 6 Jul 2022 14:04:57 +0800 Subject: [PATCH 05/40] =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/controller/CustomerRelationController.java | 4 +--- .../com/epmet/service/impl/CustomerRelationServiceImpl.java | 4 +++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java index fa993d1f5d..7429936e21 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java @@ -4,20 +4,18 @@ 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.ExcelUtils; 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.UpdateGroup; 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.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java index 6ae414d2e2..afa1a7a8e7 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java @@ -174,7 +174,9 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl getCustomerTree(TokenDto tokenDto) { - List rootList = baseDao.selectRootCustomerByCustomerId(tokenDto.getCustomerId()); +// String customerId = tokenDto.getCustomerId(); + String customerId = "78e2b2227c07de1fe54da14e2b2d9eb6"; + List rootList = baseDao.selectRootCustomerByCustomerId(customerId); if (!rootList.isEmpty()) { rootList.forEach(this::getSubCustomer); } From d676f3d6c0c6924bc3db4418e1ad318c6be6036b Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Wed, 6 Jul 2022 15:17:19 +0800 Subject: [PATCH 06/40] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9C=B0=E5=8C=BA?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/AreaCodeDetailFormDTO.java | 9 + .../EpmetCommonServiceOpenFeignClient.java | 11 + ...tCommonServiceOpenFeignClientFallback.java | 5 + .../epmet/controller/AreaCodeController.java | 16 +- .../main/java/com/epmet/dao/AreaCodeDao.java | 18 +- .../com/epmet/service/AreaCodeService.java | 7 +- .../service/impl/AreaCodeServiceImpl.java | 263 ++++++++++-------- .../resources/mapper/AreaCodeChildDao.xml | 10 + .../src/main/resources/mapper/AreaCodeDao.xml | 31 +++ .../dto/result/CustomerRelationTreeDTO.java | 5 + epmet-module/oper-crm/oper-crm-server/pom.xml | 6 + .../impl/CustomerRelationServiceImpl.java | 33 ++- 12 files changed, 285 insertions(+), 129 deletions(-) create mode 100644 epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDetailFormDTO.java diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDetailFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDetailFormDTO.java new file mode 100644 index 0000000000..5b243434f5 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDetailFormDTO.java @@ -0,0 +1,9 @@ +package com.epmet.dto.form; + +import lombok.Data; + +@Data +public class AreaCodeDetailFormDTO { + private String areaCode; + private String level; +} diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java index 4214e77cf8..fb854155a2 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java @@ -98,6 +98,17 @@ public interface EpmetCommonServiceOpenFeignClient { @PostMapping("commonservice/workday/workminutes") Result> workMinutes(@RequestBody WorkMinuteFormDTO param); + /** + * 行政地区编码查询 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author zhy + * @date 2022/7/6 15:07 + */ + @PostMapping("commonservice/areacode/areacodedetail") + Result areaCodeDetail(@RequestBody AreaCodeDetailFormDTO formDTO); + /** * @Description 行政地区编码查询 * @Param formDTO diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java index 21f7fe531a..9b8b0bdc3c 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java @@ -79,6 +79,11 @@ public class EpmetCommonServiceOpenFeignClientFallback implements EpmetCommonSer return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "workMinutes", param); } + @Override + public Result areaCodeDetail(AreaCodeDetailFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "areaCodeDetail", formDTO); + } + @Override public Result> areaCodeDictTree(AreaCodeDictFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "areaCodeDictTree", formDTO); diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java index 7bf4e537f8..a57e19bc99 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java @@ -25,10 +25,7 @@ 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.service.AreaCodeService; @@ -133,4 +130,15 @@ public class AreaCodeController { public Result> nextArea(@RequestBody AreaCodeFormDTO formDTO){ return new Result>().ok(areaCodeService.nextArea(formDTO)); } + + /** + * @Description 行政地区编码查询 + * @Param formDTO + * @author zxc + * @date 2021/1/7 下午1:41 + */ + @PostMapping("areacodedetail") + public Result areaCodeDetail(@RequestBody AreaCodeDetailFormDTO formDTO){ + return new Result().ok(areaCodeService.getAreaCodeDetail(formDTO)); + } } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java index bfe5c8139e..ab101aba89 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java +++ b/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 { List 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 selectProvince(); - List selectCity(@Param("pCode")String pCode); + List selectCity(@Param("pCode") String pCode); - List selectDistrict(@Param("pCode")String pCode); + List selectDistrict(@Param("pCode") String pCode); - List selectStreet(@Param("pCode")String pCode); + List selectStreet(@Param("pCode") String pCode); - List selectCommunity(@Param("pCode")String pCode); + List selectCommunity(@Param("pCode") String pCode); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java index e452332fea..232f3e7191 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java @@ -20,10 +20,7 @@ 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.entity.AreaCodeEntity; @@ -127,4 +124,6 @@ public interface AreaCodeService extends BaseService { String addAreaCode(AddAreaCodeFormDTO formDTO); List nextArea(AreaCodeFormDTO formDTO); + + AreaCodeResultDTO getAreaCodeDetail(AreaCodeDetailFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index 4d873b333e..f0eedca4ad 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -36,10 +36,7 @@ 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.entity.AreaCodeEntity; @@ -72,6 +69,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -88,8 +86,8 @@ public class AreaCodeServiceImpl extends BaseServiceImpl getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); @@ -125,7 +123,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl areaCodeDictTree(AreaCodeDictFormDTO formDTO) { List 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 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 treeByRootAreaCode = getTreeByRootAreaCode(tree, formDTO.getRootAreaCode()); @@ -149,12 +147,12 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeTree(AreaCodeDictFormDTO formDTO){ + public List disposeTree(AreaCodeDictFormDTO formDTO) { // 查询所有省市区 List areaCodeDTOS = baseDao.selectAllArea(); // 查询所有街道、社区 @@ -173,8 +171,8 @@ public class AreaCodeServiceImpl extends BaseServiceImpl { - if (dto.getCode().equals(pCode)){ + groupByPCode.forEach((pCode, v) -> { + if (dto.getCode().equals(pCode)) { List fiveResult = new ArrayList<>(); v.forEach(five -> { AreaCodeDictResultDTO fiveDto = new AreaCodeDictResultDTO(); @@ -189,7 +187,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl fourSort = new ArrayList<>(); - if (!CollectionUtils.isEmpty(fourResult)){ + if (!CollectionUtils.isEmpty(fourResult)) { fourSort = fourResult.stream().sorted(Comparator.comparing(AreaCodeDictResultDTO::getCode)).collect(Collectors.toList()); } @@ -209,7 +207,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl fourOnceResult = new ArrayList<>(); finalFourSort.forEach(four -> { - if (dto.getCode().equals(four.getParentCode())){ + if (dto.getCode().equals(four.getParentCode())) { fourOnceResult.add(four); } }); @@ -220,13 +218,13 @@ public class AreaCodeServiceImpl extends BaseServiceImpl { + groupByProvince.forEach((p, v) -> { AreaCodeDictResultDTO dto = new AreaCodeDictResultDTO(); dto.setCode(p); dto.setName(v.get(NumConstant.ZERO).getProvinceName()); List cityOnceResult = new ArrayList<>(); cityResult.forEach(c -> { - if (dto.getCode().equals(c.getParentCode())){ + if (dto.getCode().equals(c.getParentCode())) { cityOnceResult.add(c); } }); @@ -239,54 +237,51 @@ public class AreaCodeServiceImpl extends BaseServiceImpl + *

* 暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样 - * ==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样== - * 暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样 - * - * - * + * ==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样== + * 暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样 * @Param tree * @Param rootAreaCode * @author zxc * @date 2021/1/8 上午10:02 */ - public List getTreeByRootAreaCode(List tree , String rootAreaCode){ + public List getTreeByRootAreaCode(List tree, String rootAreaCode) { List 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 +299,40 @@ public class AreaCodeServiceImpl extends BaseServiceImpl areaCodeDictTreePlus(AreaCodeDictFormDTO formDTO){ + public List areaCodeDictTreePlus(AreaCodeDictFormDTO formDTO) { List 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 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 beforeThreeTree(){ + public List beforeThreeTree() { // 查询所有省市区 List areaCodeDTOS = baseDao.selectAllArea(); Map> groupByCity = areaCodeDTOS.stream().collect(Collectors.groupingBy(AreaCodeDTO::getCityCode)); @@ -362,13 +357,13 @@ public class AreaCodeServiceImpl extends BaseServiceImpl { + groupByProvince.forEach((p, v) -> { AreaCodeDictResultDTO dto = new AreaCodeDictResultDTO(); dto.setCode(p); dto.setName(v.get(NumConstant.ZERO).getProvinceName()); List cityOnceResult = new ArrayList<>(); cityResult.forEach(c -> { - if (dto.getCode().equals(c.getParentCode())){ + if (dto.getCode().equals(c.getParentCode())) { cityOnceResult.add(c); } }); @@ -383,12 +378,12 @@ public class AreaCodeServiceImpl extends BaseServiceImpl afterTwoTree(AreaCodeDictFormDTO form){ + public List afterTwoTree(AreaCodeDictFormDTO form) { // 查询所有街道、社区 List areaCodeChildDTOS = childDao.selectAllChild(form.getRootAreaCode()); List fourResult = new ArrayList<>(); @@ -399,7 +394,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl levelFive = org.apache.commons.collections4.CollectionUtils.isNotEmpty(groupByLevel.get(NumConstant.FIVE)) ? groupByLevel.get(NumConstant.FIVE) : new ArrayList<>(); Map> groupByPCode = CollectionUtils.isEmpty(levelFive) ? new HashMap<>() : levelFive.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getPCode)); //街道 - List levelFour = org.apache.commons.collections4.CollectionUtils.isNotEmpty(groupByLevel.get(NumConstant.FOUR)) ?groupByLevel.get(NumConstant.FOUR):new ArrayList<>(); + List levelFour = org.apache.commons.collections4.CollectionUtils.isNotEmpty(groupByLevel.get(NumConstant.FOUR)) ? groupByLevel.get(NumConstant.FOUR) : new ArrayList<>(); // 6级 List levelSix = groupByLevel.get(NumConstant.SIX); Map> groupBySixPCode = CollectionUtils.isEmpty(levelSix) ? new HashMap<>() : levelSix.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getPCode)); @@ -409,8 +404,8 @@ public class AreaCodeServiceImpl extends BaseServiceImpl { - if (dto.getCode().equals(k)){ + groupBySixPCode.forEach((k, v) -> { + if (dto.getCode().equals(k)) { List six = new ArrayList<>(); v.forEach(s -> { AreaCodeDictResultDTO sixDto = new AreaCodeDictResultDTO(); @@ -431,8 +426,8 @@ public class AreaCodeServiceImpl extends BaseServiceImpl { - if (dto.getCode().equals(pCode)){ + groupByFivePCode.forEach((pCode, v) -> { + if (dto.getCode().equals(pCode)) { dto.setChildren(v); } }); @@ -443,28 +438,28 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeAfterTwoLevel(AreaCodeDictFormDTO form){ + public List disposeAfterTwoLevel(AreaCodeDictFormDTO form) { List result = new ArrayList<>(); List 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 +470,42 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeBeforeThreeLevel(AreaCodeDictFormDTO form,List tree){ + public List disposeBeforeThreeLevel(AreaCodeDictFormDTO form, List tree) { List 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 +519,29 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeBeforeThreeLevelFinal(AreaCodeDictFormDTO form,List tree){ + public List disposeBeforeThreeLevelFinal(AreaCodeDictFormDTO form, List tree) { List threeDto = disposeBeforeThreeLevel(form, tree); List 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 areaList = new ArrayList<>(); for (AreaCodeDictResultDTO area : twoDto) { - if (child.getCode().equals(area.getParentCode())){ + if (child.getCode().equals(area.getParentCode())) { areaList.add(area); } } @@ -557,13 +552,13 @@ public class AreaCodeServiceImpl extends BaseServiceImpl areaList = new ArrayList<>(); for (AreaCodeDictResultDTO area : twoDto) { - if (child.getCode().equals(area.getParentCode())){ + if (child.getCode().equals(area.getParentCode())) { areaList.add(area); } } @@ -571,11 +566,11 @@ public class AreaCodeServiceImpl extends BaseServiceImpl areaList = new ArrayList<>(); for (AreaCodeDictResultDTO area : twoDto) { - if (dto.getCode().equals(area.getParentCode())){ + if (dto.getCode().equals(area.getParentCode())) { areaList.add(area); } } @@ -677,35 +672,35 @@ public class AreaCodeServiceImpl extends BaseServiceImpl nextArea(AreaCodeFormDTO formDTO) { - if(StringUtils.isBlank(formDTO.getParentAreaCode())&&StringUtils.isBlank(formDTO.getParentLevel())){ - String pKey=RedisKeys.getNextAreaCodeKey(NumConstant.ZERO_STR); - List 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 list = areaCodeRedis.getNextAreaCodeKey(pKey); + if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) { return list; } - List pList=baseDao.selectProvince(); - areaCodeRedis.setNextAreaCodeKey(pKey,pList); + List pList = baseDao.selectProvince(); + areaCodeRedis.setNextAreaCodeKey(pKey, pList); return pList; } - String key=RedisKeys.getNextAreaCodeKey(formDTO.getParentAreaCode()); - List list=areaCodeRedis.getNextAreaCodeKey(key); - if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)){ + String key = RedisKeys.getNextAreaCodeKey(formDTO.getParentAreaCode()); + List list = areaCodeRedis.getNextAreaCodeKey(key); + if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) { return list; } switch (formDTO.getParentLevel()) { @@ -723,17 +718,59 @@ public class AreaCodeServiceImpl extends BaseServiceImpl + + + + + + \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java index 08780aaa0f..17d72aff14 100644 --- a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java @@ -84,6 +84,11 @@ public class CustomerRelationTreeDTO implements Serializable { */ private String areaCode; + /** + * 当前客户的地区名称 + */ + private String areaName; + /** * 下一级 */ diff --git a/epmet-module/oper-crm/oper-crm-server/pom.xml b/epmet-module/oper-crm/oper-crm-server/pom.xml index b85e21d911..0df193618f 100644 --- a/epmet-module/oper-crm/oper-crm-server/pom.xml +++ b/epmet-module/oper-crm/oper-crm-server/pom.xml @@ -111,6 +111,12 @@ 2.0.0 compile + + com.epmet + common-service-client + 2.0.0 + compile + diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java index afa1a7a8e7..9fe4219926 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java @@ -27,11 +27,16 @@ 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.CustomerAgencyDTO; 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; @@ -60,6 +65,8 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl page(Map params) { @@ -178,7 +185,18 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl rootList = baseDao.selectRootCustomerByCustomerId(customerId); if (!rootList.isEmpty()) { - rootList.forEach(this::getSubCustomer); + rootList.forEach(item -> { + AreaCodeDetailFormDTO formDTO = new AreaCodeDetailFormDTO(); + formDTO.setAreaCode(item.getAreaCode()); + formDTO.setLevel(item.getLevel()); + Result area = epmetCommonServiceOpenFeignClient.areaCodeDetail(formDTO); + if (area.success()) { + if (area.getData() != null) { + item.setAreaName(area.getData().getAreaName()); + } + } + getSubCustomer(item); + }); } return rootList; } @@ -195,7 +213,18 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl children = baseDao.selectSubCustomerByPid(customer.getCustomerId()); customer.setChildren(children); if (!children.isEmpty()) { - children.forEach(this::getSubCustomer); + children.forEach(item -> { + AreaCodeDetailFormDTO formDTO = new AreaCodeDetailFormDTO(); + formDTO.setAreaCode(item.getAreaCode()); + formDTO.setLevel(item.getLevel()); + Result area = epmetCommonServiceOpenFeignClient.areaCodeDetail(formDTO); + if (area.success()) { + if (area.getData() != null) { + item.setAreaName(area.getData().getAreaName()); + } + } + getSubCustomer(item); + }); } return customer; } From 727d80ebabfb48be13a0b74e0bacfa15491403bf Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Wed, 6 Jul 2022 15:20:01 +0800 Subject: [PATCH 07/40] bug --- .../impl/CustomerRelationServiceImpl.java | 36 ++++++------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java index 9fe4219926..1d3974a4aa 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java @@ -29,7 +29,6 @@ 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.CustomerAgencyDTO; import com.epmet.dto.CustomerDTO; import com.epmet.dto.CustomerRelationDTO; import com.epmet.dto.form.AreaCodeDetailFormDTO; @@ -185,18 +184,7 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl rootList = baseDao.selectRootCustomerByCustomerId(customerId); if (!rootList.isEmpty()) { - rootList.forEach(item -> { - AreaCodeDetailFormDTO formDTO = new AreaCodeDetailFormDTO(); - formDTO.setAreaCode(item.getAreaCode()); - formDTO.setLevel(item.getLevel()); - Result area = epmetCommonServiceOpenFeignClient.areaCodeDetail(formDTO); - if (area.success()) { - if (area.getData() != null) { - item.setAreaName(area.getData().getAreaName()); - } - } - getSubCustomer(item); - }); + rootList.forEach(this::getSubCustomer); } return rootList; } @@ -210,21 +198,19 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl area = epmetCommonServiceOpenFeignClient.areaCodeDetail(formDTO); + if (area.success()) { + if (area.getData() != null) { + customer.setAreaName(area.getData().getAreaName()); + } + } List children = baseDao.selectSubCustomerByPid(customer.getCustomerId()); customer.setChildren(children); if (!children.isEmpty()) { - children.forEach(item -> { - AreaCodeDetailFormDTO formDTO = new AreaCodeDetailFormDTO(); - formDTO.setAreaCode(item.getAreaCode()); - formDTO.setLevel(item.getLevel()); - Result area = epmetCommonServiceOpenFeignClient.areaCodeDetail(formDTO); - if (area.success()) { - if (area.getData() != null) { - item.setAreaName(area.getData().getAreaName()); - } - } - getSubCustomer(item); - }); + children.forEach(this::getSubCustomer); } return customer; } From b9319c624dbd8f0fefe940eaf0fd6b1238ffc2a6 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Wed, 6 Jul 2022 16:01:40 +0800 Subject: [PATCH 08/40] bug --- .../src/main/java/com/epmet/dto/AreaCodeDTO.java | 2 +- .../main/java/com/epmet/dto/form/AreaCodeDetailFormDTO.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/AreaCodeDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/AreaCodeDTO.java index 920d48f56b..6726f0547a 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/AreaCodeDTO.java +++ b/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 diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDetailFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDetailFormDTO.java index 5b243434f5..f4ca97d775 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDetailFormDTO.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDetailFormDTO.java @@ -4,6 +4,10 @@ import lombok.Data; @Data public class AreaCodeDetailFormDTO { + private String areaCode; + /** + * 省级:province; 市级: city; 区县级: district ;乡(镇、街道)级:street ;社区级:community + */ private String level; } From 593bc9c354af98eb4b6ccc0d39fe81827e940754 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Wed, 6 Jul 2022 16:33:34 +0800 Subject: [PATCH 09/40] =?UTF-8?q?=E4=B8=8D=E9=99=90=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/controller/CustomerRelationController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java index 7429936e21..725c575249 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java @@ -79,7 +79,7 @@ public class CustomerRelationController { * @author zhy * @date 2022/7/6 13:24 */ - @PostMapping("customertree") + @RequestMapping("customertree") public Result> customerTree(@LoginUser TokenDto tokenDto) { return new Result>().ok(customerRelationService.getCustomerTree(tokenDto)); } From 6fe416cea374c17f540a6bb217ea3b0bdad3736b Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Wed, 6 Jul 2022 16:56:52 +0800 Subject: [PATCH 10/40] =?UTF-8?q?=E8=A1=A5=E5=85=85=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/result/CustomerRelationTreeDTO.java | 15 +++++++++++++++ .../main/resources/mapper/CustomerRelationDao.xml | 14 ++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java index 17d72aff14..895e46051b 100644 --- a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java @@ -89,6 +89,21 @@ public class CustomerRelationTreeDTO implements Serializable { */ private String areaName; + /** + * 客户名称 + */ + private String customerName; + + /** + * 有效期 + */ + private Date validityTime; + + /** + * 客户logo + */ + private String logo; + /** * 下一级 */ diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml index f23b339e58..da6018982b 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml +++ b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml @@ -26,21 +26,31 @@ From 6e6d58f6cf8504588d5f4098fb1fbe859cf2ffba Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Wed, 6 Jul 2022 17:05:14 +0800 Subject: [PATCH 11/40] =?UTF-8?q?=E6=9A=82=E6=97=B6=E4=B8=8D=E7=AE=A1delfl?= =?UTF-8?q?ag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/CustomerRelationDao.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml index da6018982b..9c49c97b54 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml +++ b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml @@ -28,14 +28,14 @@ SELECT cr.*, c.CUSTOMER_NAME, - VALIDITY_TIME, - LOGO + 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 c.DEL_FLAG = '0' AND cr.CUSTOMER_ID = #{customerId} @@ -43,14 +43,14 @@ SELECT cr.*, c.CUSTOMER_NAME, - VALIDITY_TIME, - LOGO + 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 c.DEL_FLAG = '0' AND cr.PARENT_CUSTOMER_ID = #{customerPid} From 9211f2b39cf7a131719550054210633c44c78380 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Thu, 7 Jul 2022 11:18:50 +0800 Subject: [PATCH 12/40] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=8F=AF=E7=94=A8?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/AgencyController.java | 15 ++++++++++++++ .../java/com/epmet/dao/CustomerAgencyDao.java | 11 ++++++++++ .../java/com/epmet/service/AgencyService.java | 11 ++++++++++ .../epmet/service/impl/AgencyServiceImpl.java | 5 +++++ .../resources/mapper/CustomerAgencyDao.xml | 20 +++++++++++++++++++ 5 files changed, 62 insertions(+) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index 1ff1bc303c..aaf004290a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -505,4 +505,19 @@ public class AgencyController { List dto = agencyService.getAddressTree(name, customerId); return new Result>().ok(dto); } + + /** + * 获取区域编码下级的所有客户信息 + * + * @param areaCode + * @return com.epmet.commons.tools.utils.Result> + * @author zhy + * @date 2022/7/7 10:12 + */ + @GetMapping("/areasubagency/{areaCode}") + public Result> getAreaSubAgency(@PathVariable String areaCode) { + List dto = agencyService.getAreaSubAgency(areaCode); + return new Result>().ok(dto); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 1c4aa9394c..89e7070789 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -353,5 +353,16 @@ public interface CustomerAgencyDao extends BaseDao { CommunityInfoResultDTO getCommunityInfo(OrgInfoPointFormDTO formDTO); CommunityInfoResultDTO getCommunityInfoByUserId(@Param("userId") String userId); + + /** + * 获取区域编码下级的所有客户信息 + * + * @param areaCode + * @return com.epmet.commons.tools.utils.Result> + * @author zhy + * @date 2022/7/7 10:12 + */ + List getAreaSubAgency(@Param("areaCode") String areaCode); + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java index 4ae4672647..697f581a69 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java @@ -178,4 +178,15 @@ public interface AgencyService { * @date 2022/5/16 10:43 */ List getAddressTree(String name, String customerId); + + /** + * 获取区域编码下级的所有客户信息 + * + * @param areaCode + * @return com.epmet.commons.tools.utils.Result> + * @author zhy + * @date 2022/7/7 10:12 + */ + List getAreaSubAgency(String areaCode); + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index cf2016de58..aa9273ac6a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -902,6 +902,11 @@ public class AgencyServiceImpl implements AgencyService { return NodeTreeUtils.build(list); } + @Override + public List getAreaSubAgency(String areaCode) { + return customerAgencyDao.getAreaSubAgency(areaCode); + } + private CustomerAgencyEntity constructInsertEntity(AddAgencyV2FormDTO formDTO, CustomerAgencyDTO parent) { CustomerAgencyEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, CustomerAgencyEntity.class); insertEntity.setOrganizationName(formDTO.getAgencyName()); diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 136341dc18..802006e573 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -930,4 +930,24 @@ limit 1 + + From 0e36947123ec790ce4ff5e9c22ed34d62a0e8a33 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Thu, 7 Jul 2022 14:01:32 +0800 Subject: [PATCH 13/40] =?UTF-8?q?=E6=A0=B9=E8=8A=82=E7=82=B9=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/AgencyController.java | 6 +++--- .../java/com/epmet/dao/CustomerAgencyDao.java | 2 ++ .../java/com/epmet/service/AgencyService.java | 4 ++-- .../epmet/service/impl/AgencyServiceImpl.java | 6 +++++- .../resources/mapper/CustomerAgencyDao.xml | 21 +++++++++++++++++-- 5 files changed, 31 insertions(+), 8 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index aaf004290a..ce081bb714 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -510,13 +510,13 @@ public class AgencyController { * 获取区域编码下级的所有客户信息 * * @param areaCode - * @return com.epmet.commons.tools.utils.Result> + * @return com.epmet.commons.tools.utils.Result> * @author zhy * @date 2022/7/7 10:12 */ @GetMapping("/areasubagency/{areaCode}") - public Result> getAreaSubAgency(@PathVariable String areaCode) { - List dto = agencyService.getAreaSubAgency(areaCode); + public Result> getAreaSubAgency(@LoginUser TokenDto tokenDto, @PathVariable String areaCode) { + List dto = agencyService.getAreaSubAgency(tokenDto, areaCode); return new Result>().ok(dto); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 89e7070789..9c0d58e102 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -364,5 +364,7 @@ public interface CustomerAgencyDao extends BaseDao { */ List getAreaSubAgency(@Param("areaCode") String areaCode); + CustomerAgencyEntity getAreaRootAgency(@Param("customerId") String customerId); + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java index 697f581a69..7843ed299a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java @@ -183,10 +183,10 @@ public interface AgencyService { * 获取区域编码下级的所有客户信息 * * @param areaCode - * @return com.epmet.commons.tools.utils.Result> + * @return com.epmet.commons.tools.utils.Result> * @author zhy * @date 2022/7/7 10:12 */ - List getAreaSubAgency(String areaCode); + List getAreaSubAgency(TokenDto tokenDto, String areaCode); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index aa9273ac6a..cb8652d4dc 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -903,7 +903,11 @@ public class AgencyServiceImpl implements AgencyService { } @Override - public List getAreaSubAgency(String areaCode) { + public List getAreaSubAgency(TokenDto tokenDto, String areaCode) { + if (NumConstant.ZERO_STR.equals(areaCode)) { + CustomerAgencyEntity root = customerAgencyDao.getAreaRootAgency(tokenDto.getCustomerId()); + areaCode = root.getAreaCode(); + } return customerAgencyDao.getAreaSubAgency(areaCode); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 802006e573..fe41894c11 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -945,8 +945,25 @@ AND ac.PID = '0' AND cop.PARAMETER_VALUE = 'open' - AND AREA_CODE != #{areaCode} - AND AREA_CODE LIKE CONCAT(#{areaCode}, '%') + AND ac.AREA_CODE != #{areaCode} + AND ac.AREA_CODE LIKE CONCAT(#{areaCode}, '%') + + + + From 2a876a2ed320dcb981a1b2720810c21ec8fd7cc6 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Thu, 7 Jul 2022 14:10:26 +0800 Subject: [PATCH 14/40] =?UTF-8?q?=E5=8F=AF=E6=9F=A5=E6=9C=AC=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/CustomerAgencyDao.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index fe41894c11..7d53a55fe3 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -945,7 +945,6 @@ AND ac.PID = '0' AND cop.PARAMETER_VALUE = 'open' - AND ac.AREA_CODE != #{areaCode} AND ac.AREA_CODE LIKE CONCAT(#{areaCode}, '%') From 762ed95183ae85c506f929bf3bc8754aac40e47e Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Thu, 7 Jul 2022 14:17:15 +0800 Subject: [PATCH 15/40] =?UTF-8?q?=E5=A4=9A=E8=BF=94=E5=9B=9E=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=9C=B0=E5=8C=BA=E7=BC=96=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/result/AgencyResultDTO.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.java index a7aec4fa28..3a8ff71dfc 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.java @@ -47,5 +47,6 @@ public class AgencyResultDTO implements Serializable { private String longitude; //维度【没值则取跟客户的值】 private String latitude; - + //地区编码 + private String areaCode; } From 6f5e2604e5757af61de522b6cc693b62e0074838 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Thu, 7 Jul 2022 14:35:24 +0800 Subject: [PATCH 16/40] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=96=B0=E7=9A=84?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/result/AgencyAreaResultDTO.java | 128 ++++++++++++++++++ .../com/epmet/dto/result/AgencyResultDTO.java | 3 +- .../epmet/controller/AgencyController.java | 8 +- .../java/com/epmet/dao/CustomerAgencyDao.java | 4 +- .../java/com/epmet/service/AgencyService.java | 4 +- .../epmet/service/impl/AgencyServiceImpl.java | 20 ++- .../resources/mapper/CustomerAgencyDao.xml | 4 +- 7 files changed, 154 insertions(+), 17 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyAreaResultDTO.java diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyAreaResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyAreaResultDTO.java new file mode 100644 index 0000000000..3eaaf991df --- /dev/null +++ b/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 + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.java index 3a8ff71dfc..a7aec4fa28 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.java @@ -47,6 +47,5 @@ public class AgencyResultDTO implements Serializable { private String longitude; //维度【没值则取跟客户的值】 private String latitude; - //地区编码 - private String areaCode; + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index ce081bb714..03a803a9b8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -510,14 +510,14 @@ public class AgencyController { * 获取区域编码下级的所有客户信息 * * @param areaCode - * @return com.epmet.commons.tools.utils.Result> + * @return com.epmet.commons.tools.utils.Result> * @author zhy * @date 2022/7/7 10:12 */ @GetMapping("/areasubagency/{areaCode}") - public Result> getAreaSubAgency(@LoginUser TokenDto tokenDto, @PathVariable String areaCode) { - List dto = agencyService.getAreaSubAgency(tokenDto, areaCode); - return new Result>().ok(dto); + public Result> getAreaSubAgency(@LoginUser TokenDto tokenDto, @PathVariable String areaCode) { + List dto = agencyService.getAreaSubAgency(tokenDto, areaCode); + return new Result>().ok(dto); } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 9c0d58e102..ee3915ffa2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -358,11 +358,11 @@ public interface CustomerAgencyDao extends BaseDao { * 获取区域编码下级的所有客户信息 * * @param areaCode - * @return com.epmet.commons.tools.utils.Result> + * @return com.epmet.commons.tools.utils.Result> * @author zhy * @date 2022/7/7 10:12 */ - List getAreaSubAgency(@Param("areaCode") String areaCode); + List getAreaSubAgency(@Param("areaCode") String areaCode); CustomerAgencyEntity getAreaRootAgency(@Param("customerId") String customerId); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java index 7843ed299a..40c0d4ef61 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java @@ -183,10 +183,10 @@ public interface AgencyService { * 获取区域编码下级的所有客户信息 * * @param areaCode - * @return com.epmet.commons.tools.utils.Result> + * @return com.epmet.commons.tools.utils.Result> * @author zhy * @date 2022/7/7 10:12 */ - List getAreaSubAgency(TokenDto tokenDto, String areaCode); + List getAreaSubAgency(TokenDto tokenDto, String areaCode); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index cb8652d4dc..29d62f96e5 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -43,6 +43,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,8 +51,8 @@ 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; @@ -99,7 +100,7 @@ public class AgencyServiceImpl implements AgencyService { @Autowired private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient; @Autowired - private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; + private OperCrmFeignClient operCrmFeignClient; @Autowired private IcBuildingDao icBuildingDao; @Autowired @@ -903,12 +904,23 @@ public class AgencyServiceImpl implements AgencyService { } @Override - public List getAreaSubAgency(TokenDto tokenDto, String areaCode) { + public List getAreaSubAgency(TokenDto tokenDto, String areaCode) { if (NumConstant.ZERO_STR.equals(areaCode)) { CustomerAgencyEntity root = customerAgencyDao.getAreaRootAgency(tokenDto.getCustomerId()); areaCode = root.getAreaCode(); } - return customerAgencyDao.getAreaSubAgency(areaCode); + + List list = customerAgencyDao.getAreaSubAgency(areaCode); + list.forEach(item -> { + CustomerDTO customerDTO = new CustomerDTO(); + customerDTO.setId(item.getCustomerId()); + Result customerResult = operCrmFeignClient.getCustomerInfo(customerDTO); + if (customerResult.success() && null != customerResult.getData()) { + item.setCustomerName(customerResult.getData().getCustomerName()); + } + }); + + return list; } private CustomerAgencyEntity constructInsertEntity(AddAgencyV2FormDTO formDTO, CustomerAgencyDTO parent) { diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 7d53a55fe3..4ff4afb921 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -930,10 +930,8 @@ limit 1 - SELECT - ac.ID AS agencyId, - ac.ORGANIZATION_NAME AS agencyName, ac.* FROM customer_agency ac From 11d119de989ddeb72dfebe952f62feb867bd3f9d Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Thu, 7 Jul 2022 16:06:11 +0800 Subject: [PATCH 17/40] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=82=A8=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/AgencyServiceImpl.java | 2 +- .../java/com/epmet/entity/CustomerRelationEntity.java | 5 +++++ .../com/epmet/service/CustomerRelationService.java | 10 ++++++++++ .../service/impl/CustomerRelationServiceImpl.java | 9 +++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 29d62f96e5..026bf12cf6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -916,7 +916,7 @@ public class AgencyServiceImpl implements AgencyService { customerDTO.setId(item.getCustomerId()); Result customerResult = operCrmFeignClient.getCustomerInfo(customerDTO); if (customerResult.success() && null != customerResult.getData()) { - item.setCustomerName(customerResult.getData().getCustomerName()); + item.setCustomerName(item.getOrganizationName().concat(StrConstant.HYPHEN).concat(customerResult.getData().getCustomerName())); } }); diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/entity/CustomerRelationEntity.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/entity/CustomerRelationEntity.java index 9c33664b50..1c0a077b14 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/entity/CustomerRelationEntity.java +++ b/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; + } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerRelationService.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerRelationService.java index 37700b0ee5..6dfaa6c86f 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerRelationService.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerRelationService.java @@ -75,6 +75,16 @@ public interface CustomerRelationService extends BaseService Date: Thu, 7 Jul 2022 16:30:17 +0800 Subject: [PATCH 18/40] =?UTF-8?q?=20=E6=9B=B4=E6=94=B9=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/CustomerRelationDTO.java | 5 +++++ .../com/epmet/controller/CustomerRelationController.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/CustomerRelationDTO.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/CustomerRelationDTO.java index 463ac3abc5..540e1c3b2f 100644 --- a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/CustomerRelationDTO.java +++ b/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已删除 */ diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java index 725c575249..00e235b0b3 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java @@ -50,7 +50,7 @@ public class CustomerRelationController { public Result save(@RequestBody CustomerRelationDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - customerRelationService.save(dto); + customerRelationService.saveV2(dto); return new Result(); } From c0ce468ab8129c1e656f15773c52ed8d964be162 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Fri, 8 Jul 2022 13:45:05 +0800 Subject: [PATCH 19/40] =?UTF-8?q?h=E8=8E=B7=E5=8F=96=E5=AD=90=E5=AE=A2?= =?UTF-8?q?=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/CustomerRelationFormDTO.java | 41 +++++++++++++++++++ .../epmet/feign/OperCrmOpenFeignClient.java | 12 ++++++ .../OperCrmOpenFeignClientFallback.java | 5 +++ .../CustomerRelationController.java | 18 ++++++++ .../com/epmet/dao/CustomerRelationDao.java | 10 +++++ .../service/CustomerRelationService.java | 2 + .../impl/CustomerRelationServiceImpl.java | 5 +++ .../resources/mapper/CustomerRelationDao.xml | 11 +++++ 8 files changed, 104 insertions(+) create mode 100644 epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/CustomerRelationFormDTO.java diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/CustomerRelationFormDTO.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/CustomerRelationFormDTO.java new file mode 100644 index 0000000000..817670541f --- /dev/null +++ b/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 + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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; + +} \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/OperCrmOpenFeignClient.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/OperCrmOpenFeignClient.java index c6fc44b140..cda0889b35 100644 --- a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/OperCrmOpenFeignClient.java +++ b/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 getExternalAndParentCustomerId(@PathVariable("customerId") String customerId); + + /** + * 获取子客户 + * + * @param customerId + * @return com.epmet.commons.tools.utils.Result> + * @author zhy + * @date 2022/7/8 13:41 + */ + @GetMapping("/oper/crm/customerRelation/subcustomer/{customerId}") + Result> getSubCustomer(@PathVariable("customerId") String customerId); + } diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/fallback/OperCrmOpenFeignClientFallback.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/fallback/OperCrmOpenFeignClientFallback.java index 8366657fa8..380ed077fa 100644 --- a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/feign/fallback/OperCrmOpenFeignClientFallback.java +++ b/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 getExternalAndParentCustomerId(String customerId) { return ModuleUtils.feignConError(ServiceConstant.OPER_CRM_SERVER, "getExternalAndParentCustomerId", customerId); } + + @Override + public Result> getSubCustomer(String customerId) { + return ModuleUtils.feignConError(ServiceConstant.OPER_CRM_SERVER, "getSubCustomer", customerId); + } } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java index 00e235b0b3..e6a4bc2f25 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerRelationController.java @@ -13,6 +13,7 @@ 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.*; @@ -83,4 +84,21 @@ public class CustomerRelationController { public Result> customerTree(@LoginUser TokenDto tokenDto) { return new Result>().ok(customerRelationService.getCustomerTree(tokenDto)); } + + /** + * 获取子客户 + * + * @param customerId + * @return com.epmet.commons.tools.utils.Result> + * @author zhy + * @date 2022/7/8 13:41 + */ + @GetMapping("subcustomer/{customerId}") + public Result> getSubCustomer(@PathVariable("customerId") String customerId) { + if(StringUtils.isNotBlank(customerId)){ + List result = customerRelationService.getSubCustomer(customerId); + return new Result>().ok(result); + } + return new Result<>(); + } } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerRelationDao.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerRelationDao.java index b935ef5b08..ee8e6255ce 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerRelationDao.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerRelationDao.java @@ -71,4 +71,14 @@ public interface CustomerRelationDao extends BaseDao { */ List selectSubCustomerByPid(@Param("customerPid") String customerPid); + /** + * 获取子客户 + * + * @param customerId + * @return com.epmet.commons.tools.utils.Result> + * @author zhy + * @date 2022/7/8 13:41 + */ + List getSubCustomer(@Param("customerId") String customerId); + } \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerRelationService.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerRelationService.java index 6dfaa6c86f..05ee703d22 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerRelationService.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerRelationService.java @@ -144,4 +144,6 @@ public interface CustomerRelationService extends BaseService getCustomerTree(TokenDto tokenDto); + List getSubCustomer(String customerId); + } \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java index d9ef04903d..415a6c831a 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java @@ -198,6 +198,11 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl getSubCustomer(String customerId) { + return baseDao.getSubCustomer(customerId); + } + /** * 处理子客户 * diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml index 9c49c97b54..525e388cf4 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml +++ b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerRelationDao.xml @@ -54,4 +54,15 @@ AND cr.PARENT_CUSTOMER_ID = #{customerPid} + + \ No newline at end of file From 53f0aebd11edb75148706a012980bbff5148e640 Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Tue, 19 Jul 2022 10:57:27 +0800 Subject: [PATCH 20/40] update --- .../com/epmet/dto/result/CustomerTreeDTO.java | 76 +++++++++++++++++++ .../EpmetCommonServiceOpenFeignClient.java | 11 +++ ...tCommonServiceOpenFeignClientFallback.java | 5 ++ .../epmet/controller/AreaCodeController.java | 12 +++ .../com/epmet/service/AreaCodeService.java | 3 + .../service/impl/AreaCodeServiceImpl.java | 58 ++++++++++++++ .../epmet/controller/AgencyController.java | 14 ++++ .../java/com/epmet/dao/CustomerAgencyDao.java | 10 +++ .../java/com/epmet/service/AgencyService.java | 10 +++ .../epmet/service/impl/AgencyServiceImpl.java | 34 +++++++++ .../resources/mapper/CustomerAgencyDao.xml | 11 +++ 11 files changed, 244 insertions(+) create mode 100644 epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/CustomerTreeDTO.java diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/CustomerTreeDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/CustomerTreeDTO.java new file mode 100644 index 0000000000..08eec96007 --- /dev/null +++ b/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 + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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; + + /** + * 主键 + */ + private String id; + + /** + * 客户id + */ + private String customerId; + + + /** + * 当前客户级别(社区级:community, +乡(镇、街道)级:street, +区县级: district, +市级: city +省级:province) + */ + private String level; + + /** + * 当前客户的地区编码,实际就是根组织的area_code + */ + private String areaCode; + + /** + * 当前客户的地区名称 + */ + private String areaName; + + /** + * 客户名称 + */ + private String customerName; + + /** + * 下一级 + */ + private List children; +} \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java index fb854155a2..9c80155953 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java @@ -109,6 +109,17 @@ public interface EpmetCommonServiceOpenFeignClient { @PostMapping("commonservice/areacode/areacodedetail") Result areaCodeDetail(@RequestBody AreaCodeDetailFormDTO formDTO); + /** + * 行政地区编码树查询 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author zhy + * @date 2022/7/6 15:07 + */ + @PostMapping("commonservice/areacode/areacodetree") + Result> areaCodeTree(@RequestBody List formDTO); + /** * @Description 行政地区编码查询 * @Param formDTO diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java index 9b8b0bdc3c..c9c457b0f6 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java @@ -84,6 +84,11 @@ public class EpmetCommonServiceOpenFeignClientFallback implements EpmetCommonSer return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "areaCodeDetail", formDTO); } + @Override + public Result> areaCodeTree(List formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "areaCodeTree", formDTO); + } + @Override public Result> areaCodeDictTree(AreaCodeDictFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "areaCodeDictTree", formDTO); diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java index a57e19bc99..ca212e908f 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java @@ -28,6 +28,7 @@ import com.epmet.dto.AreaCodeDTO; 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.*; @@ -141,4 +142,15 @@ public class AreaCodeController { public Result areaCodeDetail(@RequestBody AreaCodeDetailFormDTO formDTO){ return new Result().ok(areaCodeService.getAreaCodeDetail(formDTO)); } + + /** + * @Description 行政地区编码查询 + * @Param formDTO + * @author zxc + * @date 2021/1/7 下午1:41 + */ + @PostMapping("areacodetree") + public Result> areaCodeTree(@RequestBody CustomerTreeDTO formDTO){ + return new Result>().ok(areaCodeService.getAreaCodeTree(formDTO)); + } } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java index 232f3e7191..6467bb82f0 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java @@ -23,6 +23,7 @@ import com.epmet.dto.AreaCodeDTO; 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; @@ -126,4 +127,6 @@ public interface AreaCodeService extends BaseService { List nextArea(AreaCodeFormDTO formDTO); AreaCodeResultDTO getAreaCodeDetail(AreaCodeDetailFormDTO formDTO); + + List getAreaCodeTree(CustomerTreeDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index f0eedca4ad..6d0289c1c4 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -39,6 +39,7 @@ import com.epmet.dto.AreaCodeDTO; 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; @@ -772,6 +773,63 @@ public class AreaCodeServiceImpl extends BaseServiceImpl getAreaCodeTree(CustomerTreeDTO formDTO) { + List tree = new ArrayList<>(); + areaCodeHandle(formDTO.getLevel(), formDTO.getAreaCode(), tree); + return ConvertUtils.sourceToTarget(tree, CustomerTreeDTO.class); + } + + private void areaCodeHandle(String level, String areaCode, List 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.getCityName()); + 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); AreaCodeEntity insert = ConvertUtils.sourceToTarget(city, AreaCodeEntity.class); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index 03a803a9b8..ae07816fa2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -520,4 +520,18 @@ public class AgencyController { return new Result>().ok(dto); } + /** + * 客户树 + * + * @param + * @return com.epmet.commons.tools.utils.Result> + * @author zhy + * @date 2022/7/6 13:24 + */ + @RequestMapping("customertree") + public Result> customerTree(@LoginUser TokenDto tokenDto) { + return new Result>().ok(agencyService.getCustomerTree(tokenDto)); + } + + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index ee3915ffa2..02630b9fb5 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -364,6 +364,16 @@ public interface CustomerAgencyDao extends BaseDao { */ List getAreaSubAgency(@Param("areaCode") String areaCode); + /** + * 客户树根节点 + * + * @param + * @return java.util.List + * @author zhy + * @date 2022/7/6 13:32 + */ + List selectRootCustomer(); + CustomerAgencyEntity getAreaRootAgency(@Param("customerId") String customerId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java index 40c0d4ef61..04c73a7756 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java @@ -189,4 +189,14 @@ public interface AgencyService { */ List getAreaSubAgency(TokenDto tokenDto, String areaCode); + /** + * 客户树 + * + * @param tokenDto + * @return java.util.List + * @author zhy + * @date 2022/7/6 13:32 + */ + List getCustomerTree(TokenDto tokenDto); + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 026bf12cf6..db30887818 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -923,6 +923,14 @@ public class AgencyServiceImpl implements AgencyService { return list; } + @Override + public List getCustomerTree(TokenDto tokenDto) { + List rootList = customerAgencyDao.selectRootCustomer(); + if (!rootList.isEmpty()) { + rootList.forEach(this::getSubCustomer); + } + return rootList; + } private CustomerAgencyEntity constructInsertEntity(AddAgencyV2FormDTO formDTO, CustomerAgencyDTO parent) { CustomerAgencyEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, CustomerAgencyEntity.class); insertEntity.setOrganizationName(formDTO.getAgencyName()); @@ -972,4 +980,30 @@ public class AgencyServiceImpl implements AgencyService { return insertEntity; } + /** + * 处理子客户 + * + * @param customer + * @return com.epmet.dto.result.CustomerTreeDTO + * @author zhy + * @date 2022/7/6 13:54 + */ + private CustomerRelationTreeDTO getSubCustomer(CustomerTreeDTO customer) { + AreaCodeDetailFormDTO formDTO = new AreaCodeDetailFormDTO(); + formDTO.setAreaCode(customer.getAreaCode()); + formDTO.setLevel(customer.getLevel()); + Result area = epmetCommonServiceOpenFeignClient.areaCodeDetail(formDTO); + if (area.success()) { + if (area.getData() != null) { + customer.setAreaName(area.getData().getAreaName()); + } + } + List children = baseDao.selectSubCustomerByPid(customer.getCustomerId()); + customer.setChildren(children); + if (!children.isEmpty()) { + children.forEach(this::getSubCustomer); + } + return customer; + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 4ff4afb921..9ebd57a41d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -947,6 +947,17 @@ + +