From 13c0646b84b7204de767dcec2af241eb0e7edb13 Mon Sep 17 00:00:00 2001 From: Jackwang Date: Wed, 16 Dec 2020 18:35:37 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E3=80=91-=E3=80=90=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E3=80=91-=EF=BC=88=E7=8E=8B=E7=AB=A5?= =?UTF-8?q?=EF=BC=89-2020/12/16?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../elink/esua/epdc/dto/DeptInfoCodeDTO.java | 57 ++++++++ .../epdc/controller/SysDeptController.java | 12 ++ .../com/elink/esua/epdc/dao/SysDeptDao.java | 9 ++ .../esua/epdc/service/SysDeptService.java | 9 ++ .../epdc/service/impl/SysDeptServiceImpl.java | 6 + .../src/main/resources/mapper/SysDeptDao.xml | 12 ++ .../epdc/modules/feign/AdminFeignClient.java | 11 ++ .../fallback/AdminFeignClientFallback.java | 6 + .../esua/epdc/modules/item/dao/ItemDao.java | 9 ++ .../item/service/impl/ItemServiceImpl.java | 126 ++++++++++++++++-- .../main/resources/mapper/item/ItemDao.xml | 23 ++++ 11 files changed, 272 insertions(+), 8 deletions(-) create mode 100644 esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptInfoCodeDTO.java diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptInfoCodeDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptInfoCodeDTO.java new file mode 100644 index 000000000..e9c943ff8 --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptInfoCodeDTO.java @@ -0,0 +1,57 @@ +package com.elink.esua.epdc.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @program: esua-epdc + * @description: 社区、街道第三方编码信息 + * @author: wangtong + * @create: 2020-12-16 16:14 + **/ +@Data +public class DeptInfoCodeDTO implements Serializable { + + private static final long serialVersionUID = 2506189061187931394L; + + /** + * 网格id + */ + private Long gridId; + + /** + * 网格名称 + */ + private String gridName; + + /** + *社区id + */ + private Long communityId; + + /** + *社区名称 + */ + private String communityName; + + /** + * 社区第三方编码 + */ + private String communityInfoCode; + + /** + *街道id + */ + private Long streetId; + + /** + *街道名称 + */ + private String streetName; + + /** + * 街道第三方编码 + */ + private String streetInfoCode; +} \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java index f900f8b05..a59d5f379 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java @@ -361,4 +361,16 @@ public class SysDeptController { List list= sysDeptService.getKpiGridIds(dto); return new Result>().ok(list); } + + /** + * @describe: 根据网格id获取 社区、街道第三方编码信息 + * @author wangtong + * @date 2020/12/16 16:29 + * @params [deptId] + * @return com.elink.esua.epdc.commons.tools.utils.Result + */ + @GetMapping("getDeptInfoCode") + public Result getDeptInfoCode(Long gridId) { + return sysDeptService.getDeptInfoCode(gridId); + } } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java index 0c58ff68e..76511424f 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java @@ -240,4 +240,13 @@ public interface SysDeptDao extends BaseDao { * @return java.util.List */ List selectKpiGrids (KpiGridIdsFormDTO dto); + + /** + * @describe: 根据网格id获取 社区、街道第三方编码信息 + * @author wangtong + * @date 2020/12/16 16:32 + * @params [gridId] + * @return com.elink.esua.epdc.dto.DeptInfoCodeDTO + */ + DeptInfoCodeDTO selectDeptInfoCode(@Param("gridId") Long gridId); } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java index 816ccc25e..5cc68c208 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java @@ -320,4 +320,13 @@ public interface SysDeptService extends BaseService { * @return java.util.List */ List getKpiGridIds(KpiGridIdsFormDTO dto); + + /** + * @describe: 根据网格id获取 社区、街道第三方编码信息 + * @author wangtong + * @date 2020/12/16 16:31 + * @params [deptId] + * @return com.elink.esua.epdc.commons.tools.utils.Result + */ + Result getDeptInfoCode(Long gridId); } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java index 928e29225..871558197 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java @@ -1119,4 +1119,10 @@ public class SysDeptServiceImpl extends BaseServiceImpl getKpiGridIds(KpiGridIdsFormDTO dto) { return baseDao.selectKpiGrids(dto); } + + @Override + public Result getDeptInfoCode(Long gridId) { + DeptInfoCodeDTO result = baseDao.selectDeptInfoCode(gridId); + return new Result().ok(result); + } } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml index 29fc909d9..2bfe2956d 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml @@ -429,4 +429,16 @@ and d.id = #{gridId} + diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java index ff6d4d9c8..9b2db097d 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java @@ -5,6 +5,7 @@ import com.elink.esua.epdc.commons.tools.security.content.dto.form.ParentAndAllD import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.CompleteDeptDTO; import com.elink.esua.epdc.dto.DeptGridPlatformDTO; +import com.elink.esua.epdc.dto.DeptInfoCodeDTO; import com.elink.esua.epdc.dto.SysDeptDTO; import com.elink.esua.epdc.modules.feign.fallback.AdminFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; @@ -36,6 +37,16 @@ public interface AdminFeignClient { @GetMapping("sys/dept/getCompleteDept/{gridId}") Result getCompleteDept(@PathVariable("gridId") Long gridId); + /** + * @describe: 根据网格id获取 社区、街道第三方编码信息 + * @author wangtong + * @date 2020/12/16 16:23 + * @params [gridId] + * @return com.elink.esua.epdc.commons.tools.utils.Result + */ + @GetMapping("sys/dept/getDeptInfoCode") + Result getDeptInfoCode(@RequestParam("gridId") Long gridId); + /** * 通过街道ID获取项目可流转部门 * @Params: [deptId] diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java index ba418eab4..d695c0aff 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java @@ -6,6 +6,7 @@ import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.CompleteDeptDTO; import com.elink.esua.epdc.dto.DeptGridPlatformDTO; +import com.elink.esua.epdc.dto.DeptInfoCodeDTO; import com.elink.esua.epdc.dto.SysDeptDTO; import com.elink.esua.epdc.modules.feign.AdminFeignClient; import org.springframework.stereotype.Component; @@ -26,6 +27,11 @@ public class AdminFeignClientFallback implements AdminFeignClient { return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getCompleteDept", gridId); } + @Override + public Result getDeptInfoCode(Long gridId) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getDeptInfoCode", gridId); + } + @Override public Result> listOfItemCirculationDept(Long deptId) { return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "listOfItemCirculationDept", deptId); diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java index 4be194db7..c8c1902b7 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java @@ -355,4 +355,13 @@ public interface ItemDao extends BaseDao { * @return void */ void rejectItemSatisfactionInfo(@Param("id") String id); + + /** + * @describe: 通过项目id查询项目所在的二级分类 + * @author wangtong + * @date 2020/12/16 18:26 + * @params [id] + * @return java.lang.Integer + */ + String selectSecondCateByItemId(@Param("id")String id); } 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 a848f49a1..aac46f1ff 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 @@ -65,7 +65,9 @@ import com.elink.esua.epdc.gird.shibei.dto.SearchCaseProcessByTaskIdDto; import com.elink.esua.epdc.gird.shibei.dto.SearchCaseProcessByTaskIdItemDto; import com.elink.esua.epdc.gird.shibei.dto.form.ImageFile; import com.elink.esua.epdc.gird.shibei.dto.form.ReportFile; +import com.elink.esua.epdc.gird.shibei.dto.form.SendEventFormDto; import com.elink.esua.epdc.gird.shibei.dto.form.SendInputInfoFormDto; +import com.elink.esua.epdc.gird.shibei.dto.result.SendEventResultDto; import com.elink.esua.epdc.gird.shibei.util.XstreamUtil; import com.elink.esua.epdc.modules.async.IssueOverseeResultsTask; import com.elink.esua.epdc.modules.async.NewsTask; @@ -733,20 +735,20 @@ public class ItemServiceImpl extends BaseServiceImpl implem } handleProcessEntity.setState(dto.getHandleCategory()); informationFormDTO.setTitle(EventsNoticeConstant.NOTICE_REPORT); - GridDto gridDto = null; + SendEventResultDto sendResult = null; try { - gridDto = this.reportCase(dto); + sendResult = this.reportCaseNew(dto); } catch (Exception e) { return new Result().error("上报网格化平台接口失败" + e.getMessage()); } - if (null == gridDto || !("0").equals(gridDto.getReturnCode())) { + if (null == sendResult || !("0").equals(sendResult.getCode())) { // 接口没有返回信息,也没有异常信息 - return new Result().error("上报网格化平台接口失败" + gridDto.getReturnDescription()); + return new Result().error("上报网格化平台接口失败" + sendResult.getMessage()); } // 记录处理记录 itemHandleProcessService.insert(handleProcessEntity); // 记录平台上报信息 - this.saveItemGridPlatformInfo(gridDto, handleProcessEntity); + this.saveItemGridPlatformInfo(sendResult, handleProcessEntity); } else { handleProcessEntity.setState(dto.getHandleCategory()); // 更新项目状态 @@ -1086,6 +1088,30 @@ public class ItemServiceImpl extends BaseServiceImpl implem return gridDto; } + /** + * @describe: 新版时间上报 + * @author wangtong + * @date 2020/12/16 10:45 + * @params [dto] + * @return com.elink.esua.epdc.gird.shibei.dto.GridDto + */ + private SendEventResultDto reportCaseNew(ItemHandleSubmitFormDTO dto) throws Exception { + ItemEntity entity = baseDao.selectById(dto.getId()); + // 组装上报信息 + SendEventFormDto sendEventFormDto = packageSendEventEntity(entity); + // 接口请求返回实体,getCode 1失败 0成功(非空) + SendEventResultDto sendResult = shiBeiCityGridApi.sendEvent(sendEventFormDto); + // 保存接口调用日志 + String successFlag = YesOrNoEnum.NO.value(); + if (NumConstant.ZERO_STR.equals(sendResult.getCode())) { + successFlag = YesOrNoEnum.YES.value(); + } + this.saveInterfaceLog(dto.getId(), InterfaceLogBusinessTypeEnum.REPORT_ITEM.getValue(), + ApiConstants.newSendInputInfo, successFlag, XstreamUtil.objectToXml(sendEventFormDto), + XstreamUtil.objectToXml(sendResult)); + return sendResult; + } + /** * 保存接口调用日志 * @@ -1169,6 +1195,90 @@ public class ItemServiceImpl extends BaseServiceImpl implem return formDto; } + /** + * @describe: 组装时间上报参数 + * @author wangtong + * @date 2020/12/16 10:51 + * @params [itemEntity] + * @return com.elink.esua.epdc.gird.shibei.dto.form.SendInputInfoFormDto + */ + private SendEventFormDto packageSendEventEntity(ItemEntity itemEntity) throws Exception { + UserDetail user = SecurityUser.getUser(); + SendEventFormDto sendDto = new SendEventFormDto(); + SendInputInfoFormDto formDto = new SendInputInfoFormDto(); + //推送类别(事件上报) + sendDto.setSENDTYPE(CommonConstants.SEND_TYPE); + //上报至区中心平台 + sendDto.setSENDACTDEFID(CommonConstants.PARTY_SEND_TO); + //推送端记录唯一标识 + sendDto.setUID(UUID.randomUUID().toString().trim().replaceAll("-", "")); + //事件领域 + Integer lingYu = Integer.valueOf(itemEntity.getFirstCategoryCode()); + if(lingYu < 10){ + sendDto.setSJLYU("0"+itemEntity.getFirstCategoryCode()); + }else{ + sendDto.setSJLYU(itemEntity.getFirstCategoryCode()); + } + //事件大类 + String secondCate = baseDao.selectSecondCateByItemId(itemEntity.getId()); + if(StringUtils.isNotBlank(secondCate)){ + if(secondCate.length()==3){ + sendDto.setSJDL("0"+secondCate); + }else{ + sendDto.setSJDL(secondCate); + } + } + //事件小类 + sendDto.setSJXL(""); + //事件细类 + sendDto.setSJXIL(""); + //事件来源 04代表 党群e家上报 06代表在市北App上报 + sendDto.setSJLY(CommonConstants.PARTY_EVENT_SOURCE); + //所属区市:只有市北区 + sendDto.setSSQS(CommonConstants.CITY_INFO_CODE); + //查询网格所对应的社区编码、街道编码 + Result deptResult = adminFeignClient.getDeptInfoCode(itemEntity.getGridId()); + DeptInfoCodeDTO deptInfo = deptResult.getData(); + if(deptInfo == null){ + throw new RenException("根据网格ID获取对应的社区编码、街道编码失败" + deptResult.getMsg()); + } + //所属街道 + sendDto.setSSJD(deptInfo.getStreetInfoCode()); + //所属社区 + sendDto.setSSSQ("");//deptInfo.getCommunityInfoCode() + //事件地址 + sendDto.setSJDZ(itemEntity.getIssueAddress()); + //事件描述 + sendDto.setSJMS("测试1217【联系电话:17806265786】");//itemEntity.getItemContent() + double[] gps = GPSUtils.gcj02_To_Gps84(itemEntity.getIssueLatitude(), itemEntity.getIssueLongitude()); + //X坐标(经纬度) + sendDto.setXZB(new BigDecimal(gps[1]).setScale(15, BigDecimal.ROUND_HALF_UP)); + //Y坐标(经纬度) + sendDto.setYZB(new BigDecimal(gps[0]).setScale(15, BigDecimal.ROUND_HALF_UP)); + //图片 + sendDto.setIMAGES(getImageFileNew(itemEntity.getEventId())); + return sendDto; + } + + /** + * @describe: 重新组装图片 + * @author wangtong + * @date 2020/12/16 15:56 + * @params [] + * @return java.util.List + */ + private List getImageFileNew(String eventId){ + //查询图片列表 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(eventId), "REFERENCE_ID", eventId); + List imageList = imgDao.selectList(wrapper); + if (null != imageList && !imageList.isEmpty()) { + List imgUrlList = this.getUploadDTOList(imageList); + return imgUrlList; + } + return null; + } + // 组装事件图片 private ImageFile getImageFile(String eventId) { ImageFile imageFile = new ImageFile(); @@ -1227,18 +1337,18 @@ public class ItemServiceImpl extends BaseServiceImpl implem } /** - * @param gridDto + * @param * @param handleProcessEntity * @return void * @Author yinzuomei * @Description * @Date 2019/12/25 15:29 **/ - private void saveItemGridPlatformInfo(GridDto gridDto, ItemHandleProcessEntity handleProcessEntity) { + private void saveItemGridPlatformInfo(SendEventResultDto sendResult, ItemHandleProcessEntity handleProcessEntity) { UserDetail user = SecurityUser.getUser(); ItemGridPlatformEntity itemGridPlatformEntity = new ItemGridPlatformEntity(); itemGridPlatformEntity.setReferenceId(handleProcessEntity.getItemId()); - itemGridPlatformEntity.setTaskid(gridDto.getTaskId()); + itemGridPlatformEntity.setTaskid(sendResult.getP_recId()); itemGridPlatformEntity.setReportPersonDeptId(handleProcessEntity.getHandlerDeptId()); itemGridPlatformEntity.setStatus(ItemGridPlatformHandleStatusEnum.HANDLE_SB.getValue()); itemGridPlatformService.insert(itemGridPlatformEntity); diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml index ee0256073..e47ff5b85 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml @@ -1067,4 +1067,27 @@ update epdc_item set EVALUATION_SCORE = null,EVALUATION_CONTENT = null,EVALUATION_TIME = null where id = #{id} +