From 222e8489107494efed79afbfff7ea6fc30b8d93d Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 11 Nov 2021 17:03:06 +0800 Subject: [PATCH 01/36] =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java index 44b519e95b..bf699eb3b9 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java @@ -104,7 +104,7 @@ public class ExDeptServiceImpl extends BaseServiceImpl @Override public Map getDeptMap() { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.ne(ExDeptEntity::getGridCode, null); + wrapper.isNotNull(ExDeptEntity::getGridCode); List entityList = baseDao.selectList(wrapper); if (CollectionUtils.isEmpty(entityList)) { return Collections.emptyMap(); From 756c902d97af84c0aa2ac61df4a2957391964d3c Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 11 Nov 2021 17:28:13 +0800 Subject: [PATCH 02/36] =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/opendata/dto/ExDeptDTO.java | 14 ++++++++++++-- .../com/epmet/opendata/entity/ExDeptEntity.java | 16 +++++++++++++--- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExDeptDTO.java b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExDeptDTO.java index cd092d52ba..fee4ca7ad1 100644 --- a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExDeptDTO.java +++ b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExDeptDTO.java @@ -68,14 +68,24 @@ public class ExDeptDTO implements Serializable { */ private String gridCode; + /** + * 组织类型 + */ + private String isCgorg; + /** * (区县平台)部门id */ - private String deptIdQx; + private String qxDeptId; + + /** + * (区县平台)部门/网格名称 + */ + private String qxDeptCode; /** * (区县平台)部门/网格名称 */ - private String deptNameQx; + private String qxDeptName; } \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java index 7a2d2e3ff8..950b8d3e5e 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java @@ -65,18 +65,28 @@ public class ExDeptEntity { private String deptCode; /** - * + * (省标准)区划编码/网格编码 */ private String gridCode; + /** + * 组织类型 + */ + private String isCgorg; + /** * (区县平台)部门id */ - private String deptIdQx; + private String qxDeptId; + + /** + * (区县平台)部门/网格名称 + */ + private String qxDeptCode; /** * (区县平台)部门/网格名称 */ - private String deptNameQx; + private String qxDeptName; } From 0eb497e5d0a8b5968f8c750df378c4a0844d1e3a Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 11 Nov 2021 17:39:29 +0800 Subject: [PATCH 03/36] =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../opendata/service/impl/BaseGridInfoServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridInfoServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridInfoServiceImpl.java index e50d9404e4..ea56575936 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridInfoServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridInfoServiceImpl.java @@ -90,8 +90,8 @@ public class BaseGridInfoServiceImpl extends BaseServiceImpl ExList = new ArrayList<>(); result.getData().forEach(ag->{ ExDeptEntity entity = new ExDeptEntity(); - entity.setDeptIdQx(ag.getId()); - entity.setDeptNameQx(ag.getOrganizationName()); + entity.setQxDeptId(ag.getId()); + entity.setQxDeptName(ag.getOrganizationName()); entity.setGridCode(ag.getCode()); ExList.add(entity); }); @@ -138,8 +138,8 @@ public class BaseGridInfoServiceImpl extends BaseServiceImpl ExList = new ArrayList<>(); result.getData().forEach(ag -> { ExDeptEntity entity = new ExDeptEntity(); - entity.setDeptIdQx(ag.getId()); - entity.setDeptNameQx(ag.getGridName()); + entity.setQxDeptId(ag.getId()); + entity.setQxDeptName(ag.getGridName()); entity.setGridCode(ag.getCode()); ExList.add(entity); }); From 8c750a2728d63993afa7979c3a3285364ce0ea9e Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 25 Nov 2021 15:02:25 +0800 Subject: [PATCH 04/36] =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../opendata/dto/BaseConflictsResolveDTO.java | 156 ++++++++++++++-- .../entity/BaseConflictsResolveEntity.java | 170 +++++++++++++++++- 2 files changed, 306 insertions(+), 20 deletions(-) diff --git a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseConflictsResolveDTO.java b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseConflictsResolveDTO.java index 00c96a08f6..86f12712f2 100644 --- a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseConflictsResolveDTO.java +++ b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseConflictsResolveDTO.java @@ -27,7 +27,7 @@ import java.util.Date; * 事件中间表 * * @author generator generator@elink-cn.com - * @since v1.0.0 2021-10-22 + * @since v1.0.0 2021-11-25 */ @Data public class BaseConflictsResolveDTO implements Serializable { @@ -40,38 +40,168 @@ public class BaseConflictsResolveDTO implements Serializable { private String id; /** - * 事件信息 + * 事件所属网格ID */ - private String eventInfo; + private String gridId; /** - * 事件所属网格ID + * 网格名称 */ - private String gridId; + private String gridName; + + /** + * 事件名称 + */ + private String eventName; + + /** + * 发生日期 + */ + private Date happenDate; + + /** + * 发生地点 + */ + private String happenPlace; + + /** + * 事件规模 + */ + private String eventScale; + + /** + * 涉及人数 + */ + private Integer numberInvolved; + + /** + * 事件简述 + */ + private String eventDescription; + + /** + * 涉及单位 + */ + private String relatedUnits; + + /** + * 主要当事人证件代码 + */ + private String identificationCode; + + /** + * 主要当事人证件号码 + */ + private String idCard; + + /** + * 主要当事人姓名 + */ + private String name; + + /** + * 主要当事人性别 + */ + private String sex; + + /** + * 主要当事人民族 + */ + private String nation; + + /** + * 主要当事人学历 + */ + private String education; + + /** + * 主要当事人人员类别(二级) + */ + private String personnelCategory; + + /** + * 主要当事人居住详址 + */ + private String detailAddress; + + /** + * 是否解决或化解(Y已解决N未解决) + */ + private String successfulOrNot; /** - * + * 经度 */ - private String delFlag; + private String lng; + + /** + * 纬度 + */ + private String lat; /** * 创建人 */ - private String createdBy; + private String createBy; /** * 创建时间 */ - private Date createdTime; + private Date createDate; + + /** + * 修改人 + */ + private String updateBy; + + /** + * 修改时间 + */ + private Date updateDate; + + /** + * 事件所属网格ID状态(01:待办理,02:待核实,03:办结) + */ + private String status; + + /** + * 事件编号(自定义编号,可以加前缀如:py) + */ + private String eventNo; + + /** + * 采集来源(01:App,02:Web) + */ + private String source; + + /** + * 事件类别(一级) + */ + private String firstEventCategory; + + /** + * 事件类别(二级) + */ + private String secondEventCategory; + + /** + * 主要当事人人员类别(一级) + */ + private String firstPersonnelCategory; + + /** + * 办结方式(状态是办结的时候,才填) + */ + private String resolveWay; /** - * + * 办结层级(状态是办结的时候,才填) */ - private String updatedBy; + private String resolveGridLevel; /** - * 更新时间 + * 办结时间(状态是办结的时候,才填) */ - private Date updatedTime; + private Date resolveTime; } \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java index fe9a50a92a..5ab8e0b6a2 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java @@ -18,31 +18,187 @@ package com.epmet.opendata.entity; import com.baomidou.mybatisplus.annotation.TableName; -import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.Date; + /** * 事件中间表 * * @author generator generator@elink-cn.com - * @since v1.0.0 2021-10-22 + * @since v1.0.0 2021-11-25 */ @Data @EqualsAndHashCode(callSuper=false) @TableName("base_conflicts_resolve") -public class BaseConflictsResolveEntity { +public class BaseConflictsResolveEntity{ private static final long serialVersionUID = 1L; /** - * 事件信息 + * 事件所属网格ID */ - private String eventInfo; + private String gridId; /** - * 事件所属网格ID + * 网格名称 */ - private String gridId; + private String gridName; + + /** + * 事件名称 + */ + private String eventName; + + /** + * 发生日期 + */ + private Date happenDate; + + /** + * 发生地点 + */ + private String happenPlace; + + /** + * 事件规模 + */ + private String eventScale; + + /** + * 涉及人数 + */ + private Integer numberInvolved; + + /** + * 事件简述 + */ + private String eventDescription; + + /** + * 涉及单位 + */ + private String relatedUnits; + + /** + * 主要当事人证件代码 + */ + private String identificationCode; + + /** + * 主要当事人证件号码 + */ + private String idCard; + + /** + * 主要当事人姓名 + */ + private String name; + + /** + * 主要当事人性别 + */ + private String sex; + + /** + * 主要当事人民族 + */ + private String nation; + + /** + * 主要当事人学历 + */ + private String education; + + /** + * 主要当事人人员类别(二级) + */ + private String personnelCategory; + + /** + * 主要当事人居住详址 + */ + private String detailAddress; + + /** + * 是否解决或化解(Y已解决N未解决) + */ + private String successfulOrNot; + + /** + * 经度 + */ + private String lng; + + /** + * 纬度 + */ + private String lat; + + /** + * 创建人 + */ + private String createBy; + + /** + * 创建时间 + */ + private Date createDate; + + /** + * 修改人 + */ + private String updateBy; + + /** + * 修改时间 + */ + private Date updateDate; + + /** + * 事件所属网格ID状态(01:待办理,02:待核实,03:办结) + */ + private String status; + + /** + * 事件编号(自定义编号,可以加前缀如:py) + */ + private String eventNo; + + /** + * 采集来源(01:App,02:Web) + */ + private String source; + + /** + * 事件类别(一级) + */ + private String firstEventCategory; + + /** + * 事件类别(二级) + */ + private String secondEventCategory; + + /** + * 主要当事人人员类别(一级) + */ + private String firstPersonnelCategory; + + /** + * 办结方式(状态是办结的时候,才填) + */ + private String resolveWay; + + /** + * 办结层级(状态是办结的时候,才填) + */ + private String resolveGridLevel; + + /** + * 办结时间(状态是办结的时候,才填) + */ + private Date resolveTime; } From 187179326bb42850cb4801255738eb1e749ade34 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 26 Nov 2021 10:45:50 +0800 Subject: [PATCH 05/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basereport/result/EventInfoResultDTO.java | 4 +- .../impl/DataReportingServiceImpl.java | 37 +++- .../CustomerProjectCategoryDictService.java | 3 + ...ustomerProjectCategoryDictServiceImpl.java | 15 ++ .../opendata/dto/BaseConflictsResolveDTO.java | 2 +- .../entity/BaseConflictsResolveEntity.java | 207 +++++++++--------- .../entity/BaseDisputeProcessEntity.java | 1 - .../epmet/opendata/entity/ExUserEntity.java | 26 ++- .../epmet/opendata/service/ExUserService.java | 3 + .../impl/BaseDisputeProcessServiceImpl.java | 64 ++++-- .../service/impl/ExUserServiceImpl.java | 22 +- 11 files changed, 232 insertions(+), 152 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/result/EventInfoResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/result/EventInfoResultDTO.java index cce7f1bb65..4396b6cb07 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/result/EventInfoResultDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/result/EventInfoResultDTO.java @@ -47,7 +47,7 @@ public class EventInfoResultDTO implements Serializable { * 事件类别 */ private String eventCategory; - + private String parentEventCategory; /** * 上报时间 YYYY-MM-DD HH:MM:SS */ @@ -78,6 +78,8 @@ public class EventInfoResultDTO implements Serializable { */ private String successfulOrNo; + private String status; + /** * 办结层级 01省、自治区、直辖市 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java index 5c386342e9..bda9076789 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java @@ -2,6 +2,7 @@ package com.epmet.service.impl; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.utils.Result; import com.epmet.constant.OrgTypeConstant; import com.epmet.constant.ProjectConstant; import com.epmet.dto.basereport.form.EventInfoFormDTO; @@ -19,6 +20,7 @@ import com.epmet.dto.user.result.MidPatrolDetailResult; import com.epmet.dto.user.result.MidPatrolRecordResult; import com.epmet.entity.evaluationindex.screen.ScreenCustomerAgencyEntity; import com.epmet.entity.stats.CustomerProjectCategoryDictEntity; +import com.epmet.feign.OperCrmOpenFeignClient; import com.epmet.service.DataReportingService; import com.epmet.service.evaluationindex.screen.ScreenCustomerAgencyService; import com.epmet.service.evaluationindex.screen.ScreenCustomerGridService; @@ -61,6 +63,8 @@ public class DataReportingServiceImpl implements DataReportingService { private StatsStaffPatrolService statsStaffPatrolService; @Resource private CustomerProjectCategoryDictService customerProjectCategoryDictService; + @Resource + private OperCrmOpenFeignClient operCrmOpenFeignClient; /** * @Author sun @@ -153,10 +157,16 @@ public class DataReportingServiceImpl implements DataReportingService { if(CollectionUtils.isEmpty(projectList)) { return Collections.emptyList(); } + Map epmetCodeMap = new HashMap<>(); + Result parentCustomer = operCrmOpenFeignClient.getExternalAndParentCustomerId(formDTO.getCustomerId()); + if (StringUtils.isNotBlank(parentCustomer.getData())) { + customerProjectCategoryDictService.getByCategoryCodeMap(parentCustomer.getData()); + } + Map codeMap = customerProjectCategoryDictService.getByCategoryCodeMap(formDTO.getCustomerId());; //项目ID不为空时,因为只有一条,可以直接处理 if (StringUtils.isNotEmpty(formDTO.getProjectId())) { list = projectList.stream().map(project -> { - EventInfoResultDTO dto = getEventInfoResultDTO(project); + EventInfoResultDTO dto = getEventInfoResultDTO(project, epmetCodeMap, codeMap); if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) { ScreenCustomerAgencyEntity agency = screenCustomerAgencyService.getAgencyById(project.getOrgId()); dto.setOrgCode(agency.getCode()); @@ -173,7 +183,7 @@ public class DataReportingServiceImpl implements DataReportingService { Map agencyMap = screenCustomerAgencyService.getAgencyList(formDTO.getCustomerId()); Map gridMap = screenCustomerGridService.getGridList(formDTO.getCustomerId()); list = projectList.stream().map(project -> { - EventInfoResultDTO dto = getEventInfoResultDTO(project); + EventInfoResultDTO dto = getEventInfoResultDTO(project, epmetCodeMap, codeMap); if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) { ScreenCustomerAgencyEntity agency = agencyMap.get(project.getOrgId()); dto.setOrgCode(agency.getCode()); @@ -189,25 +199,29 @@ public class DataReportingServiceImpl implements DataReportingService { return list.stream().filter(item -> StringUtils.isNotBlank(item.getEventCategory())).collect(Collectors.toList()); } - private EventInfoResultDTO getEventInfoResultDTO(ScreenProjectDataDTO project) { + private EventInfoResultDTO getEventInfoResultDTO(ScreenProjectDataDTO project, Map epmetCodeMap, Map codeMap) { EventInfoResultDTO dto = new EventInfoResultDTO(); dto.setId(project.getProjectId()); dto.setCustomerId(project.getCustomerId()); dto.setEventName(project.getProjectTitle()); dto.setReporterId(project.getProjectCreator()); String categoryCode = project.getCategoryCode().split(StrConstant.COMMA)[0]; + String parentCode = null == codeMap.get(categoryCode)?null:codeMap.get(categoryCode).getParentCategoryCode(); //如果是孔村、榆山、锦水的项目需要关联分类字典表 if("2fe0065f70ca0e23ce4c26fca5f1d933".equals(project.getCustomerId()) || "44876154d10d7cb7affd92000f84f833".equals(project.getCustomerId()) || "46c55cb862d6d5e6d05d2ab61a1cc07e".equals(project.getCustomerId())) { - CustomerProjectCategoryDictEntity categoryEntity = customerProjectCategoryDictService.getByCategoryCode(project.getCustomerId(), categoryCode); + CustomerProjectCategoryDictEntity categoryEntity = codeMap.get(categoryCode); if (null != categoryEntity) { categoryCode = categoryEntity.getEpmetCategoryCode(); + parentCode = epmetCodeMap.get(categoryEntity.getEpmetCategoryCode()).getParentCategoryCode(); } else { categoryCode = null; + parentCode = null; } } dto.setEventCategory(categoryCode); + dto.setParentEventCategory(parentCode); dto.setReportTime(project.getProjectCreateTime()); dto.setHappenDate(DateUtils.parseDate(DateUtils.format(project.getProjectCreateTime()), DateUtils.DATE_PATTERN)); dto.setHappenPlace(project.getProjectAddress()); @@ -244,7 +258,7 @@ public class DataReportingServiceImpl implements DataReportingService { dto.setCompleteLevel("07"); } } - + dto.setStatus(getProjectStatus(project.getProjectStatusCode())); dto.setCompleteTime(project.getCloseCaseTime()); dto.setLat(project.getLatitude()); dto.setLng(project.getLongitude()); @@ -268,6 +282,19 @@ public class DataReportingServiceImpl implements DataReportingService { } } + private String getProjectStatus(String status) { + switch (status) { + case ProjectConstant.PENDING: + return "01"; + case ProjectConstant.CLOSED: + return "02"; + case ProjectConstant.CLOSED_CASE: + return "03"; + default: + return null; + } + } + @Override public List getPatrolRecordList(MidPatrolFormDTO formDTO) { return userService.getPatrolRecordList(formDTO); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/CustomerProjectCategoryDictService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/CustomerProjectCategoryDictService.java index cc8633b08f..02a859423a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/CustomerProjectCategoryDictService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/CustomerProjectCategoryDictService.java @@ -24,6 +24,7 @@ import com.epmet.entity.issue.IssueProjectCategoryDictEntity; import com.epmet.entity.stats.CustomerProjectCategoryDictEntity; import java.util.List; +import java.util.Map; /** * 客户项目分类字典表 @@ -65,4 +66,6 @@ public interface CustomerProjectCategoryDictService extends BaseService getByCategoryCodeMap(String customerId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/CustomerProjectCategoryDictServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/CustomerProjectCategoryDictServiceImpl.java index d7c81c93ad..592e2a33b6 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/CustomerProjectCategoryDictServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/CustomerProjectCategoryDictServiceImpl.java @@ -34,7 +34,11 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Collections; import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; /** * 客户项目分类字典表 @@ -135,4 +139,15 @@ public class CustomerProjectCategoryDictServiceImpl extends BaseServiceImpl getByCategoryCodeMap(String customerId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CustomerProjectCategoryDictEntity::getCustomerId, customerId); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyMap(); + } + return list.stream().collect(Collectors.toMap(CustomerProjectCategoryDictEntity::getCategoryCode, Function.identity())); + } } diff --git a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseConflictsResolveDTO.java b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseConflictsResolveDTO.java index 86f12712f2..2f72939254 100644 --- a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseConflictsResolveDTO.java +++ b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseConflictsResolveDTO.java @@ -42,7 +42,7 @@ public class BaseConflictsResolveDTO implements Serializable { /** * 事件所属网格ID */ - private String gridId; + private Integer gridId; /** * 网格名称 diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java index 5ab8e0b6a2..42a8323444 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java @@ -36,169 +36,174 @@ public class BaseConflictsResolveEntity{ private static final long serialVersionUID = 1L; - /** - * 事件所属网格ID - */ - private String gridId; - - /** - * 网格名称 - */ + /** + * 事件ID + */ + private String id; + + /** + * 事件所属网格ID + */ + private Integer gridId; + + /** + * 网格名称 + */ private String gridName; - /** - * 事件名称 - */ + /** + * 事件名称 + */ private String eventName; - /** - * 发生日期 - */ + /** + * 发生日期 + */ private Date happenDate; - /** - * 发生地点 - */ + /** + * 发生地点 + */ private String happenPlace; - /** - * 事件规模 - */ + /** + * 事件规模 + */ private String eventScale; - /** - * 涉及人数 - */ + /** + * 涉及人数 + */ private Integer numberInvolved; - /** - * 事件简述 - */ + /** + * 事件简述 + */ private String eventDescription; - /** - * 涉及单位 - */ + /** + * 涉及单位 + */ private String relatedUnits; - /** - * 主要当事人证件代码 - */ + /** + * 主要当事人证件代码 + */ private String identificationCode; - /** - * 主要当事人证件号码 - */ + /** + * 主要当事人证件号码 + */ private String idCard; - /** - * 主要当事人姓名 - */ + /** + * 主要当事人姓名 + */ private String name; - /** - * 主要当事人性别 - */ + /** + * 主要当事人性别 + */ private String sex; - /** - * 主要当事人民族 - */ + /** + * 主要当事人民族 + */ private String nation; - /** - * 主要当事人学历 - */ + /** + * 主要当事人学历 + */ private String education; - /** - * 主要当事人人员类别(二级) - */ + /** + * 主要当事人人员类别(二级) + */ private String personnelCategory; - /** - * 主要当事人居住详址 - */ + /** + * 主要当事人居住详址 + */ private String detailAddress; - /** - * 是否解决或化解(Y已解决N未解决) - */ + /** + * 是否解决或化解(Y已解决N未解决) + */ private String successfulOrNot; - /** - * 经度 - */ + /** + * 经度 + */ private String lng; - /** - * 纬度 - */ + /** + * 纬度 + */ private String lat; - /** - * 创建人 - */ + /** + * 创建人 + */ private String createBy; - /** - * 创建时间 - */ + /** + * 创建时间 + */ private Date createDate; - /** - * 修改人 - */ + /** + * 修改人 + */ private String updateBy; - /** - * 修改时间 - */ + /** + * 修改时间 + */ private Date updateDate; - /** - * 事件所属网格ID状态(01:待办理,02:待核实,03:办结) - */ + /** + * 事件所属网格ID状态(01:待办理,02:待核实,03:办结) + */ private String status; - /** - * 事件编号(自定义编号,可以加前缀如:py) - */ + /** + * 事件编号(自定义编号,可以加前缀如:py) + */ private String eventNo; - /** - * 采集来源(01:App,02:Web) - */ + /** + * 采集来源(01:App,02:Web) + */ private String source; - /** - * 事件类别(一级) - */ + /** + * 事件类别(一级) + */ private String firstEventCategory; - /** - * 事件类别(二级) - */ + /** + * 事件类别(二级) + */ private String secondEventCategory; - /** - * 主要当事人人员类别(一级) - */ + /** + * 主要当事人人员类别(一级) + */ private String firstPersonnelCategory; - /** - * 办结方式(状态是办结的时候,才填) - */ + /** + * 办结方式(状态是办结的时候,才填) + */ private String resolveWay; - /** - * 办结层级(状态是办结的时候,才填) - */ + /** + * 办结层级(状态是办结的时候,才填) + */ private String resolveGridLevel; - /** - * 办结时间(状态是办结的时候,才填) - */ + /** + * 办结时间(状态是办结的时候,才填) + */ private Date resolveTime; } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseDisputeProcessEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseDisputeProcessEntity.java index 3f458a026a..979919af85 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseDisputeProcessEntity.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseDisputeProcessEntity.java @@ -97,7 +97,6 @@ public class BaseDisputeProcessEntity extends BaseEpmetEntity { * 是否办结 Y:是、N:否 */ private String successfulOrNo; - /** * 办结层级 01省、自治区、直辖市 diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExUserEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExUserEntity.java index f178336ab1..1f114a9cc7 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExUserEntity.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExUserEntity.java @@ -37,7 +37,7 @@ public class ExUserEntity { /** * 市平台 用户ID */ - private String userId; + private Integer userId; /** * 市平台 用户名 @@ -45,28 +45,32 @@ public class ExUserEntity { private String userName; /** - * 市平台 用户身份证号 + * 市平台 登录账号 */ - private String idCard; + private String loginName; /** - * 市平台 用户手机号 + * (市平台)所属区县、街道、村居或网格id */ - private String mobile; + private String gridId; /** - * 区县平台 用户ID + * (市平台)所属部门id */ - private String userIdQx; + private String deptId; /** - * 区县平台 用户名 + * (区县平台)用户id */ - private String userNameQx; + private String qxUserId; /** - * 区县平台 用户账号 + * (区县平台)姓名/用户名称 */ - private String userAccount; + private String qxUserName; + /** + * (区县平台)手机号码 + */ + private String qxMobile; } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExUserService.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExUserService.java index 9c76d86500..3268c27fc6 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExUserService.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExUserService.java @@ -20,6 +20,8 @@ package com.epmet.opendata.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.opendata.entity.ExUserEntity; +import java.util.Map; + /** * 系统用户中间表 * @@ -27,5 +29,6 @@ import com.epmet.opendata.entity.ExUserEntity; * @since v1.0.0 2021-10-22 */ public interface ExUserService extends BaseService { + Map getUserMap(); } \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index 2a9e99acbf..aa3ad359eb 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -20,22 +20,25 @@ package com.epmet.opendata.service.impl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.SystemMessageType; import com.epmet.dto.basereport.form.EventInfoFormDTO; import com.epmet.dto.basereport.result.EventInfoResultDTO; import com.epmet.feign.DataStatisticalOpenFeignClient; import com.epmet.opendata.dao.BaseDisputeProcessDao; +import com.epmet.opendata.entity.BaseConflictsResolveEntity; import com.epmet.opendata.entity.BaseDisputeProcessEntity; +import com.epmet.opendata.service.BaseConflictsResolveService; import com.epmet.opendata.service.BaseDisputeProcessService; import com.epmet.opendata.service.ExDeptService; +import com.epmet.opendata.service.ExUserService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 事件信息表 @@ -49,6 +52,10 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl deptMap = exDeptService.getDeptMap(); + Map userMap = exUserService.getUserMap(); List list = result.getData(); - if (CollectionUtils.isNotEmpty(list)) { - List entityList = ConvertUtils.sourceToTarget(list, BaseDisputeProcessEntity.class); - entityList.forEach(item -> { - item.setDetpId(deptMap.get(item.getOrgCode())); - }); - if(SystemMessageType.PROJECT_ADD.equals(formDTO.getType())){ - insertBatch(entityList); - }else { - updateBatchById(entityList); - } - } + saveEvent(formDTO, deptMap, userMap, list); //分批次循环 while (CollectionUtils.isNotEmpty(list)) { formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE); result = dataStatisticalOpenFeignClient.getEventInfo(formDTO); list = result.getData(); - if (CollectionUtils.isNotEmpty(list)) { - List entityList = ConvertUtils.sourceToTarget(list, BaseDisputeProcessEntity.class); - entityList.forEach(item -> { - item.setDetpId(deptMap.get(item.getOrgCode())); - }); - if("add".equals(formDTO.getType())){ - insertBatch(entityList); - }else { - updateBatchById(entityList); - } - } + saveEvent(formDTO, deptMap, userMap, list); } } + private void saveEvent(EventInfoFormDTO formDTO, Map deptMap, Map userMap, List list) { + if (CollectionUtils.isNotEmpty(list)) { + + List resolveList = list.stream().map(item -> { + BaseConflictsResolveEntity entity = new BaseConflictsResolveEntity(); + entity.setId(item.getId()); + entity.setGridId(deptMap.get(item.getOrgCode())); + entity.setGridName(item.getOrgName()); + entity.setEventName(item.getEventName()); + entity.setHappenDate(item.getHappenDate()); + entity.setHappenPlace(item.getHappenPlace()); + entity.setEventDescription(item.getEventDescription()); + entity.setLng(item.getLng().toString()); + entity.setLat(item.getLat().toString()); + entity.setCreateBy(String.valueOf(userMap.get(item.getReporterId()))); + entity.setCreateDate(item.getReportTime()); + entity.setStatus(item.getStatus()); + entity.setFirstEventCategory(item.getParentEventCategory()); + entity.setSecondEventCategory(item.getEventCategory()); + return entity; + }).collect(Collectors.toList()); + + if(SystemMessageType.PROJECT_ADD.equals(formDTO.getType())){ + baseConflictsResolveService.insertBatch(resolveList); + }else { + baseConflictsResolveService.updateBatchById(resolveList); + } + } + } + } \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java index 4badca6794..d692687303 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java @@ -17,23 +17,18 @@ package com.epmet.opendata.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.constant.FieldConstant; -import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.opendata.dao.ExUserDao; -import com.epmet.opendata.dto.ExUserDTO; import com.epmet.opendata.entity.ExUserEntity; import com.epmet.opendata.service.ExUserService; -import org.apache.commons.lang3.StringUtils; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 系统用户中间表 @@ -45,4 +40,13 @@ import java.util.Map; public class ExUserServiceImpl extends BaseServiceImpl implements ExUserService { + @Override + public Map getUserMap() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyMap(); + } + return list.stream().collect(Collectors.toMap(ExUserEntity::getQxUserId, ExUserEntity::getUserId, (key1, key2) -> key2)); + } } \ No newline at end of file From 36b623d328dd8dd4712309a5e312d1cf139acaa3 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 26 Nov 2021 11:01:41 +0800 Subject: [PATCH 06/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0flag=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/opendata/dto/BaseConflictsResolveDTO.java | 5 +++++ .../epmet/opendata/entity/BaseConflictsResolveEntity.java | 4 ++++ .../opendata/service/impl/BaseDisputeProcessServiceImpl.java | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseConflictsResolveDTO.java b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseConflictsResolveDTO.java index 2f72939254..3787374f7f 100644 --- a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseConflictsResolveDTO.java +++ b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseConflictsResolveDTO.java @@ -204,4 +204,9 @@ public class BaseConflictsResolveDTO implements Serializable { */ private Date resolveTime; + /** + * 同步状态 0 未同步, 1 已同步 + */ + private String flag; + } \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java index 42a8323444..c2f1907a07 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java @@ -206,4 +206,8 @@ public class BaseConflictsResolveEntity{ */ private Date resolveTime; + /** + * 同步状态 0 未同步, 1 已同步 + */ + private String flag; } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index aa3ad359eb..741dcec301 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -106,6 +106,10 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl Date: Fri, 26 Nov 2021 14:22:52 +0800 Subject: [PATCH 07/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0flag=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BaseDisputeProcessServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index 741dcec301..e20b533616 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -36,6 +36,7 @@ import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -103,13 +104,16 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl Date: Fri, 26 Nov 2021 15:08:44 +0800 Subject: [PATCH 08/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?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/dto/basereport/result/EventInfoResultDTO.java | 2 +- .../java/com/epmet/service/impl/DataReportingServiceImpl.java | 2 ++ .../opendata/service/impl/BaseDisputeProcessServiceImpl.java | 2 +- .../java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/result/EventInfoResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/result/EventInfoResultDTO.java index 4396b6cb07..4b7aeea782 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/result/EventInfoResultDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/result/EventInfoResultDTO.java @@ -24,7 +24,7 @@ public class EventInfoResultDTO implements Serializable { */ private String customerId; - private Integer detpId; + private String orgId; private String reporterId; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java index bda9076789..2fbd1d0037 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java @@ -169,10 +169,12 @@ public class DataReportingServiceImpl implements DataReportingService { EventInfoResultDTO dto = getEventInfoResultDTO(project, epmetCodeMap, codeMap); if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) { ScreenCustomerAgencyEntity agency = screenCustomerAgencyService.getAgencyById(project.getOrgId()); + dto.setOrgId(project.getOrgId()); dto.setOrgCode(agency.getCode()); dto.setOrgName(agency.getAgencyName()); } else { ScreenCustomerGridDTO grid = screenCustomerGridService.getGridById(project.getOrgId()); + dto.setOrgId(project.getOrgId()); dto.setOrgCode(grid.getCode()); dto.setOrgName(grid.getGridName()); } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index e20b533616..983bbf1916 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -94,7 +94,7 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl resolveList = list.stream().map(item -> { BaseConflictsResolveEntity entity = new BaseConflictsResolveEntity(); entity.setId(item.getId()); - entity.setGridId(deptMap.get(item.getOrgCode())); + entity.setGridId(deptMap.get(item.getOrgId())); entity.setGridName(item.getOrgName()); entity.setEventName(item.getEventName()); entity.setHappenDate(item.getHappenDate()); diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java index bf699eb3b9..cbbb536124 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java @@ -109,7 +109,7 @@ public class ExDeptServiceImpl extends BaseServiceImpl if (CollectionUtils.isEmpty(entityList)) { return Collections.emptyMap(); } - return entityList.stream().collect(Collectors.toMap(ExDeptEntity::getGridCode, ExDeptEntity::getDeptId, (key1, key2) -> key2)); + return entityList.stream().collect(Collectors.toMap(ExDeptEntity::getQxDeptId, ExDeptEntity::getDeptId, (key1, key2) -> key2)); } } \ No newline at end of file From cfbb27b6bf3c58a26b9e7d7560840b83d973f2e1 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 26 Nov 2021 15:21:21 +0800 Subject: [PATCH 09/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BaseDisputeProcessServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index 983bbf1916..7c9a1aeabf 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -100,13 +100,14 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl Date: Fri, 26 Nov 2021 17:43:42 +0800 Subject: [PATCH 10/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/mybatis/service/BaseService.java | 26 +++++++++ .../mybatis/service/impl/BaseServiceImpl.java | 55 +++++++++++++++++++ .../messages/DisputeProcessMQMsg.java | 3 +- .../dto/basereport/form/EventInfoFormDTO.java | 3 +- .../screen/ScreenProjectDataDao.java | 2 +- .../mq/ProjectChangedCustomListener.java | 19 ++++--- .../screen/ScreenProjectDataService.java | 2 +- .../impl/ScreenProjectDataServiceImpl.java | 4 +- .../impl/DataReportingServiceImpl.java | 4 +- .../screen/ScreenProjectDataDao.xml | 12 ++-- .../impl/BaseDisputeProcessServiceImpl.java | 5 +- 11 files changed, 115 insertions(+), 20 deletions(-) diff --git a/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/service/BaseService.java b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/service/BaseService.java index c82dce8253..9f5a388ab2 100644 --- a/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/service/BaseService.java +++ b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/service/BaseService.java @@ -123,5 +123,31 @@ public interface BaseService { */ boolean deleteBatchIds(Collection idList); + /** + *

+ * 存在更新记录,否插入一条记录 + *

+ * + * @param entity 实体对象 + */ + boolean saveOrUpdate(T entity); + + /** + *

+ * 批量修改插入 + *

+ * + * @param entityList 实体对象集合 + */ + boolean saveOrUpdateBatch(Collection entityList); + /** + *

+ * 批量修改插入 + *

+ * + * @param entityList 实体对象集合 + * @param batchSize 更新批次数量 + */ + boolean saveOrUpdateBatch(Collection entityList, int batchSize); } diff --git a/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/service/impl/BaseServiceImpl.java b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/service/impl/BaseServiceImpl.java index fc89437e03..445f5a6e40 100644 --- a/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/service/impl/BaseServiceImpl.java +++ b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/service/impl/BaseServiceImpl.java @@ -13,6 +13,8 @@ import com.baomidou.mybatisplus.core.enums.SqlMethod; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.core.metadata.TableInfo; +import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import com.baomidou.mybatisplus.core.toolkit.*; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; @@ -31,6 +33,7 @@ import java.io.Serializable; import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.Objects; /** * 基础服务类,所有Service都要继承 @@ -298,4 +301,56 @@ public abstract class BaseServiceImpl, T> implements Bas public boolean deleteBatchIds(Collection idList) { return SqlHelper.delBool(baseDao.deleteBatchIds(idList)); } + + @Transactional(rollbackFor = Exception.class) + @Override + public boolean saveOrUpdate(T entity) { + if (null != entity) { + Class cls = entity.getClass(); + TableInfo tableInfo = TableInfoHelper.getTableInfo(cls); + Assert.notNull(tableInfo, "error: can not execute. because can not find cache of TableInfo for entity!"); + String keyProperty = tableInfo.getKeyProperty(); + Assert.notEmpty(keyProperty, "error: can not execute. because can not find column for id from entity!"); + Object idVal = ReflectionKit.getMethodValue(cls, entity, tableInfo.getKeyProperty()); + return StringUtils.checkValNull(idVal) || Objects.isNull(selectById((Serializable) idVal)) ? insert(entity) : updateById(entity); + } + return false; + } + + @Transactional(rollbackFor = Exception.class) + @Override + public boolean saveOrUpdateBatch(Collection entityList) { + return saveOrUpdateBatch(entityList, 100); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public boolean saveOrUpdateBatch(Collection entityList, int batchSize) { + Assert.notEmpty(entityList, "error: entityList must not be empty"); + Class cls = currentModelClass(); + TableInfo tableInfo = TableInfoHelper.getTableInfo(cls); + Assert.notNull(tableInfo, "error: can not execute. because can not find cache of TableInfo for entity!"); + String keyProperty = tableInfo.getKeyProperty(); + Assert.notEmpty(keyProperty, "error: can not execute. because can not find column for id from entity!"); + try (SqlSession batchSqlSession = sqlSessionBatch()) { + int i = 0; + for (T entity : entityList) { + Object idVal = ReflectionKit.getMethodValue(cls, entity, keyProperty); + if (StringUtils.checkValNull(idVal) || Objects.isNull(selectById((Serializable) idVal))) { + batchSqlSession.insert(sqlStatement(SqlMethod.INSERT_ONE), entity); + } else { + MapperMethod.ParamMap param = new MapperMethod.ParamMap<>(); + param.put(Constants.ENTITY, entity); + batchSqlSession.update(sqlStatement(SqlMethod.UPDATE_BY_ID), param); + } + // 不知道以后会不会有人说更新失败了还要执行插入 😂😂😂 + if (i >= 1 && i % batchSize == 0) { + batchSqlSession.flushStatements(); + } + i++; + } + batchSqlSession.flushStatements(); + } + return true; + } } diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/DisputeProcessMQMsg.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/DisputeProcessMQMsg.java index 30a1700054..bed6aa4bf5 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/DisputeProcessMQMsg.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/DisputeProcessMQMsg.java @@ -4,6 +4,7 @@ import lombok.AllArgsConstructor; import lombok.Data; import java.io.Serializable; +import java.util.List; /** * @Description @@ -14,7 +15,7 @@ import java.io.Serializable; @AllArgsConstructor public class DisputeProcessMQMsg implements Serializable { private String customerId; - private String projectId; + private List projectId; /** * 操作类型【新增:add 修改删除:edit】 */ diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/EventInfoFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/EventInfoFormDTO.java index ee5830567a..8e6c99d562 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/EventInfoFormDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/EventInfoFormDTO.java @@ -4,6 +4,7 @@ import com.epmet.commons.tools.dto.form.PageFormDTO; import lombok.Data; import java.io.Serializable; +import java.util.List; /** * @Description @@ -14,7 +15,7 @@ import java.io.Serializable; public class EventInfoFormDTO extends PageFormDTO implements Serializable { private static final long serialVersionUID = 8479649048108914555L; private String customerId; - private String projectId; + private List projectId; /** * 操作类型【新增:add 修改删除:edit】 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java index 26aa8892d9..701348e39a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java @@ -68,7 +68,7 @@ public interface ScreenProjectDataDao extends BaseDao { int updateProjectSatisfactionScore(@Param("projectId")String projectId, @Param("score")BigDecimal score); - List selectProjectList(@Param("customerId") String customerId, @Param("projectId") String projectId); + List selectProjectList(@Param("customerId") String customerId, @Param("projectIds") List projectIds); /** * @Description 查询网格下的项目分类 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java index 72e12ff5dc..d5f304cc0d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java @@ -27,6 +27,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.annotation.PreDestroy; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.concurrent.ExecutionException; @@ -154,14 +155,18 @@ public class ProjectChangedCustomListener implements MessageListenerConcurrently logger.info("consumer projectChanged msg success,{}",aBoolean); //发送项目数据上报的mq消息 - String type; - if ("issue_shift_project".equals(msgObj.getOperation()) || "created".equals(msgObj.getOperation())) { - type = SystemMessageType.PROJECT_ADD; - } else { - type = SystemMessageType.PROJECT_EDIT; + if ("issue_shift_project".equals(msgObj.getOperation()) || "created".equals(msgObj.getOperation()) || "close".equals(msgObj.getOperation())) { + String type; + if ("issue_shift_project".equals(msgObj.getOperation()) || "created".equals(msgObj.getOperation())) { + type = SystemMessageType.PROJECT_ADD; + } else { + type = SystemMessageType.PROJECT_EDIT; + } + List projectList = new ArrayList<>(); + projectList.add(msgObj.getProjectId()); + DisputeProcessMQMsg msg = new DisputeProcessMQMsg(customerId, projectList, type); + SpringContextUtils.getBean(ScreenProjectDataService.class).sendProjectChangeMq(msg); } - DisputeProcessMQMsg msg = new DisputeProcessMQMsg(customerId, msgObj.getProjectId(), type); - SpringContextUtils.getBean(ScreenProjectDataService.class).sendProjectChangeMq(msg); } catch (RenException e) { // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 logger.error("【RocketMQ】消费项目变动消息失败:",e); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java index 845a2fc844..cf5279027a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java @@ -137,7 +137,7 @@ public interface ScreenProjectDataService extends BaseService getProjectList(String customerId, String projectId, Integer pageNo, Integer pageSize); + List getProjectList(String customerId, List projectId, Integer pageNo, Integer pageSize); /** * 项目变更MQ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java index e2597eae16..98bd3ff9cf 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java @@ -48,12 +48,12 @@ import com.epmet.service.evaluationindex.screen.ScreenProjectDataService; import com.epmet.service.stats.CustomerProjectCategoryDictService; import com.github.pagehelper.PageHelper; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.math.BigDecimal; @@ -298,7 +298,7 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl getProjectList(String customerId, String projectId, Integer pageNo, Integer pageSize) { + public List getProjectList(String customerId, List projectId, Integer pageNo, Integer pageSize) { PageHelper.startPage(pageNo, pageSize); return baseDao.selectProjectList(customerId, projectId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java index 2fbd1d0037..6a113754dd 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java @@ -164,7 +164,7 @@ public class DataReportingServiceImpl implements DataReportingService { } Map codeMap = customerProjectCategoryDictService.getByCategoryCodeMap(formDTO.getCustomerId());; //项目ID不为空时,因为只有一条,可以直接处理 - if (StringUtils.isNotEmpty(formDTO.getProjectId())) { + if (CollectionUtils.isNotEmpty(formDTO.getProjectId())) { list = projectList.stream().map(project -> { EventInfoResultDTO dto = getEventInfoResultDTO(project, epmetCodeMap, codeMap); if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) { @@ -188,10 +188,12 @@ public class DataReportingServiceImpl implements DataReportingService { EventInfoResultDTO dto = getEventInfoResultDTO(project, epmetCodeMap, codeMap); if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) { ScreenCustomerAgencyEntity agency = agencyMap.get(project.getOrgId()); + dto.setOrgId(project.getOrgId()); dto.setOrgCode(agency.getCode()); dto.setOrgName(agency.getAgencyName()); } else { ScreenCustomerGridDTO grid = gridMap.get(project.getOrgId()); + dto.setOrgId(project.getOrgId()); dto.setOrgCode(grid.getCode()); dto.setOrgName(grid.getGridName()); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml index a15debd1c6..913bdcb179 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml @@ -253,8 +253,10 @@ AND b.CUSTOMER_ID = #{customerId} - - AND b.PROJECT_ID = #{projectId} + + + b.PROJECT_ID = #{projectId} + LEFT JOIN screen_customer_agency c ON b.HANDLER_ID = c.AGENCY_ID WHERE a.DEL_FLAG = '0' @@ -263,8 +265,10 @@ AND a.CUSTOMER_ID = #{customerId} - - AND a.PROJECT_ID = #{projectId} + + + a.PROJECT_ID = #{projectId} + ORDER BY a.CREATED_TIME ASC diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index 7c9a1aeabf..484d2b17b7 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -69,6 +69,7 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl> result = dataStatisticalOpenFeignClient.getEventInfo(formDTO); if (!result.success()) { throw new RenException(result.getInternalMsg()); @@ -119,9 +120,9 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl Date: Mon, 29 Nov 2021 09:56:33 +0800 Subject: [PATCH 11/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BaseDisputeProcessServiceImpl.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index 484d2b17b7..9e561930ed 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -21,7 +21,6 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.Result; -import com.epmet.constant.SystemMessageType; import com.epmet.dto.basereport.form.EventInfoFormDTO; import com.epmet.dto.basereport.result.EventInfoResultDTO; import com.epmet.feign.DataStatisticalOpenFeignClient; @@ -113,17 +112,10 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl Date: Mon, 29 Nov 2021 10:01:11 +0800 Subject: [PATCH 12/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../opendata/service/impl/BaseDisputeProcessServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index 9e561930ed..5db720a2b1 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -93,7 +93,7 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl resolveList = list.stream().map(item -> { BaseConflictsResolveEntity entity = new BaseConflictsResolveEntity(); - entity.setId(item.getId()); + entity.setId(item.getId().concat("_PY")); entity.setGridId(deptMap.get(item.getOrgId())); entity.setGridName(item.getOrgName()); entity.setEventName(item.getEventName()); From d9ebd51a7bbbb4059a6a61c96be6dba67cd82a43 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 29 Nov 2021 10:19:25 +0800 Subject: [PATCH 13/36] =?UTF-8?q?=E8=AE=BE=E7=BD=AEopen-data-worker?= =?UTF-8?q?=E7=94=9F=E4=BA=A7=E7=8E=AF=E5=A2=83=E7=89=88=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../open-data-worker-server/deploy/docker-compose-prod.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/deploy/docker-compose-prod.yml b/epmet-module/open-data-worker/open-data-worker-server/deploy/docker-compose-prod.yml index feedbad307..74d27bd4c8 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/deploy/docker-compose-prod.yml +++ b/epmet-module/open-data-worker/open-data-worker-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-voice-server: container_name: open-data-worker-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/open-data-worker-server:0.3.69 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/open-data-worker-server:0.3.1 ports: - "8107:8107" network_mode: host # 使用现有网络 From 4a081313a48302c7989d348f7f8f2d1c0b7bfe1f Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 29 Nov 2021 12:26:35 +0800 Subject: [PATCH 14/36] =?UTF-8?q?=E8=B0=83=E6=95=B4hystrix=E7=9A=84?= =?UTF-8?q?=E7=BA=BF=E7=A8=8B=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../open-data-worker/open-data-worker-server/pom.xml | 1 + .../open-data-worker-server/src/main/resources/bootstrap.yml | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/epmet-module/open-data-worker/open-data-worker-server/pom.xml b/epmet-module/open-data-worker/open-data-worker-server/pom.xml index 6a40fad5b3..855babdf18 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/pom.xml +++ b/epmet-module/open-data-worker/open-data-worker-server/pom.xml @@ -2,6 +2,7 @@ + 0.3.1 open-data-worker com.epmet diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/bootstrap.yml b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/bootstrap.yml index 49db95eb6d..b158975c86 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/bootstrap.yml +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/bootstrap.yml @@ -112,6 +112,11 @@ hystrix: isolation: thread: timeoutInMilliseconds: 60000 #缺省为1000 + threadpool: + default: + coreSize: 10 + maxQueueSize: 500 + queueSizeRejectionThreshold: 500 ribbon: ReadTimeout: 300000 From f13829108654a2f20957b5ae68831df3df51796f Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 29 Nov 2021 12:49:25 +0800 Subject: [PATCH 15/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4mq=E7=9B=91=E5=90=AC=E5=99=A8=E5=88=86=E5=B8=83?= =?UTF-8?q?=E5=BC=8F=E9=94=81=E6=B3=A8=E5=85=A5=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../opendata/mq/RocketMQConsumerRegister.java | 14 ++++++++++---- .../listener/OpenDataOrgChangeEventListener.java | 9 +++++++-- .../OpenDataPatrolChangeEventListener.java | 8 ++++++-- .../OpenDataProjectChangeEventListener.java | 8 ++++++-- .../listener/OpenDataStaffChangeEventListener.java | 8 ++++++-- 5 files changed, 35 insertions(+), 12 deletions(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/RocketMQConsumerRegister.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/RocketMQConsumerRegister.java index 3fa339bc0b..dc02f0498a 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/RocketMQConsumerRegister.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/RocketMQConsumerRegister.java @@ -4,11 +4,13 @@ import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; import com.epmet.commons.rocketmq.constants.TopicConstants; import com.epmet.commons.rocketmq.register.MQAbstractRegister; import com.epmet.commons.rocketmq.register.MQConsumerProperties; +import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.opendata.mq.listener.OpenDataOrgChangeEventListener; import com.epmet.opendata.mq.listener.OpenDataPatrolChangeEventListener; import com.epmet.opendata.mq.listener.OpenDataProjectChangeEventListener; import com.epmet.opendata.mq.listener.OpenDataStaffChangeEventListener; import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** @@ -19,35 +21,39 @@ import org.springframework.stereotype.Component; @Component public class RocketMQConsumerRegister extends MQAbstractRegister { + @Autowired + private DistributedLock distributedLock; + @Override public void registerAllListeners(String env, MQConsumerProperties consumerProperties) { + // 客户初始化监听器注册 register(consumerProperties, ConsomerGroupConstants.OPEN_DATA_ORG_CHANGE_EVENT_LISTENER_GROUP, MessageModel.CLUSTERING, TopicConstants.ORG, "*", - new OpenDataOrgChangeEventListener()); + new OpenDataOrgChangeEventListener(distributedLock)); register(consumerProperties, ConsomerGroupConstants.OPEN_DATA_STAFF_CHANGE_EVENT_LISTENER_GROUP, MessageModel.CLUSTERING, TopicConstants.STAFF, "*", - new OpenDataStaffChangeEventListener()); + new OpenDataStaffChangeEventListener(distributedLock)); register(consumerProperties, ConsomerGroupConstants.OPEN_DATA_PATROL_CHANGE_EVENT_LISTENER_GROUP, MessageModel.CLUSTERING, TopicConstants.PATROL, "*", - new OpenDataPatrolChangeEventListener()); + new OpenDataPatrolChangeEventListener(distributedLock)); register(consumerProperties, ConsomerGroupConstants.OPEN_DATA_PROJECT_CHANGE_EVENT_LISTENER_GROUP, MessageModel.CLUSTERING, TopicConstants.PROJECT, "*", - new OpenDataProjectChangeEventListener()); + new OpenDataProjectChangeEventListener(distributedLock)); // ...其他监听器类似 } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java index 04e95a893b..8f123f23c5 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java @@ -35,6 +35,13 @@ public class OpenDataOrgChangeEventListener implements MessageListenerConcurrent private RedisUtils redisUtils; + private DistributedLock distributedLock; + + public OpenDataOrgChangeEventListener(DistributedLock distributedLock) { + this.distributedLock = distributedLock; + } + + @Override public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { @@ -62,10 +69,8 @@ public class OpenDataOrgChangeEventListener implements MessageListenerConcurrent logger.info("【开放数据事件监听器】-组织信息变更-收到消息内容:{},操作:{}", msg, tags); OrgOrStaffMQMsg obj = JSON.parseObject(msg, OrgOrStaffMQMsg.class); - DistributedLock distributedLock = null; RLock lock = null; try { - distributedLock = SpringContextUtils.getBean(DistributedLock.class); lock = distributedLock.getLock(String.format("lock:open_data_org:%s", obj.getOrgId()), 30L, 30L, TimeUnit.SECONDS); diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataPatrolChangeEventListener.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataPatrolChangeEventListener.java index 6207c6fa74..45acb46283 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataPatrolChangeEventListener.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataPatrolChangeEventListener.java @@ -37,6 +37,12 @@ public class OpenDataPatrolChangeEventListener implements MessageListenerConcurr private RedisUtils redisUtils; + private DistributedLock distributedLock; + + public OpenDataPatrolChangeEventListener(DistributedLock distributedLock) { + this.distributedLock = distributedLock; + } + @Override public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { @@ -67,10 +73,8 @@ public class OpenDataPatrolChangeEventListener implements MessageListenerConcurr log.warn("consumeMessage msg body is blank"); return; } - DistributedLock distributedLock = null; RLock lock = null; try { - distributedLock = SpringContextUtils.getBean(DistributedLock.class); lock = distributedLock.getLock(String.format("lock:open_data_patrol:%s", msgObj.getPatrolId()), 30L, 30L, TimeUnit.SECONDS); UpsertPatrolRecordForm patrolRecordForm = new UpsertPatrolRecordForm(); diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataProjectChangeEventListener.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataProjectChangeEventListener.java index c2af1cffe7..6c5f127cb9 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataProjectChangeEventListener.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataProjectChangeEventListener.java @@ -38,6 +38,12 @@ public class OpenDataProjectChangeEventListener implements MessageListenerConcur private RedisUtils redisUtils; + private DistributedLock distributedLock; + + public OpenDataProjectChangeEventListener(DistributedLock distributedLock) { + this.distributedLock = distributedLock; + } + @Override public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { @@ -68,10 +74,8 @@ public class OpenDataProjectChangeEventListener implements MessageListenerConcur DisputeProcessMQMsg obj = JSON.parseObject(msg, DisputeProcessMQMsg.class); EventInfoFormDTO formDTO = ConvertUtils.sourceToTarget(obj, EventInfoFormDTO.class); - DistributedLock distributedLock = null; RLock lock = null; try { - distributedLock = SpringContextUtils.getBean(DistributedLock.class); lock = distributedLock.getLock(String.format("lock:open_data_project:%s", obj.getProjectId()), 30L, 30L, TimeUnit.SECONDS); SpringContextUtils.getBean(BaseDisputeProcessService.class).getEventinfo(formDTO); diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataStaffChangeEventListener.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataStaffChangeEventListener.java index 48d0ece671..658a0982ac 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataStaffChangeEventListener.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataStaffChangeEventListener.java @@ -38,6 +38,12 @@ public class OpenDataStaffChangeEventListener implements MessageListenerConcurre private RedisUtils redisUtils; + private DistributedLock distributedLock; + + public OpenDataStaffChangeEventListener(DistributedLock distributedLock) { + this.distributedLock = distributedLock; + } + @Override public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { @@ -67,10 +73,8 @@ public class OpenDataStaffChangeEventListener implements MessageListenerConcurre logger.info("【开放数据事件监听器】-工作人员信息变更-收到消息内容:{}, 操作:{}, blockedMsgLabel:{}", msg, tags, pendingMsgLabel); OrgOrStaffMQMsg obj = JSON.parseObject(msg, OrgOrStaffMQMsg.class); - DistributedLock distributedLock = null; RLock lock = null; try { - distributedLock = SpringContextUtils.getBean(DistributedLock.class); lock = distributedLock.getLock(String.format("lock:open_data_staff:%s", obj.getOrgId()), 30L, 30L, TimeUnit.SECONDS); From 5e144e241058ef09e7b25cb44e78e711b18dc856 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 29 Nov 2021 15:49:43 +0800 Subject: [PATCH 16/36] =?UTF-8?q?=E8=A1=A5=E5=85=85flyway=20init=20?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/{ => db/migration}/init_db.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename epmet-module/open-data-worker/open-data-worker-server/src/main/resources/{ => db/migration}/init_db.sql (100%) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/init_db.sql b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/db/migration/init_db.sql similarity index 100% rename from epmet-module/open-data-worker/open-data-worker-server/src/main/resources/init_db.sql rename to epmet-module/open-data-worker/open-data-worker-server/src/main/resources/db/migration/init_db.sql From 97f2de2fe76b811d521009650d67f360f85ffb4b Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 29 Nov 2021 16:08:43 +0800 Subject: [PATCH 17/36] =?UTF-8?q?=E5=8F=AA=E6=9C=89=E5=B9=B3=E9=98=B4?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E4=B8=8A=E6=8A=A5=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mq/ProjectChangedCustomListener.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java index d5f304cc0d..94a298d514 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java @@ -155,17 +155,19 @@ public class ProjectChangedCustomListener implements MessageListenerConcurrently logger.info("consumer projectChanged msg success,{}",aBoolean); //发送项目数据上报的mq消息 - if ("issue_shift_project".equals(msgObj.getOperation()) || "created".equals(msgObj.getOperation()) || "close".equals(msgObj.getOperation())) { - String type; - if ("issue_shift_project".equals(msgObj.getOperation()) || "created".equals(msgObj.getOperation())) { - type = SystemMessageType.PROJECT_ADD; - } else { - type = SystemMessageType.PROJECT_EDIT; + if ("6f203e30de1a65aab7e69c058826cd80".equals(customerId)) { + if ("issue_shift_project".equals(msgObj.getOperation()) || "created".equals(msgObj.getOperation()) || "close".equals(msgObj.getOperation())) { + String type; + if ("issue_shift_project".equals(msgObj.getOperation()) || "created".equals(msgObj.getOperation())) { + type = SystemMessageType.PROJECT_ADD; + } else { + type = SystemMessageType.PROJECT_EDIT; + } + List projectList = new ArrayList<>(); + projectList.add(msgObj.getProjectId()); + DisputeProcessMQMsg msg = new DisputeProcessMQMsg(customerId, projectList, type); + SpringContextUtils.getBean(ScreenProjectDataService.class).sendProjectChangeMq(msg); } - List projectList = new ArrayList<>(); - projectList.add(msgObj.getProjectId()); - DisputeProcessMQMsg msg = new DisputeProcessMQMsg(customerId, projectList, type); - SpringContextUtils.getBean(ScreenProjectDataService.class).sendProjectChangeMq(msg); } } catch (RenException e) { // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 From f5e3f18b3ac1ac6dced3083326de111dffc893cb Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 29 Nov 2021 16:34:15 +0800 Subject: [PATCH 18/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/evaluationindex/screen/ScreenProjectDataDao.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml index 913bdcb179..86980fbab1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml @@ -218,6 +218,7 @@ a.CLOSE_CASE_TIME, a.DATA_END_TIME, a.ALL_PARENT_IDS, + a.PROJECT_CREATOR, a.ORIGIN, a.CATEGORY_CODE, b.HANDLER_ID AS finishOrg, From 116a41fd72a684a1c254823194fb573fb84d8c17 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 29 Nov 2021 17:44:38 +0800 Subject: [PATCH 19/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../opendata/service/impl/BaseDisputeProcessServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index 5db720a2b1..caaf01f250 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -100,8 +100,8 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl Date: Tue, 30 Nov 2021 09:40:59 +0800 Subject: [PATCH 20/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E8=A1=A8=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=AE=A2=E6=88=B7ID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/opendata/entity/BaseConflictsResolveEntity.java | 2 +- .../opendata/service/impl/BaseDisputeProcessServiceImpl.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java index c2f1907a07..d40e74bb70 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseConflictsResolveEntity.java @@ -40,7 +40,7 @@ public class BaseConflictsResolveEntity{ * 事件ID */ private String id; - + private String customerId; /** * 事件所属网格ID */ diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index caaf01f250..75fe8a588f 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -94,6 +94,7 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl resolveList = list.stream().map(item -> { BaseConflictsResolveEntity entity = new BaseConflictsResolveEntity(); entity.setId(item.getId().concat("_PY")); + entity.setCustomerId(item.getCustomerId()); entity.setGridId(deptMap.get(item.getOrgId())); entity.setGridName(item.getOrgName()); entity.setEventName(item.getEventName()); From 72129d9e4ab0b3805afc6c10d00bc6147db5bf76 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 30 Nov 2021 14:27:40 +0800 Subject: [PATCH 21/36] =?UTF-8?q?=E7=BB=84=E7=BB=87=E3=80=81=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E3=80=81=E7=BD=91=E6=A0=BC=E5=91=98=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=B8=AD=E9=97=B4=E5=BA=93=E5=90=8C=E6=AD=A5=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/user/result/GridUserInfoDTO.java | 98 --------- .../impl/DataReportingServiceImpl.java | 19 -- .../epmet/controller/AgencyController.java | 53 ++++- .../com/epmet/controller/GridController.java | 33 ++- .../java/com/epmet/service/AgencyService.java | 2 +- .../epmet/service/impl/AgencyServiceImpl.java | 49 +---- .../service/impl/CustomerGridServiceImpl.java | 26 --- .../epmet/opendata/dto/BaseGridInfoDTO.java | 136 ------------- .../epmet/opendata/dto/BaseGridUserDTO.java | 191 ------------------ .../com/epmet/opendata/dto/ExDeptDTO.java | 21 +- .../com/epmet/opendata/dto/ExUserDTO.java | 33 +-- ...aseInfoFormDTO.java => ExDeptFormDTO.java} | 4 +- .../dto/form/StaffBaseInfoFormDTO.java | 2 +- ...oController.java => ExDeptController.java} | 22 +- ...rController.java => ExUserController.java} | 15 +- .../epmet/opendata/dao/BaseGridInfoDao.java | 41 ---- .../epmet/opendata/dao/BaseGridUserDao.java | 41 ---- .../com/epmet/opendata/dao/ExDeptDao.java | 1 - .../com/epmet/opendata/dao/ExUserDao.java | 11 +- .../opendata/entity/BaseGridInfoEntity.java | 106 ---------- .../opendata/entity/BaseGridUserEntity.java | 161 --------------- .../epmet/opendata/entity/ExDeptEntity.java | 5 + .../epmet/opendata/entity/ExUserEntity.java | 7 + .../OpenDataOrgChangeEventListener.java | 10 +- .../OpenDataStaffChangeEventListener.java | 6 +- .../opendata/service/BaseGridInfoService.java | 44 ---- .../opendata/service/BaseGridUserService.java | 38 ---- .../epmet/opendata/service/ExDeptService.java | 68 +------ .../epmet/opendata/service/ExUserService.java | 8 + .../service/impl/BaseGridInfoServiceImpl.java | 155 -------------- .../service/impl/BaseGridUserServiceImpl.java | 74 ------- .../service/impl/ExDeptServiceImpl.java | 138 +++++++------ .../service/impl/ExUserServiceImpl.java | 49 ++++- .../main/resources/mapper/BaseGridInfoDao.xml | 50 ----- .../main/resources/mapper/BaseGridUserDao.xml | 58 ------ .../src/main/resources/mapper/ExDeptDao.xml | 63 +++--- .../src/main/resources/mapper/ExUserDao.xml | 41 ++++ 37 files changed, 388 insertions(+), 1491 deletions(-) delete mode 100644 epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseGridInfoDTO.java delete mode 100644 epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseGridUserDTO.java rename epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/{GridBaseInfoFormDTO.java => ExDeptFormDTO.java} (84%) rename epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/{BaseGridInfoController.java => ExDeptController.java} (75%) rename epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/{BaseGridUserController.java => ExUserController.java} (84%) delete mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/BaseGridInfoDao.java delete mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/BaseGridUserDao.java delete mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseGridInfoEntity.java delete mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseGridUserEntity.java delete mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/BaseGridInfoService.java delete mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/BaseGridUserService.java delete mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridInfoServiceImpl.java delete mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridUserServiceImpl.java delete mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/BaseGridInfoDao.xml delete mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/BaseGridUserDao.xml create mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExUserDao.xml diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/GridUserInfoDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/GridUserInfoDTO.java index 2fde3c3566..f5f8d84596 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/GridUserInfoDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/GridUserInfoDTO.java @@ -79,104 +79,6 @@ public class GridUserInfoDTO implements Serializable { */ private String sex; - /** - * 民族[字典表主键] - */ - private String nation; - - /** - * 政治面貌[字典表主键] - */ - private String paerty; - - /** - * 出生日期[YYYY-MM-DD] - */ - private Date birthday; - /** - * 学历[字典表主键] - */ - private String education; - - /** - * 入职时间 - */ - private Date entryDate; - - /** - * 是否离职 - */ - private String isLeave; - - /** - * 离职时间 - */ - private Date leaveDate; - - /** - * 网格员年收入 - */ - private String income; - - /** - * 是否社区(村)两委委员[Y:是、N:否] - */ - private String isCommittee; - - /** - * 是否社区工作者[Y:是、N:否] - */ - private String isCommunityWorkers; - - /** - * 是否社会工作者[Y:是、N:否] - */ - private String isSocialWorker; - - /** - * 是否村(居)民小组长[Y:是、N:否 - */ - private String isVillageLeader; - - /** - * 是否警务助理[Y:是、N:否] - */ - private String isPoliceAssistant; - - /** - * 是否人民调解员[Y:是、N:否] - */ - private String isMediator; - - /** - * 删除标识 0.未删除 1.已删除 - */ - private Integer delFlag; - - /** - * 乐观锁 - */ - private Integer revision; - - /** - * 创建人 - */ - private String createdBy; - - /** - * 创建时间 - */ - private Date createdTime; - - /** - * 更新人 - */ - private String updatedBy; - - /** - * 更新时间 - */ - private Date updatedTime; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java index 6a113754dd..83bb35a03d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java @@ -114,25 +114,6 @@ public class DataReportingServiceImpl implements DataReportingService { st.setUserType(dto.getWorkType().equals("fulltime") ? "01" : "02"); st.setPhonenumber(dto.getMobile()); st.setSex(0 == dto.getGender() ? "9" : dto.getGender().toString()); - st.setNation("01"); - st.setPaerty("13"); - st.setBirthday(new Date()); - st.setEducation("20"); - st.setEntryDate(new Date()); - st.setIsLeave("N"); - //st.setLeaveDate(); - st.setIncome("05"); - st.setIsCommittee("Y"); - st.setIsCommunityWorkers("Y"); - st.setIsSocialWorker("Y"); - st.setIsVillageLeader("Y"); - st.setIsPoliceAssistant("N"); - st.setIsMediator("Y"); - st.setDelFlag(dto.getDelFlag()); - st.setCreatedBy(dto.getCreatedBy()); - st.setCreatedTime(dto.getCreatedTime()); - st.setUpdatedBy(dto.getUpdatedBy()); - st.setUpdatedTime(dto.getUpdatedTime()); } }); 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 112d6b8e35..9e69963062 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 @@ -17,6 +17,7 @@ package com.epmet.controller; +import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.enums.RequirePermissionEnum; @@ -32,6 +33,8 @@ import com.epmet.dto.result.AgencyListResultDTO; import com.epmet.dto.result.AgencysResultDTO; import com.epmet.dto.result.SubAgencyResultDTO; import com.epmet.entity.CustomerAgencyEntity; +import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.send.SendMqMsgUtil; import com.epmet.service.AgencyService; import com.epmet.service.CustomerAgencyService; import org.apache.commons.lang3.StringUtils; @@ -57,6 +60,8 @@ public class AgencyController { private AgencyService agencyService; @Autowired private CustomerAgencyService customerAgencyService; + @Autowired + private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; /** * @param formDTO @@ -100,7 +105,18 @@ public class AgencyController { } //当前客户下,同级组织中,组织名称不允许重复 customerAgencyService.checkAgencyName(formDTO.getAgencyName(),tokenDTO.getCustomerId(),null,formDTO.getParentAgencyId()); - return new Result().ok(agencyService.addAgencyV2(formDTO)); + AddAgencyResultDTO resultDTO = agencyService.addAgencyV2(formDTO); + + //2021-11-30 推送mq,数据同步到中介库 start + OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); + mq.setCustomerId(tokenDTO.getCustomerId()); + mq.setOrgId(resultDTO.getAgencyId()); + mq.setOrgType("agency"); + mq.setType("agency_create"); + SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); + //2021-11-30 end + + return new Result().ok(resultDTO); } /** @@ -114,6 +130,16 @@ public class AgencyController { String agencyId = agencyService.addRootAgency(form); HashMap resultMap = new HashMap<>(); resultMap.put("agencyId", agencyId); + + //2021-10-18 推送mq,数据同步到中介库 start + OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); + mq.setCustomerId(form.getCustomerId()); + mq.setOrgId(agencyId); + mq.setOrgType("agency"); + mq.setType("agency_create"); + SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); + //2021-10-18 end + return new Result>().ok(resultMap); } @@ -128,7 +154,18 @@ public class AgencyController { public Result editAgency(@LoginUser TokenDto tokenDTO, @RequestBody EditAgencyFormDTO formDTO) { formDTO.setUserId(tokenDTO.getUserId()); ValidatorUtils.validateEntity(formDTO, EditAgencyFormDTO.DefaultUserShowGroup.class, EditAgencyFormDTO.AddUserInternalGroup.class); - return agencyService.editAgency(formDTO); + Result result = agencyService.editAgency(formDTO); + + //2021-10-18 推送mq,数据同步到中介库 start【中介库只放了组织的名称、级别,所以涉及批量修改pname的操作不涉及同步中间库】 + OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); + mq.setCustomerId(tokenDTO.getCustomerId()); + mq.setOrgId(formDTO.getAgencyId()); + mq.setOrgType("agency"); + mq.setType("agency_change"); + SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); + //2021-10-18 end + + return result; } /** @@ -251,7 +288,17 @@ public class AgencyController { **/ @PostMapping("saverootagency") public Result saveRootAgency(@RequestBody AddAgencyAndStaffFormDTO agencyAndStaff) { - agencyService.saveRootAgency(agencyAndStaff); + String agencyId = agencyService.saveRootAgency(agencyAndStaff); + + //2021-10-18 推送mq,数据同步到中介库 start + OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); + mq.setCustomerId(agencyAndStaff.getAgencyDTO().getCustomerId()); + mq.setOrgId(agencyId); + mq.setOrgType("agency"); + mq.setType("agency_create"); + SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); + //2021-10-18 end + return new Result(); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java index f9cc5c1b54..982882ac66 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java @@ -1,5 +1,6 @@ package com.epmet.controller; +import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.enums.RequirePermissionEnum; @@ -9,6 +10,8 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; +import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.send.SendMqMsgUtil; import com.epmet.service.CustomerGridService; import com.epmet.service.CustomerStaffAgencyService; import org.springframework.beans.factory.annotation.Autowired; @@ -28,6 +31,8 @@ public class GridController { private CustomerGridService customerGridService; @Autowired private CustomerStaffAgencyService customerStaffAgencyService; + @Autowired + private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; /** * 获取网格详情 @@ -47,8 +52,18 @@ public class GridController { @RequirePermission(requirePermission = RequirePermissionEnum.ORG_GRID_CREATE) public Result addGrid(@LoginUser TokenDto tokenDto, @RequestBody AddGridFormDTO addGridFormDTO){ ValidatorUtils.validateEntity(addGridFormDTO, AddGridFormDTO.AddGrid.class); - return customerGridService.addGrid(tokenDto,addGridFormDTO); - + Result resultDTOResult = customerGridService.addGrid(tokenDto,addGridFormDTO); + + //2021-10-18 推送mq,数据同步到中介库 start + OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); + mq.setCustomerId(tokenDto.getCustomerId()); + mq.setOrgId(resultDTOResult.getData().getGridId()); + mq.setOrgType("grid"); + mq.setType("grid_create"); + SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); + //2021-10-18 end + + return resultDTOResult; } /** @@ -59,8 +74,18 @@ public class GridController { public Result editGrid(@LoginUser TokenDto tokenDto, @RequestBody EditGridFormDTO editGridFormDTO){ ValidatorUtils.validateEntity(editGridFormDTO, EditGridFormDTO.EditGrid.class); editGridFormDTO.setCustomerId(tokenDto.getCustomerId()); - return customerGridService.editGrid(tokenDto,editGridFormDTO); - + Result result = customerGridService.editGrid(tokenDto,editGridFormDTO); + + //2021-10-18 推送mq,数据同步到中介库 start + OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); + mq.setCustomerId(tokenDto.getCustomerId()); + mq.setOrgId(editGridFormDTO.getGridId()); + mq.setOrgType("grid"); + mq.setType("grid_change"); + SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); + //2021-10-18 end + + return result; } /** 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 381fb7256a..6a73e676d9 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 @@ -107,7 +107,7 @@ public interface AgencyService { * @Description 单客户-添加根组织及客户管理员信息 * @Date 2020/7/16 17:13 **/ - void saveRootAgency(AddAgencyAndStaffFormDTO agencyAndStaff); + String saveRootAgency(AddAgencyAndStaffFormDTO agencyAndStaff); /** * 添加组织V2 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 aa070f2d90..c192390708 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 @@ -182,15 +182,6 @@ public class AgencyServiceImpl implements AgencyService { //5.redis缓存 customerAgencyRedis.delete(formDTO.getAgencyId()); - //2021-10-18 推送mq,数据同步到中介库 start【中介库只放了组织的名称、级别,所以涉及批量修改pname的操作不涉及同步中间库】 - OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); - mq.setCustomerId(originalEntity.getCustomerId()); - mq.setOrgId(formDTO.getAgencyId()); - mq.setOrgType("agency"); - mq.setType("agency_change"); - SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); - //2021-10-18 end - return result; } @@ -231,15 +222,6 @@ public class AgencyServiceImpl implements AgencyService { throw new RenException(CustomerAgencyConstant.DEL_EXCEPTION); } - //2021-10-18 推送mq,数据同步到中介库 start - OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); - mq.setCustomerId(formDTO.getCustomerId()); - mq.setOrgId(formDTO.getAgencyId()); - mq.setOrgType("agency"); - mq.setType("agency_change"); - SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); - //2021-10-18 end - return result; } @@ -396,15 +378,6 @@ public class AgencyServiceImpl implements AgencyService { entity.setCustomerId(form.getCustomerId()); customerAgencyDao.insert(entity); - //2021-10-18 推送mq,数据同步到中介库 start - OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); - mq.setCustomerId(form.getCustomerId()); - mq.setOrgId(entity.getId()); - mq.setOrgType("agency"); - mq.setType("agency_create"); - SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); - //2021-10-18 end - return entity.getId(); } @@ -417,7 +390,8 @@ public class AgencyServiceImpl implements AgencyService { **/ @Override @Transactional(rollbackFor = Exception.class) - public void saveRootAgency(AddAgencyAndStaffFormDTO agencyAndStaff) { + public String saveRootAgency(AddAgencyAndStaffFormDTO agencyAndStaff) { + String agencyId = ""; CustomerAgencyDTO agencyDTO = agencyAndStaff.getAgencyDTO(); AdminStaffFromDTO staffDTO = agencyAndStaff.getStaffDTO(); @@ -465,15 +439,8 @@ public class AgencyServiceImpl implements AgencyService { throw new RenException(EpmetErrorCode.OPER_ADD_CUSTOMER_MANAGER_ERROR.getCode(), staffResult.getMsg()); } - //2021-10-18 推送mq,数据同步到中介库 start - OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); - mq.setCustomerId(agencyDTO.getCustomerId()); - mq.setOrgId(entity.getId()); - mq.setOrgType("agency"); - mq.setType("agency_create"); - SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); - //2021-10-18 end - + agencyId = entity.getId(); + return agencyId; } /** @@ -519,14 +486,6 @@ public class AgencyServiceImpl implements AgencyService { resultDTO.setAgencyId(insertEntity.getId()); resultDTO.setAreaCode(insertEntity.getAreaCode()); - //2021-10-18 推送mq,数据同步到中介库 start - OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); - mq.setCustomerId(parent.getCustomerId()); - mq.setOrgId(insertEntity.getId()); - mq.setOrgType("agency"); - mq.setType("agency_create"); - SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); - //2021-10-18 end return resultDTO; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java index d5497b8a08..ab3641d1ef 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java @@ -275,15 +275,6 @@ public class CustomerGridServiceImpl extends BaseServiceImpl().ok(resultDTO); } @@ -306,15 +297,6 @@ public class CustomerGridServiceImpl extends BaseServiceImpl - * 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.opendata.dto; - -import java.io.Serializable; -import java.util.Date; -import lombok.Data; - - -/** - * 网格基础信息表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2021-10-15 - */ -@Data -public class BaseGridInfoDTO implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - private String id; - - /** - * 客户Id - */ - private String customerId; - - /** - * 组织/网格Id - */ - private String orgId; - - /** - * 网格编码 - */ - private String code; - - /** - * 网格名称 - */ - private String gridName; - - /** - * 网格层级[07:网格] - */ - private String gridLevel; - - /** - * 专属网格类型[01:党政机关; 02:医院; 03:学校; 04:企业; 05:园区; 06:商圈; 07:市场; 08:景区; - */ - private String gridType; - - /** - * 网格内人口规模[01:500人以下(含500人); 02:500-1000人(含1000人); 03:1000-1500人(含1500人); 04:1500人以上] - */ - private String populationSize; - - /** - * 是否成立网格党支部或网格党小组[Y:是、N:否] - */ - private String isPartyBranch; - - /** - * 网格党组织类型[01:网格党支部; 02:网格党小组] - */ - private String partyBranchType; - - /** - * 中心点(质心)经度 - */ - private String lng; - - /** - * 中心点(质心)纬度 - */ - private String lat; - - /** - * 网格颜色 - */ - private String gridColor; - - /** - * 空间范围 - */ - private String shape; - - /** - * 删除标识 0.未删除 1.已删除 - */ - private Long delFlag; - - /** - * 乐观锁 - */ - private Integer revision; - - /** - * 创建人 - */ - private String createdBy; - - /** - * 创建时间 - */ - private Date createdTime; - - /** - * 更新人 - */ - private String updatedBy; - - /** - * 更新时间 - */ - private Date updatedTime; - -} \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseGridUserDTO.java b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseGridUserDTO.java deleted file mode 100644 index fb5218cdf8..0000000000 --- a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseGridUserDTO.java +++ /dev/null @@ -1,191 +0,0 @@ -/** - * 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.opendata.dto; - -import java.io.Serializable; -import java.util.Date; -import lombok.Data; - - -/** - * 网格员基础信息表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2021-10-15 - */ -@Data -public class BaseGridUserDTO implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - private String id; - - /** - * 客户Id - */ - private String customerId; - - /** - * 网格Id - */ - private String gridId; - - /** - * 人员Id - */ - private String staffId; - - /** - * 网格编码 - */ - private String code; - - /** - * 网格名称 - */ - private String gridName; - - /** - * 网格员姓名 - */ - private String nickName; - - /** - * 专属网格类型[01:党政机关; 02:医院; 03:学校; 04:企业; 05:园区; 06:商圈; 07:市场; 08:景区; - */ - private String cardNum; - - /** - * 网格员类型[01:专职网格员; 02:兼职网格员; 03:网格长; 04:综治机构人员; 05:职能部门人员] - */ - private String userType; - - /** - * 手机号码 - */ - private String phonenumber; - - /** - * 性别[1:男性; 2:女性; 9:未说明的性别] - */ - private String sex; - - /** - * 民族[字典表主键] - */ - private String nation; - - /** - * 政治面貌[字典表主键] - */ - private String paerty; - - /** - * 出生日期[YYYY-MM-DD] - */ - private Date birthday; - - /** - * 学历[字典表主键] - */ - private String education; - - /** - * 入职时间 - */ - private Date entryDate; - - /** - * 是否离职 - */ - private String isLeave; - - /** - * 离职时间 - */ - private Date leaveDate; - - /** - * 网格员年收入 - */ - private String income; - - /** - * 是否社区(村)两委委员[Y:是、N:否] - */ - private String isCommittee; - - /** - * 是否社区工作者[Y:是、N:否] - */ - private String isCommunityWorkers; - - /** - * 是否社会工作者[Y:是、N:否] - */ - private String isSocialWorker; - - /** - * 是否村(居)民小组长[Y:是、N:否 - */ - private String isVillageLeader; - - /** - * 是否警务助理[Y:是、N:否] - */ - private String isPoliceAssistant; - - /** - * 是否人民调解员[Y:是、N:否] - */ - private String isMediator; - - /** - * 删除标识 0.未删除 1.已删除 - */ - private Long delFlag; - - /** - * 乐观锁 - */ - private Integer revision; - - /** - * 创建人 - */ - private String createdBy; - - /** - * 创建时间 - */ - private Date createdTime; - - /** - * 更新人 - */ - private String updatedBy; - - /** - * 更新时间 - */ - private Date updatedTime; - -} \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExDeptDTO.java b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExDeptDTO.java index fee4ca7ad1..1a24eef647 100644 --- a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExDeptDTO.java +++ b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExDeptDTO.java @@ -36,37 +36,37 @@ public class ExDeptDTO implements Serializable { /** * (市平台)部门id */ - private Integer deptId; + private Integer deptId; /** * (市平台)父部门id */ - private Integer parentId; + private Integer parentId; /** * 祖级列表 */ - private String ancestors; + private String ancestors; /** * (市平台)部门/网格名称 */ - private String fullName; + private String fullName; /** * (市平台)部门/网格简称 */ - private String deptName; + private String deptName; /** * (市平台)部门/网格编码 */ - private String deptCode; + private String deptCode; /** - * + * (省标准)区划编码/网格编码 */ - private String gridCode; + private String gridCode; /** * 组织类型 @@ -88,4 +88,9 @@ public class ExDeptDTO implements Serializable { */ private String qxDeptName; + /** + * (区县平台)客户Id + */ + private String qxCustomerId; + } \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExUserDTO.java b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExUserDTO.java index d0f61777ca..d91adcd51e 100644 --- a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExUserDTO.java +++ b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExUserDTO.java @@ -36,41 +36,46 @@ public class ExUserDTO implements Serializable { /** * 市平台 用户ID */ - private String userId; + private Integer userId; /** * 市平台 用户名 */ - private String userName; + private String userName; /** - * 市平台 用户身份证号 + * 市平台 登录账号 */ - private String idCard; + private String loginName; /** - * 市平台 用户手机号 + * (市平台)所属区县、街道、村居或网格id */ - private String mobile; + private String gridId; /** - * 区县平台 用户ID + * (市平台)所属部门id */ - private String userIdQx; + private String deptId; /** - * 区县平台 用户名 + * (区县平台)用户id */ - private String userNameQx; + private String qxUserId; /** - * 区县平台 用户账号 + * (区县平台)姓名/用户名称 */ - private String userAccount; + private String qxUserName; /** - * 删除标识 + * (区县平台)手机号码 */ - private String delFlag; + private String qxMobile; + + /** + * (区县平台)客户Id + */ + private String qxCustomerId; } \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/GridBaseInfoFormDTO.java b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/ExDeptFormDTO.java similarity index 84% rename from epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/GridBaseInfoFormDTO.java rename to epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/ExDeptFormDTO.java index 0b1910a2ea..b605727fec 100644 --- a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/GridBaseInfoFormDTO.java +++ b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/ExDeptFormDTO.java @@ -12,13 +12,13 @@ import java.util.List; * @author sun */ @Data -public class GridBaseInfoFormDTO implements Serializable { +public class ExDeptFormDTO implements Serializable { private static final long serialVersionUID = -3634745091993094743L; /** * 客户Id */ - @NotBlank(message = "事件标识不能为空", groups = {Grid.class}) + @NotBlank(message = "客户Id不能为空", groups = {Grid.class}) private String customerId = ""; /** * 网格Id diff --git a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/StaffBaseInfoFormDTO.java b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/StaffBaseInfoFormDTO.java index d486c7f67a..417ee92ad6 100644 --- a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/StaffBaseInfoFormDTO.java +++ b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/StaffBaseInfoFormDTO.java @@ -18,7 +18,7 @@ public class StaffBaseInfoFormDTO implements Serializable { /** * 客户Id */ - @NotBlank(message = "事件标识不能为空", groups = {Staff.class}) + @NotBlank(message = "客户Id不能为空", groups = {Staff.class}) private String customerId = ""; /** * 人员Id diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/BaseGridInfoController.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/ExDeptController.java similarity index 75% rename from epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/BaseGridInfoController.java rename to epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/ExDeptController.java index 628c4802ca..46104d1c30 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/BaseGridInfoController.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/ExDeptController.java @@ -19,8 +19,8 @@ package com.epmet.opendata.controller; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.opendata.dto.form.GridBaseInfoFormDTO; -import com.epmet.opendata.service.BaseGridInfoService; +import com.epmet.opendata.dto.form.ExDeptFormDTO; +import com.epmet.opendata.service.ExDeptService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -35,11 +35,11 @@ import org.springframework.web.bind.annotation.RestController; * @since v1.0.0 2021-10-15 */ @RestController -@RequestMapping("basegridinfo") -public class BaseGridInfoController { +@RequestMapping("exdept") +public class ExDeptController { @Autowired - private BaseGridInfoService baseGridInfoService; + private ExDeptService exDeptService; /** @@ -47,9 +47,9 @@ public class BaseGridInfoController { * @Description 组织基础信息中间库同步 **/ @PostMapping("agencybaseinfo") - public Result getAgencyBaseInfo(@RequestBody(required = false) GridBaseInfoFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, GridBaseInfoFormDTO.Grid.class); - baseGridInfoService.getAgencyBaseInfo(formDTO); + public Result getAgencyBaseInfo(@RequestBody(required = false) ExDeptFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, ExDeptFormDTO.Grid.class); + exDeptService.getAgencyBaseInfo(formDTO); return new Result(); } @@ -58,9 +58,9 @@ public class BaseGridInfoController { * @Description 网格基础信息中间库同步 **/ @PostMapping("gridbaseinfo") - public Result getGridBaseInfo(@RequestBody(required = false) GridBaseInfoFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, GridBaseInfoFormDTO.Grid.class); - baseGridInfoService.getGridBaseInfo(formDTO); + public Result getGridBaseInfo(@RequestBody(required = false) ExDeptFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, ExDeptFormDTO.Grid.class); + exDeptService.getGridBaseInfo(formDTO); return new Result(); } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/BaseGridUserController.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/ExUserController.java similarity index 84% rename from epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/BaseGridUserController.java rename to epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/ExUserController.java index dcf3146724..08618448ab 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/BaseGridUserController.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/ExUserController.java @@ -19,17 +19,14 @@ package com.epmet.opendata.controller; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.user.result.GridUserInfoDTO; import com.epmet.opendata.dto.form.StaffBaseInfoFormDTO; -import com.epmet.opendata.service.BaseGridUserService; +import com.epmet.opendata.service.ExUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; - /** * 网格员基础信息表 @@ -38,11 +35,11 @@ import java.util.List; * @since v1.0.0 2021-10-15 */ @RestController -@RequestMapping("basegriduser") -public class BaseGridUserController { - +@RequestMapping("exuser") +public class ExUserController { + @Autowired - private BaseGridUserService baseGridUserService; + private ExUserService exUserService; /** * @Author sun @@ -51,7 +48,7 @@ public class BaseGridUserController { @PostMapping("staffbaseinfo") public Result getStaffBaseInfo(@RequestBody(required = false) StaffBaseInfoFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, StaffBaseInfoFormDTO.Staff.class); - baseGridUserService.getStaffBaseInfo(formDTO); + exUserService.getStaffBaseInfo(formDTO); return new Result(); } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/BaseGridInfoDao.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/BaseGridInfoDao.java deleted file mode 100644 index 40c5649d1b..0000000000 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/BaseGridInfoDao.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * 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.opendata.dao; - -import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.opendata.entity.BaseGridInfoEntity; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 网格基础信息表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2021-10-15 - */ -@Mapper -public interface BaseGridInfoDao extends BaseDao { - - /** - * @Author sun - * @Description 网格基础信息批量更新部分字段 - **/ - void updateBatch(@Param("list") List entityList); -} \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/BaseGridUserDao.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/BaseGridUserDao.java deleted file mode 100644 index c53eb48e1f..0000000000 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/BaseGridUserDao.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * 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.opendata.dao; - -import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.opendata.entity.BaseGridUserEntity; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 网格员基础信息表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2021-10-15 - */ -@Mapper -public interface BaseGridUserDao extends BaseDao { - - /** - * @Author sun - * @Description 网格员基础信息批量更新部分字段 - **/ - void updateBatch(@Param("list") List entityList); -} \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/ExDeptDao.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/ExDeptDao.java index fa088c958f..50bf35b537 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/ExDeptDao.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/ExDeptDao.java @@ -18,7 +18,6 @@ package com.epmet.opendata.dao; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.opendata.entity.BaseGridInfoEntity; import com.epmet.opendata.entity.ExDeptEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/ExUserDao.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/ExUserDao.java index 4a3c4ecc13..ad1c407eaf 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/ExUserDao.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/ExUserDao.java @@ -20,6 +20,9 @@ package com.epmet.opendata.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.opendata.entity.ExUserEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 系统用户中间表 @@ -29,5 +32,11 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ExUserDao extends BaseDao { - + + /** + * @Author sun + * @Description 网格员基础信息批量更新部分字段 + **/ + void updateBatch(@Param("list") List entityList); + } \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseGridInfoEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseGridInfoEntity.java deleted file mode 100644 index f74e8b2205..0000000000 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseGridInfoEntity.java +++ /dev/null @@ -1,106 +0,0 @@ -/** - * 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.opendata.entity; - -import com.baomidou.mybatisplus.annotation.TableName; - -import com.epmet.commons.mybatis.entity.BaseEpmetEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * 网格基础信息表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2021-10-15 - */ -@Data -@EqualsAndHashCode(callSuper=false) -@TableName("base_grid_info") -public class BaseGridInfoEntity extends BaseEpmetEntity { - - private static final long serialVersionUID = 1L; - - /** - * 客户Id - */ - private String customerId; - - /** - * 组织/网格Id - */ - private String orgId; - - /** - * 网格编码 - */ - private String code; - - /** - * 网格名称 - */ - private String gridName; - - /** - * 网格层级[07:网格] - */ - private String gridLevel; - - /** - * 专属网格类型[01:党政机关; 02:医院; 03:学校; 04:企业; 05:园区; 06:商圈; 07:市场; 08:景区; - */ - private String gridType; - - /** - * 网格内人口规模[01:500人以下(含500人); 02:500-1000人(含1000人); 03:1000-1500人(含1500人); 04:1500人以上] - */ - private String populationSize; - - /** - * 是否成立网格党支部或网格党小组[Y:是、N:否] - */ - private String isPartyBranch; - - /** - * 网格党组织类型[01:网格党支部; 02:网格党小组] - */ - private String partyBranchType; - - /** - * 中心点(质心)经度 - */ - private String lng; - - /** - * 中心点(质心)纬度 - */ - private String lat; - - /** - * 网格颜色 - */ - private String gridColor; - - /** - * 空间范围 - */ - private String shape; - -} diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseGridUserEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseGridUserEntity.java deleted file mode 100644 index 5d0b2f1de6..0000000000 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseGridUserEntity.java +++ /dev/null @@ -1,161 +0,0 @@ -/** - * 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.opendata.entity; - -import com.baomidou.mybatisplus.annotation.TableName; - -import com.epmet.commons.mybatis.entity.BaseEpmetEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.Date; - -/** - * 网格员基础信息表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2021-10-15 - */ -@Data -@EqualsAndHashCode(callSuper=false) -@TableName("base_grid_user") -public class BaseGridUserEntity extends BaseEpmetEntity { - - private static final long serialVersionUID = 1L; - - /** - * 客户Id - */ - private String customerId; - - /** - * 网格Id - */ - private String gridId; - - /** - * 人员Id - */ - private String staffId; - - /** - * 网格编码 - */ - private String code; - - /** - * 网格名称 - */ - private String gridName; - - /** - * 网格员姓名 - */ - private String nickName; - - /** - * 专属网格类型[01:党政机关; 02:医院; 03:学校; 04:企业; 05:园区; 06:商圈; 07:市场; 08:景区; - */ - private String cardNum; - - /** - * 网格员类型[01:专职网格员; 02:兼职网格员; 03:网格长; 04:综治机构人员; 05:职能部门人员] - */ - private String userType; - - /** - * 手机号码 - */ - private String phonenumber; - - /** - * 性别[1:男性; 2:女性; 9:未说明的性别] - */ - private String sex; - - /** - * 民族[字典表主键] - */ - private String nation; - - /** - * 政治面貌[字典表主键] - */ - private String paerty; - - /** - * 出生日期[YYYY-MM-DD] - */ - private Date birthday; - - /** - * 学历[字典表主键] - */ - private String education; - - /** - * 入职时间 - */ - private Date entryDate; - - /** - * 是否离职 - */ - private String isLeave; - - /** - * 离职时间 - */ - private Date leaveDate; - - /** - * 网格员年收入 - */ - private String income; - - /** - * 是否社区(村)两委委员[Y:是、N:否] - */ - private String isCommittee; - - /** - * 是否社区工作者[Y:是、N:否] - */ - private String isCommunityWorkers; - - /** - * 是否社会工作者[Y:是、N:否] - */ - private String isSocialWorker; - - /** - * 是否村(居)民小组长[Y:是、N:否 - */ - private String isVillageLeader; - - /** - * 是否警务助理[Y:是、N:否] - */ - private String isPoliceAssistant; - - /** - * 是否人民调解员[Y:是、N:否] - */ - private String isMediator; - -} diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java index 950b8d3e5e..d13b6d62fe 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java @@ -89,4 +89,9 @@ public class ExDeptEntity { */ private String qxDeptName; + /** + * (区县平台)客户Id + */ + private String qxCustomerId; + } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExUserEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExUserEntity.java index 1f114a9cc7..d5f2c3f968 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExUserEntity.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExUserEntity.java @@ -73,4 +73,11 @@ public class ExUserEntity { * (区县平台)手机号码 */ private String qxMobile; + + /** + * (区县平台)客户Id + */ + private String qxCustomerId; + + } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java index 04e95a893b..eb24a72949 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java @@ -9,8 +9,8 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.utils.SpringContextUtils; -import com.epmet.opendata.dto.form.GridBaseInfoFormDTO; -import com.epmet.opendata.service.BaseGridInfoService; +import com.epmet.opendata.dto.form.ExDeptFormDTO; +import com.epmet.opendata.service.ExDeptService; import org.apache.commons.lang.StringUtils; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; @@ -69,15 +69,15 @@ public class OpenDataOrgChangeEventListener implements MessageListenerConcurrent lock = distributedLock.getLock(String.format("lock:open_data_org:%s", obj.getOrgId()), 30L, 30L, TimeUnit.SECONDS); - GridBaseInfoFormDTO dto = new GridBaseInfoFormDTO(); + ExDeptFormDTO dto = new ExDeptFormDTO(); dto.setCustomerId(obj.getCustomerId()); dto.setType(obj.getType()); List orgIdList = new ArrayList<>(); orgIdList.add(obj.getOrgId()); if ("agency".equals(obj.getOrgType())) { - SpringContextUtils.getBean(BaseGridInfoService.class).getAgencyBaseInfo(dto); + SpringContextUtils.getBean(ExDeptService.class).getAgencyBaseInfo(dto); } else { - SpringContextUtils.getBean(BaseGridInfoService.class).getGridBaseInfo(dto); + SpringContextUtils.getBean(ExDeptService.class).getGridBaseInfo(dto); } } catch (RenException e) { // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataStaffChangeEventListener.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataStaffChangeEventListener.java index 48d0ece671..76eadec951 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataStaffChangeEventListener.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataStaffChangeEventListener.java @@ -1,7 +1,7 @@ package com.epmet.opendata.mq.listener; -import com.epmet.commons.rocketmq.constants.MQUserPropertys; import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.constants.MQUserPropertys; import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.ExceptionUtils; @@ -11,7 +11,7 @@ import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.utils.SpringContextUtils; import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.opendata.dto.form.StaffBaseInfoFormDTO; -import com.epmet.opendata.service.BaseGridUserService; +import com.epmet.opendata.service.ExUserService; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; @@ -79,7 +79,7 @@ public class OpenDataStaffChangeEventListener implements MessageListenerConcurre dto.setType(obj.getType()); List staffIdList = new ArrayList<>(); staffIdList.add(obj.getOrgId()); - SpringContextUtils.getBean(BaseGridUserService.class).getStaffBaseInfo(dto); + SpringContextUtils.getBean(ExUserService.class).getStaffBaseInfo(dto); } catch (RenException e) { // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 logger.error("【开放数据事件监听器】-工作人员信息变更-初始化客户组织失败:".concat(ExceptionUtils.getErrorStackTrace(e))); diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/BaseGridInfoService.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/BaseGridInfoService.java deleted file mode 100644 index f0fe03c28a..0000000000 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/BaseGridInfoService.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * 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.opendata.service; - -import com.epmet.commons.mybatis.service.BaseService; -import com.epmet.opendata.dto.form.GridBaseInfoFormDTO; -import com.epmet.opendata.entity.BaseGridInfoEntity; - -/** - * 网格基础信息表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2021-10-15 - */ -public interface BaseGridInfoService extends BaseService { - - /** - * @Author sun - * @Description 组织基础信息中介库同步 - **/ - void getAgencyBaseInfo(GridBaseInfoFormDTO formDTO); - - /** - * @Author sun - * @Description 网格基础信息中介库同步 - **/ - void getGridBaseInfo(GridBaseInfoFormDTO formDTO); - -} \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/BaseGridUserService.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/BaseGridUserService.java deleted file mode 100644 index 2cdda5d9c5..0000000000 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/BaseGridUserService.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * 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.opendata.service; - -import com.epmet.commons.mybatis.service.BaseService; -import com.epmet.opendata.dto.form.StaffBaseInfoFormDTO; -import com.epmet.opendata.entity.BaseGridUserEntity; - -/** - * 网格员基础信息表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2021-10-15 - */ -public interface BaseGridUserService extends BaseService { - - /** - * @Author sun - * @Description 网格员信息中间库同步 - **/ - void getStaffBaseInfo(StaffBaseInfoFormDTO formDTO); - -} \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExDeptService.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExDeptService.java index 644c06c673..9a2c815fbd 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExDeptService.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExDeptService.java @@ -18,11 +18,9 @@ package com.epmet.opendata.service; import com.epmet.commons.mybatis.service.BaseService; -import com.epmet.commons.tools.page.PageData; -import com.epmet.opendata.dto.ExDeptDTO; +import com.epmet.opendata.dto.form.ExDeptFormDTO; import com.epmet.opendata.entity.ExDeptEntity; -import java.util.List; import java.util.Map; /** @@ -33,65 +31,19 @@ import java.util.Map; */ public interface ExDeptService extends BaseService { - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2021-10-19 - */ - PageData page(Map params); - - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2021-10-19 - */ - List list(Map params); - - /** - * 单条查询 - * - * @param id - * @return ExDeptDTO - * @author generator - * @date 2021-10-19 - */ - ExDeptDTO get(String id); - /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2021-10-19 - */ - void save(ExDeptDTO dto); + Map getDeptMap(); /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2021-10-19 - */ - void update(ExDeptDTO dto); + * @Author sun + * @Description 组织基础信息中介库同步 + **/ + void getAgencyBaseInfo(ExDeptFormDTO formDTO); /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2021-10-19 - */ - void delete(String[] ids); + * @Author sun + * @Description 网格基础信息中介库同步 + **/ + void getGridBaseInfo(ExDeptFormDTO formDTO); - Map getDeptMap(); } \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExUserService.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExUserService.java index 3268c27fc6..bb990943f3 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExUserService.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExUserService.java @@ -18,6 +18,7 @@ package com.epmet.opendata.service; import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.opendata.dto.form.StaffBaseInfoFormDTO; import com.epmet.opendata.entity.ExUserEntity; import java.util.Map; @@ -29,6 +30,13 @@ import java.util.Map; * @since v1.0.0 2021-10-22 */ public interface ExUserService extends BaseService { + Map getUserMap(); + /** + * @Author sun + * @Description 网格员信息中间库同步 + **/ + void getStaffBaseInfo(StaffBaseInfoFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridInfoServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridInfoServiceImpl.java deleted file mode 100644 index ea56575936..0000000000 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridInfoServiceImpl.java +++ /dev/null @@ -1,155 +0,0 @@ -/** - * 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.opendata.service.impl; - -import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.org.result.CustomerAgencyDTO; -import com.epmet.dto.org.result.CustomerGridDTO; -import com.epmet.feign.DataStatisticalOpenFeignClient; -import com.epmet.opendata.dao.BaseGridInfoDao; -import com.epmet.opendata.dao.ExDeptDao; -import com.epmet.opendata.dto.form.GridBaseInfoFormDTO; -import com.epmet.opendata.entity.BaseGridInfoEntity; -import com.epmet.opendata.entity.ExDeptEntity; -import com.epmet.opendata.service.BaseGridInfoService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.List; - -/** - * 网格基础信息表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2021-10-15 - */ -@Service -public class BaseGridInfoServiceImpl extends BaseServiceImpl implements BaseGridInfoService { - @Autowired - private DataStatisticalOpenFeignClient dataStatisticalOpenFeignClient; - @Autowired - private ExDeptDao exDeptDao; - - /** - * @Author sun - * @Description 组织基础信息中介库同步 - **/ - @Override - @Transactional(rollbackFor = Exception.class) - public void getAgencyBaseInfo(GridBaseInfoFormDTO formDTO) { - //1.查询组织基础信息 - com.epmet.dto.org.form.GridBaseInfoFormDTO formDTO1 = ConvertUtils.sourceToTarget(formDTO, com.epmet.dto.org.form.GridBaseInfoFormDTO.class); - Result> result = dataStatisticalOpenFeignClient.getAgencyBaseInfo(formDTO1); - if (!result.success()) { - throw new RenException(result.getInternalMsg()); - } - if (null == result.getData() || result.getData().size() < NumConstant.ONE) { - return; - } - //2.中间库新增/修改数据 - /*List entityList = new ArrayList<>(); - result.getData().forEach(ag->{ - BaseGridInfoEntity entity = new BaseGridInfoEntity(); - entity.setCustomerId(ag.getCustomerId()); - entity.setOrgId(ag.getId()); - entity.setCode(""); - entity.setGridName(ag.getOrganizationName()); - String level = "06"; - if("province".equals(ag.getLevel())){ level = "01"; } - else if("city".equals(ag.getLevel())){ level = "02"; } - else if("district".equals(ag.getLevel())){ level = "03"; } - else if("street".equals(ag.getLevel())){ level = "04"; } - entity.setGridLevel(level); - entity.setGridType("01"); - entity.setDelFlag(ag.getDelFlag().toString()); - entity.setUpdatedBy(ag.getUpdatedBy()); - entity.setUpdatedTime(ag.getUpdatedTime()); - entityList.add(entity); - });*/ - List ExList = new ArrayList<>(); - result.getData().forEach(ag->{ - ExDeptEntity entity = new ExDeptEntity(); - entity.setQxDeptId(ag.getId()); - entity.setQxDeptName(ag.getOrganizationName()); - entity.setGridCode(ag.getCode()); - ExList.add(entity); - }); - if(null!=formDTO.getType()&& "all".equals(formDTO.getType())){ - exDeptDao.updateBatch(ExList); - }else { - exDeptDao.insertBatch(ExList); - } - - - } - - /** - * @Author sun - * @Description 网格基础信息中介库同步 - **/ - @Override - @Transactional(rollbackFor = Exception.class) - public void getGridBaseInfo(GridBaseInfoFormDTO formDTO) { - //1.查询网格基础信息 - com.epmet.dto.org.form.GridBaseInfoFormDTO formDTO1 = ConvertUtils.sourceToTarget(formDTO, com.epmet.dto.org.form.GridBaseInfoFormDTO.class); - Result> result = dataStatisticalOpenFeignClient.getGridBaseInfo(formDTO1); - if (!result.success()) { - throw new RenException(result.getInternalMsg()); - } - if (null == result.getData() || result.getData().size() < NumConstant.ONE) { - return; - } - //2.中间库新增/修改数据 - /*List entityList = new ArrayList<>(); - result.getData().forEach(ag->{ - BaseGridInfoEntity entity = new BaseGridInfoEntity(); - entity.setCustomerId(ag.getCustomerId()); - entity.setOrgId(ag.getId()); - entity.setCode(""); - entity.setGridName(ag.getGridName()); - entity.setGridLevel("07"); - entity.setGridType("01"); - entity.setDelFlag(ag.getDelFlag().toString()); - entity.setUpdatedBy(ag.getUpdatedBy()); - entity.setUpdatedTime(ag.getUpdatedTime()); - entityList.add(entity); - });*/ - List ExList = new ArrayList<>(); - result.getData().forEach(ag -> { - ExDeptEntity entity = new ExDeptEntity(); - entity.setQxDeptId(ag.getId()); - entity.setQxDeptName(ag.getGridName()); - entity.setGridCode(ag.getCode()); - ExList.add(entity); - }); - if (null != formDTO.getType() && "all".equals(formDTO.getType())) { - exDeptDao.updateBatch(ExList); - //exDeptDao.updateBatchGrid(ExList); - } else { - exDeptDao.insertBatch(ExList); - } - - } - -} \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridUserServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridUserServiceImpl.java deleted file mode 100644 index 6a8902a38b..0000000000 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridUserServiceImpl.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * 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.opendata.service.impl; - -import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.org.result.CustomerAgencyDTO; -import com.epmet.dto.user.result.CustomerStaffDTO; -import com.epmet.dto.user.result.GridUserInfoDTO; -import com.epmet.feign.DataStatisticalOpenFeignClient; -import com.epmet.opendata.dao.BaseGridUserDao; -import com.epmet.opendata.dto.form.StaffBaseInfoFormDTO; -import com.epmet.opendata.entity.BaseGridInfoEntity; -import com.epmet.opendata.entity.BaseGridUserEntity; -import com.epmet.opendata.service.BaseGridUserService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.List; - -/** - * 网格员基础信息表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2021-10-15 - */ -@Service -public class BaseGridUserServiceImpl extends BaseServiceImpl implements BaseGridUserService { - @Autowired - private DataStatisticalOpenFeignClient dataStatisticalOpenFeignClient; - - /** - * @Author sun - * @Description 网格员信息中间库同步 - **/ - @Override - @Transactional(rollbackFor = Exception.class) - public void getStaffBaseInfo(StaffBaseInfoFormDTO formDTO) { - //1.查询网格基础信息 - com.epmet.dto.user.form.StaffBaseInfoFormDTO formDTO1 = ConvertUtils.sourceToTarget(formDTO, com.epmet.dto.user.form.StaffBaseInfoFormDTO.class); - Result> result = dataStatisticalOpenFeignClient.getStaffBaseInfo(formDTO1); - if (!result.success()) { - throw new RenException(result.getInternalMsg()); - } - //2.中间库新增/修改数据 - List entityList = ConvertUtils.sourceToTarget(result.getData(), BaseGridUserEntity.class); - if("add".equals(formDTO.getType())){ - insertBatch(entityList); - }else { - baseDao.updateBatch(entityList); - } - - } - -} \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java index cbbb536124..755b6a39bc 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java @@ -18,22 +18,24 @@ package com.epmet.opendata.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.constant.FieldConstant; -import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.org.result.CustomerAgencyDTO; +import com.epmet.dto.org.result.CustomerGridDTO; +import com.epmet.feign.DataStatisticalOpenFeignClient; import com.epmet.opendata.dao.ExDeptDao; -import com.epmet.opendata.dto.ExDeptDTO; +import com.epmet.opendata.dto.form.ExDeptFormDTO; import com.epmet.opendata.entity.ExDeptEntity; import com.epmet.opendata.service.ExDeptService; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; @@ -47,69 +49,91 @@ import java.util.stream.Collectors; */ @Service public class ExDeptServiceImpl extends BaseServiceImpl implements ExDeptService { + @Autowired + private DataStatisticalOpenFeignClient dataStatisticalOpenFeignClient; @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, ExDeptDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, ExDeptDTO.class); - } - - 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); - - return wrapper; - } - - @Override - public ExDeptDTO get(String id) { - ExDeptEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, ExDeptDTO.class); + public Map getDeptMap() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.isNotNull(ExDeptEntity::getGridCode); + List entityList = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(entityList)) { + return Collections.emptyMap(); + } + return entityList.stream().collect(Collectors.toMap(ExDeptEntity::getQxDeptId, ExDeptEntity::getDeptId, (key1, key2) -> key2)); } + /** + * @Author sun + * @Description 组织基础信息中介库同步 + **/ @Override @Transactional(rollbackFor = Exception.class) - public void save(ExDeptDTO dto) { - ExDeptEntity entity = ConvertUtils.sourceToTarget(dto, ExDeptEntity.class); - insert(entity); - } + public void getAgencyBaseInfo(ExDeptFormDTO formDTO) { + //1.查询组织基础信息 + com.epmet.dto.org.form.GridBaseInfoFormDTO formDTO1 = ConvertUtils.sourceToTarget(formDTO, com.epmet.dto.org.form.GridBaseInfoFormDTO.class); + Result> result = dataStatisticalOpenFeignClient.getAgencyBaseInfo(formDTO1); + if (!result.success()) { + throw new RenException(result.getInternalMsg()); + } + if (null == result.getData() || result.getData().size() < NumConstant.ONE) { + return; + } + //2.封装数据 + List ExList = new ArrayList<>(); + result.getData().forEach(ag -> { + ExDeptEntity entity = new ExDeptEntity(); + entity.setQxDeptId(ag.getId()); + entity.setQxDeptName(ag.getOrganizationName()); + entity.setQxDeptCode(ag.getCode()); + entity.setQxCustomerId(formDTO.getCustomerId()); + ExList.add(entity); + }); + //3.全量数据则按组织名称更新数据,新增修改则是按组织Id(qx_dept_id)新增或修改 + if (null != formDTO.getType() && "all".equals(formDTO.getType())) { + baseDao.updateBatch(ExList); + } else { + baseDao.insertBatch(ExList); + } - @Override - @Transactional(rollbackFor = Exception.class) - public void update(ExDeptDTO dto) { - ExDeptEntity entity = ConvertUtils.sourceToTarget(dto, ExDeptEntity.class); - updateById(entity); - } - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); } + /** + * @Author sun + * @Description 网格基础信息中介库同步 + **/ @Override - public Map getDeptMap() { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.isNotNull(ExDeptEntity::getGridCode); - List entityList = baseDao.selectList(wrapper); - if (CollectionUtils.isEmpty(entityList)) { - return Collections.emptyMap(); + @Transactional(rollbackFor = Exception.class) + public void getGridBaseInfo(ExDeptFormDTO formDTO) { + //1.查询网格基础信息 + com.epmet.dto.org.form.GridBaseInfoFormDTO formDTO1 = ConvertUtils.sourceToTarget(formDTO, com.epmet.dto.org.form.GridBaseInfoFormDTO.class); + Result> result = dataStatisticalOpenFeignClient.getGridBaseInfo(formDTO1); + if (!result.success()) { + throw new RenException(result.getInternalMsg()); } - return entityList.stream().collect(Collectors.toMap(ExDeptEntity::getQxDeptId, ExDeptEntity::getDeptId, (key1, key2) -> key2)); + if (null == result.getData() || result.getData().size() < NumConstant.ONE) { + return; + } + //2.封装数据 + List ExList = new ArrayList<>(); + result.getData().forEach(ag -> { + ExDeptEntity entity = new ExDeptEntity(); + entity.setQxDeptId(ag.getId()); + entity.setQxDeptName(ag.getGridName()); + entity.setQxDeptCode(ag.getCode()); + entity.setQxCustomerId(formDTO.getCustomerId()); + ExList.add(entity); + }); + //3.全量数据则按组织名称更新数据,新增修改则是按组织Id(qx_dept_id)新增或修改 + if (null != formDTO.getType() && "all".equals(formDTO.getType())) { + baseDao.updateBatch(ExList); + //exDeptDao.updateBatchGrid(ExList); + } else { + baseDao.insertBatch(ExList); + } + } } \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java index d692687303..a3fe1ecfc0 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java @@ -19,12 +19,21 @@ package com.epmet.opendata.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.user.result.GridUserInfoDTO; +import com.epmet.feign.DataStatisticalOpenFeignClient; import com.epmet.opendata.dao.ExUserDao; +import com.epmet.opendata.dto.form.StaffBaseInfoFormDTO; import com.epmet.opendata.entity.ExUserEntity; import com.epmet.opendata.service.ExUserService; import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; @@ -38,7 +47,8 @@ import java.util.stream.Collectors; */ @Service public class ExUserServiceImpl extends BaseServiceImpl implements ExUserService { - + @Autowired + private DataStatisticalOpenFeignClient dataStatisticalOpenFeignClient; @Override public Map getUserMap() { @@ -49,4 +59,41 @@ public class ExUserServiceImpl extends BaseServiceImpl } return list.stream().collect(Collectors.toMap(ExUserEntity::getQxUserId, ExUserEntity::getUserId, (key1, key2) -> key2)); } + + /** + * @Author sun + * @Description 网格员信息中间库同步 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public void getStaffBaseInfo(StaffBaseInfoFormDTO formDTO) { + //1.查询网格基础信息 + com.epmet.dto.user.form.StaffBaseInfoFormDTO formDTO1 = ConvertUtils.sourceToTarget(formDTO, com.epmet.dto.user.form.StaffBaseInfoFormDTO.class); + Result> result = dataStatisticalOpenFeignClient.getStaffBaseInfo(formDTO1); + if (!result.success()) { + throw new RenException(result.getInternalMsg()); + } + + //2.中间库新增/修改数据 + List entityList = new ArrayList<>(); + result.getData().forEach(r -> { + ExUserEntity entity = new ExUserEntity(); + entity.setQxUserId(r.getStaffId()); + entity.setQxUserName(r.getNickName()); + entity.setQxMobile(r.getPhonenumber()); + entity.setQxCustomerId(formDTO.getCustomerId()); + }); + + //3.更新数据,不能新增,市平台信息表中必填的 + if (!"add".equals(formDTO.getType())) { + baseDao.updateBatch(entityList); + } + /*if ("add".equals(formDTO.getType())) { + insertBatch(entityList); + } else { + baseDao.updateBatch(entityList); + }*/ + + } + } \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/BaseGridInfoDao.xml b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/BaseGridInfoDao.xml deleted file mode 100644 index 4d823eac28..0000000000 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/BaseGridInfoDao.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - UPDATE base_grid_info - - - - - - when org_id = #{item.orgId} then #{item.gridName} - - - - - - - - when org_id = #{item.orgId} then #{item.delFlag} - - - - - - - - when org_id = #{item.orgId} then #{item.updatedBy} - - - - - - - - when org_id = #{item.orgId} then #{item.updatedTime} - - - - - - WHERE - 1=1 - - org_id = #{item.orgId} - - - - \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/BaseGridUserDao.xml b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/BaseGridUserDao.xml deleted file mode 100644 index f5a47aea3a..0000000000 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/BaseGridUserDao.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - UPDATE base_grid_user - - - - - - when (grid_id = #{item.gridId} AND staff_id = #{item.staffId} ) then #{item.gridName} - - - - - - - - when (grid_id = #{item.gridId} AND staff_id = #{item.staffId} ) then #{item.nickName} - - - - - - - - when (grid_id = #{item.gridId} AND staff_id = #{item.staffId} ) then #{item.delFlag} - - - - - - - - when (grid_id = #{item.gridId} AND staff_id = #{item.staffId} ) then #{item.updatedBy} - - - - - - - - when (grid_id = #{item.gridId} AND staff_id = #{item.staffId} ) then #{item.updatedTime} - - - - - - WHERE - 1=1 - - (grid_id = #{item.gridId} AND staff_id = #{item.staffId} ) - - - - \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExDeptDao.xml b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExDeptDao.xml index 6aed25bf51..0d7af2fa2b 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExDeptDao.xml +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExDeptDao.xml @@ -3,35 +3,38 @@ - - - - - - - - - - - UPDATE ex_dept - + - - - when dept_name_qx = #{item.deptNameQx} then #{item.deptIdQx} + + when qx_dept_name = #{item.qxDeptName} then #{item.qxDeptId} - + - - when dept_name_qx = #{item.deptNameQx} then #{item.deptIdQx} - + + when qx_dept_name = #{item.qxDeptName} then #{item.qxDeptId} + + + + + + + + when qx_dept_name = #{item.qxDeptName} then #{item.qxDeptCode} + + + + + + + + when qx_dept_name = #{item.qxDeptName} then #{item.qxCustomerId} @@ -40,30 +43,32 @@ WHERE 1=1 - - dept_name_qx = #{item.deptNameQx} + qx_dept_name = #{item.qxDeptName} INSERT INTO ex_dept ( - dept_id_qx, - dept_name_qx, - grid_code + qx_dept_id, + qx_dept_name, + qx_dept_code, + qx_customer_id ) VALUES ( - #{i.deptIdQx}, - #{i.deptNameQx}, - #{i.gridCode} + #{i.qxDeptId}, + #{i.qxDeptName}, + #{i.qxDeptCode}, + #{i.qxCustomerId} ) ON DUPLICATE KEY UPDATE - dept_id_qx = values(dept_id_qx), - dept_name_qx = values(dept_name_qx) + qx_dept_name = values(qx_dept_name), + qx_dept_code = values(qx_dept_code), + qx_customer_id = values(qx_customer_id) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExUserDao.xml b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExUserDao.xml new file mode 100644 index 0000000000..fedbbf35a7 --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExUserDao.xml @@ -0,0 +1,41 @@ + + + + + + + UPDATE ex_user + + + + + + when (qx_user_id = #{item.qxUserId} ) then #{item.qxUserName} + + + + + + + + when (qx_user_id = #{item.qxUserId} ) then #{item.qxMobile} + + + + + + + + when (qx_user_id = #{item.qxUserId} ) then #{item.qxCustomerId} + + + + + + WHERE 1=1 + + (qx_user_id = #{item.qxUserId} ) + + + + \ No newline at end of file From 4c1fe2d890fa3babef04986187de0d61ed52f539 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 30 Nov 2021 14:56:47 +0800 Subject: [PATCH 22/36] =?UTF-8?q?=E7=BB=84=E7=BB=87=E3=80=81=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E3=80=81=E7=BD=91=E6=A0=BC=E5=91=98=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=B8=AD=E9=97=B4=E5=BA=93=E5=90=8C=E6=AD=A5=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ExUserServiceImpl.java | 4 +-- .../controller/CustomerStaffController.java | 32 +++++++++++++++++-- .../impl/CustomerStaffServiceImpl.java | 18 ----------- 3 files changed, 31 insertions(+), 23 deletions(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java index a3fe1ecfc0..9d5f78e86e 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java @@ -85,10 +85,10 @@ public class ExUserServiceImpl extends BaseServiceImpl }); //3.更新数据,不能新增,市平台信息表中必填的 - if (!"add".equals(formDTO.getType())) { + if (!"staff_create".equals(formDTO.getType())) { baseDao.updateBatch(entityList); } - /*if ("add".equals(formDTO.getType())) { + /*if ("staff_create".equals(formDTO.getType())) { insertBatch(entityList); } else { baseDao.updateBatch(entityList); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java index f467d60712..0bcae218af 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java @@ -17,6 +17,7 @@ package com.epmet.controller; +import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.enums.RequirePermissionEnum; @@ -36,6 +37,8 @@ import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.excel.CustomerStaffExcel; +import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.send.SendMqMsgUtil; import com.epmet.service.CustomerStaffService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -59,9 +62,10 @@ public class CustomerStaffController { @Autowired private CustomerStaffService customerStaffService; - @Autowired private LoginUserUtil loginUserUtil; + @Autowired + private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; @GetMapping("page") public Result> page(@RequestParam Map params) { @@ -214,7 +218,18 @@ public class CustomerStaffController { */ @PostMapping("addstaff") public Result addStaff(@RequestBody StaffSubmitFromDTO fromDTO){ - return customerStaffService.addStaff(fromDTO); + Result result = customerStaffService.addStaff(fromDTO); + + //2021-10-18 推送mq,数据同步到中介库 start + OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); + mq.setCustomerId(fromDTO.getCustomerId()); + mq.setOrgId(result.getData().getUserId()); + mq.setOrgType("staff"); + mq.setType("staff_create"); + SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); + //2021-10-18 end + + return result; } /** @@ -225,7 +240,18 @@ public class CustomerStaffController { */ @PostMapping("editstaff") public Result editStaff(@RequestBody StaffSubmitFromDTO fromDTO){ - return customerStaffService.editStaff(fromDTO); + Result result = customerStaffService.editStaff(fromDTO); + + //2021-10-18 推送mq,数据同步到中介库 start + OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg(); + mq.setCustomerId(fromDTO.getCustomerId()); + mq.setOrgId(fromDTO.getStaffId()); + mq.setOrgType("staff"); + mq.setType("staff_change"); + SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq); + //2021-10-18 end + + return result; } /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index 6e0c14c1e4..039edc5e32 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -348,15 +348,6 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl().ok(ConvertUtils.sourceToTarget(staffEntity, CustomerStaffDTO.class)); } @@ -431,15 +422,6 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl Date: Tue, 30 Nov 2021 16:03:49 +0800 Subject: [PATCH 23/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DataReportingServiceImpl.java | 16 ++++++++-------- .../impl/BaseDisputeProcessServiceImpl.java | 3 +++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java index 83bb35a03d..7f5d1eb9eb 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java @@ -220,11 +220,11 @@ public class DataReportingServiceImpl implements DataReportingService { if("2fe0065f70ca0e23ce4c26fca5f1d933".equals(project.getCustomerId())) { switch (project.getFinishOrgLevel()) { case OrgTypeConstant.DISTRICT: - dto.setCompleteLevel("04"); + dto.setCompleteLevel("3"); break; case OrgTypeConstant.STREET: case OrgTypeConstant.COMMUNITY: - dto.setCompleteLevel("06"); + dto.setCompleteLevel("4"); break; default: break; @@ -240,7 +240,7 @@ public class DataReportingServiceImpl implements DataReportingService { dto.setCompleteLevel(getCompleteLevel(agency.getLevel())); } else { //办结组织是网格时,办结层级为网格 - dto.setCompleteLevel("07"); + dto.setCompleteLevel("5"); } } dto.setStatus(getProjectStatus(project.getProjectStatusCode())); @@ -253,15 +253,15 @@ public class DataReportingServiceImpl implements DataReportingService { private String getCompleteLevel(String level) { switch (level) { case OrgTypeConstant.PROVINCE: - return "01"; + return "0"; case OrgTypeConstant.CITY: - return "02"; + return "1"; case OrgTypeConstant.DISTRICT: - return "03"; + return "2"; case OrgTypeConstant.STREET: - return "04"; + return "3"; case OrgTypeConstant.COMMUNITY: - return "06"; + return "4"; default: return null; } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index 75fe8a588f..fbecbe0f10 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -107,6 +107,9 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl Date: Tue, 30 Nov 2021 16:26:19 +0800 Subject: [PATCH 24/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../opendata/service/impl/BaseDisputeProcessServiceImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index fbecbe0f10..bc3d194bb6 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -108,7 +108,9 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl Date: Wed, 1 Dec 2021 12:59:09 +0800 Subject: [PATCH 25/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=86=85=E5=AE=B9=20?= =?UTF-8?q?=E6=88=AA=E5=8F=961000?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BaseDisputeProcessServiceImpl.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index bc3d194bb6..609295a770 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -32,6 +32,7 @@ import com.epmet.opendata.service.BaseDisputeProcessService; import com.epmet.opendata.service.ExDeptService; import com.epmet.opendata.service.ExUserService; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -100,7 +101,12 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl NumConstant.ONE_THOUSAND){ + eventDescription = eventDescription.substring(NumConstant.ZERO,NumConstant.ONE_THOUSAND); + } + entity.setEventDescription(eventDescription); entity.setLng(null == item.getLng()?null:item.getLng().toPlainString()); entity.setLat(null == item.getLat()?null:item.getLat().toPlainString()); entity.setCreateBy(null == userMap.get(item.getReporterId())?null:String.valueOf(userMap.get(item.getReporterId()))); @@ -124,4 +130,4 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl Date: Wed, 1 Dec 2021 13:48:57 +0800 Subject: [PATCH 26/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B8=A6=20=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E5=BA=A6=E5=92=8C=E6=BB=A1=E6=84=8F=E5=BA=A6=20?= =?UTF-8?q?=E6=8C=87=E6=A0=87=E5=80=BC=E7=B1=BB=E5=9E=8B=E7=94=B1=E7=99=BE?= =?UTF-8?q?=E5=88=86=E6=AF=94=E6=94=B9=E4=B8=BA=E5=B0=8F=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...系算法需求-备注3.0版新权重.xlsx | Bin 64848 -> 64822 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/test/java/resources/评价指标体系算法需求-备注3.0版新权重.xlsx b/epmet-module/data-statistical/data-statistical-server/src/test/java/resources/评价指标体系算法需求-备注3.0版新权重.xlsx index cb442ccfe9cb70a87b2de2a9b0dab96057ecca73..1b8299fbaba2b8d5441c9638d115ff8b24b04bd7 100644 GIT binary patch delta 25807 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 delta 25757 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 From e3c7436ae9b8e5f9663cafe281070c3edbd8b719 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 3 Dec 2021 10:37:12 +0800 Subject: [PATCH 27/36] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E5=8F=91=E9=80=81mq=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../external/ScreenProjectDataCollController.java | 14 ++++++++++++++ .../com/epmet/opendata/entity/ExDeptEntity.java | 1 + .../com/epmet/opendata/service/ExDeptService.java | 2 +- .../com/epmet/opendata/service/ExUserService.java | 2 +- .../impl/BaseDisputeProcessServiceImpl.java | 4 ++-- .../opendata/service/impl/ExDeptServiceImpl.java | 4 ++-- .../opendata/service/impl/ExUserServiceImpl.java | 3 ++- 7 files changed, 23 insertions(+), 7 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/external/ScreenProjectDataCollController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/external/ScreenProjectDataCollController.java index 7d4c7e9c71..85dad1166f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/external/ScreenProjectDataCollController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/external/ScreenProjectDataCollController.java @@ -1,7 +1,9 @@ package com.epmet.controller.external; +import com.epmet.commons.rocketmq.messages.DisputeProcessMQMsg; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.constant.SystemMessageType; import com.epmet.dto.screen.*; import com.epmet.dto.screen.form.CategoryDictFormDTO; import com.epmet.dto.screen.form.ScreenProjectDataInfoFormDTO; @@ -13,6 +15,9 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; +import java.util.List; + /** * @Description 事件/项目采集接口入口 * @ClassName ScreenProjectDataCollController @@ -135,6 +140,15 @@ public class ScreenProjectDataCollController { param.setCustomerId(customerId); ValidatorUtils.validateEntity(param, ScreenCollFormDTO.CustomerIdShowGroup.class, ScreenCollFormDTO.DateIdShowGroup.class, ScreenCollFormDTO.DataListShowGroup.class); projectDataService.collect(param); + + //发送MQ消息,上报事件 + param.getDataList().forEach(item -> { + List projectList = new ArrayList<>(); + projectList.add(item.getProjectId()); + DisputeProcessMQMsg msg = new DisputeProcessMQMsg(param.getCustomerId(), projectList, SystemMessageType.PROJECT_ADD); + projectDataService.sendProjectChangeMq(msg); + }); + return new Result(); } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java index d13b6d62fe..6289b6ead1 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java @@ -34,6 +34,7 @@ public class ExDeptEntity { private static final long serialVersionUID = 1L; + private String customerId; /** * (市平台)部门id */ diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExDeptService.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExDeptService.java index 9a2c815fbd..15fbf4657b 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExDeptService.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExDeptService.java @@ -32,7 +32,7 @@ import java.util.Map; public interface ExDeptService extends BaseService { - Map getDeptMap(); + Map getDeptMap(String customerId); /** * @Author sun diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExUserService.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExUserService.java index bb990943f3..cdbe5cbaad 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExUserService.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExUserService.java @@ -31,7 +31,7 @@ import java.util.Map; */ public interface ExUserService extends BaseService { - Map getUserMap(); + Map getUserMap(String customerId); /** * @Author sun diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index 609295a770..f05c5794ba 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -74,8 +74,8 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl deptMap = exDeptService.getDeptMap(); - Map userMap = exUserService.getUserMap(); + Map deptMap = exDeptService.getDeptMap(formDTO.getCustomerId()); + Map userMap = exUserService.getUserMap(formDTO.getCustomerId()); List list = result.getData(); saveEvent(formDTO, deptMap, userMap, list); //分批次循环 diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java index 755b6a39bc..f2af239f8a 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java @@ -54,9 +54,9 @@ public class ExDeptServiceImpl extends BaseServiceImpl @Override - public Map getDeptMap() { + public Map getDeptMap(String customerId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.isNotNull(ExDeptEntity::getGridCode); + wrapper.eq(ExDeptEntity::getQxCustomerId, customerId); List entityList = baseDao.selectList(wrapper); if (CollectionUtils.isEmpty(entityList)) { return Collections.emptyMap(); diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java index 9d5f78e86e..55dfb4d3a8 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java @@ -51,8 +51,9 @@ public class ExUserServiceImpl extends BaseServiceImpl private DataStatisticalOpenFeignClient dataStatisticalOpenFeignClient; @Override - public Map getUserMap() { + public Map getUserMap(String customerId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ExUserEntity::getQxCustomerId, customerId); List list = baseDao.selectList(wrapper); if (CollectionUtils.isEmpty(list)) { return Collections.emptyMap(); From 526bcc7652bdcf0ea69cf0ef77a38e36a985eb8f Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 3 Dec 2021 10:56:06 +0800 Subject: [PATCH 28/36] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E5=8F=91=E9=80=81mq=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/opendata/entity/ExDeptEntity.java | 1 - 1 file changed, 1 deletion(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java index 6289b6ead1..d13b6d62fe 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java @@ -34,7 +34,6 @@ public class ExDeptEntity { private static final long serialVersionUID = 1L; - private String customerId; /** * (市平台)部门id */ From f2ae9bf7a3c5699d31283567fe915091c7a532fa Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 3 Dec 2021 14:04:32 +0800 Subject: [PATCH 29/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/DataReportingServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java index 7f5d1eb9eb..4ad4614efa 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java @@ -199,7 +199,7 @@ public class DataReportingServiceImpl implements DataReportingService { CustomerProjectCategoryDictEntity categoryEntity = codeMap.get(categoryCode); if (null != categoryEntity) { categoryCode = categoryEntity.getEpmetCategoryCode(); - parentCode = epmetCodeMap.get(categoryEntity.getEpmetCategoryCode()).getParentCategoryCode(); + parentCode = null == epmetCodeMap.get(categoryCode)?null:epmetCodeMap.get(categoryCode).getParentCategoryCode(); } else { categoryCode = null; parentCode = null; From e9045130866d8094b64c224b508544b738c1014d Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 3 Dec 2021 15:09:59 +0800 Subject: [PATCH 30/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E4=B8=8A=E6=8A=A5=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=B8=80=E7=BA=A7=E4=BA=8C=E7=BA=A7=E5=88=86=E7=B1=BB=E8=AE=BE?= =?UTF-8?q?=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DataReportingServiceImpl.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java index 4ad4614efa..2e4f9c7aeb 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; @@ -198,8 +199,22 @@ public class DataReportingServiceImpl implements DataReportingService { "46c55cb862d6d5e6d05d2ab61a1cc07e".equals(project.getCustomerId())) { CustomerProjectCategoryDictEntity categoryEntity = codeMap.get(categoryCode); if (null != categoryEntity) { - categoryCode = categoryEntity.getEpmetCategoryCode(); - parentCode = null == epmetCodeMap.get(categoryCode)?null:epmetCodeMap.get(categoryCode).getParentCategoryCode(); + String code = categoryEntity.getEpmetCategoryCode(); + if (StringUtils.isBlank(code)) { + //没有对应平阴的分类code,那么一级分类和二级分类都为空 + categoryCode = null; + parentCode = null; + } else { + //如果是对应一级分类,则二级分类为空。如果对应平阴二级分类,则取对应的一级分类 + CustomerProjectCategoryDictEntity epmetCode = epmetCodeMap.get(code); + if (NumConstant.ONE == epmetCode.getLevel()) { + categoryCode = null; + parentCode = code; + } else { + categoryCode = code; + parentCode = epmetCode.getParentCategoryCode(); + } + } } else { categoryCode = null; parentCode = null; From e9d3b1b9d4e00599c39fe28816302b69e4cb45be Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 3 Dec 2021 16:29:36 +0800 Subject: [PATCH 31/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E4=B8=8A=E6=8A=A5=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=B8=80=E7=BA=A7=E4=BA=8C=E7=BA=A7=E5=88=86=E7=B1=BB=E8=AE=BE?= =?UTF-8?q?=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/DataReportingServiceImpl.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java index 2e4f9c7aeb..5e2b9830e7 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java @@ -142,13 +142,14 @@ public class DataReportingServiceImpl implements DataReportingService { Map epmetCodeMap = new HashMap<>(); Result parentCustomer = operCrmOpenFeignClient.getExternalAndParentCustomerId(formDTO.getCustomerId()); if (StringUtils.isNotBlank(parentCustomer.getData())) { - customerProjectCategoryDictService.getByCategoryCodeMap(parentCustomer.getData()); + epmetCodeMap = customerProjectCategoryDictService.getByCategoryCodeMap(parentCustomer.getData()); } Map codeMap = customerProjectCategoryDictService.getByCategoryCodeMap(formDTO.getCustomerId());; //项目ID不为空时,因为只有一条,可以直接处理 + Map finalEpmetCodeMap = epmetCodeMap; if (CollectionUtils.isNotEmpty(formDTO.getProjectId())) { list = projectList.stream().map(project -> { - EventInfoResultDTO dto = getEventInfoResultDTO(project, epmetCodeMap, codeMap); + EventInfoResultDTO dto = getEventInfoResultDTO(project, finalEpmetCodeMap, codeMap); if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) { ScreenCustomerAgencyEntity agency = screenCustomerAgencyService.getAgencyById(project.getOrgId()); dto.setOrgId(project.getOrgId()); @@ -167,7 +168,7 @@ public class DataReportingServiceImpl implements DataReportingService { Map agencyMap = screenCustomerAgencyService.getAgencyList(formDTO.getCustomerId()); Map gridMap = screenCustomerGridService.getGridList(formDTO.getCustomerId()); list = projectList.stream().map(project -> { - EventInfoResultDTO dto = getEventInfoResultDTO(project, epmetCodeMap, codeMap); + EventInfoResultDTO dto = getEventInfoResultDTO(project, finalEpmetCodeMap, codeMap); if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) { ScreenCustomerAgencyEntity agency = agencyMap.get(project.getOrgId()); dto.setOrgId(project.getOrgId()); @@ -182,7 +183,7 @@ public class DataReportingServiceImpl implements DataReportingService { return dto; }).collect(Collectors.toList()); } - return list.stream().filter(item -> StringUtils.isNotBlank(item.getEventCategory())).collect(Collectors.toList()); + return list.stream().filter(item -> StringUtils.isNotBlank(item.getParentEventCategory())).collect(Collectors.toList()); } private EventInfoResultDTO getEventInfoResultDTO(ScreenProjectDataDTO project, Map epmetCodeMap, Map codeMap) { From 13cea0e90e63a1aa3ac4855bfe775e14c22ba0d1 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 3 Dec 2021 17:55:47 +0800 Subject: [PATCH 32/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E5=8E=BB=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/DataReportingServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java index 5e2b9830e7..1387f58df1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java @@ -41,6 +41,9 @@ import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; +import static java.util.stream.Collectors.collectingAndThen; +import static java.util.stream.Collectors.toCollection; + /** * @dscription 省网格化平台数据上报--数据查询 * @author sun @@ -183,7 +186,7 @@ public class DataReportingServiceImpl implements DataReportingService { return dto; }).collect(Collectors.toList()); } - return list.stream().filter(item -> StringUtils.isNotBlank(item.getParentEventCategory())).collect(Collectors.toList()); + return list.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing(EventInfoResultDTO::getId))), ArrayList::new)); } private EventInfoResultDTO getEventInfoResultDTO(ScreenProjectDataDTO project, Map epmetCodeMap, Map codeMap) { From 2df33dd3cbf5a675a93afb65c328669fddf02b76 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 3 Dec 2021 18:54:04 +0800 Subject: [PATCH 33/36] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DataReportingServiceImpl.java | 50 ++++++++++++------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java index 1387f58df1..e3057c2a8e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java @@ -156,13 +156,17 @@ public class DataReportingServiceImpl implements DataReportingService { if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) { ScreenCustomerAgencyEntity agency = screenCustomerAgencyService.getAgencyById(project.getOrgId()); dto.setOrgId(project.getOrgId()); - dto.setOrgCode(agency.getCode()); - dto.setOrgName(agency.getAgencyName()); + if (null != agency) { + dto.setOrgCode(agency.getCode()); + dto.setOrgName(agency.getAgencyName()); + } } else { ScreenCustomerGridDTO grid = screenCustomerGridService.getGridById(project.getOrgId()); dto.setOrgId(project.getOrgId()); - dto.setOrgCode(grid.getCode()); - dto.setOrgName(grid.getGridName()); + if (null != grid) { + dto.setOrgCode(grid.getCode()); + dto.setOrgName(grid.getGridName()); + } } return dto; }).collect(Collectors.toList()); @@ -175,13 +179,17 @@ public class DataReportingServiceImpl implements DataReportingService { if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) { ScreenCustomerAgencyEntity agency = agencyMap.get(project.getOrgId()); dto.setOrgId(project.getOrgId()); - dto.setOrgCode(agency.getCode()); - dto.setOrgName(agency.getAgencyName()); + if (null != agency) { + dto.setOrgCode(agency.getCode()); + dto.setOrgName(agency.getAgencyName()); + } } else { ScreenCustomerGridDTO grid = gridMap.get(project.getOrgId()); dto.setOrgId(project.getOrgId()); - dto.setOrgCode(grid.getCode()); - dto.setOrgName(grid.getGridName()); + if (null != grid) { + dto.setOrgCode(grid.getCode()); + dto.setOrgName(grid.getGridName()); + } } return dto; }).collect(Collectors.toList()); @@ -237,16 +245,18 @@ public class DataReportingServiceImpl implements DataReportingService { if (OrgTypeConstant.AGENCY.equals(project.getFinishOrgType())) { //如果是孔村的项目办结层级需要降一级 if("2fe0065f70ca0e23ce4c26fca5f1d933".equals(project.getCustomerId())) { - switch (project.getFinishOrgLevel()) { - case OrgTypeConstant.DISTRICT: - dto.setCompleteLevel("3"); - break; - case OrgTypeConstant.STREET: - case OrgTypeConstant.COMMUNITY: - dto.setCompleteLevel("4"); - break; - default: - break; + if (StringUtils.isNotBlank(project.getFinishOrgLevel())) { + switch (project.getFinishOrgLevel()) { + case OrgTypeConstant.DISTRICT: + dto.setCompleteLevel("3"); + break; + case OrgTypeConstant.STREET: + case OrgTypeConstant.COMMUNITY: + dto.setCompleteLevel("4"); + break; + default: + break; + } } } else { dto.setCompleteLevel(getCompleteLevel(project.getFinishOrgLevel())); @@ -256,7 +266,9 @@ public class DataReportingServiceImpl implements DataReportingService { String[] orgIds = project.getOrgIdPath().split(StrConstant.COLON); int size = orgIds.length; ScreenCustomerAgencyEntity agency = screenCustomerAgencyService.getAgencyById(orgIds[size - 1]); - dto.setCompleteLevel(getCompleteLevel(agency.getLevel())); + if (null != agency) { + dto.setCompleteLevel(getCompleteLevel(agency.getLevel())); + } } else { //办结组织是网格时,办结层级为网格 dto.setCompleteLevel("5"); From 6919f4dfb035c41a34b93f98e0af064b2b7fcee5 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 3 Dec 2021 19:08:10 +0800 Subject: [PATCH 34/36] =?UTF-8?q?dept=20=E5=88=A0=E9=99=A4=E5=AE=A2?= =?UTF-8?q?=E6=88=B7ID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/opendata/service/ExDeptService.java | 4 ++-- .../opendata/service/impl/BaseDisputeProcessServiceImpl.java | 2 +- .../com/epmet/opendata/service/impl/ExDeptServiceImpl.java | 5 ++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExDeptService.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExDeptService.java index 15fbf4657b..2fa094af92 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExDeptService.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExDeptService.java @@ -32,7 +32,7 @@ import java.util.Map; public interface ExDeptService extends BaseService { - Map getDeptMap(String customerId); + Map getDeptMap(); /** * @Author sun @@ -46,4 +46,4 @@ public interface ExDeptService extends BaseService { **/ void getGridBaseInfo(ExDeptFormDTO formDTO); -} \ No newline at end of file +} diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index f05c5794ba..63211e253f 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java @@ -74,7 +74,7 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl deptMap = exDeptService.getDeptMap(formDTO.getCustomerId()); + Map deptMap = exDeptService.getDeptMap(); Map userMap = exUserService.getUserMap(formDTO.getCustomerId()); List list = result.getData(); saveEvent(formDTO, deptMap, userMap, list); diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java index f2af239f8a..4c95ca47b5 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java @@ -54,9 +54,8 @@ public class ExDeptServiceImpl extends BaseServiceImpl @Override - public Map getDeptMap(String customerId) { + public Map getDeptMap() { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(ExDeptEntity::getQxCustomerId, customerId); List entityList = baseDao.selectList(wrapper); if (CollectionUtils.isEmpty(entityList)) { return Collections.emptyMap(); @@ -136,4 +135,4 @@ public class ExDeptServiceImpl extends BaseServiceImpl } -} \ No newline at end of file +} From ed26003e92547617c251104ea06f071226dd2960 Mon Sep 17 00:00:00 2001 From: jianjun Date: Sat, 4 Dec 2021 14:23:10 +0800 Subject: [PATCH 35/36] =?UTF-8?q?=E6=8B=AC=E5=8F=B7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/ExUserDao.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExUserDao.xml b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExUserDao.xml index fedbbf35a7..3d904577fd 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExUserDao.xml +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExUserDao.xml @@ -33,9 +33,9 @@ WHERE 1=1 - + (qx_user_id = #{item.qxUserId} ) - \ No newline at end of file + From d7c930563aca98e882ff04b40e5d1bd0738fa6d3 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Sat, 4 Dec 2021 15:18:01 +0800 Subject: [PATCH 36/36] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/opendata/service/impl/ExUserServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java index 55dfb4d3a8..a9eca96dac 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExUserServiceImpl.java @@ -83,6 +83,7 @@ public class ExUserServiceImpl extends BaseServiceImpl entity.setQxUserName(r.getNickName()); entity.setQxMobile(r.getPhonenumber()); entity.setQxCustomerId(formDTO.getCustomerId()); + entityList.add(entity); }); //3.更新数据,不能新增,市平台信息表中必填的