diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/PushToCityGridConstant.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/PushToCityGridConstant.java index fee3dd15a..48d3f1dd8 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/PushToCityGridConstant.java +++ b/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正式) */ - // 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"; /** @@ -134,4 +134,14 @@ public interface PushToCityGridConstant { */ String APPEAL_AUDIT = URL_PREFIX + "/appealAudit"; + /** + * 诉求查询 + */ + String QUERY = URL_PREFIX + "/query"; + + /** + * 诉求删除 + */ + String DELETE = URL_PREFIX + "/delete"; + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/result/PushToCityResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/result/PushToCityResultDTO.java new file mode 100644 index 000000000..44e840841 --- /dev/null +++ b/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; + +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/GetAbnormalDataFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/GetAbnormalDataFormDTO.java new file mode 100644 index 000000000..ed7707c7d --- /dev/null +++ b/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 itemIdList; + private String date; + +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/DeleteResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/DeleteResultDTO.java new file mode 100644 index 000000000..3735b3ae4 --- /dev/null +++ b/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; +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/PushToCityGridController.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/PushToCityGridController.java index a60c483de..df2b0e628 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/PushToCityGridController.java +++ b/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.dto.item.ItemHandleProcessDTO; +import com.elink.esua.epdc.dto.item.form.GetAbnormalDataFormDTO; import com.elink.esua.epdc.modules.item.service.PushToCityGridService; 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 @RequestMapping("PushToCity") @@ -22,7 +26,7 @@ public class PushToCityGridController { * @date 2022/9/20 10:47 */ @PostMapping("caseClosed") - public Result Closed(String id){ + public Result Closed(String id) { return pushToCityGridService.caseClosedSentoCity(id); } @@ -35,7 +39,7 @@ public class PushToCityGridController { * @date 2022/9/20 10:48 */ @PostMapping("DispatchAudit") - public Result DispatchAudit(){ + public Result DispatchAudit() { ItemHandleProcessDTO dto = new ItemHandleProcessDTO(); return pushToCityGridService.dispatchAudit(dto); } @@ -49,7 +53,7 @@ public class PushToCityGridController { * @date 2022/9/20 10:48 */ @PostMapping("AppealReporting") - public Result AppealReporting(String processId, String source){ + public Result AppealReporting(String processId, String source) { return pushToCityGridService.appealReporting(processId, source); } @@ -62,7 +66,7 @@ public class PushToCityGridController { * @date 2022/9/20 10:52 */ @PostMapping("ReportRejection") - public Result ReportRejection(ItemHandleProcessDTO dto){ + public Result ReportRejection(ItemHandleProcessDTO dto) { return pushToCityGridService.reportRejection(dto.getItemId()); } @@ -75,7 +79,21 @@ public class PushToCityGridController { * @date 2022/9/20 10:53 */ @PostMapping("AppealHandling") - public Result AppealHandling(@RequestBody ItemHandleProcessDTO dto){ + public Result AppealHandling(@RequestBody ItemHandleProcessDTO dto) { 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(); + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemReportErrorLogDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemReportErrorLogDao.java new file mode 100644 index 000000000..c9210a04d --- /dev/null +++ b/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 + *

