From be79da47a8f5778f9f12f85caf128033e952d314 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 21 Oct 2022 09:27:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E9=83=A8?= =?UTF-8?q?=E5=88=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../item/form/AcceptPlantformProcessDTO.java | 6 ++ .../modules/item/service/ItemService.java | 6 ++ .../item/service/impl/ItemServiceImpl.java | 77 +++++++++++++++++++ 3 files changed, 89 insertions(+) diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/AcceptPlantformProcessDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/AcceptPlantformProcessDTO.java index f994d01c7..ee5f39209 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/AcceptPlantformProcessDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/form/AcceptPlantformProcessDTO.java @@ -5,6 +5,7 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.Date; import java.util.List; /** @@ -65,4 +66,9 @@ public class AcceptPlantformProcessDTO implements Serializable { */ private List images; + /** + * 网格化平台返回的节点时间 + */ + private Date createdTime; + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java index fb43366b7..08553c60e 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java @@ -662,4 +662,10 @@ public interface ItemService extends BaseService { Result pushItemDifficulty(AcceptItemDifficultyOutFormDTO formDto); List getItemListByAddress(Map params); + + /** + * 定时任务:是否可以结案处理 + */ + void ItemClosed(String itemId); + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java index 6bbd8b3fa..4a0c45531 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java @@ -17,6 +17,7 @@ package com.elink.esua.epdc.modules.item.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -4066,4 +4067,80 @@ public class ItemServiceImpl extends BaseServiceImpl implem } + /** + * 定时任务:是否可以结案处理 + */ + @Override + public void ItemClosed(String itemId) { + //1.获取项目基础数据 + ItemEntity entity = baseDao.selectById(itemId); + if(null == entity){ + throw new RenException("获取项目数据失败,项目Id->"+itemId); + } + //2.判断是否已结案(第二次可以评价了,没超过24小时用户评价了,此时就是已结案了) + if("10".equals(entity.getItemState())){ + return; + } + //3.判断评价结果,未评价的赋值为满意并且结案给网格化平台推送结果;已评价的结果为满意直接结案给网格化推结果,不满意直接给网格化推结果 + if(null == entity.getEvaluationScore() || 0 != entity.getEvaluationScore()){ + //3-1.未评价的或评价结果不是不满意的则需要结案 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("reference_id", itemId); + wrapper.eq("del_flag", "0"); + wrapper.orderByDesc(FieldConstant.CREATED_TIME); + wrapper.last("limit 1"); + ItemGridPlatformEntity formEntity = itemGridPlatformDao.selectOne(wrapper); + if(null == formEntity){ + throw new RenException("获取项目与网格化平台关系数据失败,项目Id->"+itemId); + } + QueryWrapper hWrapper = new QueryWrapper<>(); + hWrapper.eq("item_id", itemId); + hWrapper.eq("state", "1105"); + hWrapper.eq("del_flag", "0"); + hWrapper.orderByDesc(FieldConstant.CREATED_TIME); + hWrapper.last("limit 1"); + ItemHandleProcessEntity hEntity = itemHandleProcessDao.selectOne(hWrapper); + if(null == hEntity){ + throw new RenException("获取项目流程节点数据失败,项目Id->"+itemId); + } + QueryWrapper iWrapper = new QueryWrapper<>(); + iWrapper.eq("reference_id", hEntity.getId()); + iWrapper.eq("del_flag", "0"); + List iEntityList = imgDao.selectList(iWrapper); + if(CollUtil.isEmpty(iEntityList)){ + throw new RenException("获取项目流程节点对应的图片数据失败,节点Id->"+hEntity.getId()); + } + List imgUrlList = iEntityList.stream().map(ImgEntity::getImgUrl).collect(Collectors.toList()); + AcceptPlantformProcessDTO dto = new AcceptPlantformProcessDTO(); + dto.setP_recId(formEntity.getTaskid()); + dto.setState("0"); + dto.setHandleAdvice(hEntity.getHandleAdvice()); + dto.setGridPartyid(hEntity.getGridPartyid()); + dto.setGridPartyname(hEntity.getGridPartyname()); + dto.setGridUnitid(hEntity.getGridUnitid()); + dto.setGridUnitname(hEntity.getGridUnitname()); + dto.setCantoncode(hEntity.getGridCantoncode()); + dto.setImages(imgUrlList); + dto.setCreatedTime(hEntity.getCreatedTime()); + Result result = pushItemProcess(dto); + if (!result.success()) { + throw new RenException("结案操作失败,项目id->"+itemId); + } + //3-2.未评价的赋值默认评价结果为满意 + if(null == entity.getEvaluationScore()){ + entity.setEvaluationScore(2); + //entity.setEvaluationContent(); + entity.setEvaluationTime(hEntity.getCreatedTime()); + } + entity.setEvaluationState("0"); + updateById(entity); + } + + //4.推送评价结果给网格化平台 + //TODO + + } + + + }