Browse Source

获取上报市平台异常数据定时任务

feature/dangjian
zhaoqifeng 3 years ago
parent
commit
069c9880ba
  1. 12
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/PushToCityGridConstant.java
  2. 28
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/result/PushToCityResultDTO.java
  3. 23
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/GetAbnormalDataFormDTO.java
  4. 28
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/DeleteResultDTO.java
  5. 30
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/PushToCityGridController.java
  6. 33
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemReportErrorLogDao.java
  7. 54
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemReportErrorLogEntity.java
  8. 11
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/PushToCityGridService.java
  9. 27
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemReportInterfaceLogServiceImpl.java
  10. 108
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/PushToCityGridServiceImpl.java
  11. 7
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemReportErrorLogDao.xml
  12. 16
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java
  13. 47
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/events/GetAbnormalDataTask.java

12
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/PushToCityGridConstant.java

@ -11,7 +11,7 @@ public interface PushToCityGridConstant {
/** /**
* 市平台地址60测试/120正式 * 市平台地址60测试/120正式
*/ */
// String URL_PREFIX = "http://60.166.25.58:6140/sjgl/a/case"; //String URL_PREFIX = "http://60.166.25.58:6140/sjgl/a/case";
String URL_PREFIX = "http://120.221.72.162:6140/sjgl/a/case"; String URL_PREFIX = "http://120.221.72.162:6140/sjgl/a/case";
/** /**
@ -134,4 +134,14 @@ public interface PushToCityGridConstant {
*/ */
String APPEAL_AUDIT = URL_PREFIX + "/appealAudit"; String APPEAL_AUDIT = URL_PREFIX + "/appealAudit";
/**
* 诉求查询
*/
String QUERY = URL_PREFIX + "/query";
/**
* 诉求删除
*/
String DELETE = URL_PREFIX + "/delete";
} }

28
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/result/PushToCityResultDTO.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.dto.events.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zhaoqifeng
* @Date 2022/12/2 10:22
*/
@Data
public class PushToCityResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 请求状态码0为成功-1为失败
*/
private String code;
/**
* 请求消息
*/
private String message;
private String data;
}

23
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/GetAbnormalDataFormDTO.java

@ -0,0 +1,23 @@
package com.elink.esua.epdc.dto.item.form;/**
* @author ZhaoQiFeng
* @date 2022/12/2
* @apiNote
*/
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/12/2 15:27
*/
@Data
public class GetAbnormalDataFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
private List<String> itemIdList;
private String date;
}

28
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/DeleteResultDTO.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.dto.item.result;/**
* @author ZhaoQiFeng
* @date 2022/12/2
* @apiNote
*/
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/12/2 14:33
*/
@Data
public class DeleteResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 诉求id
*/
private String sqid;
/**
* 删除原因
*/
private String scyy;
}

30
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/PushToCityGridController.java

