Browse Source

完善(居民在防疫哨卡进行登记时,上送数据并完善党群系统个人信息)

dev
曲树通 6 years ago
parent
commit
8f91423c4d
  1. 101
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCustomController.java
  2. 13
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  3. 3
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java
  4. 115
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java
  5. 12
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppPidemicCompleteInfoFromDTO.java
  6. 10
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserEntity.java
  7. 9
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserCarInfoService.java
  8. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserCarInfoServiceImpl.java
  9. 27
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

101
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<DeptOption> 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<DeptOption> 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<EpdcSentryPostInfoResultDTO> 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);
}
}

13
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<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcUserGridResultDTO>>
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcUserGridResultDTO>>
* @author work@yujt.net.cn
* @date 2019/10/23 13:34
*/
@ -237,11 +237,10 @@ public interface UserFeignClient {
Result<EpdcResidentDetailResultDTO> residentDetail(@PathVariable("userId") String userId);
/**
*
* 获取用户最后一次切换的网格信息
*
* @params [openId]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO>
* @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<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcAuthenticateHistoryResultDTO>>
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcAuthenticateHistoryResultDTO>>
* @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<java.util.List.UserInvitationRecordResultDTO < com.elink.esua.epdc.dto.epdc.result.EpdcUserGridResultDTO>>
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List.UserInvitationRecordResultDTO < com.elink.esua.epdc.dto.epdc.result.EpdcUserGridResultDTO>>
* @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<UserDTO> queryUserDto(EpdcAppQueryUserInfoFormDTO formDTO);
/***

3
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);
}

115
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<com.elink.esua.epdc.dto.DeptOption>
* @Author yinzuomei
* @Description 获取所有组织机构信息
* @Date 2020/1/28 13:31
**/
@Override
public Result<DeptOption> 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<ParentAndAllDeptDTO> 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<EpdcSentryPostInfoResultDTO> 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<com.elink.esua.epdc.dto.DeptOption>
* @Author yinzuomei
* @Description 获取所有组织机构信息
* @Date 2020/1/28 13:31
**/
@Override
public Result<DeptOption> 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<ParentAndAllDeptDTO> 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);
}
}

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

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

9
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<UserCarInfoEntity> {
* @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);
}

8
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<UserCarInfoDao, User
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public UserCarInfoDTO selectOneByCarNumber(String carNumber) {
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("CAR_NUMBER",carNumber);
UserCarInfoEntity userCarInfoEntity = baseDao.selectOne(wrapper);
return ConvertUtils.sourceToTarget(userCarInfoEntity,UserCarInfoDTO.class);
}
}

27
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -854,7 +854,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
/**
* @param gridIdList
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcGridUserResultDTO>>
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcGridUserResultDTO>>
* @Author yinzuomei
* @Description 根据网格id查询网格下所有的用户
* @Date 2019/12/19 15:03
@ -895,19 +895,30 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> 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();
}
}

Loading…
Cancel
Save