From 3523a9889c0d674f11160c94c65658f1a5defedf Mon Sep 17 00:00:00 2001 From: songyunpeng Date: Sat, 15 Feb 2020 13:27:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E7=A0=81=E5=86=85=E7=9A=84=E5=AD=97=E7=AC=A6=E4=B8=B2=EF=BC=8C?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E6=9C=BA=E6=9E=84=E5=90=8D=E7=A7=B0=E5=92=8C?= =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E5=93=A8=E5=8D=A1id=20=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/EpdcSentryPostInfoResultDTO.java | 40 +++++++++++++++++ .../epdc/controller/ApiCustomController.java | 7 +++ .../esua/epdc/feign/CustomFeignClient.java | 8 ++++ .../fallback/CustomFeignClientFallback.java | 6 +++ .../esua/epdc/service/CustomService.java | 10 +++++ .../epdc/service/impl/CustomServiceImpl.java | 44 +++++++++++++++++++ .../EpidemicSentryPostController.java | 9 +++- .../epidemic/dao/EpidemicSentryPostDao.java | 15 ++++--- .../service/EpidemicSentryPostService.java | 9 ++++ .../impl/EpidemicSentryPostServiceImpl.java | 5 +++ .../mapper/epidemic/EpidemicSentryPostDao.xml | 21 ++++++++- 11 files changed, 167 insertions(+), 7 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcSentryPostInfoResultDTO.java diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcSentryPostInfoResultDTO.java b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcSentryPostInfoResultDTO.java new file mode 100644 index 000000000..43adea0b8 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcSentryPostInfoResultDTO.java @@ -0,0 +1,40 @@ +package com.elink.esua.epdc.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author songyunpeng + * @Description 根据小程序码内的字符串,解析机构名称和第三方哨卡id接口 返回结果集 + * @create 2020-02-14 + */ +@Data +public class EpdcSentryPostInfoResultDTO implements Serializable { + + /** + * 街道名 + */ + private String streetName; + /** + * 社区名 + */ + private String communityName; + /** + * 网格ID + */ + private Integer gridId; + /** + * 网格名 + */ + private String gridName; + /** + * 哨卡名称 + */ + private String sentryPostName; + /** + * 第三方哨卡ID + */ + private String thirdSentryPostId; + +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCustomController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCustomController.java index 927db0e81..945bef7e0 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCustomController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCustomController.java @@ -5,6 +5,7 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.dto.DeptOption; import com.elink.esua.epdc.dto.epdc.form.EpdcAppPidemicCompleteInfoFromDTO; import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; +import com.elink.esua.epdc.dto.result.EpdcSentryPostInfoResultDTO; import com.elink.esua.epdc.service.CustomService; import com.elink.esua.epdc.service.MessageService; import org.springframework.beans.factory.annotation.Autowired; @@ -63,6 +64,12 @@ public class ApiCustomController { return customService.report(formDTO); } + @GetMapping("sentryPost/getDeptInfoByMaCode") + public Result getDeptInfoByMaCode(String code) { + return customService.getDeptInfoByMaCode(code); + } + + /*** * 居民在防疫哨卡进行登记时,上送数据并完善党群系统个人信息 * @param completeInfoFromDto diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java index 6e978b543..5521eac8b 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java @@ -2,10 +2,14 @@ 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.EpidemicSentryPostDTO; import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; +import com.elink.esua.epdc.dto.result.EpdcSentryPostInfoResultDTO; import com.elink.esua.epdc.feign.fallback.CustomFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; /** @@ -24,4 +28,8 @@ public interface CustomFeignClient { **/ @PostMapping(value = "custom/epidemic/report", consumes = MediaType.APPLICATION_JSON_VALUE) Result report(EpiDemicReportFormDTO formDTO); + + @GetMapping(value = "custom/epidemicSentryPost/getEpidemicSentryBySentryPostCode/{sentryPostCode}", consumes = MediaType.APPLICATION_JSON_VALUE) + Result getEpidemicSentryBySentryPostCode(@PathVariable("sentryPostCode") String sentryPostCode); + } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java index ea4baba25..06353df79 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java @@ -3,6 +3,7 @@ package com.elink.esua.epdc.feign.fallback; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.EpidemicSentryPostDTO; import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; import com.elink.esua.epdc.feign.CustomFeignClient; import org.springframework.stereotype.Component; @@ -19,4 +20,9 @@ public class CustomFeignClientFallback implements CustomFeignClient { public Result report(EpiDemicReportFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "report", formDTO); } + + @Override + public Result getEpidemicSentryBySentryPostCode(String sentryPostCode) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "getEpidemicSentryBySentryPostCode", sentryPostCode); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java index 1abcd88dd..edf26c7fe 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java @@ -4,6 +4,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.DeptOption; import com.elink.esua.epdc.dto.epdc.form.EpdcAppPidemicCompleteInfoFromDTO; import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; +import com.elink.esua.epdc.dto.result.EpdcSentryPostInfoResultDTO; /** * @Description 疫情管理 @@ -29,6 +30,15 @@ public interface CustomService { **/ Result report(EpiDemicReportFormDTO formDTO); + /** 根据小程序码内的字符串,解析机构名称和第三方哨卡id + * @Description + * @Author songyunpeng + * @Date 2020/2/14 + * @Param [maCode] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + Result getDeptInfoByMaCode(String maCode); + /*** * 居民在防疫哨卡进行登记时,上送数据并完善党群系统个人信息 * @param completeInfoFromDto diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java index aa120b3ff..231301ac8 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java @@ -2,10 +2,13 @@ package com.elink.esua.epdc.service.impl; import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.CompleteDeptDTO; import com.elink.esua.epdc.dto.DeptOption; +import com.elink.esua.epdc.dto.EpidemicSentryPostDTO; import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcAppPidemicCompleteInfoFromDTO; import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; +import com.elink.esua.epdc.dto.result.EpdcSentryPostInfoResultDTO; import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.feign.CustomFeignClient; import com.elink.esua.epdc.feign.UserFeignClient; @@ -71,6 +74,7 @@ public class CustomServiceImpl implements CustomService { + /** * @param mobile 手机号 * @param smsCode 用户输入的验证码 @@ -85,6 +89,46 @@ public class CustomServiceImpl implements CustomService { } } + @Override + public Result getDeptInfoByMaCode(String code) { + EpdcSentryPostInfoResultDTO epdcSentryPostInfoResultDTO = new EpdcSentryPostInfoResultDTO(); + //代表是小程序段解析的字符串 + if(code.indexOf(";")!=-1){ + String[] macCode = code.split(";"); + //拿取网格ID + String gridId = macCode[0].split("=")[1]; + //拿取哨卡编码 + String sentryPostCode = macCode[1].split("=")[1]; + //拿取网格信息 + CompleteDeptDTO completeDept = getCompleteDeptDTOByGridId(gridId); + epdcSentryPostInfoResultDTO.setStreetName(completeDept.getStreet()); + epdcSentryPostInfoResultDTO.setCommunityName(completeDept.getCommunity()); + epdcSentryPostInfoResultDTO.setGridId(completeDept.getGridId().intValue()); + epdcSentryPostInfoResultDTO.setGridName(completeDept.getGrid()); + //拿取哨卡信息 + Result epidemicSentryResult = customFeignClient.getEpidemicSentryBySentryPostCode(sentryPostCode); + EpidemicSentryPostDTO epidemicSentryPostDTO = epidemicSentryResult.getData(); + if(epidemicSentryPostDTO==null){ + return new Result().error("哨卡信息为空"); + } + epdcSentryPostInfoResultDTO.setSentryPostName(epidemicSentryPostDTO.getSentryPostName()); + epdcSentryPostInfoResultDTO.setThirdSentryPostId(epidemicSentryPostDTO.getThirdSentryPostId()); + }else{ + //拿取网格信息 + CompleteDeptDTO completeDept = getCompleteDeptDTOByGridId(code); + epdcSentryPostInfoResultDTO.setStreetName(completeDept.getStreet()); + epdcSentryPostInfoResultDTO.setCommunityName(completeDept.getCommunity()); + epdcSentryPostInfoResultDTO.setGridId(completeDept.getGridId().intValue()); + epdcSentryPostInfoResultDTO.setGridName(completeDept.getGrid()); + } + return new Result().ok(epdcSentryPostInfoResultDTO); + } + + private CompleteDeptDTO getCompleteDeptDTOByGridId(String gridId){ + Result adminResult = adminFeignClient.getCompleteDept(Long.parseLong(gridId)); + return adminResult.getData(); + } + @Override public Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto) { diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/controller/EpidemicSentryPostController.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/controller/EpidemicSentryPostController.java index e67d7b14e..456a823d4 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/controller/EpidemicSentryPostController.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/controller/EpidemicSentryPostController.java @@ -44,7 +44,7 @@ import java.util.Map; * @since v1.0.0 2020-02-14 */ @RestController -@RequestMapping("epidemicsentrypost") +@RequestMapping("epidemicSentryPost") public class EpidemicSentryPostController { @Autowired @@ -99,6 +99,13 @@ public class EpidemicSentryPostController { ExcelUtils.exportExcelToTarget(response, null, list, EpidemicSentryPostExcel.class); } + @GetMapping("getEpidemicSentryBySentryPostCode/{sentryPostCode}") + public Result getEpidemicSentryBySentryPostCode(@PathVariable String sentryPostCode){ + EpidemicSentryPostDTO data = epidemicSentryPostService.getEpidemicSentryBySentryPostCode(sentryPostCode); + return new Result().ok(data); + } + + /** * @Description: 哨卡名称查询(未绑定网格id的) * @Param: [] diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/dao/EpidemicSentryPostDao.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/dao/EpidemicSentryPostDao.java index b721e3f83..bc0bb200b 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/dao/EpidemicSentryPostDao.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/dao/EpidemicSentryPostDao.java @@ -22,6 +22,8 @@ import com.elink.esua.epdc.dto.EpidemicSentryPostDTO; import com.elink.esua.epdc.modules.epidemic.entity.EpidemicSentryPostEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + import java.util.List; import java.util.Map; @@ -33,14 +35,17 @@ import java.util.Map; */ @Mapper public interface EpidemicSentryPostDao extends BaseDao { - - /** + + EpidemicSentryPostEntity selectOneOfEpidemicSentryBySentryPostCode(String sentryPostCode); + + + /** * @Description: 哨卡名称查询(未绑定网格id的) * @Param: [] * @return: com.elink.esua.epdc.commons.tools.utils.Result>> - * @Author: zy - * @Date: 2020-02-14 - */ + * @Author: zy + * @Date: 2020-02-14 + */ List> selectListSentryPostName(); /** diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/EpidemicSentryPostService.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/EpidemicSentryPostService.java index 8662e015e..702bf56c7 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/EpidemicSentryPostService.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/EpidemicSentryPostService.java @@ -97,6 +97,15 @@ public interface EpidemicSentryPostService extends BaseService> listSentryPostName() { return baseDao.selectListSentryPostName(); diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/epidemic/EpidemicSentryPostDao.xml b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/epidemic/EpidemicSentryPostDao.xml index 447f1fc29..4f4198111 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/epidemic/EpidemicSentryPostDao.xml +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/epidemic/EpidemicSentryPostDao.xml @@ -7,7 +7,7 @@ - + @@ -22,6 +22,25 @@ +