@ -2,9 +2,13 @@ package com.elink.esua.epdc.modules.item.controller;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.ItemHandleProcessDTO; import com.elink.esua.epdc.dto.item.ItemHandleProcessDTO;
import com.elink.esua.epdc.dto.item.form.GetAbnormalDataFormDTO;
import com.elink.esua.epdc.modules.item.service.PushToCityGridService; import com.elink.esua.epdc.modules.item.service.PushToCityGridService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; 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;
@RestController @RestController
@RequestMapping("PushToCity") @RequestMapping("PushToCity")
@ -22,7 +26,7 @@ public class PushToCityGridController {
* @date 2022/9/20 10:47 * @date 2022/9/20 10:47
*/ */
@PostMapping("caseClosed") @PostMapping("caseClosed")
public Result Closed(String id){ public Result Closed(String id) {
return pushToCityGridService.caseClosedSentoCity(id); return pushToCityGridService.caseClosedSentoCity(id);
} }
@ -35,7 +39,7 @@ public class PushToCityGridController {
* @date 2022/9/20 10:48 * @date 2022/9/20 10:48
*/ */
@PostMapping("DispatchAudit") @PostMapping("DispatchAudit")
public Result DispatchAudit(){ public Result DispatchAudit() {
ItemHandleProcessDTO dto = new ItemHandleProcessDTO(); ItemHandleProcessDTO dto = new ItemHandleProcessDTO();
return pushToCityGridService.dispatchAudit(dto); return pushToCityGridService.dispatchAudit(dto);
} }
@ -49,7 +53,7 @@ public class PushToCityGridController {
* @date 2022/9/20 10:48 * @date 2022/9/20 10:48
*/ */
@PostMapping("AppealReporting") @PostMapping("AppealReporting")
public Result AppealReporting(String processId, String source){ public Result AppealReporting(String processId, String source) {
return pushToCityGridService.appealReporting(processId, source); return pushToCityGridService.appealReporting(processId, source);
} }
@ -62,7 +66,7 @@ public class PushToCityGridController {
* @date 2022/9/20 10:52 * @date 2022/9/20 10:52
*/ */
@PostMapping("ReportRejection") @PostMapping("ReportRejection")
public Result ReportRejection(ItemHandleProcessDTO dto){ public Result ReportRejection(ItemHandleProcessDTO dto) {
return pushToCityGridService.reportRejection(dto.getItemId()); return pushToCityGridService.reportRejection(dto.getItemId());
} }
@ -75,7 +79,21 @@ public class PushToCityGridController {
* @date 2022/9/20 10:53 * @date 2022/9/20 10:53
*/ */
@PostMapping("AppealHandling") @PostMapping("AppealHandling")
public Result AppealHandling(@RequestBody ItemHandleProcessDTO dto){ public Result AppealHandling(@RequestBody ItemHandleProcessDTO dto) {
return pushToCityGridService.appealHandling(dto, "0"); return pushToCityGridService.appealHandling(dto, "0");
} }
/**
* 获取异常数据
*
* @Param formDTO
* @Return {@link Result}
* @Author zhaoqifeng
* @Date 2022/12/2 15:40
*/
@PostMapping("getAbnormalData")
public Result getAbnormalData(@RequestBody GetAbnormalDataFormDTO formDTO) {
pushToCityGridService.getAbnormalData(formDTO);
return new Result();
}
} }

33
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemReportErrorLogDao.java

@ -0,0 +1,33 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.item.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.item.entity.ItemReportErrorLogEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 市平台上报异常诉求表 市平台上报异常诉求表
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2022-12-02
*/
@Mapper
public interface ItemReportErrorLogDao extends BaseDao<ItemReportErrorLogEntity> {
}

54
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemReportErrorLogEntity.java

@ -0,0 +1,54 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.item.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 市平台上报异常诉求表 市平台上报异常诉求表
*
* @author elink elink@elink-cn.com
* @since v1.0.0 2022-12-02
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("epdc_item_report_error_log")
public class ItemReportErrorLogEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 项目ID
*/
private String itemId;
/**
* 调用删除是否成功 0-调用失败1-调用成功
*/
private String successFlag;
/**
* 数据异常原因
*/
private String errorMsg;
private Integer itemState;
}

11
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/PushToCityGridService.java

@ -20,6 +20,7 @@ package com.elink.esua.epdc.modules.item.service;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.ItemHandleProcessDTO; import com.elink.esua.epdc.dto.item.ItemHandleProcessDTO;
import com.elink.esua.epdc.dto.item.form.GetAbnormalDataFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemWhistle2GovFormDTO; import com.elink.esua.epdc.dto.item.form.ItemWhistle2GovFormDTO;
/** /**
@ -236,4 +237,14 @@ public interface PushToCityGridService {
*/ */
String getItemCzbs(String code); String getItemCzbs(String code);
/**
* 获取异常数据
*
* @Param formDTO
* @Return
* @Author zhaoqifeng
* @Date 2022/12/2 10:47
*/
void getAbnormalData(GetAbnormalDataFormDTO formDTO);
} }

27
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemReportInterfaceLogServiceImpl.java

File diff suppressed because one or more lines are too long

108
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/PushToCityGridServiceImpl.java