+ * 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.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 { + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemReportErrorLogEntity.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/entity/ItemReportErrorLogEntity.java new file mode 100644 index 000000000..78b8c39ed --- /dev/null +++ b/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 + *

+ * 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.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; +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/PushToCityGridService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/PushToCityGridService.java index 9ff40ea8a..cb21734ae 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/PushToCityGridService.java +++ b/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.dto.item.ItemHandleProcessDTO; +import com.elink.esua.epdc.dto.item.form.GetAbnormalDataFormDTO; import com.elink.esua.epdc.dto.item.form.ItemWhistle2GovFormDTO; /** @@ -236,4 +237,14 @@ public interface PushToCityGridService { */ String getItemCzbs(String code); + /** + * 获取异常数据 + * + * @Param formDTO + * @Return + * @Author zhaoqifeng + * @Date 2022/12/2 10:47 + */ + void getAbnormalData(GetAbnormalDataFormDTO formDTO); + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemReportInterfaceLogServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemReportInterfaceLogServiceImpl.java index 62400f1c3..27b37e2cb 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemReportInterfaceLogServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemReportInterfaceLogServiceImpl.java @@ -17,12 +17,15 @@ package com.elink.esua.epdc.modules.item.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; -import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.commons.tools.utils.DateUtils; +import com.elink.esua.epdc.dto.events.result.PushToCityResultDTO; import com.elink.esua.epdc.dto.item.ItemReportInterfaceLogDTO; import com.elink.esua.epdc.modules.item.dao.ItemReportInterfaceLogDao; import com.elink.esua.epdc.modules.item.entity.ItemReportInterfaceLogEntity; @@ -32,8 +35,10 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; +import java.util.Date; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 诉求上报接口日志表 诉求上报接口日志表 @@ -45,6 +50,22 @@ import java.util.Map; public class ItemReportInterfaceLogServiceImpl extends BaseServiceImpl implements ItemReportInterfaceLogService { + public static void main(String[] args) { + String data = "[{\\\"data\\\":\\\"诉求ID fe9147d0532e40e1a26fa6421e6abd59 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 0fb3cb1449864d93a6cb5cbfd761b4c0 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 6c1061c0aa1c42bfb7cf472582263cd5 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 7da5031c5cd9462b81b615896fbeaf43 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 16087b000a474d58ae89cbb36118f40f 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 72810cf819f848d8a1d4a8b749195ed9 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 6ff749384b064733b3cf1a9f99193901 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID c969b5543e164a27b2b995efe7ac513b 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 785ca6bdc2a54312990abb6b467adc94 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID b3e1a43d852c417bb88001a0ed6d61d1 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 8d3f079fc7194e08af3e233ba3ead253 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID ed6a58c88e554c49a539b7a49cfa9050 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 220accb4119d441093402220825fa186 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 44de2779e1be412a8167ec2b84d49b56 数据不合规合规,不合规原因:[诉求审核接口调用与上一节点时间相差0分钟,数据异常。诉求审核处理时间与上一节点时间相差0分钟,数据异常。诉求审核接口调用与上一节点时间相差0分钟,数据异常。诉求审核处理时间与上一节点时间相差0分钟,数据异常。诉求审核接口调用与上一节点时间相差0分钟,数据异常。诉求审核处理时间与上一节点时间相差0分钟,数据异常。]\\\"},{\\\"data\\\":\\\"诉求ID 5c69ce0b58304f41a6242dd8da70f098 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 98e57877c0e349f297a9dbe626f7cbff 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID a0126a2a1edf49dbb4d5988326ea476b 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID b18a7b684a604e56aea785e71bab0f77 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 8f17687165414419a02c1b259a06e407 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID ab7e019575c94d12be4e80d351fdb45c 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 539e11e572514bd28eeee14969d1453d 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 8d635233e0f641e592792bc8fe1e0cae 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID a8494d38a3654dc5937248689a99c021 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID aae5c3a1b8df4612ab7fdb1d6af09bc0 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 23976e7971d74435b1d8b3ae23fd23c2 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID f0f03112e89042f28f9387d6a27a901a 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID c1172c11c585458e90a19a104c15674c 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 494adc327bcd4444aa4cad9f198d5050 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID ff0bcfb412ec4771b35440b75908689b 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 2b25a0007a794a3b9b1e4b63271a6680 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID d8fe74847ad046919af270604728d14f 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 396bdeec50064fae88826e3194b9219f 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 2be7dee4490a4fb0bb8e26f677eb9cf4 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 571a519429364985b0560be0b19dab0e 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 85f5d19ed9fc4fca9824ba8a7f55bce9 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 537235aa83334d3fb33cc646ca04de39 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 7f51550327ef4005a84fee476b9248cb 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 5c0d10f54565448eace96de33aca00f6 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID b76562be003f46d19f55c6aafd235963 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 1087e6f7ec6b476aaca71b5db093ef63 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID f8c82eca1842416f94ff825d93b877a8 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID a606088a65ca42e282c634e2f4011ad1 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 99430f8fb1dd4b79a9aa6d88edea4317 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID b5f717ff589c4e149813887be0c200dd 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 78c0da48aa8a4cb2a76a0ae71a6eb2c9 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID b93608d40f4741349f63cf13007099cc 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID b7b7b82f9aa348678d3047b6d4a965e0 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 4e1c927bde8d497a9735a2ccf07d30f7 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID bb1f24e91efa4b8d9254f70c402c7d82 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID a2baa3b3a34548aeb1bec9dad6a457a3 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID c1d2b39c6ed44676a9a735dd85f0b955 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 9b08af61f70b4474bd04b53afd7b143f 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 9ff3088b513243f3b4715d10e06890f5 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 836bb6cd33ed44aca54a969277843520 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 50e94a93dd554b35860ad856682628db 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID eab7c51b7cec4b4599deafaddb525583 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 1ba1afcac4654a599e1e6ad6ba1ceedf 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 14a32737a4134a618677d89a97a63f98 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID abf641d959b04399b98f0960d976a066 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 371524c93dc2409cad6fc40836c46a80 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID a79fabf0f1f342648c9a02b8e17860ba 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 1ad2fb6fcff543529432102fa6241cf8 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 2665c60d2a2c4e68984da9b7fff92522 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 6cc592c6cb75407abcb8e8446b9b29bf 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 0680321e966548c4b6f5557a249a7128 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID dc740326fec341659ee2a9a70c0f3444 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 1f4c861b4019428ebd0568e41f7cc871 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID b594d6059a534cebb84e0864cccb1386 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 90ebeadf75254cf8be9db37a12257bb4 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 9058ac3b335c4f5f9b630c627e735304 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 92521e479d13403ca2ead4d991d4c988 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 9c8438ac836348789936253812e1b237 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 0858e70f4cba466bb76c314c06b56118 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 2cf6a5e011ce45289e8d839bdb3e1e0a 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 5ee445b8cfd143f2ad575c76db14e11d 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 7b34e9ad84e24c3caa5e1cb7afd074ed 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 2401d82ea03f4fdc995bb0c825b75e88 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 431a1c7225c9473b8a16b384eacf040b 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 65a70f528b1e44109a5192d4c95601ec 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID ee800ed085f341cf9832a15687303b4e 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 02876f08bec841e1abf2158436a56422 数据合规,无异常。\\\"},{\\\"data\\\":\\\"诉求ID 0527fe79b91d4b70b6634e1019571a93 数据合规,无异常。\\\"}]"; + data = data.replace("\\", ""); + List list = JSONObject.parseArray(data, PushToCityResultDTO.class); + list = list.stream().filter(i -> i.getData().contains("数据异常")).collect(Collectors.toList()); + list.forEach(item -> { + String msg = item.getData(); + System.out.println(item.getData()); + System.out.println(msg.substring("诉求ID ".length(), "诉求ID ".length() + 32)); + System.out.println(msg.substring(msg.indexOf("不合规原因"))); + }); + String date = "2022-12-02"; + Date date1 = DateUtils.parse(date, DateUtils.DATE_PATTERN); + System.out.println(DateUtils.format(date1, DateUtils.DATE_TIME_PATTERN)); + } + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -61,8 +82,8 @@ public class ItemReportInterfaceLogServiceImpl extends BaseServiceImpl getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + 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); diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/PushToCityGridServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/PushToCityGridServiceImpl.java index 7a93edbd6..5bad5d9f6 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/PushToCityGridServiceImpl.java +++ b/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; import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.StrConstant; 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.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.epdc.result.SysDeptAreaCodeResultDTO; 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.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.result.*; 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.entity.ImgEntity; 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.ItemGridPlatformDao; -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.dao.*; +import com.elink.esua.epdc.modules.item.entity.*; import com.elink.esua.epdc.modules.item.service.ItemService; import com.elink.esua.epdc.modules.item.service.PushToCityGridService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -106,6 +105,8 @@ public class PushToCityGridServiceImpl implements PushToCityGridService { private AdminFeignClient adminFeignClient; @Resource private ImgDao imgDao; + @Resource + private ItemReportErrorLogDao itemReportErrorLogDao; @Override public void appealDispatch(ItemHandleProcessDTO formDTO) { @@ -897,6 +898,9 @@ public class PushToCityGridServiceImpl implements PushToCityGridService { sqr.setSsbmbm(item.getDisCenterZoningCode()); sqr.setSsbm(item.getGridUnitname()); 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, "延期申请"); //新增日志记录 @@ -1362,5 +1366,93 @@ public class PushToCityGridServiceImpl implements PushToCityGridService { 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 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 items = itemDao.selectList(itemWrapper); + if (CollectionUtils.isNotEmpty(items)) { + //提取未结案诉求的sqID + List sqIdList = items.stream().filter(i -> i.getItemState() == NumConstant.ZERO).map(ItemEntity::getSqid).collect(Collectors.toList()); + //提取已结案诉求的sqID + List 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 logWrapper = new LambdaQueryWrapper<>(); + logWrapper.eq(ItemReportErrorLogEntity::getItemState, NumConstant.TEN); + List list = itemReportErrorLogDao.selectList(logWrapper); + if (CollectionUtils.isNotEmpty(list)) { + List 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 sqIdList, Integer itemState) { + //50个一组 + List> 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 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 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); + } + }); + }); + } + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemReportErrorLogDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemReportErrorLogDao.xml new file mode 100644 index 000000000..345e13de3 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemReportErrorLogDao.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java index 95097dede..6cb1bc129 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/ItemFeignClient.java +++ b/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.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.feign.fallback.ItemFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; @@ -12,7 +13,6 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; /** - * * 项目模块调用 * * @Author:liuchuang @@ -22,11 +22,10 @@ import org.springframework.web.bind.annotation.RequestBody; public interface ItemFeignClient { /** - * * 拉取市北网格化平台项目进度情况 * - * @params [] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [] * @author liuchuang * @since 2019/12/25 11:11 */ @@ -69,4 +68,15 @@ public interface ItemFeignClient { @PostMapping("events/item/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); + } diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/events/GetAbnormalDataTask.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/events/GetAbnormalDataTask.java new file mode 100644 index 000000000..3b71aeb3f --- /dev/null +++ b/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); + } + } + +}