From b046aa7a69e131eadfef02046fe3648e45b1fa0a Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 18 Oct 2021 13:41:18 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/dto/form/PageFormDTO.java | 5 -- .../user/result/MidPatrolRecordResult.java | 5 ++ .../main/resources/mapper/user/UserDao.xml | 42 ++++++--- .../dto/form/UpsertPatrolRecordForm.java | 4 +- .../controller/InitDataController.java | 12 +-- .../service/UserPatrolDetailService.java | 3 + .../service/UserPatrolRecordService.java | 8 ++ .../impl/UserPatrolDetailServiceImpl.java | 13 +++ .../impl/UserPatrolRecordServiceImpl.java | 87 ++++++++++++++----- 9 files changed, 131 insertions(+), 48 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java index c699557bac..4820f4d50b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java @@ -30,11 +30,6 @@ public class PageFormDTO { */ private Integer offset; - /** - * 是否分页 默认分页 - */ - private boolean isPage = true; - public Integer getOffset() { return (pageNo-1)*pageSize; } diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/MidPatrolRecordResult.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/MidPatrolRecordResult.java index a08d7cba17..12c18962d1 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/MidPatrolRecordResult.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/MidPatrolRecordResult.java @@ -129,4 +129,9 @@ public class MidPatrolRecordResult implements Serializable { */ private String longitude; + /** + * 经纬度组合成的路线 经度,维度; + */ + private String route; + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml index 78e124791c..bc20519148 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml @@ -1006,20 +1006,38 @@ diff --git a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/UpsertPatrolRecordForm.java b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/UpsertPatrolRecordForm.java index 3fd1db81ac..d80157031e 100644 --- a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/UpsertPatrolRecordForm.java +++ b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/UpsertPatrolRecordForm.java @@ -1,5 +1,6 @@ package com.epmet.opendata.dto.form; +import com.epmet.commons.tools.dto.form.PageFormDTO; import lombok.Data; import javax.validation.constraints.NotEmpty; @@ -9,7 +10,7 @@ import javax.validation.constraints.NotEmpty; * @author liujianjun */ @Data -public class UpsertPatrolRecordForm { +public class UpsertPatrolRecordForm extends PageFormDTO { /** * 客户Id */ @@ -19,7 +20,6 @@ public class UpsertPatrolRecordForm { /** * 巡查记录id */ - @NotEmpty(message = "patrolId不能为空") private String patrolId; /** diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/InitDataController.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/InitDataController.java index e8da4e413e..38fe35fd15 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/InitDataController.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/InitDataController.java @@ -18,10 +18,14 @@ package com.epmet.opendata.controller; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.SystemMessageType; import com.epmet.opendata.dto.form.UpsertPatrolRecordForm; import com.epmet.opendata.service.UserPatrolRecordService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** @@ -42,9 +46,7 @@ public class InitDataController { * @Description 网格员信息中间库同步 **/ @PostMapping("patrol/{customerId}") - public Result getStaffBaseInfo(@PathVariable String customerId) { - UpsertPatrolRecordForm formDTO = new UpsertPatrolRecordForm(); - formDTO.setCustomerId(customerId); - return new Result().ok(userPatrolRecordService.insertPatrolRecord(formDTO)); + public Result reloadPatrolData(@PathVariable String customerId) { + return new Result().ok(userPatrolRecordService.reloadPatrolData(customerId)); } } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/UserPatrolDetailService.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/UserPatrolDetailService.java index b6ca5b2c47..13cde46235 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/UserPatrolDetailService.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/UserPatrolDetailService.java @@ -29,4 +29,7 @@ import com.epmet.opendata.entity.UserPatrolDetailEntity; public interface UserPatrolDetailService extends BaseService { + int deleteByPatrolId(String patrolId); + + int deleteByCustomerId(String customerId); } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/UserPatrolRecordService.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/UserPatrolRecordService.java index 45d894e531..e6896f32b8 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/UserPatrolRecordService.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/UserPatrolRecordService.java @@ -42,4 +42,12 @@ public interface UserPatrolRecordService extends BaseService implements UserPatrolDetailService { + @Override + public int deleteByPatrolId(String patrolId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(UserPatrolDetailEntity::getStaffPatrolRecId, patrolId); + return baseDao.delete(wrapper); + } + @Override + public int deleteByCustomerId(String customerId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(UserPatrolDetailEntity::getCustomerId, customerId); + return baseDao.delete(wrapper); + } } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolRecordServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolRecordServiceImpl.java index 105b170038..cfa413dbe2 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolRecordServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolRecordServiceImpl.java @@ -18,21 +18,19 @@ package com.epmet.opendata.service.impl; import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.user.param.MidPatrolFormDTO; import com.epmet.dto.user.result.MidPatrolDetailResult; import com.epmet.dto.user.result.MidPatrolRecordResult; import com.epmet.feign.DataStatisticalOpenFeignClient; -import com.epmet.opendata.dao.UserPatrolDetailDao; import com.epmet.opendata.dao.UserPatrolRecordDao; import com.epmet.opendata.dto.form.UpsertPatrolRecordForm; import com.epmet.opendata.entity.UserPatrolDetailEntity; import com.epmet.opendata.entity.UserPatrolRecordEntity; +import com.epmet.opendata.service.UserPatrolDetailService; import com.epmet.opendata.service.UserPatrolRecordService; import lombok.extern.slf4j.Slf4j; import org.jetbrains.annotations.NotNull; @@ -57,13 +55,12 @@ public class UserPatrolRecordServiceImpl extends BaseServiceImpl> record = dataStatisticalOpenFeignClient.getPatrolRecordList(midPatrolFormDTO); if (record == null || !record.success()) { @@ -73,7 +70,6 @@ public class UserPatrolRecordServiceImpl extends BaseServiceImpl data = record.getData(); if (CollectionUtils.isEmpty(data)) { //数据已被删除了 - delFlag = true; //暂时设置error 用于排错 log.error("获取巡查记录返回为空,param:{}", JSON.toJSONString(midPatrolFormDTO)); int effectRow = baseDao.deleteById(patrolRecordForm.getPatrolId()); @@ -117,37 +113,82 @@ public class UserPatrolRecordServiceImpl extends BaseServiceImpl> detailResult = dataStatisticalOpenFeignClient.getPatrolDetailList(midPatrolFormDTO); if (detailResult == null || !detailResult.success()) { log.error("获取巡查记录明细失败,param:{}", JSON.toJSONString(midPatrolFormDTO)); return; } - UserPatrolDetailEntity detailEntity = buildDetailEntity(o, detailResult); + UserPatrolDetailEntity detailEntity = buildDetailEntity(o); //先删除再新增 - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(UserPatrolDetailEntity::getStaffPatrolRecId, recordEntity.getId()); - userPatrolDetailDao.delete(wrapper); - int insert = userPatrolDetailDao.insert(detailEntity); + userPatrolDetailService.deleteByPatrolId(recordEntity.getId()); + boolean insert = userPatrolDetailService.insert(detailEntity); }); return true; } + @Override + public Boolean reloadPatrolData(String customerId) { + int pageNo = 1; + int pageSize = 1000; + List resultList = null; + do { + MidPatrolFormDTO param = new MidPatrolFormDTO(); + param.setCustomerId(customerId); + param.setPageNo(pageNo++); + param.setPageSize(pageSize); + Result> record = dataStatisticalOpenFeignClient.getPatrolRecordList(param); + if (record == null || !record.success()) { + log.error("获取巡查记录失败,param:{}", JSON.toJSONString(param)); + return false; + } + resultList = record.getData(); + if (CollectionUtils.isEmpty(resultList)){ + log.warn("不存在巡查记录,param:{}", JSON.toJSONString(param)); + return false; + } + insertRecordBatch(resultList,true); + + + + }while (!CollectionUtils.isEmpty(resultList) && resultList.size()> pageSize ); + + return null; + } + private Boolean insertRecordBatch(List list,boolean isReload){ + List insertList = new ArrayList<>(); + list.forEach(o-> insertList.add(buildEntity(o))); + //insert + if (CollectionUtils.isEmpty(insertList)){ + log.error("构建要插入的数据为空,param:{}", JSON.toJSONString(list)); + return false; + } + if (isReload){ + userPatrolDetailService.deleteByCustomerId(list.get(0).getCustomerId()); + } + this.insertBatch(insertList, NumConstant.ONE_HUNDRED); + List insertDetailList = new ArrayList<>(); + list.forEach(o-> { + insertDetailList.add(buildDetailEntity(o)); + if (!isReload){ + //先删除再新增 + userPatrolDetailService.deleteByPatrolId(o.getId()); + } + }); + if (CollectionUtils.isEmpty(insertList)){ + log.warn("构建要插入的数据为空,param:{}", JSON.toJSONString(list)); + } + userPatrolDetailService.insertBatch(insertDetailList, NumConstant.ONE_HUNDRED); + return true; + } + @NotNull - private UserPatrolDetailEntity buildDetailEntity(MidPatrolRecordResult recordResult, Result> detailResult) { + private UserPatrolDetailEntity buildDetailEntity(MidPatrolRecordResult recordResult) { UserPatrolDetailEntity detailEntity = new UserPatrolDetailEntity(); detailEntity.setCustomerId(recordResult.getCustomerId()); detailEntity.setStaffPatrolRecId(recordResult.getId()); - StringBuilder sb = new StringBuilder(); - detailResult.getData().forEach(o -> { - sb.append(o.getLongitude()) - .append(StrConstant.COMMA) - .append(o.getLatitude()) - .append(StrConstant.SEMICOLON); - }); - detailEntity.setRoute(sb.toString()); + detailEntity.setRoute(recordResult.getRoute()); detailEntity.setId(recordResult.getId()); detailEntity.setRevision(recordResult.getRevision()); detailEntity.setCreatedBy(recordResult.getCreatedBy()); @@ -188,8 +229,8 @@ public class UserPatrolRecordServiceImpl extends BaseServiceImpl Date: Mon, 18 Oct 2021 15:51:23 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/opendata/entity/UserPatrolDetailEntity.java | 8 ++++++++ .../epmet/opendata/entity/UserPatrolRecordEntity.java | 9 ++++++++- .../service/impl/UserPatrolRecordServiceImpl.java | 8 +++++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/UserPatrolDetailEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/UserPatrolDetailEntity.java index bfea8b7749..470c316e53 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/UserPatrolDetailEntity.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/UserPatrolDetailEntity.java @@ -17,6 +17,8 @@ package com.epmet.opendata.entity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; @@ -50,4 +52,10 @@ public class UserPatrolDetailEntity extends BaseEpmetEntity { */ private String route; + /** + * 是否已删除(0-未删除,1-已删除) + */ + @TableField(fill = FieldFill.INSERT) + private String delFlag; + } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/UserPatrolRecordEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/UserPatrolRecordEntity.java index 21b02c6c98..e068a9d80a 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/UserPatrolRecordEntity.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/UserPatrolRecordEntity.java @@ -17,8 +17,9 @@ package com.epmet.opendata.entity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -103,4 +104,10 @@ public class UserPatrolRecordEntity extends BaseEpmetEntity { */ private String status; + /** + * 是否已删除(0-未删除,1-已删除) + */ + @TableField(fill = FieldFill.INSERT) + private String delFlag; + } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolRecordServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolRecordServiceImpl.java index cfa413dbe2..446f1f89ca 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolRecordServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolRecordServiceImpl.java @@ -18,6 +18,7 @@ package com.epmet.opendata.service.impl; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.utils.Result; @@ -165,8 +166,13 @@ public class UserPatrolRecordServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(UserPatrolRecordEntity::getCustomerId, list.get(0).getCustomerId()); + int delete = baseDao.delete(wrapper); + log.info("insertRecordBatch del patrol effectRow:{}",delete); this.insertBatch(insertList, NumConstant.ONE_HUNDRED); List insertDetailList = new ArrayList<>(); list.forEach(o-> { From 5112c82c8b4581dad45bcc7c98396224bd497abc Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 18 Oct 2021 15:57:14 +0800 Subject: [PATCH 3/9] =?UTF-8?q?sql=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/user/UserDao.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml index bc20519148..4715f23c2a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml @@ -1029,9 +1029,8 @@ LEFT JOIN staff_patrol_detail d ON m.ID = d.STAFF_PATROL_REC_ID WHERE 1 =1 - - AND ID = #{patrolId} + AND m.ID = #{patrolId} and m.CUSTOMER_ID = #{customerId} AND m.DEL_FLAG = '0' From 7ef6da082bc7f70ab5d68dc8c2e67584b6ffc740 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 18 Oct 2021 15:58:31 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../opendata/service/impl/UserPatrolRecordServiceImpl.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolRecordServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolRecordServiceImpl.java index 446f1f89ca..0a5312e602 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolRecordServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/UserPatrolRecordServiceImpl.java @@ -24,7 +24,6 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.user.param.MidPatrolFormDTO; -import com.epmet.dto.user.result.MidPatrolDetailResult; import com.epmet.dto.user.result.MidPatrolRecordResult; import com.epmet.feign.DataStatisticalOpenFeignClient; import com.epmet.opendata.dao.UserPatrolRecordDao; @@ -114,12 +113,6 @@ public class UserPatrolRecordServiceImpl extends BaseServiceImpl> detailResult = dataStatisticalOpenFeignClient.getPatrolDetailList(midPatrolFormDTO); - if (detailResult == null || !detailResult.success()) { - log.error("获取巡查记录明细失败,param:{}", JSON.toJSONString(midPatrolFormDTO)); - return; - } UserPatrolDetailEntity detailEntity = buildDetailEntity(o); //先删除再新增 userPatrolDetailService.deleteByPatrolId(recordEntity.getId()); From eb0a132da279bb882b4fedd2d2ffb902f877d154 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 18 Oct 2021 16:54:19 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=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 --- .../constants/ConsomerGroupConstants.java | 5 +++ .../rocketmq/constants/TopicConstants.java | 5 +++ .../messages/DisputeProcessMQMsg.java | 22 +++++++++++++ .../dto/basereport/form/EventInfoFormDTO.java | 5 ++- .../dto/screen/ScreenProjectDataDTO.java | 4 +++ .../data-statistical-server/pom.xml | 6 ++++ .../mq/ProjectChangedCustomListener.java | 15 ++++++++- .../screen/ScreenProjectDataService.java | 12 ++++++- .../impl/ScreenProjectDataServiceImpl.java | 21 ++++++++++++- .../impl/DataReportingServiceImpl.java | 3 +- .../com/epmet/constant/SystemMessageType.java | 10 ++++++ .../java/com/epmet/send/SendMqMsgUtil.java | 31 +++++++++++++++++++ .../impl/SystemMessageServiceImpl.java | 4 +++ .../opendata/mq/RocketMQConsumerRegister.java | 4 +-- .../OpenDataProjectChangeEventListener.java | 7 +++-- .../impl/BaseDisputeProcessServiceImpl.java | 19 +++++++++++- 16 files changed, 163 insertions(+), 10 deletions(-) create mode 100644 epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/DisputeProcessMQMsg.java diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java index a1c61abf6b..fb5ae07412 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java @@ -60,4 +60,9 @@ public interface ConsomerGroupConstants { */ String OPEN_DATA_PATROL_CHANGE_EVENT_LISTENER_GROUP = "open_data_patrol_change_event_listener_group"; + /** + * 开放的对接数据(中间库) 项目变更事件监听器分组 + */ + String OPEN_DATA_PROJECT_CHANGE_EVENT_LISTENER_GROUP = "open_data_project_change_event_listener_group"; + } diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java index 4dfeaa3500..3f0c3066ec 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java @@ -43,4 +43,9 @@ public interface TopicConstants { * 巡查记录 */ String PATROL = "patrol"; + + /** + * 项目 + */ + String PROJECT = "project"; } 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 new file mode 100644 index 0000000000..30a1700054 --- /dev/null +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/DisputeProcessMQMsg.java @@ -0,0 +1,22 @@ +package com.epmet.commons.rocketmq.messages; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/10/18 16:24 + */ +@Data +@AllArgsConstructor +public class DisputeProcessMQMsg implements Serializable { + private String customerId; + private String projectId; + /** + * 操作类型【新增:add 修改删除:edit】 + */ + private String type; +} 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 dbbbe4bbf0..c8f9c78e71 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 @@ -1,5 +1,7 @@ package com.epmet.dto.basereport.form; +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.AllArgsConstructor; import lombok.Data; import java.io.Serializable; @@ -10,7 +12,8 @@ import java.io.Serializable; * @Date 2021/10/15 10:55 */ @Data -public class EventInfoFormDTO implements Serializable { +@AllArgsConstructor +public class EventInfoFormDTO extends PageFormDTO implements Serializable { private static final long serialVersionUID = 8479649048108914555L; private String customerId; private String projectId; diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java index 180ac24fe5..d94c781d71 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java @@ -197,4 +197,8 @@ public class ScreenProjectDataDTO implements Serializable { */ private String tempGridName; + private String finishOrg; + + private String finishOrgLevel; + } diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml index 4e19d8988d..cf2f0f200b 100644 --- a/epmet-module/data-statistical/data-statistical-server/pom.xml +++ b/epmet-module/data-statistical/data-statistical-server/pom.xml @@ -122,6 +122,12 @@ 2.0.0 compile + + com.epmet + epmet-message-client + 2.0.0 + compile + 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 1792654765..72e12ff5dc 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 @@ -2,6 +2,7 @@ package com.epmet.mq; import com.alibaba.fastjson.JSON; import com.epmet.commons.rocketmq.constants.MQUserPropertys; +import com.epmet.commons.rocketmq.messages.DisputeProcessMQMsg; import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.ExceptionUtils; @@ -9,9 +10,11 @@ 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.constant.SystemMessageType; import com.epmet.dto.extract.form.ExtractOriginFormDTO; import com.epmet.service.evaluationindex.extract.todata.FactOriginExtractService; import com.epmet.service.evaluationindex.extract.toscreen.ScreenExtractService; +import com.epmet.service.evaluationindex.screen.ScreenProjectDataService; import com.epmet.util.DimIdGenerator; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -29,7 +32,6 @@ import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; /** * @Description 项目变动-监听器 @@ -45,6 +47,7 @@ public class ProjectChangedCustomListener implements MessageListenerConcurrently private RedisUtils redisUtils; + @Override public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { @@ -149,6 +152,16 @@ public class ProjectChangedCustomListener implements MessageListenerConcurrently SpringContextUtils.getBean(ScreenExtractService.class).extractPartData(customerId,dateId); } 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; + } + 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 2cf68852db..a29640a75b 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 @@ -18,6 +18,7 @@ package com.epmet.service.evaluationindex.screen; import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.rocketmq.messages.DisputeProcessMQMsg; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.screen.ScreenProjectDataDTO; import com.epmet.dto.screen.form.ScreenProjectDataInfoFormDTO; @@ -136,6 +137,15 @@ public interface ScreenProjectDataService extends BaseService getProjectList(String customerId, String projectId); + List getProjectList(String customerId, String projectId, Integer pageNo, Integer pageSize); + + /** + * 项目变更MQ + * @Param msg + * @Return + * @Author zhaoqifeng + * @Date 2021/10/18 15:55 + */ + void sendProjectChangeMq(DisputeProcessMQMsg msg); } 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 10678a2fbc..3d9d3db088 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 @@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.rocketmq.messages.DisputeProcessMQMsg; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; @@ -34,7 +35,10 @@ import com.epmet.dto.screen.form.ScreenProjectDataInfoFormDTO; import com.epmet.dto.screencoll.ScreenCollFormDTO; import com.epmet.entity.evaluationindex.screen.ScreenProjectDataEntity; import com.epmet.entity.evaluationindex.screen.ScreenProjectImgDataEntity; +import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.send.SendMqMsgUtil; import com.epmet.service.evaluationindex.screen.ScreenProjectDataService; +import com.github.pagehelper.PageHelper; import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; @@ -62,6 +66,8 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl page(Map params) { @@ -284,7 +290,8 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl getProjectList(String customerId, String projectId) { + public List getProjectList(String customerId, String projectId, Integer pageNo, Integer pageSize) { + PageHelper.startPage(pageNo, pageSize); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(customerId), ScreenProjectDataEntity::getCustomerId, customerId); wrapper.eq(StringUtils.isNotBlank(projectId), ScreenProjectDataEntity::getProjectId, projectId); @@ -294,4 +301,16 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl getEventInfo(EventInfoFormDTO formDTO) { List list; //根据入参,获取项目 - List projectList = screenProjectDataService.getProjectList(formDTO.getCustomerId(), formDTO.getProjectId()); + List projectList = screenProjectDataService.getProjectList(formDTO.getCustomerId(), formDTO.getProjectId(), formDTO.getPageNo(), formDTO.getPageSize()); //项目列表为空,返回空数组 if(CollectionUtils.isEmpty(projectList)) { return Collections.emptyList(); @@ -206,6 +206,7 @@ public class DataReportingServiceImpl implements DataReportingService { categoryCode = null; } } + dto.setEventCategory(categoryCode); dto.setReportTime(project.getProjectCreateTime()); dto.setHappenDate(DateUtils.parseDate(DateUtils.format(project.getProjectCreateTime()), DateUtils.DATE_PATTERN)); dto.setEventDescription(project.getProjectContent()); diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java index 9e502bd6ca..84580a3b4a 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java @@ -75,4 +75,14 @@ public interface SystemMessageType { */ String USER_PATROL_STOP = "user_patrol_stop"; + /** + * 项目变动 + */ + String PROJECT_ADD = "project_add"; + + /** + * 项目变动 + */ + String PROJECT_EDIT = "project_edit"; + } diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java index 551bb9d4ec..e232f5f635 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java @@ -182,4 +182,35 @@ public class SendMqMsgUtil { } + /** + * desc: 发送项目变动事件消息 + * + * @param msgContent + * @return boolean + * @author LiuJanJun + * @date 2021/4/23 3:01 下午 + * @remark 失败重试1次,调用端自行判断如果失败是否要继续执行 + */ + public boolean sendProjectMqMsg(DisputeProcessMQMsg msgContent) { + try { + SystemMsgFormDTO systemMsgFormDTO = new SystemMsgFormDTO(); + systemMsgFormDTO.setMessageType(msgContent.getType()); + systemMsgFormDTO.setContent(msgContent); + Result sendMsgResult; + log.info("sendProjectMqMsg param:{}",msgContent); + int retryTime = 0; + do { + sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(systemMsgFormDTO); + } while ((sendMsgResult == null || !sendMsgResult.success()) && retryTime++ < NumConstant.TWO); + + if (sendMsgResult != null && sendMsgResult.success()) { + return true; + } + log.error("发送(项目变动)系统消息到message服务失败:{},msg:{}", JSON.toJSONString(sendMsgResult), JSON.toJSONString(systemMsgFormDTO)); + } catch (Exception e) { + log.error("sendMqMsg exception", e); + } + return false; + } + } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java index dfd6737b57..0196a0aea7 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java @@ -183,6 +183,10 @@ public class SystemMessageServiceImpl implements SystemMessageService { case SystemMessageType.USER_PATROL_STOP: topic = TopicConstants.PATROL; break; + case SystemMessageType.PROJECT_ADD: + case SystemMessageType.PROJECT_EDIT: + topic = TopicConstants.PROJECT; + break; } return topic; } 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 2ffed8c3dd..3fa339bc0b 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 @@ -43,9 +43,9 @@ public class RocketMQConsumerRegister extends MQAbstractRegister { "*", new OpenDataPatrolChangeEventListener()); register(consumerProperties, - ConsomerGroupConstants.PROJECT_CHANGED_COMPONENTS_GROUP, + ConsomerGroupConstants.OPEN_DATA_PROJECT_CHANGE_EVENT_LISTENER_GROUP, MessageModel.CLUSTERING, - TopicConstants.PROJECT_CHANGED, + TopicConstants.PROJECT, "*", new OpenDataProjectChangeEventListener()); 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 e82e2cd8c9..c2af1cffe7 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 @@ -2,11 +2,13 @@ package com.epmet.opendata.mq.listener; import com.alibaba.fastjson.JSON; import com.epmet.commons.rocketmq.constants.MQUserPropertys; +import com.epmet.commons.rocketmq.messages.DisputeProcessMQMsg; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.ExceptionUtils; 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.ConvertUtils; import com.epmet.commons.tools.utils.SpringContextUtils; import com.epmet.dto.basereport.form.EventInfoFormDTO; import com.epmet.feign.EpmetMessageOpenFeignClient; @@ -63,7 +65,8 @@ public class OpenDataProjectChangeEventListener implements MessageListenerConcur //messageExt.propert logger.info("【开放数据事件监听器】-项目信息变更-收到消息内容:{}, 操作:{}, pendingMsgLabel:{}", msg, tags, pendingMsgLabel); - EventInfoFormDTO obj = JSON.parseObject(msg, EventInfoFormDTO.class); + DisputeProcessMQMsg obj = JSON.parseObject(msg, DisputeProcessMQMsg.class); + EventInfoFormDTO formDTO = ConvertUtils.sourceToTarget(obj, EventInfoFormDTO.class); DistributedLock distributedLock = null; RLock lock = null; @@ -71,7 +74,7 @@ public class OpenDataProjectChangeEventListener implements MessageListenerConcur 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(obj); + SpringContextUtils.getBean(BaseDisputeProcessService.class).getEventinfo(formDTO); } 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/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index 0a0d18a9f0..d716762780 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 @@ -18,9 +18,11 @@ 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.feign.DataStatisticalOpenFeignClient; import com.epmet.opendata.dao.BaseDisputeProcessDao; @@ -62,12 +64,27 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl list = result.getData(); if (CollectionUtils.isNotEmpty(list)) { List entityList = ConvertUtils.sourceToTarget(list, BaseDisputeProcessEntity.class); - if("add".equals(formDTO.getType())){ + if(SystemMessageType.PROJECT_ADD.equals(formDTO.getType())){ insertBatch(entityList); }else { updateBatchById(entityList); } } + //分批次循环 + 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); + if("add".equals(formDTO.getType())){ + insertBatch(entityList); + }else { + updateBatchById(entityList); + } + } + } + } From 21733738da679ca379a0c000138df62e0bb3d7f9 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 19 Oct 2021 10:50:50 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E5=8A=9E=E7=BB=93=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E5=92=8C=E5=8A=9E=E7=BB=93=E5=B1=82=E7=BA=A7=E8=AE=BE=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/screen/ScreenProjectDataDTO.java | 3 + .../com/epmet/constant/OrgTypeConstant.java | 10 +++ .../com/epmet/constant/ProjectConstant.java | 8 ++ .../screen/ScreenProjectDataDao.java | 2 + .../impl/ScreenProjectDataServiceImpl.java | 9 +-- .../impl/DataReportingServiceImpl.java | 53 +++++++++++-- .../screen/ScreenProjectDataDao.xml | 78 +++++++++++++++++++ 7 files changed, 150 insertions(+), 13 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java index d94c781d71..be5355aebc 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java @@ -201,4 +201,7 @@ public class ScreenProjectDataDTO implements Serializable { private String finishOrgLevel; + private String orgIdPath; + + private String finishOrgType; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/OrgTypeConstant.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/OrgTypeConstant.java index 7c88be956c..3fa6ac0fdc 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/OrgTypeConstant.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/OrgTypeConstant.java @@ -46,4 +46,14 @@ public interface OrgTypeConstant { */ String COMMUNITY = "community"; + /** + * 省级 + */ + String PROVINCE = "province"; + + /** + * 市级 + */ + String CITY = "city"; + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java index e099b5f89d..6b9966b154 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -82,4 +82,12 @@ public interface ProjectConstant { */ String PROJECT_ORIGIN_AGENCY="agency"; String PROJECT_ORIGIN_EVENT="resi_event"; + /** + * 自办 + */ + String PROJECT_SELF_CLOSED="01"; + /** + * 上报 + */ + String PROJECT_REPORT="02"; } 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 4083242997..97c85d1bc0 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 @@ -66,4 +66,6 @@ public interface ScreenProjectDataDao extends BaseDao { void deleteByProjectIds(@Param("customerId") String customerId, @Param("list") List list); int updateProjectSatisfactionScore(@Param("projectId")String projectId, @Param("score")BigDecimal score); + + List selectProjectList(@Param("customerId") String customerId, @Param("projectId") String projectId); } 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 3d9d3db088..f04234049e 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 @@ -17,7 +17,6 @@ package com.epmet.service.evaluationindex.screen.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.dynamic.datasource.annotation.DataSource; @@ -292,13 +291,7 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl getProjectList(String customerId, String projectId, Integer pageNo, Integer pageSize) { PageHelper.startPage(pageNo, pageSize); - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(customerId), ScreenProjectDataEntity::getCustomerId, customerId); - wrapper.eq(StringUtils.isNotBlank(projectId), ScreenProjectDataEntity::getProjectId, projectId); - wrapper.ne(ScreenProjectDataEntity::getCategoryCode, null); - wrapper.ne(ScreenProjectDataEntity::getCategoryCode, ""); - List list = baseDao.selectList(wrapper); - return ConvertUtils.sourceToTarget(list, ScreenProjectDataDTO.class); + 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 39e3f698a3..721a827074 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 @@ -210,18 +210,61 @@ public class DataReportingServiceImpl implements DataReportingService { dto.setReportTime(project.getProjectCreateTime()); dto.setHappenDate(DateUtils.parseDate(DateUtils.format(project.getProjectCreateTime()), DateUtils.DATE_PATTERN)); dto.setEventDescription(project.getProjectContent()); - //TODO 办结方式 - dto.setWaysOfResolving("01"); dto.setSuccessfulOrNo(ProjectConstant.CLOSED_CASE.equals(project.getProjectStatusCode())?"Y":"N"); - //TODO 办结层级 - dto.setCompleteLevel("01"); + if (ProjectConstant.CLOSED_CASE.equals(project.getProjectStatusCode())) { + dto.setWaysOfResolving(project.getOrgId().equals(project.getFinishOrg())?ProjectConstant.PROJECT_SELF_CLOSED:ProjectConstant.PROJECT_REPORT); + //办结组织是机关时,办结层级为机关的层级 + if (OrgTypeConstant.AGENCY.equals(project.getFinishOrgType())) { + //如果是孔村的项目办结层级需要降一级 + if("2fe0065f70ca0e23ce4c26fca5f1d933".equals(project.getCustomerId())) { + switch (project.getFinishOrgLevel()) { + case OrgTypeConstant.DISTRICT: + dto.setCompleteLevel("04"); + break; + case OrgTypeConstant.STREET: + case OrgTypeConstant.COMMUNITY: + dto.setCompleteLevel("06"); + break; + default: + break; + } + } else { + dto.setCompleteLevel(getCompleteLevel(project.getFinishOrgLevel())); + } + } else if (OrgTypeConstant.DEPARTMENT.equals(project.getFinishOrgType())) { + //办结组织是部门时,办结层级为部门所在组织的曾经 + String[] orgIds = project.getOrgIdPath().split(StrConstant.COLON); + int size = orgIds.length; + ScreenCustomerAgencyEntity agency = screenCustomerAgencyService.getAgencyById(orgIds[size - 1]); + dto.setCompleteLevel(getCompleteLevel(agency.getLevel())); + } else { + //办结组织是网格时,办结层级为网格 + dto.setCompleteLevel("07"); + } + } + dto.setCompleteTime(project.getCloseCaseTime()); dto.setLat(project.getLatitude()); dto.setLng(project.getLongitude()); return dto; } - + private String getCompleteLevel(String level) { + switch (level) { + case OrgTypeConstant.PROVINCE: + return "01"; + case OrgTypeConstant.CITY: + return "02"; + case OrgTypeConstant.DISTRICT: + return "03"; + case OrgTypeConstant.STREET: + return "04"; + case OrgTypeConstant.COMMUNITY: + return "06"; + default: + return null; + } + } @Override public List getPatrolRecordList(MidPatrolFormDTO formDTO) { 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 db38763cb5..5930ae87c9 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 @@ -191,4 +191,82 @@ update screen_project_data set SATISFACTION_SCORE=#{score} where PROJECT_ID=#{projectId} + + + From 4766365f75f22bc24f6bdad85bb9545dcfd95ed8 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 19 Oct 2021 15:54:37 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/basereport/form/EventInfoFormDTO.java | 2 -- .../screen/impl/ScreenCustomerAgencyServiceImpl.java | 2 +- .../screen/impl/ScreenCustomerGridServiceImpl.java | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) 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 c8f9c78e71..ee5830567a 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 @@ -1,7 +1,6 @@ package com.epmet.dto.basereport.form; import com.epmet.commons.tools.dto.form.PageFormDTO; -import lombok.AllArgsConstructor; import lombok.Data; import java.io.Serializable; @@ -12,7 +11,6 @@ import java.io.Serializable; * @Date 2021/10/15 10:55 */ @Data -@AllArgsConstructor public class EventInfoFormDTO extends PageFormDTO implements Serializable { private static final long serialVersionUID = 8479649048108914555L; private String customerId; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerAgencyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerAgencyServiceImpl.java index 972d8ef961..9f3510d049 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerAgencyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerAgencyServiceImpl.java @@ -325,7 +325,7 @@ public class ScreenCustomerAgencyServiceImpl extends BaseServiceImpl getAgencyList(String customerId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(customerId), ScreenCustomerAgencyEntity::getAgencyId, customerId); + wrapper.eq(StringUtils.isNotBlank(customerId), ScreenCustomerAgencyEntity::getCustomerId, customerId); List list = baseDao.selectList(wrapper); if (CollectionUtils.isEmpty(list)) { return Collections.emptyMap(); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerGridServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerGridServiceImpl.java index c87c58f7fd..8c81b80bb9 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerGridServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerGridServiceImpl.java @@ -244,7 +244,7 @@ public class ScreenCustomerGridServiceImpl extends BaseServiceImpl getGridList(String customerId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(customerId), ScreenCustomerGridEntity::getGridId, customerId); + wrapper.eq(StringUtils.isNotBlank(customerId), ScreenCustomerGridEntity::getCustomerId, customerId); List list = baseDao.selectList(wrapper); return ConvertUtils.sourceToTarget(list, ScreenCustomerGridDTO.class).stream().collect(Collectors.toMap(ScreenCustomerGridDTO::getGridId, Function.identity())); } From 74974212038bbd3d3d61e94ca0f9fca4df53aa5e Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 20 Oct 2021 09:07:26 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=83=A8=E9=97=A8=E7=BD=91=E6=A0=BCID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../opendata/dto/BaseDisputeProcessDTO.java | 4 + .../com/epmet/opendata/dto/ExDeptDTO.java | 81 +++++++++++++ .../com/epmet/opendata/dao/ExDeptDao.java | 33 +++++ .../entity/BaseDisputeProcessEntity.java | 4 + .../epmet/opendata/entity/ExDeptEntity.java | 83 +++++++++++++ .../epmet/opendata/service/ExDeptService.java | 97 +++++++++++++++ .../impl/BaseDisputeProcessServiceImpl.java | 11 ++ .../service/impl/ExDeptServiceImpl.java | 114 ++++++++++++++++++ .../src/main/resources/mapper/ExDeptDao.xml | 19 +++ 9 files changed, 446 insertions(+) create mode 100644 epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExDeptDTO.java create mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/ExDeptDao.java create mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java create mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExDeptService.java create mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java create mode 100644 epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExDeptDao.xml diff --git a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseDisputeProcessDTO.java b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseDisputeProcessDTO.java index 38ab49fc12..2f377e9ac9 100644 --- a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseDisputeProcessDTO.java +++ b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/BaseDisputeProcessDTO.java @@ -44,6 +44,10 @@ public class BaseDisputeProcessDTO implements Serializable { */ private String customerId; + private Integer detpId; + + private String reporterId; + /** * 网格编码 */ 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 new file mode 100644 index 0000000000..cd092d52ba --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExDeptDTO.java @@ -0,0 +1,81 @@ +/** + * 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 lombok.Data; + +import java.io.Serializable; + + +/** + * 部门(网格)中间表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-19 + */ +@Data +public class ExDeptDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * (市平台)部门id + */ + private Integer deptId; + + /** + * (市平台)父部门id + */ + private Integer parentId; + + /** + * 祖级列表 + */ + private String ancestors; + + /** + * (市平台)部门/网格名称 + */ + private String fullName; + + /** + * (市平台)部门/网格简称 + */ + private String deptName; + + /** + * (市平台)部门/网格编码 + */ + private String deptCode; + + /** + * + */ + private String gridCode; + + /** + * (区县平台)部门id + */ + private String deptIdQx; + + /** + * (区县平台)部门/网格名称 + */ + private String deptNameQx; + +} \ 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 new file mode 100644 index 0000000000..23793ddf6d --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/ExDeptDao.java @@ -0,0 +1,33 @@ +/** + * 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.ExDeptEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 部门(网格)中间表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-19 + */ +@Mapper +public interface ExDeptDao extends BaseDao { + +} \ 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/BaseDisputeProcessEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseDisputeProcessEntity.java index c7266558ed..3f458a026a 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 @@ -44,6 +44,10 @@ public class BaseDisputeProcessEntity extends BaseEpmetEntity { */ private String customerId; + private Integer detpId; + + private String reporterId; + /** * 网格编码 */ 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 new file mode 100644 index 0000000000..68bf992a26 --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java @@ -0,0 +1,83 @@ +/** + * 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; + +/** + * 部门(网格)中间表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-19 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ex_dept") +public class ExDeptEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * (市平台)部门id + */ + private Integer deptId; + + /** + * (市平台)父部门id + */ + private Integer parentId; + + /** + * 祖级列表 + */ + private String ancestors; + + /** + * (市平台)部门/网格名称 + */ + private String fullName; + + /** + * (市平台)部门/网格简称 + */ + private String deptName; + + /** + * (市平台)部门/网格编码 + */ + private String deptCode; + + /** + * + */ + private String gridCode; + + /** + * (区县平台)部门id + */ + private String deptIdQx; + + /** + * (区县平台)部门/网格名称 + */ + private String deptNameQx; + +} 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 new file mode 100644 index 0000000000..644c06c673 --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/ExDeptService.java @@ -0,0 +1,97 @@ +/** + * 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.commons.tools.page.PageData; +import com.epmet.opendata.dto.ExDeptDTO; +import com.epmet.opendata.entity.ExDeptEntity; + +import java.util.List; +import java.util.Map; + +/** + * 部门(网格)中间表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-19 + */ +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); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-10-19 + */ + void update(ExDeptDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-10-19 + */ + void delete(String[] ids); + + 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/impl/BaseDisputeProcessServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseDisputeProcessServiceImpl.java index d716762780..8068eda5cc 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 @@ -29,11 +29,13 @@ import com.epmet.opendata.dao.BaseDisputeProcessDao; import com.epmet.opendata.dto.BaseDisputeProcessDTO; import com.epmet.opendata.entity.BaseDisputeProcessEntity; import com.epmet.opendata.service.BaseDisputeProcessService; +import com.epmet.opendata.service.ExDeptService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; +import java.util.Map; /** * 事件信息表 @@ -45,6 +47,8 @@ import java.util.List; public class BaseDisputeProcessServiceImpl extends BaseServiceImpl implements BaseDisputeProcessService { @Resource private DataStatisticalOpenFeignClient dataStatisticalOpenFeignClient; + @Resource + private ExDeptService exDeptService; /** * 获取上报事件 @@ -61,9 +65,13 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl deptMap = exDeptService.getDeptMap(); 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 { @@ -77,6 +85,9 @@ public class BaseDisputeProcessServiceImpl extends BaseServiceImpl entityList = ConvertUtils.sourceToTarget(list, BaseDisputeProcessEntity.class); + entityList.forEach(item -> { + item.setDetpId(deptMap.get(item.getOrgCode())); + }); if("add".equals(formDTO.getType())){ insertBatch(entityList); }else { 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 new file mode 100644 index 0000000000..a2bb40d070 --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java @@ -0,0 +1,114 @@ +/** + * 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.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.utils.ConvertUtils; +import com.epmet.opendata.dao.ExDeptDao; +import com.epmet.opendata.dto.ExDeptDTO; +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.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; + +/** + * 部门(网格)中间表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-19 + */ +@Service +public class ExDeptServiceImpl extends BaseServiceImpl implements ExDeptService { + + + @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); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(ExDeptDTO dto) { + ExDeptEntity entity = ConvertUtils.sourceToTarget(dto, ExDeptEntity.class); + insert(entity); + } + + @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)); + } + + @Override + public Map getDeptMap() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + List entityList = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(entityList)) { + return Collections.emptyMap(); + } + return entityList.stream().collect(Collectors.toMap(ExDeptEntity::getGridCode, ExDeptEntity::getDeptId, (key1, key2) -> key2)); + } + +} \ 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 new file mode 100644 index 0000000000..db24b07d11 --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExDeptDao.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 32bd1cbde9ee7c0e32909752d3abafced662f418 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 20 Oct 2021 10:34:57 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=83=A8=E9=97=A8=E7=BD=91=E6=A0=BCID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-gateway/pom.xml | 4 ++-- epmet-gateway/src/main/resources/bootstrap.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index 3d668a8b6f..d180c7cab9 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -365,8 +365,8 @@ - - http://127.0.0.1:8117 + lb://open-data-worker-server + lb://epmet-openapi-adv-server diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index 69423d078f..1f34bc71a1 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -1,4 +1,4 @@ -server: +basedisputeprocessserver: tomcat: max-swallow-size: 100MB port: @server.port@ @@ -352,7 +352,7 @@ spring: - CpAuth=true #政府工作端议题管理 - id: open-data-worker-server - uri: @gateway.routes.gov-issue-server.uri@ + uri: @gateway.routes.open-data-worker-server.url@ order: 38 predicates: - Path=${server.servlet.context-path}/opendata/**