@ -18,10 +18,12 @@
package com.elink.esua.epdc.modules.item.service.impl; package com.elink.esua.epdc.modules.item.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.constant.StrConstant;
import com.elink.esua.epdc.commons.tools.enums.CityPushEnum; import com.elink.esua.epdc.commons.tools.enums.CityPushEnum;
import com.elink.esua.epdc.commons.tools.enums.CityPushLinkEnum; import com.elink.esua.epdc.commons.tools.enums.CityPushLinkEnum;
import com.elink.esua.epdc.commons.tools.enums.CityPushStateEnum; import com.elink.esua.epdc.commons.tools.enums.CityPushStateEnum;
@ -36,8 +38,10 @@ import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.SysDeptDTO; import com.elink.esua.epdc.dto.SysDeptDTO;
import com.elink.esua.epdc.dto.epdc.result.SysDeptAreaCodeResultDTO; import com.elink.esua.epdc.dto.epdc.result.SysDeptAreaCodeResultDTO;
import com.elink.esua.epdc.dto.events.PushToCityGridCaseClosedDTO; import com.elink.esua.epdc.dto.events.PushToCityGridCaseClosedDTO;
import com.elink.esua.epdc.dto.events.result.PushToCityResultDTO;
import com.elink.esua.epdc.dto.item.ItemDTO; import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemHandleProcessDTO; import com.elink.esua.epdc.dto.item.ItemHandleProcessDTO;
import com.elink.esua.epdc.dto.item.form.GetAbnormalDataFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemWhistle2GovFormDTO; import com.elink.esua.epdc.dto.item.form.ItemWhistle2GovFormDTO;
import com.elink.esua.epdc.dto.item.result.*; import com.elink.esua.epdc.dto.item.result.*;
import com.elink.esua.epdc.enums.ItemGridPlatformHandleStatusEnum; import com.elink.esua.epdc.enums.ItemGridPlatformHandleStatusEnum;
@ -47,18 +51,13 @@ import com.elink.esua.epdc.gird.shibei.contants.ApiConstants;
import com.elink.esua.epdc.modules.events.dao.ImgDao; import com.elink.esua.epdc.modules.events.dao.ImgDao;
import com.elink.esua.epdc.modules.events.entity.ImgEntity; import com.elink.esua.epdc.modules.events.entity.ImgEntity;
import com.elink.esua.epdc.modules.feign.AdminFeignClient; import com.elink.esua.epdc.modules.feign.AdminFeignClient;
import com.elink.esua.epdc.modules.item.dao.ItemDao; import com.elink.esua.epdc.modules.item.dao.*;
import com.elink.esua.epdc.modules.item.dao.ItemGridPlatformDao; import com.elink.esua.epdc.modules.item.entity.*;
import com.elink.esua.epdc.modules.item.dao.ItemHandleProcessDao;
import com.elink.esua.epdc.modules.item.dao.ItemReportInterfaceLogDao;
import com.elink.esua.epdc.modules.item.entity.ItemEntity;
import com.elink.esua.epdc.modules.item.entity.ItemGridPlatformEntity;
import com.elink.esua.epdc.modules.item.entity.ItemHandleProcessEntity;
import com.elink.esua.epdc.modules.item.entity.ItemReportInterfaceLogEntity;
import com.elink.esua.epdc.modules.item.service.ItemService; import com.elink.esua.epdc.modules.item.service.ItemService;
import com.elink.esua.epdc.modules.item.service.PushToCityGridService; import com.elink.esua.epdc.modules.item.service.PushToCityGridService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
@ -106,6 +105,8 @@ public class PushToCityGridServiceImpl implements PushToCityGridService {
private AdminFeignClient adminFeignClient; private AdminFeignClient adminFeignClient;
@Resource @Resource
private ImgDao imgDao; private ImgDao imgDao;
@Resource
private ItemReportErrorLogDao itemReportErrorLogDao;
@Override @Override
public void appealDispatch(ItemHandleProcessDTO formDTO) { public void appealDispatch(ItemHandleProcessDTO formDTO) {
@ -897,6 +898,9 @@ public class PushToCityGridServiceImpl implements PushToCityGridService {
sqr.setSsbmbm(item.getDisCenterZoningCode()); sqr.setSsbmbm(item.getDisCenterZoningCode());
sqr.setSsbm(item.getGridUnitname()); sqr.setSsbm(item.getGridUnitname());
dto.setSqr(sqr); dto.setSqr(sqr);
if (item.getCreatedTime().after(new Date())) {
dto.setSqsj(DateUtils.format(new Date(), DateUtils.DATE_TIME_PATTERN));
}
// 组装好直接推送 // 组装好直接推送
String result = cityGridApi.sendItemToCity(dto, PushToCityGridConstant.DELAY_APPLY, "延期申请"); String result = cityGridApi.sendItemToCity(dto, PushToCityGridConstant.DELAY_APPLY, "延期申请");
//新增日志记录 //新增日志记录
@ -1362,5 +1366,93 @@ public class PushToCityGridServiceImpl implements PushToCityGridService {
return "02"; return "02";
} }
/**
* 获取异常数据
*
* @param formDTO
* @Param date
* @Return
* @Author zhaoqifeng
* @Date 2022/12/2 10:47
*/
@Override
public void getAbnormalData(GetAbnormalDataFormDTO formDTO) {
if (StringUtils.isBlank(formDTO.getDate())) {
return;
}
//获取诉求列表
LambdaQueryWrapper<ItemEntity> itemWrapper = new LambdaQueryWrapper<>();
itemWrapper.ge(ItemEntity::getCreatedTime, DateUtils.parse(formDTO.getDate(), DateUtils.DATE_PATTERN));
itemWrapper.isNotNull(ItemEntity::getSqid);
if (CollectionUtils.isNotEmpty(formDTO.getItemIdList())) {
itemWrapper.in(ItemEntity::getId, formDTO.getItemIdList());
}
List<ItemEntity> items = itemDao.selectList(itemWrapper);
if (CollectionUtils.isNotEmpty(items)) {
//提取未结案诉求的sqID
List<String> sqIdList = items.stream().filter(i -> i.getItemState() == NumConstant.ZERO).map(ItemEntity::getSqid).collect(Collectors.toList());
//提取已结案诉求的sqID
List<String> closedSqIdList = items.stream().filter(i -> i.getItemState() == NumConstant.TEN).map(ItemEntity::getSqid).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(sqIdList)) {
extracted(sqIdList, NumConstant.ZERO);
}
if (CollectionUtils.isNotEmpty(closedSqIdList)) {
LambdaQueryWrapper<ItemReportErrorLogEntity> logWrapper = new LambdaQueryWrapper<>();
logWrapper.eq(ItemReportErrorLogEntity::getItemState, NumConstant.TEN);
List<ItemReportErrorLogEntity> list = itemReportErrorLogDao.selectList(logWrapper);
if (CollectionUtils.isNotEmpty(list)) {
List<String> ids = list.stream().map(ItemReportErrorLogEntity::getItemId).collect(Collectors.toList());
//取差集
closedSqIdList = closedSqIdList.stream().filter(sqid -> !ids.contains(sqid)).collect(Collectors.toList());
}
extracted(closedSqIdList, NumConstant.TEN);
}
}
}
private void extracted(List<String> sqIdList, Integer itemState) {
//50个一组
List<List<String>> partList = ListUtils.partition(sqIdList, NumConstant.FIFTY);
partList.forEach(part -> {
String sqIds = StringUtils.join(part, StrConstant.COMMA);
DeleteResultDTO dto = new DeleteResultDTO();
dto.setSqid(sqIds);
String result = cityGridApi.sendItemToCity(dto, PushToCityGridConstant.QUERY, "诉求查询");
if (!NumConstant.ZERO_STR.equals(JSON.parseObject(result).get("code").toString())) {
return;
}
PushToCityResultDTO pushToCityResult = JSON.parseObject(result, PushToCityResultDTO.class);
//替换反斜线
String data = pushToCityResult.getData().replace("\\", "");
List<PushToCityResultDTO> list = JSON.parseArray(data, PushToCityResultDTO.class);
list.stream().filter(i -> i.getData().contains("数据异常")).collect(Collectors.toList()).forEach(item -> {
String msg = item.getData();
ItemReportErrorLogEntity entity = new ItemReportErrorLogEntity();
entity.setItemId(msg.substring("诉求ID ".length(), "诉求ID ".length() + 32));
entity.setErrorMsg(msg.substring(msg.indexOf("不合规原因")));
entity.setItemState(itemState);
DeleteResultDTO delete = new DeleteResultDTO();
delete.setSqid(entity.getItemId());
delete.setScyy("异常数据");
String deleteResult = cityGridApi.sendItemToCity(delete, PushToCityGridConstant.DELETE, "诉求查询");
if (NumConstant.ZERO_STR.equals(JSON.parseObject(deleteResult).get("code").toString())) {
entity.setSuccessFlag(NumConstant.ONE_STR);
} else {
entity.setSuccessFlag(NumConstant.ZERO_STR);
}
LambdaQueryWrapper<ItemReportErrorLogEntity> logWrapper = new LambdaQueryWrapper<>();
logWrapper.eq(ItemReportErrorLogEntity::getItemId, entity.getItemId());
ItemReportErrorLogEntity log = itemReportErrorLogDao.selectOne(logWrapper);
if (null == log) {
itemReportErrorLogDao.insert(entity);
} else {
entity.setId(log.getId());
itemReportErrorLogDao.updateById(entity);
}
});
});
}
} }

