From 77e08a5f390b2afbd764e7f1d48c5e633505aa6c Mon Sep 17 00:00:00 2001 From: yinzuomei Date: Tue, 28 Jan 2020 14:45:10 +0800 Subject: [PATCH] =?UTF-8?q?=E7=96=AB=E6=83=85=E7=AE=A1=E7=90=86=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=BC=80=E5=8F=91v2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/service/impl/CustomServiceImpl.java | 31 +++++++++++++++++++ .../epdc/dto/form/EpiDemicReportFormDTO.java | 20 ++++++++++++ .../controller/EpidemicController.java | 22 ++++++++++--- .../epidemic/service/EpidemicService.java | 13 +++++++- .../service/impl/EpidemicServiceImpl.java | 13 ++++++-- 5 files changed, 92 insertions(+), 7 deletions(-) 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 42bb3fd22..880fd4622 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 @@ -1,11 +1,15 @@ 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.DeptOption; +import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.feign.CustomFeignClient; +import com.elink.esua.epdc.redis.AppUserRedis; import com.elink.esua.epdc.service.CustomService; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -21,6 +25,8 @@ public class CustomServiceImpl implements CustomService { private AdminFeignClient adminFeignClient; @Autowired private CustomFeignClient customFeignClient; + @Autowired + private AppUserRedis appUserRedis; /** * @param @@ -43,6 +49,31 @@ public class CustomServiceImpl implements CustomService { **/ @Override public Result report(EpiDemicReportFormDTO formDTO) { + // 验证手机号 + this.checkSmsCode(formDTO.getMobile(), formDTO.getSmsCode()); + // 获取部门冗余信息 + Result pidInfoResult = adminFeignClient.getParentAndAllDept(formDTO.getDeptId()); + if (!pidInfoResult.success()) { + return new Result().error("获取部门信息失败" + pidInfoResult.getMsg()); + } + formDTO.setParentDeptIds(pidInfoResult.getData().getParentDeptIds()); + formDTO.setParentDeptNames(pidInfoResult.getData().getParentDeptNames()); + formDTO.setAllDeptIds(pidInfoResult.getData().getAllDeptIds()); + formDTO.setAllDeptNames(pidInfoResult.getData().getAllDeptNames()); return customFeignClient.report(formDTO); } + + /** + * @param mobile 手机号 + * @param smsCode 用户输入的验证码 + * @Author yinzuomei + * @Description 校验手机验证码 + * @Date 2020/1/28 13:50 + **/ + private void checkSmsCode(String mobile, String smsCode) { + String redisSmsCode = appUserRedis.getSmsCode(mobile); + if (StringUtils.isBlank(redisSmsCode) || !redisSmsCode.equals(smsCode)) { + throw new RenException("手机验证码错误"); + } + } } diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/EpiDemicReportFormDTO.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/EpiDemicReportFormDTO.java index 01476353b..c95f7cb57 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/EpiDemicReportFormDTO.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/EpiDemicReportFormDTO.java @@ -53,4 +53,24 @@ public class EpiDemicReportFormDTO implements Serializable { */ @NotBlank(message = "上报内容不能为空") private String content; + + /** + * 父所有部门ID + */ + private String parentDeptIds; + + /** + * 父所有部门名称 + */ + private String parentDeptNames; + + /** + * 所有部门ID + */ + private String allDeptIds; + + /** + * 所有部门名称 + */ + private String allDeptNames; } diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/controller/EpidemicController.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/controller/EpidemicController.java index 7a187a9d5..e14cc0c7d 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/controller/EpidemicController.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/controller/EpidemicController.java @@ -23,10 +23,10 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.validator.AssertUtils; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; -import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.dto.EpidemicDTO; - +import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; import com.elink.esua.epdc.modules.epidemic.excel.EpidemicExcel; import com.elink.esua.epdc.modules.epidemic.service.EpidemicService; import org.springframework.beans.factory.annotation.Autowired; @@ -46,7 +46,7 @@ import java.util.Map; @RestController @RequestMapping("epidemic") public class EpidemicController { - + @Autowired private EpidemicService epidemicService; @@ -92,4 +92,18 @@ public class EpidemicController { ExcelUtils.exportExcelToTarget(response, null, list, EpidemicExcel.class); } -} \ No newline at end of file + /** + * @param formDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 疫情上报 + * @Date 2020/1/28 14:37 + **/ + @PostMapping("report") + public Result report(@RequestBody EpiDemicReportFormDTO formDTO) { + //效验数据 + ValidatorUtils.validateEntity(formDTO); + return epidemicService.report(formDTO); + } + +} diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/EpidemicService.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/EpidemicService.java index f752888d9..5bc553909 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/EpidemicService.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/EpidemicService.java @@ -19,7 +19,9 @@ package com.elink.esua.epdc.modules.epidemic.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.EpidemicDTO; +import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; import com.elink.esua.epdc.modules.epidemic.entity.EpidemicEntity; import java.util.List; @@ -92,4 +94,13 @@ public interface EpidemicService extends BaseService { * @date 2020-01-28 */ void delete(String[] ids); -} \ No newline at end of file + + /** + * @param formDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 疫情上报 + * @Date 2020/1/28 14:38 + **/ + Result report(EpiDemicReportFormDTO formDTO); +} diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/impl/EpidemicServiceImpl.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/impl/EpidemicServiceImpl.java index 9b73ac0b3..2e4f8665f 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/impl/EpidemicServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/impl/EpidemicServiceImpl.java @@ -20,10 +20,12 @@ package com.elink.esua.epdc.modules.epidemic.service.impl; 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.Result; import com.elink.esua.epdc.dto.EpidemicDTO; +import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; import com.elink.esua.epdc.modules.epidemic.dao.EpidemicDao; import com.elink.esua.epdc.modules.epidemic.entity.EpidemicEntity; import com.elink.esua.epdc.modules.epidemic.redis.EpidemicRedis; @@ -101,4 +103,11 @@ public class EpidemicServiceImpl extends BaseServiceImpl