Browse Source

根据小程序码内的字符串,解析机构名称和第三方哨卡id 接口

dev
songyunpeng 6 years ago
parent
commit
3523a9889c
  1. 40
      esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcSentryPostInfoResultDTO.java
  2. 7
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCustomController.java
  3. 8
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java
  4. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java
  5. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java
  6. 44
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java
  7. 9
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/controller/EpidemicSentryPostController.java
  8. 15
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/dao/EpidemicSentryPostDao.java
  9. 9
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/EpidemicSentryPostService.java
  10. 5
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/impl/EpidemicSentryPostServiceImpl.java
  11. 21
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/epidemic/EpidemicSentryPostDao.xml

40
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;
}

7
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<EpdcSentryPostInfoResultDTO> getDeptInfoByMaCode(String code) {
return customService.getDeptInfoByMaCode(code);
}
/***
* 居民在防疫哨卡进行登记时上送数据并完善党群系统个人信息
* @param completeInfoFromDto

8
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<EpidemicSentryPostDTO> getEpidemicSentryBySentryPostCode(@PathVariable("sentryPostCode") String sentryPostCode);
}

6
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<EpidemicSentryPostDTO> getEpidemicSentryBySentryPostCode(String sentryPostCode) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "getEpidemicSentryBySentryPostCode", sentryPostCode);
}
}

10
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<com.elink.esua.epdc.dto.result.EpdcSentryPostInfoResultDTO>
**/
Result<EpdcSentryPostInfoResultDTO> getDeptInfoByMaCode(String maCode);
/***
* 居民在防疫哨卡进行登记时上送数据并完善党群系统个人信息
* @param completeInfoFromDto

44
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<EpdcSentryPostInfoResultDTO> 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<EpidemicSentryPostDTO> 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<CompleteDeptDTO> adminResult = adminFeignClient.getCompleteDept(Long.parseLong(gridId));
return adminResult.getData();
}
@Override
public Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto) {

9
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<EpidemicSentryPostDTO> getEpidemicSentryBySentryPostCode(@PathVariable String sentryPostCode){
EpidemicSentryPostDTO data = epidemicSentryPostService.getEpidemicSentryBySentryPostCode(sentryPostCode);
return new Result<EpidemicSentryPostDTO>().ok(data);
}
/**
* @Description: 哨卡名称查询(未绑定网格id的)
* @Param: []

15
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> {
/**
EpidemicSentryPostEntity selectOneOfEpidemicSentryBySentryPostCode(String sentryPostCode);
/**
* @Description: 哨卡名称查询(未绑定网格id的)
* @Param: []
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<java.util.Map<java.lang.String,java.lang.String>>>
* @Author: zy
* @Date: 2020-02-14
*/
* @Author: zy
* @Date: 2020-02-14
*/
List<Map<String,String>> selectListSentryPostName();
/**

9
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<EpidemicSentryPos
*/
void delete(String[] ids);
/**
* @Description 根据哨卡编码获取疫情防控哨卡表数据
* @Author songyunpeng
* @Date 2020/2/14
* @Param [sentryPostCode]
* @return com.elink.esua.epdc.dto.EpidemicSentryPostDTO
**/
EpidemicSentryPostDTO getEpidemicSentryBySentryPostCode(String sentryPostCode);
/**
* @Description: 哨卡名称查询(未绑定网格id的)
* @Param: []

5
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/impl/EpidemicSentryPostServiceImpl.java

@ -111,6 +111,11 @@ public class EpidemicSentryPostServiceImpl extends BaseServiceImpl<EpidemicSentr
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public EpidemicSentryPostDTO getEpidemicSentryBySentryPostCode(String sentryPostCode) {
EpidemicSentryPostEntity entity = baseDao.selectOneOfEpidemicSentryBySentryPostCode(sentryPostCode);
return ConvertUtils.sourceToTarget(entity, EpidemicSentryPostDTO.class); }
@Override
public List<Map<String,String>> listSentryPostName() {
return baseDao.selectListSentryPostName();

21
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/epidemic/EpidemicSentryPostDao.xml

@ -7,7 +7,7 @@
<result property="id" column="ID"/>
<result property="sentryPostCode" column="sentry_post_code"/>
<result property="sentryPostName" column="sentry_post_name"/>
<result property="thirdSentryPostId" column="third_sentry_post__id"/>
<result property="thirdSentryPostId" column="third_sentry_post_id"/>
<result property="gridId" column="grid_id"/>
<result property="maCodeUrl" column="ma_code_url"/>
<result property="parentDeptIds" column="PARENT_DEPT_IDS"/>
@ -22,6 +22,25 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="selectOneOfEpidemicSentryBySentryPostCode" resultMap="epidemicSentryPostMap">
select
ID,
sentry_post_code,
sentry_post_name,
third_sentry_post_id,
grid_id,
ma_code_url,
PARENT_DEPT_IDS,
PARENT_DEPT_NAMES,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME
from epdc_epidemic_sentry_post
where sentry_post_code = #{sentryPostCode}
</select>
<select id="selectListSentryPostName" resultType="Map">
SELECT
p.ID id,

Loading…
Cancel
Save