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 945bef7e0..4b472d8f0 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 @@ -1,5 +1,7 @@ package com.elink.esua.epdc.controller; +import com.elink.esua.epdc.common.token.dto.TokenDto; +import com.elink.esua.epdc.commons.tools.annotation.LoginUser; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.dto.DeptOption; @@ -20,65 +22,64 @@ import org.springframework.web.bind.annotation.*; @RequestMapping("custom/epidemic") public class ApiCustomController { - @Autowired - private CustomService customService; + @Autowired + private CustomService customService; - @Autowired - private MessageService messageService; + @Autowired + private MessageService messageService; - /** - * @param - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @Author yinzuomei - * @Description 获取所有组织机构信息 - * @Date 2020/1/28 11:50 - **/ - @GetMapping("getDeptTree") - public Result getDeptTree() { - return customService.getDeptTree(); - } + /** + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 获取所有组织机构信息 + * @Date 2020/1/28 11:50 + **/ + @GetMapping("getDeptTree") + public Result getDeptTree() { + return customService.getDeptTree(); + } - /** - * @param mobile 手机号码 - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @Author yinzuomei - * @Description 发送短信验证码 - * @Date 2020/1/28 11:55 - **/ - @GetMapping("sendCode") - public Result sendCode(String mobile) { - return messageService.sendSmsCode(mobile); - } + /** + * @param mobile 手机号码 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 发送短信验证码 + * @Date 2020/1/28 11:55 + **/ + @GetMapping("sendCode") + public Result sendCode(String mobile) { + return messageService.sendSmsCode(mobile); + } - /** - * @param formDTO - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @Author yinzuomei - * @Description 疫情上报 - * @Date 2020/1/28 13:23 - **/ - @PostMapping("report") - public Result report(@RequestBody EpiDemicReportFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO); - return customService.report(formDTO); - } + /** + * @param formDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 疫情上报 + * @Date 2020/1/28 13:23 + **/ + @PostMapping("report") + public Result report(@RequestBody EpiDemicReportFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return customService.report(formDTO); + } @GetMapping("sentryPost/getDeptInfoByMaCode") public Result getDeptInfoByMaCode(String code) { return customService.getDeptInfoByMaCode(code); } - - /*** - * 居民在防疫哨卡进行登记时,上送数据并完善党群系统个人信息 - * @param completeInfoFromDto - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @author qushutong - * @date 2020/2/15 10:53 - */ - @PostMapping("sentryPost/completeInfo") - public Result completeInfo(@RequestBody EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto){ - return customService.createPidemicInfo(completeInfoFromDto); - } + /*** + * 居民在防疫哨卡进行登记时,上送数据并完善党群系统个人信息 + * @param completeInfoFromDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author qushutong + * @date 2020/2/15 10:53 + */ + @PostMapping("sentryPost/completeInfo") + public Result completeInfo(@RequestBody EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto, @LoginUser TokenDto userDetail) { + return customService.createPidemicInfo(completeInfoFromDto,userDetail); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java index 843b81d72..963b22a2b 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java @@ -186,7 +186,7 @@ public interface UserFeignClient { * 获取网格长管理的网格列表 * * @param userId - * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @author work@yujt.net.cn * @date 2019/10/23 13:34 */ @@ -237,11 +237,10 @@ public interface UserFeignClient { Result residentDetail(@PathVariable("userId") String userId); /** - * * 获取用户最后一次切换的网格信息 * - * @params [openId] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [openId] * @author liuchuang * @since 2019/12/6 11:04 */ @@ -289,7 +288,7 @@ public interface UserFeignClient { /** * @param formDTO - * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @Author yinzuomei * @Description 用户认证审核历史 * @Date 2019/11/22 13:17 @@ -305,12 +304,12 @@ public interface UserFeignClient { * @Date 2019/11/22 14:22 **/ @PostMapping("app-user/epdc-app/usergrid/removeGrid") - Result removeGrid(EpdcAppRemoveGridFormDTO formDto); + Result removeGrid(EpdcAppRemoveGridFormDTO formDto); /** * 获取邀请记录 * - * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @author work@yujt.net.cn * @date 2019/10/23 13:34 */ @@ -324,7 +323,7 @@ public interface UserFeignClient { * @Description 根据openId或者unionId查询用户信息 * @Date 2019/12/7 14:11 **/ - @PostMapping(value="app-user/epdc-app/user/queryUserDto", consumes = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "app-user/epdc-app/user/queryUserDto", consumes = MediaType.APPLICATION_JSON_VALUE) Result queryUserDto(EpdcAppQueryUserInfoFormDTO formDTO); /*** 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 edf26c7fe..e7cd236af 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 @@ -1,5 +1,6 @@ package com.elink.esua.epdc.service; +import com.elink.esua.epdc.common.token.dto.TokenDto; 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; @@ -46,5 +47,5 @@ public interface CustomService { * @author qushutong * @date 2020/2/15 10:58 */ - Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto); + Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto, TokenDto userDetail); } 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 ac0c8efaa..5ba059026 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,6 +1,7 @@ package com.elink.esua.epdc.service.impl; import com.elink.esua.epdc.commons.tools.constant.NumConstant; +import com.elink.esua.epdc.common.token.dto.TokenDto; 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; @@ -39,58 +40,6 @@ public class CustomServiceImpl implements CustomService { @Autowired private UserFeignClient userFeignClient; - /** - * @param - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @Author yinzuomei - * @Description 获取所有组织机构信息 - * @Date 2020/1/28 13:31 - **/ - @Override - public Result getDeptTree() { - return adminFeignClient.getDeptTreeForEpiDemic(); - } - - /** - * @param formDTO - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @Author yinzuomei - * @Description 疫情上报 - * @Date 2020/1/28 13:31 - **/ - @Override - public Result report(EpiDemicReportFormDTO formDTO) { - // 验证手机号 - this.checkSmsCode(formDTO.getMobile(), formDTO.getSmsCode()); - // 获取部门冗余信息 - if (null != formDTO.getDeptId()) { - Result pidInfoResult = adminFeignClient.getParentAndAllDept(formDTO.getDeptId()); - if (pidInfoResult.success() && null != pidInfoResult.getData()) { - 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("手机验证码错误"); - } - } - - @Override public Result getDeptInfoByMaCode(String code) { String combine = "-"; @@ -137,8 +86,62 @@ public class CustomServiceImpl implements CustomService { } - @Override - public Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto) { - return userFeignClient.createPidemicInfo(completeInfoFromDto); - } + /** + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 获取所有组织机构信息 + * @Date 2020/1/28 13:31 + **/ + @Override + public Result getDeptTree() { + return adminFeignClient.getDeptTreeForEpiDemic(); + } + + /** + * @param formDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 疫情上报 + * @Date 2020/1/28 13:31 + **/ + @Override + public Result report(EpiDemicReportFormDTO formDTO) { + // 验证手机号 + this.checkSmsCode(formDTO.getMobile(), formDTO.getSmsCode()); + // 获取部门冗余信息 + if (null != formDTO.getDeptId()) { + Result pidInfoResult = adminFeignClient.getParentAndAllDept(formDTO.getDeptId()); + if (pidInfoResult.success() && null != pidInfoResult.getData()) { + 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("手机验证码错误"); + } + } + + + @Override + public Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto, TokenDto userDetail) { + completeInfoFromDto.setUserId(userDetail.getUserId()); + return userFeignClient.createPidemicInfo(completeInfoFromDto); + } } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppPidemicCompleteInfoFromDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppPidemicCompleteInfoFromDTO.java index 15831732c..792283966 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppPidemicCompleteInfoFromDTO.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppPidemicCompleteInfoFromDTO.java @@ -2,6 +2,7 @@ package com.elink.esua.epdc.dto.epdc.form; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -24,14 +25,23 @@ public class EpdcAppPidemicCompleteInfoFromDTO implements Serializable { * isDriver : zW3ek3AUpm * carNum : 6oOeXKemVl */ - + @NotBlank(message = "第三方哨卡ID") private String postId; + @NotBlank(message = "姓名") private String name; + @NotBlank(message = "身份证号") private String idcard; + @NotBlank(message = "手机号") private String phone; + @NotBlank(message = "居住地址") private String habitationDetail; + @NotBlank(message = "是否租房") private String isRent; + @NotBlank(message = "是否有车") private String isDriver; + @NotBlank(message = "车牌号码") private String carNum; + private String userId; + } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserEntity.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserEntity.java index c1ae65855..d2e7f5da7 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserEntity.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserEntity.java @@ -253,4 +253,14 @@ public class UserEntity extends BaseEpdcEntity { * 所有部门名称 */ private String allDeptNames; + + /** + * 是否有车 + */ + private String rentFlag; + + /** + * 是否租房 + */ + private String driverFlag; } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserCarInfoService.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserCarInfoService.java index 431ae4b54..78e06a08a 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserCarInfoService.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserCarInfoService.java @@ -92,4 +92,13 @@ public interface UserCarInfoService extends BaseService { * @date 2020-02-15 */ void delete(String[] ids); + + /*** + * 根据carNumber + * @param carNumber + * @return com.elink.esua.epdc.dto.epdc.UserCarInfoDTO + * @author qushutong + * @date 2020/2/15 18:42 + */ + UserCarInfoDTO selectOneByCarNumber(String carNumber); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserCarInfoServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserCarInfoServiceImpl.java index 2f2ec37fb..fb301bb6c 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserCarInfoServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserCarInfoServiceImpl.java @@ -101,4 +101,12 @@ public class UserCarInfoServiceImpl extends BaseServiceImpl implem /** * @param gridIdList - * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @Author yinzuomei * @Description 根据网格id查询网格下所有的用户 * @Date 2019/12/19 15:03 @@ -895,19 +895,30 @@ public class UserServiceImpl extends BaseServiceImpl implem @Override public Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto) { - UserDTO userDTO =new UserDTO(); + // 更新用户信息 + UserEntity userEntity = selectById(completeInfoFromDto.getUserId()); + UserDTO userDTO = ConvertUtils.sourceToTarget(userEntity, UserDTO.class); userDTO.setRealName(completeInfoFromDto.getName()); userDTO.setIdentityNo(completeInfoFromDto.getIdcard()); userDTO.setMobile(completeInfoFromDto.getPhone()); userDTO.setAddress(completeInfoFromDto.getHabitationDetail()); userDTO.setRentFlag(completeInfoFromDto.getIsRent()); userDTO.setDriverFlag(completeInfoFromDto.getIsDriver()); - save(userDTO); - UserCarInfoDTO dto = new UserCarInfoDTO(); - dto.setUserId(userDTO.getId()); - dto.setCarNumber(completeInfoFromDto.getCarNum()); - userCarInfoService.save(dto); - + userDTO.setId(completeInfoFromDto.getUserId()); + update(userDTO); + // 更新或存储用户车辆信息表 + UserCarInfoDTO userCarInfoDTO = userCarInfoService.selectOneByCarNumber(completeInfoFromDto.getCarNum()); + if (userCarInfoDTO == null) { + UserCarInfoDTO dto = new UserCarInfoDTO(); + dto.setUserId(userDTO.getId()); + dto.setCarNumber(completeInfoFromDto.getCarNum()); + userCarInfoService.save(dto); + } else { + // 库里存的车牌号与该用户不相符 + if (!userCarInfoDTO.getUserId().equals(userDTO.getId())) { + throw new RenException("保存失败,次车牌已被注册"); + } + } return new Result(); } }