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; 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.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.DeptOption; import com.elink.esua.epdc.dto.DeptOption;
@ -20,65 +22,64 @@ import org.springframework.web.bind.annotation.*;
@RequestMapping("custom/epidemic") @RequestMapping("custom/epidemic")
public class ApiCustomController { public class ApiCustomController {
@Autowired @Autowired
private CustomService customService; private CustomService customService;
@Autowired @Autowired
private MessageService messageService; private MessageService messageService;
/** /**
* @param * @param
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei * @Author yinzuomei
* @Description 获取所有组织机构信息 * @Description 获取所有组织机构信息
* @Date 2020/1/28 11:50 * @Date 2020/1/28 11:50
**/ **/
@GetMapping("getDeptTree") @GetMapping("getDeptTree")
public Result<DeptOption> getDeptTree() { public Result<DeptOption> getDeptTree() {
return customService.getDeptTree(); return customService.getDeptTree();
} }
/** /**
* @param mobile 手机号码 * @param mobile 手机号码
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei * @Author yinzuomei
* @Description 发送短信验证码 * @Description 发送短信验证码
* @Date 2020/1/28 11:55 * @Date 2020/1/28 11:55
**/ **/
@GetMapping("sendCode") @GetMapping("sendCode")
public Result sendCode(String mobile) { public Result sendCode(String mobile) {
return messageService.sendSmsCode(mobile); return messageService.sendSmsCode(mobile);
} }
/** /**
* @param formDTO * @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei * @Author yinzuomei
* @Description 疫情上报 * @Description 疫情上报
* @Date 2020/1/28 13:23 * @Date 2020/1/28 13:23
**/ **/
@PostMapping("report") @PostMapping("report")
public Result report(@RequestBody EpiDemicReportFormDTO formDTO) { public Result report(@RequestBody EpiDemicReportFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO); ValidatorUtils.validateEntity(formDTO);
return customService.report(formDTO); return customService.report(formDTO);
} }
@GetMapping("sentryPost/getDeptInfoByMaCode") @GetMapping("sentryPost/getDeptInfoByMaCode")
public Result<EpdcSentryPostInfoResultDTO> getDeptInfoByMaCode(String code) { public Result<EpdcSentryPostInfoResultDTO> getDeptInfoByMaCode(String code) {
return customService.getDeptInfoByMaCode(code); return customService.getDeptInfoByMaCode(code);
} }
/***
/*** * 居民在防疫哨卡进行登记时上送数据并完善党群系统个人信息
* 居民在防疫哨卡进行登记时上送数据并完善党群系统个人信息 * @param completeInfoFromDto
* @param completeInfoFromDto * @return com.elink.esua.epdc.commons.tools.utils.Result
* @return com.elink.esua.epdc.commons.tools.utils.Result * @author qushutong
* @author qushutong * @date 2020/2/15 10:53
* @date 2020/2/15 10:53 */
*/ @PostMapping("sentryPost/completeInfo")
@PostMapping("sentryPost/completeInfo") public Result completeInfo(@RequestBody EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto, @LoginUser TokenDto userDetail) {
public Result completeInfo(@RequestBody EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto){ return customService.createPidemicInfo(completeInfoFromDto,userDetail);
return customService.createPidemicInfo(completeInfoFromDto); }
}
} }

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 * @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 * @author work@yujt.net.cn
* @date 2019/10/23 13:34 * @date 2019/10/23 13:34
*/ */
@ -237,11 +237,10 @@ public interface UserFeignClient {
Result<EpdcResidentDetailResultDTO> residentDetail(@PathVariable("userId") String userId); 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> * @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO>
* @params [openId]
* @author liuchuang * @author liuchuang
* @since 2019/12/6 11:04 * @since 2019/12/6 11:04
*/ */
@ -289,7 +288,7 @@ public interface UserFeignClient {
/** /**
* @param formDTO * @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 * @Author yinzuomei
* @Description 用户认证审核历史 * @Description 用户认证审核历史
* @Date 2019/11/22 13:17 * @Date 2019/11/22 13:17
@ -305,12 +304,12 @@ public interface UserFeignClient {
* @Date 2019/11/22 14:22 * @Date 2019/11/22 14:22
**/ **/
@PostMapping("app-user/epdc-app/usergrid/removeGrid") @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 * @author work@yujt.net.cn
* @date 2019/10/23 13:34 * @date 2019/10/23 13:34
*/ */
@ -324,7 +323,7 @@ public interface UserFeignClient {
* @Description 根据openId或者unionId查询用户信息 * @Description 根据openId或者unionId查询用户信息
* @Date 2019/12/7 14:11 * @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); 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; 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.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.DeptOption; import com.elink.esua.epdc.dto.DeptOption;
import com.elink.esua.epdc.dto.epdc.form.EpdcAppPidemicCompleteInfoFromDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcAppPidemicCompleteInfoFromDTO;
@ -46,5 +47,5 @@ public interface CustomService {
* @author qushutong * @author qushutong
* @date 2020/2/15 10:58 * @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; package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.commons.tools.constant.NumConstant; 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.exception.RenException;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.CompleteDeptDTO; import com.elink.esua.epdc.dto.CompleteDeptDTO;
@ -39,58 +40,6 @@ public class CustomServiceImpl implements CustomService {
@Autowired @Autowired
private UserFeignClient userFeignClient; 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 @Override
public Result<EpdcSentryPostInfoResultDTO> getDeptInfoByMaCode(String code) { public Result<EpdcSentryPostInfoResultDTO> getDeptInfoByMaCode(String code) {
String combine = "-"; String combine = "-";
@ -137,8 +86,62 @@ public class CustomServiceImpl implements CustomService {
} }
@Override /**
public Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto) { * @param
return userFeignClient.createPidemicInfo(completeInfoFromDto); * @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 lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable; import java.io.Serializable;
/** /**
@ -24,14 +25,23 @@ public class EpdcAppPidemicCompleteInfoFromDTO implements Serializable {
* isDriver : zW3ek3AUpm * isDriver : zW3ek3AUpm
* carNum : 6oOeXKemVl * carNum : 6oOeXKemVl
*/ */
@NotBlank(message = "第三方哨卡ID")
private String postId; private String postId;
@NotBlank(message = "姓名")
private String name; private String name;
@NotBlank(message = "身份证号")
private String idcard; private String idcard;
@NotBlank(message = "手机号")
private String phone; private String phone;
@NotBlank(message = "居住地址")
private String habitationDetail; private String habitationDetail;
@NotBlank(message = "是否租房")
private String isRent; private String isRent;
@NotBlank(message = "是否有车")
private String isDriver; private String isDriver;
@NotBlank(message = "车牌号码")
private String carNum; 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 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 * @date 2020-02-15
*/ */
void delete(String[] ids); 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)); 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 * @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 * @Author yinzuomei
* @Description 根据网格id查询网格下所有的用户 * @Description 根据网格id查询网格下所有的用户
* @Date 2019/12/19 15:03 * @Date 2019/12/19 15:03
@ -895,19 +895,30 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
@Override @Override
public Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto) { 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.setRealName(completeInfoFromDto.getName());
userDTO.setIdentityNo(completeInfoFromDto.getIdcard()); userDTO.setIdentityNo(completeInfoFromDto.getIdcard());
userDTO.setMobile(completeInfoFromDto.getPhone()); userDTO.setMobile(completeInfoFromDto.getPhone());
userDTO.setAddress(completeInfoFromDto.getHabitationDetail()); userDTO.setAddress(completeInfoFromDto.getHabitationDetail());
userDTO.setRentFlag(completeInfoFromDto.getIsRent()); userDTO.setRentFlag(completeInfoFromDto.getIsRent());
userDTO.setDriverFlag(completeInfoFromDto.getIsDriver()); userDTO.setDriverFlag(completeInfoFromDto.getIsDriver());
save(userDTO); userDTO.setId(completeInfoFromDto.getUserId());
UserCarInfoDTO dto = new UserCarInfoDTO(); update(userDTO);
dto.setUserId(userDTO.getId()); // 更新或存储用户车辆信息表
dto.setCarNumber(completeInfoFromDto.getCarNum()); UserCarInfoDTO userCarInfoDTO = userCarInfoService.selectOneByCarNumber(completeInfoFromDto.getCarNum());
userCarInfoService.save(dto); 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(); return new Result();
} }
} }

Loading…
Cancel
Save