7
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemReportErrorLogDao.xml

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.elink.esua.epdc.modules.item.dao.ItemReportErrorLogDao">
</mapper>

16
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java

@ -2,6 +2,7 @@ package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.form.GetAbnormalDataFormDTO;
import com.elink.esua.epdc.dto.screen.form.DataStatisticsFormDTO; import com.elink.esua.epdc.dto.screen.form.DataStatisticsFormDTO;
import com.elink.esua.epdc.feign.fallback.ItemFeignClientFallback; import com.elink.esua.epdc.feign.fallback.ItemFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
@ -12,7 +13,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
/** /**
*
* 项目模块调用 * 项目模块调用
* *
* @Authorliuchuang * @Authorliuchuang
@ -22,11 +22,10 @@ import org.springframework.web.bind.annotation.RequestBody;
public interface ItemFeignClient { public interface ItemFeignClient {
/** /**
*
* 拉取市北网格化平台项目进度情况 * 拉取市北网格化平台项目进度情况
* *
* @params []
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
* @params []
* @author liuchuang * @author liuchuang
* @since 2019/12/25 11:11 * @since 2019/12/25 11:11
*/ */
@ -69,4 +68,15 @@ public interface ItemFeignClient {
@PostMapping("events/item/itemautoclosed") @PostMapping("events/item/itemautoclosed")
Result itemAutoClosed(); Result itemAutoClosed();
/**
* 获取异常数据
*
* @Param formDTO
* @Return {@link Result}
* @Author zhaoqifeng
* @Date 2022/12/2 15:40
*/
@PostMapping("events/PushToCity/getAbnormalData")
Result getAbnormalData(@RequestBody GetAbnormalDataFormDTO formDTO);
} }

47
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/events/GetAbnormalDataTask.java

@ -0,0 +1,47 @@
package com.elink.esua.epdc.task.events;
import com.alibaba.fastjson.JSON;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.form.GetAbnormalDataFormDTO;
import com.elink.esua.epdc.feign.ItemFeignClient;
import com.elink.esua.epdc.task.ITask;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* 获取上报市平台的异常数据
*
* @Author zhaoqifeng
* @Date 2022/12/02 14:01
*/
@Component("getAbnormalDataTask")
@Slf4j
public class GetAbnormalDataTask implements ITask {
@Resource
private ItemFeignClient itemFeignClient;
/**
* 执行定时任务接口
*
* @param params 参数多参数使用JSON数据
*/
@Override
public void run(String params) {
log.info("getAbnormalDataTask定时任务开始执行,参数为:{}", params);
GetAbnormalDataFormDTO formDTO = new GetAbnormalDataFormDTO();
if (StringUtils.isNotBlank(params)) {
formDTO = JSON.parseObject(params, GetAbnormalDataFormDTO.class);
}
Result result = itemFeignClient.getAbnormalData(formDTO);
if (result.success()) {
log.info("{}定时任务执行成功,{}", getClass().getSimpleName(), params);
} else {
log.error("{}定时任务执行失败:{},param:{}", getClass().getSimpleName(), result.getMsg(), params);
}
}
}
Loading…
Cancel
Save