Browse Source

新版事件上报第三方

dev
zhaoqifeng 3 years ago
parent
commit
4f55bf2bbb
  1. 7
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/EventInfoFormDTO.java
  2. 3
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
  3. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java
  4. 5
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DataReportingController.java
  5. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java
  6. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/DataReportingService.java
  7. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java
  8. 5
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java
  9. 63
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java
  10. 74
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml
  11. 34
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/EventreportPingyinController.java
  12. 2
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/EventreportPingyinDao.java
  13. 5
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataProjectChangeEventListener.java
  14. 9
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/EventreportPingyinService.java
  15. 125
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/EventreportPingyinServiceImpl.java
  16. 3
      epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/EventreportPingyinDao.xml

7
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/EventInfoFormDTO.java

@ -20,4 +20,11 @@ public class EventInfoFormDTO extends PageFormDTO implements Serializable {
* 操作类型新增:add 修改删除:edit
*/
private String type;
/**
* 是否初始化, 通常用于初期初始化数据由自己控制
* 0不初始化有则更新没有则新增
* 1完全初始化删除全部数据
* 2在完全初始化之后由于eventreport_pingyin表没有客户ID初始化其他客户的数据时候可以设2直接新增
*/
private String initFlag = "0";
}

3
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java

@ -341,7 +341,8 @@ public interface DataStatisticalOpenFeignClient {
*/
@PostMapping("/data/stats/datareporting/eventinfo")
Result<List<EventInfoResultDTO>> getEventInfo(@RequestBody EventInfoFormDTO formDTO);
@PostMapping("/data/stats/datareporting/eventinfoV2")
Result<List<EventInfoResultDTO>> getEventInfoV2(@RequestBody EventInfoFormDTO formDTO);
/**
* wangxianzhang
*

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java

@ -333,6 +333,11 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "getEventInfo", formDTO);
}
@Override
public Result<List<EventInfoResultDTO>> getEventInfoV2(EventInfoFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "getEventInfoV2", formDTO);
}
@Override
public Result statsVolunteerDemandServicesDaily(String customerId) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "statsVolunteerDemandServicesDaily", customerId);

5
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DataReportingController.java

@ -102,5 +102,8 @@ public class DataReportingController {
public Result<List<EventInfoResultDTO>> getEventInfo(@RequestBody(required = false) EventInfoFormDTO formDTO) {
return new Result<List<EventInfoResultDTO>>().ok(dataReportingService.getEventInfo(formDTO));
}
@PostMapping("eventinfoV2")
public Result<List<EventInfoResultDTO>> getEventInfoV2(@RequestBody(required = false) EventInfoFormDTO formDTO) {
return new Result<List<EventInfoResultDTO>>().ok(dataReportingService.getEventInfoV2(formDTO));
}
}

1
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java

@ -72,6 +72,7 @@ public interface ScreenProjectDataDao extends BaseDao<ScreenProjectDataEntity> {
int updateProjectSatisfactionScore(@Param("projectId")String projectId, @Param("score")BigDecimal score);
List<ScreenProjectDataDTO> selectProjectList(@Param("customerId") String customerId, @Param("projectIds") List<String> projectIds);
List<ScreenProjectDataDTO> selectProjectListV2(@Param("customerId") String customerId, @Param("projectIds") List<String> projectIds);
/**
* @Description 查询网格下的项目分类

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/DataReportingService.java

@ -69,4 +69,13 @@ public interface DataReportingService {
*/
List<EventInfoResultDTO> getEventInfo(EventInfoFormDTO formDTO);
/**
* 事件上报
* @Param formDTO
* @Return {@link List<EventInfoResultDTO>}
* @Author zhaoqifeng
* @Date 2021/10/15 14:10
*/
List<EventInfoResultDTO> getEventInfoV2(EventInfoFormDTO formDTO);
}

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java

@ -139,7 +139,7 @@ public interface ScreenProjectDataService extends BaseService<ScreenProjectDataE
* @Date 2021/10/15 14:22
*/
List<ScreenProjectDataDTO> getProjectList(String customerId, List<String> projectId, Integer pageNo, Integer pageSize);
List<ScreenProjectDataDTO> getProjectListV2(String customerId, List<String> projectId, Integer pageNo, Integer pageSize);
/**
* 项目变更MQ
* @Param msg

5
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java

@ -309,6 +309,11 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl<ScreenProjectD
PageHelper.startPage(pageNo, pageSize, false);
return baseDao.selectProjectList(customerId, projectId);
}
@Override
public List<ScreenProjectDataDTO> getProjectListV2(String customerId, List<String> projectId, Integer pageNo, Integer pageSize) {
PageHelper.startPage(pageNo, pageSize, false);
return baseDao.selectProjectListV2(customerId, projectId);
}
/**
* @Description 项目变更MQ

63
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java

@ -201,12 +201,72 @@ public class DataReportingServiceImpl implements DataReportingService {
return list.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing(EventInfoResultDTO::getId))), ArrayList::new));
}
/**
* 事件上报
*
* @param formDTO
* @Param formDTO
* @Return {@link List<EventInfoResultDTO>}
* @Author zhaoqifeng
* @Date 2021/10/15 14:10
*/
@Override
public List<EventInfoResultDTO> getEventInfoV2(EventInfoFormDTO formDTO) {
List<EventInfoResultDTO> list;
//根据入参,获取项目
long start = System.currentTimeMillis();
List<ScreenProjectDataDTO> projectList = screenProjectDataService.getProjectList(formDTO.getCustomerId(), formDTO.getProjectId(), formDTO.getPageNo(), formDTO.getPageSize());
log.info("事件上报-查询项目列表耗时:{}ms",System.currentTimeMillis()-start);
//项目列表为空,返回空数组
if(CollectionUtils.isEmpty(projectList)) {
return Collections.emptyList();
}
start = System.currentTimeMillis();
Map<String, CustomerProjectCategoryDictEntity> epmetCodeMap = new HashMap<>();
Result<String> parentCustomer = operCrmOpenFeignClient.getExternalAndParentCustomerId(formDTO.getCustomerId());
if (StringUtils.isNotBlank(parentCustomer.getData())) {
epmetCodeMap = customerProjectCategoryDictService.getByCategoryCodeMap(parentCustomer.getData());
}
Map<String, CustomerProjectCategoryDictEntity> codeMap = customerProjectCategoryDictService.getByCategoryCodeMap(formDTO.getCustomerId());
//项目ID不为空时,因为只有一条,可以直接处理
Map<String, CustomerProjectCategoryDictEntity> finalEpmetCodeMap = epmetCodeMap;
if (CollectionUtils.isNotEmpty(formDTO.getProjectId())) {
list = projectList.stream().map(project -> {
EventInfoResultDTO dto = getEventInfoResultDTO(project, finalEpmetCodeMap, codeMap);
ScreenCustomerGridDTO grid = screenCustomerGridService.getGridById(project.getOrgId());
dto.setOrgId(project.getOrgId());
if (null != grid) {
dto.setOrgCode(grid.getCode());
dto.setOrgName(grid.getGridName());
}
return dto;
}).collect(Collectors.toList());
} else {
//项目ID不为空时,提前取出客户下的组织和网格
Map<String, ScreenCustomerAgencyEntity> agencyMap = screenCustomerAgencyService.getAgencyList(formDTO.getCustomerId());
Map<String, ScreenCustomerGridDTO> gridMap = screenCustomerGridService.getGridList(formDTO.getCustomerId());
list = projectList.stream().map(project -> {
EventInfoResultDTO dto = getEventInfoResultDTO(project, finalEpmetCodeMap, codeMap);
ScreenCustomerGridDTO grid = gridMap.get(project.getOrgId());
dto.setOrgId(project.getOrgId());
if (null != grid) {
dto.setOrgCode(grid.getCode());
dto.setOrgName(grid.getGridName());
}
return dto;
}).collect(Collectors.toList());
}
log.info("事件上报-组装数据耗时:{}ms",System.currentTimeMillis()-start);
return list.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing(EventInfoResultDTO::getId))), ArrayList::new));
}
private EventInfoResultDTO getEventInfoResultDTO(ScreenProjectDataDTO project, Map<String, CustomerProjectCategoryDictEntity> epmetCodeMap, Map<String, CustomerProjectCategoryDictEntity> codeMap) {
EventInfoResultDTO dto = new EventInfoResultDTO();
dto.setId(project.getProjectId());
dto.setCustomerId(project.getCustomerId());
dto.setEventName(project.getProjectTitle());
dto.setReporterId(project.getProjectCreator());
//获取工作人员姓名和身份证
String categoryCode = project.getCategoryCode().split(StrConstant.COMMA)[0];
String parentCode = null == codeMap.get(categoryCode)?null:codeMap.get(categoryCode).getParentCategoryCode();
//如果是孔村、榆山、锦水的项目需要关联分类字典表
@ -333,4 +393,7 @@ public class DataReportingServiceImpl implements DataReportingService {
return userService.getPatrolDetailList(formDTO);
}
}

74
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml

@ -269,6 +269,80 @@
ORDER BY
a.CREATED_TIME ASC
</select>
<select id="selectProjectListV2" resultType="com.epmet.dto.screen.ScreenProjectDataDTO">
SELECT
a.ID,
a.CUSTOMER_ID,
a.ORG_TYPE,
a.ORG_ID,
a.PARENT_ID,
a.ORG_NAME,
a.PROJECT_ID,
a.PROJECT_TITLE,
a.PROJECT_CREATE_TIME,
a.LINK_USER_ID,
a.LINK_NAME,
a.LINK_MOBILE,
a.PROJECT_CONTENT,
a.PROJECT_LEVEL,
a.PROJECT_ADDRESS,
a.ALL_CATEGORY_NAME,
a.LONGITUDE,
a.LATITUDE,
a.SATISFACTION_SCORE,
a.PROJECT_STATUS_CODE,
a.CLOSE_CASE_TIME,
a.DATA_END_TIME,
a.ALL_PARENT_IDS,
a.PROJECT_CREATOR,
a.ORIGIN,
a.CATEGORY_CODE,
b.HANDLER_ID AS finishOrg,
b.HANDLER_TYPE AS finishOrgType,
b.ORG_ID_PATH AS orgIdPath,
c.`LEVEL` AS finishOrgLevel
FROM
screen_project_data a
LEFT JOIN (
SELECT
spp.CUSTOMER_ID,
PROJECT_ID,
HANDLER_ID,
HANDLER_TYPE,
ORG_ID_PATH
FROM
screen_project_process spp
WHERE
(( spp.CUSTOMER_ID = '2fe0065f70ca0e23ce4c26fca5f1d933' OR spp.CUSTOMER_ID = '44876154d10d7cb7affd92000f84f833' OR spp.CUSTOMER_ID = '46c55cb862d6d5e6d05d2ab61a1cc07e' )
AND OPERATION = 'closed_case')
OR
(( spp.CUSTOMER_ID != '2fe0065f70ca0e23ce4c26fca5f1d933' AND spp.CUSTOMER_ID != '44876154d10d7cb7affd92000f84f833' AND spp.CUSTOMER_ID != '46c55cb862d6d5e6d05d2ab61a1cc07e' )
AND OPERATION = 'close')
<if test='null != customerId and "" != customerId'>
AND spp.CUSTOMER_ID = #{customerId}
</if>
<if test='null != projectIds and projectIds.size()>0'>
<foreach collection="projectIds" item="projectId" open="AND (" separator=" OR " close=" )">
spp.PROJECT_ID = #{projectId}
</foreach>
</if>
) b ON a.PROJECT_ID = b.PROJECT_ID
LEFT JOIN screen_customer_agency c ON b.HANDLER_ID = c.AGENCY_ID
WHERE a.DEL_FLAG = '0'
AND a.ORG_TYPE = 'grid'
AND a.CATEGORY_CODE IS NOT NULL
AND a.CATEGORY_CODE != ''
<if test='null != customerId and "" != customerId'>
AND a.CUSTOMER_ID = #{customerId}
</if>
<if test='null != projectIds and projectIds.size()>0'>
<foreach collection="projectIds" item="projectId" open="AND (" separator=" OR " close=" )">
a.PROJECT_ID = #{projectId}
</foreach>
</if>
ORDER BY
a.CREATED_TIME ASC
</select>
<!-- 查询网格下的项目分类 -->
<select id="selectGridCategoryProjectCount" resultType="com.epmet.dto.screen.result.GridAndOrgCategoryCountResultDTO">

34
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/EventreportPingyinController.java

@ -1,19 +1,14 @@
package com.epmet.opendata.controller;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.epmet.dto.basereport.form.EventInfoFormDTO;
import com.epmet.opendata.service.EventreportPingyinService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
/**
@ -25,7 +20,20 @@ import java.util.Map;
@RestController
@RequestMapping("eventreportPingyin")
public class EventreportPingyinController {
@Resource
private EventreportPingyinService eventreportPingyinService;
/**
* 获取上报事件
* @Param formDTO
* @Return {@link Result}
* @Author zhaoqifeng
* @Date 2021/10/15 16:59
*/
@PostMapping("eventinfo")
public Result getEventinfo(@RequestBody(required = false) EventInfoFormDTO formDTO) {
eventreportPingyinService.getEventInfo(formDTO);
return new Result();
}
}

2
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/EventreportPingyinDao.java

@ -12,5 +12,5 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface EventreportPingyinDao extends BaseDao<EventreportPingyinEntity> {
void deleteAllData();
}

5
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataProjectChangeEventListener.java

@ -11,7 +11,7 @@ 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.opendata.service.BaseDisputeProcessService;
import com.epmet.opendata.service.EventreportPingyinService;
import org.apache.commons.lang3.StringUtils;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
@ -75,7 +75,8 @@ public class OpenDataProjectChangeEventListener implements MessageListenerConcur
try {
lock = distributedLock.getLock(String.format("lock:open_data_project:%s", obj.getProjectId()),
30L, 30L, TimeUnit.SECONDS);
SpringContextUtils.getBean(BaseDisputeProcessService.class).getEventinfo(formDTO);
//SpringContextUtils.getBean(BaseDisputeProcessService.class).getEventinfo(formDTO);
SpringContextUtils.getBean(EventreportPingyinService.class).getEventInfo(formDTO);
} catch (RenException e) {
// 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试
logger.error("【开放数据事件监听器】-项目信息变更-上报项目信息失败:".concat(ExceptionUtils.getErrorStackTrace(e)));

9
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/EventreportPingyinService.java

@ -2,6 +2,7 @@ package com.epmet.opendata.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.basereport.form.EventInfoFormDTO;
import com.epmet.opendata.entity.EventreportPingyinEntity;
/**
@ -11,4 +12,12 @@ import com.epmet.opendata.entity.EventreportPingyinEntity;
* @since v1.0.0 2022-07-22
*/
public interface EventreportPingyinService extends BaseService<EventreportPingyinEntity> {
/**
* 获取上报事件
* @Param formDTO
* @Return
* @Author zhaoqifeng
* @Date 2021/10/15 16:59
*/
void getEventInfo(EventInfoFormDTO formDTO);
}

125
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/EventreportPingyinServiceImpl.java

@ -1,10 +1,27 @@
package com.epmet.opendata.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.basereport.form.EventInfoFormDTO;
import com.epmet.dto.basereport.result.EventInfoResultDTO;
import com.epmet.feign.DataStatisticalOpenFeignClient;
import com.epmet.opendata.dao.EventreportPingyinDao;
import com.epmet.opendata.dao.GridstaffInfoPingyinDao;
import com.epmet.opendata.entity.EventreportPingyinEntity;
import com.epmet.opendata.entity.GridstaffInfoPingyinEntity;
import com.epmet.opendata.service.EventreportPingyinService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
/**
* 平阴区事件上报中间表
@ -12,8 +29,116 @@ import org.springframework.stereotype.Service;
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@Slf4j
@Service
public class EventreportPingyinServiceImpl extends BaseServiceImpl<EventreportPingyinDao, EventreportPingyinEntity> implements EventreportPingyinService {
@Resource
private DataStatisticalOpenFeignClient dataStatisticalOpenFeignClient;
@Resource
private GridstaffInfoPingyinDao gridstaffInfoPingyinDao;
/**
* 获取上报事件
*
* @param formDTO
* @Param formDTO
* @Return
* @Author zhaoqifeng
* @Date 2021/10/15 16:59
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void getEventInfo(EventInfoFormDTO formDTO) {
formDTO.setPageSize(1000);
long start = System.currentTimeMillis();
if (NumConstant.ONE_STR.equals(formDTO.getInitFlag())) {
//清空表里数据
baseDao.deleteAllData();
}
Result<List<EventInfoResultDTO>> result = dataStatisticalOpenFeignClient.getEventInfoV2(formDTO);
if (!result.success()) {
log.error("getEventinfo cost:{}ms",System.currentTimeMillis()-start);
throw new RenException(result.getInternalMsg());
}
List<EventInfoResultDTO> list = result.getData();
saveEvent(list, formDTO.getInitFlag());
//分批次循环
while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize()) {
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
result = dataStatisticalOpenFeignClient.getEventInfo(formDTO);
list = result.getData();
saveEvent(list, formDTO.getInitFlag());
}
}
private void saveEvent(List<EventInfoResultDTO> list, String initFlag) {
if (CollectionUtils.isEmpty(list)) {
log.warn("no event data to save table base_conflicts_resolve");
return;
}
List<EventreportPingyinEntity> entityList = list.stream().map(item -> {
EventreportPingyinEntity entity = new EventreportPingyinEntity();
entity.setQxBm("370124");
entity.setQxMc("平阴县");
entity.setGridCode(item.getOrgCode());
entity.setGridName(item.getOrgName());
entity.setEventCode(("py_").concat(item.getId()));
entity.setEventName(item.getEventName());
entity.setEventCategory(item.getEventCategory());
entity.setGridUserCardid("");
entity.setGridUserName("");
LambdaQueryWrapper<GridstaffInfoPingyinEntity> staffWrapper = new LambdaQueryWrapper<>();
staffWrapper.eq(GridstaffInfoPingyinEntity::getGridUserId, item.getReporterId());
List<GridstaffInfoPingyinEntity> staffList = gridstaffInfoPingyinDao.selectList(staffWrapper);
if (CollectionUtils.isNotEmpty(staffList)) {
entity.setGridUserCardid(staffList.get(NumConstant.ZERO).getCardNum());
entity.setGridUserName(staffList.get(NumConstant.ZERO).getNickName());
}
entity.setReportTime(item.getReportTime());
entity.setHappenTime(item.getHappenDate());
entity.setHappenPlace(item.getHappenPlace());
String eventDescription = item.getEventDescription();
//如果不为空 长度控制1000以内
if (StringUtils.isNotBlank(eventDescription) && eventDescription.length() > NumConstant.ONE_THOUSAND) {
eventDescription = eventDescription.substring(NumConstant.ZERO, NumConstant.ONE_THOUSAND);
}
entity.setEventDescription(eventDescription);
entity.setWaysOfResolving(item.getWaysOfResolving());
//业务不确定
if (("03").equals(item.getStatus())) {
entity.setSuccessfulOrNo("Y");
} else {
entity.setSuccessfulOrNo("N");
}
entity.setCompleteLevel(item.getCompleteLevel());
entity.setCompleteTime(item.getCompleteTime());
entity.setLng(null == item.getLng() ? null : item.getLng());
entity.setLat(null == item.getLat() ? null : item.getLat());
entity.setIsDel("N");
//业务不包含 一级分类里 如果是03 矛盾纠纷 则涉及人数写2(目前业务不支持 所以应产品需求 填2)
if ("03".equals(item.getParentEventCategory())) {
entity.setNumberInvolved(NumConstant.TWO);
}
return entity;
}).collect(Collectors.toList());
if (NumConstant.ZERO_STR.equals(initFlag)) {
entityList.forEach(entity -> {
LambdaQueryWrapper<EventreportPingyinEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(EventreportPingyinEntity::getEventCode, entity.getEventCode());
EventreportPingyinEntity event = baseDao.selectOne(wrapper);
if (null == event) {
baseDao.insert(entity);
} else {
entity.setId(event.getId());
baseDao.updateById(entity);
}
});
} else {
insertBatch(entityList);
}
}
}

3
epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/EventreportPingyinDao.xml

@ -39,6 +39,9 @@
<result property="isDel" column="is_del"/>
<result property="recoredInsertTime" column="recored_insert_time"/>
</resultMap>
<delete id="deleteAllData">
DELETE FROM eventreport_pingyin
</delete>
</mapper>
Loading…
Cancel
Save