diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OrgOrStaffMQMsg.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OrgOrStaffMQMsg.java
index bbe4f551db..650b9e9f90 100644
--- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OrgOrStaffMQMsg.java
+++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OrgOrStaffMQMsg.java
@@ -12,7 +12,6 @@ import java.util.List;
* @author sun
*/
@Data
-@AllArgsConstructor
public class OrgOrStaffMQMsg implements Serializable {
//客户Id
@@ -21,7 +20,7 @@ public class OrgOrStaffMQMsg implements Serializable {
private String orgId;
//数据类型【组织:agency 网格:grid 人员:staff】
private String orgType;
- //操作类型【新增:add 修改删除:edit】
+ //操作类型【组织新增:agency_create 组织变更:agency_change 网格新增:grid_create 网格变更:grid_change 人员新增:staff_create 人员变更:staff_change】
private String type;
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-gateway/pom.xml b/epmet-gateway/pom.xml
index e09410668d..3d668a8b6f 100644
--- a/epmet-gateway/pom.xml
+++ b/epmet-gateway/pom.xml
@@ -223,6 +223,9 @@
lb://data-aggregator-server
+
+ lb://open-data-worker-server
+
lb://epmet-openapi-adv-server
@@ -361,6 +364,10 @@
lb://data-aggregator-server
+
+
+ http://127.0.0.1:8117
+
lb://epmet-openapi-adv-server
@@ -469,6 +476,8 @@
lb://data-aggregator-server
lb://tduck-api
+
+ lb://open-data-worker-server
lb://epmet-openapi-adv-server
@@ -570,6 +579,8 @@
lb://epmet-ext-server
lb://data-aggregator-server
+
+ 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 a147811112..d4006d0bd3 100644
--- a/epmet-gateway/src/main/resources/bootstrap.yml
+++ b/epmet-gateway/src/main/resources/bootstrap.yml
@@ -350,6 +350,16 @@ spring:
filters:
- StripPrefix=1
- CpAuth=true
+ #政府工作端议题管理
+ - id: open-data-worker-server
+ uri: @gateway.routes.gov-issue-server.uri@
+ order: 38
+ predicates:
+ - Path=${server.servlet.context-path}/opendata/**
+ filters:
+ - StripPrefix=1
+ - CpAuth=true
+
nacos:
discovery:
server-addr: @nacos.server-addr@
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 6978b50bf9..2fde3c3566 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
@@ -149,4 +149,34 @@ public class GridUserInfoDTO implements Serializable {
*/
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-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/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 249eb11c81..26b125af39 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
@@ -124,6 +124,11 @@ public class DataReportingServiceImpl implements DataReportingService {
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/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/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DeleteGridFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DeleteGridFormDTO.java
index ed266210ba..5bd8641413 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DeleteGridFormDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DeleteGridFormDTO.java
@@ -27,4 +27,9 @@ public class DeleteGridFormDTO implements Serializable {
* userId
*/
private String userId;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditGridFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditGridFormDTO.java
index 0ad04c404d..ff48cd1972 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditGridFormDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditGridFormDTO.java
@@ -40,4 +40,7 @@ public class EditGridFormDTO implements Serializable {
*/
private String manageDistrict;
+ //客户Id
+ private String customerId;
+
}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/RemoveAgencyFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/RemoveAgencyFormDTO.java
index 5caaec7ea5..27bee4e64d 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/RemoveAgencyFormDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/RemoveAgencyFormDTO.java
@@ -38,5 +38,9 @@ public class RemoveAgencyFormDTO implements Serializable {
*/
@NotBlank(message = "机关组织ID不能为空")
private String agencyId;
+ /**
+ * 客户Id
+ */
+ private String customerId;
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml
index 2bc10abf21..13561a58a3 100644
--- a/epmet-module/gov-org/gov-org-server/pom.xml
+++ b/epmet-module/gov-org/gov-org-server/pom.xml
@@ -107,6 +107,12 @@
2.0.0
compile
+
+ com.epmet
+ epmet-message-client
+ 2.0.0
+ compile
+
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 a3695f6362..112d6b8e35 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
@@ -141,6 +141,7 @@ public class AgencyController {
@RequirePermission(requirePermission = RequirePermissionEnum.ORG_SUBAGENCY_DELETE)
public Result removeAgency(@LoginUser TokenDto tokenDTO, @RequestBody RemoveAgencyFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
+ formDTO.setCustomerId(tokenDTO.getCustomerId());
return agencyService.removeAgency(formDTO);
}
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 ce24000220..f9cc5c1b54 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
@@ -58,6 +58,7 @@ public class GridController {
@RequirePermission(requirePermission = RequirePermissionEnum.ORG_GRID_UPDATE)
public Result editGrid(@LoginUser TokenDto tokenDto, @RequestBody EditGridFormDTO editGridFormDTO){
ValidatorUtils.validateEntity(editGridFormDTO, EditGridFormDTO.EditGrid.class);
+ editGridFormDTO.setCustomerId(tokenDto.getCustomerId());
return customerGridService.editGrid(tokenDto,editGridFormDTO);
}
@@ -68,6 +69,7 @@ public class GridController {
@PostMapping("deletegrid")
@RequirePermission(requirePermission = RequirePermissionEnum.ORG_GRID_DELETE)
public Result deleteGrid(@LoginUser TokenDto tokenDto, @RequestBody DeleteGridFormDTO deleteGridFormDTO){
+ deleteGridFormDTO.setCustomerId(tokenDto.getCustomerId());
return customerGridService.deleteGrid(tokenDto,deleteGridFormDTO);
}
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 b60e0ff31c..aa070f2d90 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
@@ -18,6 +18,7 @@
package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
+import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
@@ -35,8 +36,10 @@ import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
+import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.redis.CustomerAgencyRedis;
+import com.epmet.send.SendMqMsgUtil;
import com.epmet.service.AgencyService;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.CustomerOrgParameterService;
@@ -80,6 +83,8 @@ public class AgencyServiceImpl implements AgencyService {
private CustomerOrgParameterService customerOrgParameterService;
@Autowired
private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient;
+ @Autowired
+ private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
/**
@@ -176,6 +181,16 @@ 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;
}
@@ -215,6 +230,16 @@ public class AgencyServiceImpl implements AgencyService {
log.error(CustomerAgencyConstant.DEL_EXCEPTION);
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;
}
@@ -370,6 +395,16 @@ public class AgencyServiceImpl implements AgencyService {
entity.setTotalUser(0);
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();
}
@@ -430,6 +465,15 @@ 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
+
}
/**
@@ -474,6 +518,15 @@ public class AgencyServiceImpl implements AgencyService {
//3:返回新组织Id
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 58faa734ac..d5497b8a08 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
@@ -21,6 +21,7 @@ import cn.hutool.core.bean.BeanUtil;
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.rocketmq.messages.OrgOrStaffMQMsg;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
@@ -41,8 +42,10 @@ import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerGridEntity;
+import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.OperCrmOpenFeignClient;
+import com.epmet.send.SendMqMsgUtil;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.CustomerGridService;
import com.epmet.util.ModuleConstant;
@@ -79,9 +82,10 @@ public class CustomerGridServiceImpl extends BaseServiceImpl page(Map params) {
@@ -270,6 +274,16 @@ public class CustomerGridServiceImpl extends BaseServiceImpl().ok(resultDTO);
}
@@ -291,6 +305,16 @@ public class CustomerGridServiceImpl extends BaseServiceImpl orgIdList;
- /**
- * 数据类型【组织:agency 网格:grid】
- */
- private String orgType;
/**
* 操作类型【新增:add 修改删除:edit】
*/
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/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 df6278488e..04e95a893b 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
@@ -2,6 +2,7 @@ package com.epmet.opendata.mq.listener;
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;
import com.epmet.commons.tools.exception.RenException;
@@ -19,6 +20,7 @@ import org.redisson.api.RLock;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
@@ -58,19 +60,24 @@ public class OpenDataOrgChangeEventListener implements MessageListenerConcurrent
String pendingMsgLabel = messageExt.getUserProperty(MQUserPropertys.BLOCKED_MSG_LABEL);
logger.info("【开放数据事件监听器】-组织信息变更-收到消息内容:{},操作:{}", msg, tags);
- GridBaseInfoFormDTO obj = JSON.parseObject(msg, GridBaseInfoFormDTO.class);
+ 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.getOrgIdList()),
+ lock = distributedLock.getLock(String.format("lock:open_data_org:%s", obj.getOrgId()),
30L, 30L, TimeUnit.SECONDS);
+ GridBaseInfoFormDTO dto = new GridBaseInfoFormDTO();
+ 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(obj);
+ SpringContextUtils.getBean(BaseGridInfoService.class).getAgencyBaseInfo(dto);
} else {
- SpringContextUtils.getBean(BaseGridInfoService.class).getGridBaseInfo(obj);
+ SpringContextUtils.getBean(BaseGridInfoService.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 313c036cb8..48d0ece671 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
@@ -2,6 +2,7 @@ package com.epmet.opendata.mq.listener;
import com.epmet.commons.rocketmq.constants.MQUserPropertys;
import com.alibaba.fastjson.JSON;
+import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg;
import com.epmet.commons.tools.distributedlock.DistributedLock;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
@@ -20,6 +21,7 @@ import org.redisson.api.RLock;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
@@ -63,15 +65,21 @@ public class OpenDataStaffChangeEventListener implements MessageListenerConcurre
//messageExt.propert
logger.info("【开放数据事件监听器】-工作人员信息变更-收到消息内容:{}, 操作:{}, blockedMsgLabel:{}", msg, tags, pendingMsgLabel);
- StaffBaseInfoFormDTO obj = JSON.parseObject(msg, StaffBaseInfoFormDTO.class);
+ 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.getStaffIdList()),
+ lock = distributedLock.getLock(String.format("lock:open_data_staff:%s", obj.getOrgId()),
30L, 30L, TimeUnit.SECONDS);
- SpringContextUtils.getBean(BaseGridUserService.class).getStaffBaseInfo(obj);
+
+ StaffBaseInfoFormDTO dto = new StaffBaseInfoFormDTO();
+ dto.setCustomerId(obj.getCustomerId());
+ dto.setType(obj.getType());
+ List staffIdList = new ArrayList<>();
+ staffIdList.add(obj.getOrgId());
+ SpringContextUtils.getBean(BaseGridUserService.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/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 page(Map params) {
@@ -342,6 +347,16 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl().ok(ConvertUtils.sourceToTarget(staffEntity, CustomerStaffDTO.class));
}
@@ -415,6 +430,16 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl