Browse Source

Merge remote-tracking branch 'origin/dev0.2' into dev0.2

master
yinzuomei 6 years ago
parent
commit
1c4628601a
  1. 34
      epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/from/PartyMemberSubmitFromDTO.java
  2. 5
      epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/from/VerificationCodeFromDTO.java
  3. 25
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/PartyMemberConfirmFeignClient.java
  4. 46
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/ResiPartymemberFeignClient.java
  5. 28
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/fallback/PartyMemberConfirmFeignClientFallBack.java
  6. 24
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/fallback/ResiPartymemberFeignClientFallBack.java
  7. 25
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberController.java
  8. 19
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/service/PartyMemberService.java
  9. 30
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberServiceImpl.java
  10. 36
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/resiregister/service/impl/ResiRegisterServiceImpl.java
  11. 5
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java
  12. 22
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedServiceImpl.java
  13. 10
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartymemberInfoDTO.java
  14. 6
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartymemberRegisterRelationDTO.java
  15. 11
      epmet-module/resi-partymember/resi-partymember-server/pom.xml
  16. 43
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberConstant.java
  17. 14
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java
  18. 9
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetUserFeignClientFallBack.java
  19. 25
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberConfirmController.java
  20. 27
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/PartymemberBaseInfoDao.java
  21. 8
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/entity/PartymemberInfoEntity.java
  22. 9
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/entity/PartymemberRegisterRelationEntity.java
  23. 3
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/PartymemberInfoExcel.java
  24. 6
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/PartymemberRegisterRelationExcel.java
  25. 20
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartyMemberConfirmService.java
  26. 9
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberBaseInfoService.java
  27. 189
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java
  28. 173
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberBaseInfoServiceImpl.java
  29. 2
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedApplyDao.java
  30. 4
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedVisitDao.java
  31. 2
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedVisitService.java
  32. 12
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java
  33. 23
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedVisitServiceImpl.java
  34. 35
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberBaseInfoDao.xml
  35. 8
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberInfoDao.xml
  36. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserResiInfoController.java
  37. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiInfoService.java
  38. 31
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java

34
epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/from/PartyMemberSubmitFromDTO.java

@ -0,0 +1,34 @@
package com.epmet.resi.mine.dto.from;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/3/31 13:31
*/
@Data
public class PartyMemberSubmitFromDTO implements Serializable {
private static final long serialVersionUID = 2869322535180774823L;
/**
* 客户ID
*/
private String customerId;
/**
* 网格ID
*/
private String gridId;
/**
* 党员认证行为记录表Id
*/
private String visitId;
/**
* 党员认证信息
*/
private PartymemberInfoDTO partyMemberInfo;
}

5
epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/from/VerificationCodeFromDTO.java

@ -15,6 +15,11 @@ public class VerificationCodeFromDTO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/** /**
* 用户ID * 用户ID
*/ */

25
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/PartyMemberConfirmFeignClient.java

@ -1,25 +0,0 @@
package com.epmet.modules.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.modules.feign.fallback.PartyMemberConfirmFeignClientFallBack;
import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/3/30 16:03
*/
@FeignClient(name = ServiceConstant.RESI_PARTYMEMBER_SERVER, fallback = PartyMemberConfirmFeignClientFallBack.class)
public interface PartyMemberConfirmFeignClient {
@PostMapping("/resi/partymember/confirm/init")
Result<PartyMemberInitResultDTO> init(@RequestBody PartyMemberInitFromDTO fromDto);
@PostMapping("/resi/partymember/confirm/getverificationcode")
Result getVerificationCode(@RequestBody VerificationCodeFromDTO fromDto);
}

46
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/ResiPartymemberFeignClient.java

@ -3,11 +3,16 @@ package com.epmet.modules.feign;
import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.modules.feign.fallback.ResiPartymemberFeignClientFallBack; import com.epmet.modules.feign.fallback.ResiPartymemberFeignClientFallBack;
import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO;
import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedSubmitFormDTO; import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedSubmitFormDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/** /**
* @Description 居民端陌生人导览 调用epmet-user服务 * @Description 居民端陌生人导览 调用epmet-user服务
@ -30,4 +35,45 @@ public interface ResiPartymemberFeignClient {
**/ **/
@PostMapping(value = "resi/partymember/resiwarmheartedapply/submit") @PostMapping(value = "resi/partymember/resiwarmheartedapply/submit")
Result submit(ResiWarmheartedSubmitFormDTO formDTO); Result submit(ResiWarmheartedSubmitFormDTO formDTO);
/**
* 党员认证页面初始化
*
* @param fromDto 参数
* @return Result<PartyMemberInitResultDto>
* @date 2020/3/30 13:50
*/
@PostMapping("/resi/partymember/confirm/init")
Result<PartyMemberInitResultDTO> init(@RequestBody PartyMemberInitFromDTO fromDto);
/**
* 党员认证页获取手机验证码
*
* @param fromDto 参数
* @return Result<PartyMemberInitResultDto>
* @date 2020/3/30 13:50
*/
@PostMapping("/resi/partymember/confirm/getverificationcode")
Result getVerificationCode(@RequestBody VerificationCodeFromDTO fromDto);
/**
* 党员认证信息提交
*
* @param partyMemberInfoDTO 参数
* @return Result
* @date 2020/3/31 10:50
*/
@PostMapping("/resi/partymember/confirm/submit")
Result submit(@RequestBody PartymemberInfoDTO partyMemberInfoDTO);
/**
* 党员认证信息补充
*
* @param partyMemberInfoDTO 参数
* @return Result
*/
@PostMapping("extra")
Result partyMemberInfoExtra(@RequestBody PartymemberInfoDTO partyMemberInfoDTO);
} }

28
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/fallback/PartyMemberConfirmFeignClientFallBack.java

@ -1,28 +0,0 @@
package com.epmet.modules.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.modules.feign.PartyMemberConfirmFeignClient;
import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
import org.springframework.stereotype.Component;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/3/30 16:04
*/
@Component
public class PartyMemberConfirmFeignClientFallBack implements PartyMemberConfirmFeignClient {
@Override
public Result<PartyMemberInitResultDTO> init(PartyMemberInitFromDTO fromDto) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "init", fromDto);
}
@Override
public Result getVerificationCode(VerificationCodeFromDTO fromDto) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "getVerificationCode", fromDto);
}
}

24
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/feign/fallback/ResiPartymemberFeignClientFallBack.java

@ -4,6 +4,10 @@ import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.modules.feign.ResiPartymemberFeignClient; import com.epmet.modules.feign.ResiPartymemberFeignClient;
import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO; import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO;
import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedSubmitFormDTO; import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedSubmitFormDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO;
@ -37,4 +41,24 @@ public class ResiPartymemberFeignClientFallBack implements ResiPartymemberFeignC
public Result submit(ResiWarmheartedSubmitFormDTO formDTO) { public Result submit(ResiWarmheartedSubmitFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "submit", formDTO); return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "submit", formDTO);
} }
@Override
public Result<PartyMemberInitResultDTO> init(PartyMemberInitFromDTO fromDto) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "init", fromDto);
}
@Override
public Result getVerificationCode(VerificationCodeFromDTO fromDto) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "getVerificationCode", fromDto);
}
@Override
public Result submit(PartymemberInfoDTO partyMemberInfoDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "submit", partyMemberInfoDTO);
}
@Override
public Result partyMemberInfoExtra(PartymemberInfoDTO partyMemberInfoDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "partyMemberInfoExtra", partyMemberInfoDTO);
}
} }

25
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberController.java

@ -5,6 +5,7 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.modules.partymember.service.PartyMemberService; import com.epmet.modules.partymember.service.PartyMemberService;
import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO; import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
import com.epmet.resi.mine.dto.from.PartyMemberSubmitFromDTO;
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO; import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO; import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -49,4 +50,28 @@ public class PartyMemberController {
public Result getVerificationCode(@LoginUser TokenDto tokenDto, @RequestBody VerificationCodeFromDTO fromDto) { public Result getVerificationCode(@LoginUser TokenDto tokenDto, @RequestBody VerificationCodeFromDTO fromDto) {
return partyMemberService.getVerificationCode(tokenDto, fromDto); return partyMemberService.getVerificationCode(tokenDto, fromDto);
} }
/**
* 党员认证信息提交
*
* @param fromDto 参数
* @return Result
* @date 2020/3/30 13:50
*/
@PostMapping("submit")
public Result submit(@LoginUser TokenDto tokenDto, @RequestBody PartyMemberSubmitFromDTO fromDto) {
return partyMemberService.submit(tokenDto, fromDto);
}
/**
* 党员认证信息补充
*
* @param fromDto 参数
* @return Result
* @date 2020/3/30 13:50
*/
@PostMapping("extra")
public Result partyMemberInfoExtra(@LoginUser TokenDto tokenDto, @RequestBody PartyMemberSubmitFromDTO fromDto) {
return partyMemberService.partyMemberInfoExtra(tokenDto, fromDto);
}
} }

19
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/service/PartyMemberService.java

@ -3,6 +3,7 @@ package com.epmet.modules.partymember.service;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO; import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
import com.epmet.resi.mine.dto.from.PartyMemberSubmitFromDTO;
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO; import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO; import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
@ -29,4 +30,22 @@ public interface PartyMemberService {
* @return Result * @return Result
*/ */
Result getVerificationCode(TokenDto tokenDto, VerificationCodeFromDTO fromDTO); Result getVerificationCode(TokenDto tokenDto, VerificationCodeFromDTO fromDTO);
/**
* 党员认证信息提交
*
* @param tokenDto token
* @param fromDTO 参数
* @return Result
*/
Result submit(TokenDto tokenDto, PartyMemberSubmitFromDTO fromDTO);
/**
* 党员认证信息补充
*
* @param tokenDto token
* @param fromDTO 参数
* @return Result
*/
Result partyMemberInfoExtra(TokenDto tokenDto, PartyMemberSubmitFromDTO fromDTO);
} }

30
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberServiceImpl.java

@ -2,11 +2,13 @@ package com.epmet.modules.partymember.service.impl;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.modules.feign.PartyMemberConfirmFeignClient; import com.epmet.modules.feign.ResiPartymemberFeignClient;
import com.epmet.modules.partymember.service.PartyMemberService; import com.epmet.modules.partymember.service.PartyMemberService;
import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO; import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
import com.epmet.resi.mine.dto.from.PartyMemberSubmitFromDTO;
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO; import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO; import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -20,16 +22,36 @@ import org.springframework.stereotype.Service;
public class PartyMemberServiceImpl implements PartyMemberService { public class PartyMemberServiceImpl implements PartyMemberService {
@Autowired @Autowired
PartyMemberConfirmFeignClient partyMemberConfirmFeignClient; ResiPartymemberFeignClient resiPartymemberFeignClient;
@Override @Override
public Result<PartyMemberInitResultDTO> init(PartyMemberInitFromDTO fromDto) { public Result<PartyMemberInitResultDTO> init(PartyMemberInitFromDTO fromDto) {
return partyMemberConfirmFeignClient.init(fromDto); return resiPartymemberFeignClient.init(fromDto);
} }
@Override @Override
public Result getVerificationCode(TokenDto tokenDto, VerificationCodeFromDTO fromDTO) { public Result getVerificationCode(TokenDto tokenDto, VerificationCodeFromDTO fromDTO) {
fromDTO.setUserId(tokenDto.getUserId()); fromDTO.setUserId(tokenDto.getUserId());
return partyMemberConfirmFeignClient.getVerificationCode(fromDTO); return resiPartymemberFeignClient.getVerificationCode(fromDTO);
}
@Override
public Result submit(TokenDto tokenDto, PartyMemberSubmitFromDTO fromDTO) {
PartymemberInfoDTO partyMemberInfo = fromDTO.getPartyMemberInfo();
partyMemberInfo.setCustomerId(fromDTO.getCustomerId());
partyMemberInfo.setGridId(fromDTO.getGridId());
partyMemberInfo.setUserId(tokenDto.getUserId());
partyMemberInfo.setPartymemberVisitId(fromDTO.getVisitId());
return resiPartymemberFeignClient.submit(partyMemberInfo);
}
@Override
public Result partyMemberInfoExtra(TokenDto tokenDto, PartyMemberSubmitFromDTO fromDTO) {
PartymemberInfoDTO partyMemberInfo = fromDTO.getPartyMemberInfo();
partyMemberInfo.setCustomerId(fromDTO.getCustomerId());
partyMemberInfo.setGridId(fromDTO.getGridId());
partyMemberInfo.setUserId(tokenDto.getUserId());
partyMemberInfo.setPartymemberVisitId(fromDTO.getVisitId());
return resiPartymemberFeignClient.partyMemberInfoExtra(partyMemberInfo);
} }
} }

36
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/resiregister/service/impl/ResiRegisterServiceImpl.java

@ -24,30 +24,60 @@ public class ResiRegisterServiceImpl implements ResiRegisterService {
@Autowired @Autowired
private EpmetUserFeignClient epmetUserFeignClient; private EpmetUserFeignClient epmetUserFeignClient;
/**
* @param
* @Author sun
* @Description 居民端-居民注册页面初始化-居民注册访问记录表新增数据
**/
@Override @Override
public Result<ResiRegisterResultDTO> init(TokenDto tokenDTO, ResiRegisterFormDTO formDTO) { public Result<ResiRegisterResultDTO> init(TokenDto tokenDTO, ResiRegisterFormDTO formDTO) {
if (null == tokenDTO || StringUtils.isBlank(tokenDTO.getUserId())) { if (null == tokenDTO || StringUtils.isBlank(tokenDTO.getUserId())) {
return new Result<ResiRegisterResultDTO>().error(ModuleConstant.USER_NOT_NULL); return new Result<ResiRegisterResultDTO>().error(ModuleConstant.USER_NOT_NULL);
} }
if (null == formDTO || StringUtils.isBlank(formDTO.getCustomerId())
|| StringUtils.isBlank(formDTO.getGridId())
|| StringUtils.isBlank(formDTO.getVisitFrom())) {
return new Result<ResiRegisterResultDTO>().error(ModuleConstant.PARAMETER_EXCEPTION);
}
formDTO.setUserId(tokenDTO.getUserId()); formDTO.setUserId(tokenDTO.getUserId());
return epmetUserFeignClient.init(formDTO); return epmetUserFeignClient.init(formDTO);
} }
/**
* @param
* @Author sun
* @Description 居民端-居民注册信息提交
**/
@Override @Override
public Result submit(TokenDto tokenDTO, UserResiInfoDTO userResiInfoDTO) { public Result submit(TokenDto tokenDTO, UserResiInfoDTO formDTO) {
if (null == tokenDTO || StringUtils.isBlank(tokenDTO.getUserId())) { if (null == tokenDTO || StringUtils.isBlank(tokenDTO.getUserId())) {
return new Result<ResiRegisterResultDTO>().error(ModuleConstant.USER_NOT_NULL); return new Result<ResiRegisterResultDTO>().error(ModuleConstant.USER_NOT_NULL);
} }
userResiInfoDTO.setUserId(tokenDTO.getUserId()); if (null == formDTO || StringUtils.isBlank(formDTO.getCustomerId())
return epmetUserFeignClient.submit(userResiInfoDTO); || StringUtils.isBlank(formDTO.getGridId())
|| StringUtils.isBlank(formDTO.getResiVisitId())) {
return new Result<ResiRegisterResultDTO>().error(ModuleConstant.PARAMETER_EXCEPTION);
}
formDTO.setUserId(tokenDTO.getUserId());
return epmetUserFeignClient.submit(formDTO);
} }
/**
* @param
* @Author sun
* @Description 居民端-居民注册根据手机号获取验证码
**/
@Override @Override
public Result getVerificationCode(TokenDto tokenDTO, VerificationCodeFormDTO formDTO) { public Result getVerificationCode(TokenDto tokenDTO, VerificationCodeFormDTO formDTO) {
if (null == tokenDTO || StringUtils.isBlank(tokenDTO.getUserId())) { if (null == tokenDTO || StringUtils.isBlank(tokenDTO.getUserId())) {
return new Result().error(ModuleConstant.USER_NOT_NULL); return new Result().error(ModuleConstant.USER_NOT_NULL);
} }
if (null == formDTO || StringUtils.isBlank(formDTO.getMobile())
|| StringUtils.isBlank(formDTO.getResiVisitId())) {
return new Result<ResiRegisterResultDTO>().error(ModuleConstant.PARAMETER_EXCEPTION);
}
formDTO.setUserId(tokenDTO.getUserId()); formDTO.setUserId(tokenDTO.getUserId());
return epmetUserFeignClient.getVerificationCode(formDTO); return epmetUserFeignClient.getVerificationCode(formDTO);
} }
} }

5
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java

@ -27,4 +27,9 @@ public interface ModuleConstant extends Constant {
* 接口只限居民端调用 * 接口只限居民端调用
*/ */
String FOR_RESI_CALL="当前接口只限居民端调用"; String FOR_RESI_CALL="当前接口只限居民端调用";
/**
* 参数异常-必要参数存在空值
*/
String PARAMETER_EXCEPTION="必要参数存在空值,请检查参数赋值情况!";
} }

22
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedServiceImpl.java

@ -2,6 +2,7 @@ package com.epmet.modules.warmhearted.service.impl;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.ResiRegisterResultDTO;
import com.epmet.modules.feign.ResiPartymemberFeignClient; import com.epmet.modules.feign.ResiPartymemberFeignClient;
import com.epmet.modules.utils.ModuleConstant; import com.epmet.modules.utils.ModuleConstant;
import com.epmet.modules.warmhearted.service.ResiWarmheartedService; import com.epmet.modules.warmhearted.service.ResiWarmheartedService;
@ -23,20 +24,41 @@ public class ResiWarmheartedServiceImpl implements ResiWarmheartedService {
@Autowired @Autowired
private ResiPartymemberFeignClient resiPartymemberFeignClient; private ResiPartymemberFeignClient resiPartymemberFeignClient;
/**
* @param
* @Author sun
* @Description 居民端-热心居民申请页面初始化-查询有无申请新增访问行为记录数据
**/
@Override @Override
public Result<ResiWarmheartedResultDTO> init(TokenDto tokenDTO, ResiWarmheartedFormDTO formDTO) { public Result<ResiWarmheartedResultDTO> init(TokenDto tokenDTO, ResiWarmheartedFormDTO formDTO) {
if (null == tokenDTO || StringUtils.isBlank(tokenDTO.getUserId())) { if (null == tokenDTO || StringUtils.isBlank(tokenDTO.getUserId())) {
return new Result<ResiWarmheartedResultDTO>().error(ModuleConstant.USER_NOT_NULL); return new Result<ResiWarmheartedResultDTO>().error(ModuleConstant.USER_NOT_NULL);
} }
if (null == formDTO || StringUtils.isBlank(formDTO.getCustomerId())
|| StringUtils.isBlank(formDTO.getGridId())
|| StringUtils.isBlank(formDTO.getVisitFrom())) {
return new Result<ResiWarmheartedResultDTO>().error(ModuleConstant.PARAMETER_EXCEPTION);
}
formDTO.setUserId(tokenDTO.getUserId()); formDTO.setUserId(tokenDTO.getUserId());
return resiPartymemberFeignClient.init(formDTO); return resiPartymemberFeignClient.init(formDTO);
} }
/**
* @param
* @Author sun
* @Description 居民端-热心居民申请-提交申请数据
**/
@Override @Override
public Result submit(TokenDto tokenDTO, ResiWarmheartedSubmitFormDTO formDTO) { public Result submit(TokenDto tokenDTO, ResiWarmheartedSubmitFormDTO formDTO) {
if (null == tokenDTO || StringUtils.isBlank(tokenDTO.getUserId())) { if (null == tokenDTO || StringUtils.isBlank(tokenDTO.getUserId())) {
return new Result<ResiWarmheartedResultDTO>().error(ModuleConstant.USER_NOT_NULL); return new Result<ResiWarmheartedResultDTO>().error(ModuleConstant.USER_NOT_NULL);
} }
if (null == formDTO || StringUtils.isBlank(formDTO.getCustomerId())
|| StringUtils.isBlank(formDTO.getGridId())
|| StringUtils.isBlank(formDTO.getResiWarmVisitId())
|| StringUtils.isBlank(formDTO.getReason())) {
return new Result<ResiWarmheartedResultDTO>().error(ModuleConstant.PARAMETER_EXCEPTION);
}
formDTO.setUserId(tokenDTO.getUserId()); formDTO.setUserId(tokenDTO.getUserId());
return resiPartymemberFeignClient.submit(formDTO); return resiPartymemberFeignClient.submit(formDTO);
} }

10
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartymemberInfoDTO.java

@ -99,6 +99,11 @@ public class PartymemberInfoDTO implements Serializable {
*/ */
private String building; private String building;
/**
* 组织关系类型 0:工作单位 1其他街道
*/
private String organizationType;
/** /**
* 党组织关系(工作单位或其他街道) * 党组织关系(工作单位或其他街道)
*/ */
@ -144,4 +149,9 @@ public class PartymemberInfoDTO implements Serializable {
*/ */
private Date updatedTime; private Date updatedTime;
/**
* 验证码
*/
private String code;
} }

6
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartymemberRegisterRelationDTO.java

@ -57,17 +57,17 @@ public class PartymemberRegisterRelationDTO implements Serializable {
/** /**
* 首次注册用户 (0表示不参与计数 1表示参与计数) * 首次注册用户 (0表示不参与计数 1表示参与计数)
*/ */
private String firstRegister; private Integer firstRegister;
/** /**
* 注册用户 (0表示不参与计数 1表示参与计数) * 注册用户 (0表示不参与计数 1表示参与计数)
*/ */
private String register; private Integer register;
/** /**
* 参与用户 (0表示不参与计数 1表示参与计数) * 参与用户 (0表示不参与计数 1表示参与计数)
*/ */
private String partake; private Integer partake;
/** /**
* 删除标识0.未删除 1.已删除 * 删除标识0.未删除 1.已删除

11
epmet-module/resi-partymember/resi-partymember-server/pom.xml

@ -70,6 +70,17 @@
<version>2.0.0</version> <version>2.0.0</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>info.debatty</groupId>
<artifactId>java-string-similarity</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>

43
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberConstant.java

@ -29,7 +29,7 @@ public interface PartyMemberConstant {
/** /**
* 信息补充 * 信息补充
*/ */
String OPERATE_EXTRA = "auto_extra"; String OPERATE_EXTRA = "extra";
/** /**
* 未提交 * 未提交
@ -40,4 +40,45 @@ public interface PartyMemberConstant {
* 已提交 * 已提交
*/ */
String SUBMITTED = "1"; String SUBMITTED = "1";
/**
* 党员自动认证是否成功基准
*/
String BENCHMARK = "110010";
/**
* 比对结果大部分相同最低值
*/
Double MOST = 0.8;
/**
* 比对结果小部分相同最低值
*/
Double SMALL = 0.5;
/**
* 比对结果相同
*/
String SAME = "1";
/**
* 比对结果不同
*/
String DIFF = "0";
/**
* 审核状态 待审核
*/
String UNDER_AUDITTING = "under_auditting";
/**
* 审核状态 通过
*/
String APPROVED = "approved";
/**
* 审核状态 未通过
*/
String REJECTED = "rejected";
} }

14
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/UserResiInfoFeignClient.java → epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java

@ -4,7 +4,7 @@ import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.UserResiInfoDTO; import com.epmet.dto.UserResiInfoDTO;
import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.dto.form.UserResiInfoFormDTO;
import com.epmet.modules.feign.fallback.UserResiInfoFeignClientFallBack; import com.epmet.modules.feign.fallback.EpmetUserFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -14,8 +14,8 @@ import org.springframework.web.bind.annotation.RequestBody;
* @dscription * @dscription
* @date 2020/3/30 14:51 * @date 2020/3/30 14:51
*/ */
@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = UserResiInfoFeignClientFallBack.class) @FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class)
public interface UserResiInfoFeignClient { public interface EpmetUserFeignClient {
/** /**
* 查询用户注册信息 * 查询用户注册信息
@ -25,4 +25,12 @@ public interface UserResiInfoFeignClient {
@PostMapping("/epmetuser/userresiinfo/getUserResiInfoDTO") @PostMapping("/epmetuser/userresiinfo/getUserResiInfoDTO")
Result<UserResiInfoDTO> getUserResiInfoDTO(@RequestBody UserResiInfoFormDTO userResiInfoFormDTO); Result<UserResiInfoDTO> getUserResiInfoDTO(@RequestBody UserResiInfoFormDTO userResiInfoFormDTO);
/**
* 党员认证时如果没有注册居民则注册居民信息
* @param userResiInfoDTO
* @author zhaoqifeng
**/
@PostMapping("/epmetuser/userresiinfo/saveResiInfo")
Result saveResiInfo (@RequestBody UserResiInfoDTO userResiInfoDTO);
} }

9
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/UserResiInfoFeignClientFallBack.java → epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetUserFeignClientFallBack.java

@ -5,7 +5,7 @@ import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.UserResiInfoDTO; import com.epmet.dto.UserResiInfoDTO;
import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.dto.form.UserResiInfoFormDTO;
import com.epmet.modules.feign.UserResiInfoFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
/** /**
@ -14,9 +14,14 @@ import org.springframework.stereotype.Component;
* @date 2020/3/30 14:53 * @date 2020/3/30 14:53
*/ */
@Component @Component
public class UserResiInfoFeignClientFallBack implements UserResiInfoFeignClient { public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient {
@Override @Override
public Result<UserResiInfoDTO> getUserResiInfoDTO(UserResiInfoFormDTO userResiInfoFormDTO) { public Result<UserResiInfoDTO> getUserResiInfoDTO(UserResiInfoFormDTO userResiInfoFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResiInfoDTO", userResiInfoFormDTO); return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResiInfoDTO", userResiInfoFormDTO);
} }
@Override
public Result saveResiInfo(UserResiInfoDTO userResiInfoDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "saveResiInfo", userResiInfoDTO);
}
} }

25
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartyMemberConfirmController.java

@ -5,6 +5,7 @@ import com.epmet.modules.partymember.service.PartyMemberConfirmService;
import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO; import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO; import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO; import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -12,7 +13,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
/** /**
*
* 党员认证 * 党员认证
* *
* @author zhaoqifeng * @author zhaoqifeng
@ -48,4 +48,27 @@ public class PartyMemberConfirmController {
public Result getVerificationCode(@RequestBody VerificationCodeFromDTO fromDto) { public Result getVerificationCode(@RequestBody VerificationCodeFromDTO fromDto) {
return partyMemberConfirmService.getVerificationCode(fromDto); return partyMemberConfirmService.getVerificationCode(fromDto);
} }
/**
* 党员认证信息提交
*
* @param partyMemberInfoDTO 参数
* @return Result
* @date 2020/3/31 10:50
*/
@PostMapping("submit")
public Result submit(@RequestBody PartymemberInfoDTO partyMemberInfoDTO) {
return partyMemberConfirmService.submit(partyMemberInfoDTO);
}
/**
* 党员认证信息补充
*
* @param partyMemberInfoDTO 参数
* @return Result
*/
@PostMapping("extra")
public Result partyMemberInfoExtra(@RequestBody PartymemberInfoDTO partyMemberInfoDTO) {
return partyMemberConfirmService.partyMemberInfoExtra(partyMemberInfoDTO);
}
} }

27
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/PartymemberBaseInfoDao.java

@ -19,8 +19,11 @@ package com.epmet.modules.partymember.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.partymember.entity.PartymemberBaseInfoEntity; import com.epmet.modules.partymember.entity.PartymemberBaseInfoEntity;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 党员库基本信息表 * 党员库基本信息表
* *
@ -30,4 +33,28 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface PartymemberBaseInfoDao extends BaseDao<PartymemberBaseInfoEntity> { public interface PartymemberBaseInfoDao extends BaseDao<PartymemberBaseInfoEntity> {
/**
* 根据身份证匹配数据
*
* @param param 参数
* @return List
*/
List<PartymemberBaseInfoEntity> selectBaseInfoByIdCard(PartymemberInfoDTO param);
/**
* 手根据机号匹配数据
*
* @param param 参数
* @return List
*/
List<PartymemberBaseInfoEntity> selectBaseInfoByMobile(PartymemberInfoDTO param);
/**
* 根据姓名匹配数据
*
* @param param 参数
* @return List
*/
List<PartymemberBaseInfoEntity> selectBaseInfoByName(PartymemberInfoDTO param);
} }

8
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/entity/PartymemberInfoEntity.java

@ -18,13 +18,10 @@
package com.epmet.modules.partymember.entity; package com.epmet.modules.partymember.entity;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date;
/** /**
* 党员认证信息表 * 党员认证信息表
* *
@ -98,6 +95,11 @@ public class PartymemberInfoEntity extends BaseEpmetEntity {
*/ */
private String building; private String building;
/**
* 组织关系类型 0:工作单位 1其他街道
*/
private String organizationType;
/** /**
* 党组织关系(工作单位或其他街道) * 党组织关系(工作单位或其他街道)
*/ */

9
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/entity/PartymemberRegisterRelationEntity.java

@ -18,13 +18,10 @@
package com.epmet.modules.partymember.entity; package com.epmet.modules.partymember.entity;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date;
/** /**
* 党员注册关系表 用于统计客户网格的认证党员数 * 党员注册关系表 用于统计客户网格的认证党员数
* *
@ -56,16 +53,16 @@ public class PartymemberRegisterRelationEntity extends BaseEpmetEntity {
/** /**
* 首次注册用户 (0表示不参与计数 1表示参与计数) * 首次注册用户 (0表示不参与计数 1表示参与计数)
*/ */
private String firstRegister; private Integer firstRegister;
/** /**
* 注册用户 (0表示不参与计数 1表示参与计数) * 注册用户 (0表示不参与计数 1表示参与计数)
*/ */
private String register; private Integer register;
/** /**
* 参与用户 (0表示不参与计数 1表示参与计数) * 参与用户 (0表示不参与计数 1表示参与计数)
*/ */
private String partake; private Integer partake;
} }

3
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/PartymemberInfoExcel.java

@ -70,6 +70,9 @@ public class PartymemberInfoExcel {
@Excel(name = "楼栋单元") @Excel(name = "楼栋单元")
private String building; private String building;
@Excel(name = "组织关系类型 0:工作单位 1:其他街道")
private String organizationType;
@Excel(name = "党组织关系(工作单位或其他街道)") @Excel(name = "党组织关系(工作单位或其他街道)")
private String extraOrganization; private String extraOrganization;

6
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/PartymemberRegisterRelationExcel.java

@ -44,13 +44,13 @@ public class PartymemberRegisterRelationExcel {
private String userId; private String userId;
@Excel(name = "首次注册用户 (0表示不参与计数 1表示参与计数)") @Excel(name = "首次注册用户 (0表示不参与计数 1表示参与计数)")
private String firstRegister; private Integer firstRegister;
@Excel(name = "注册用户 (0表示不参与计数 1表示参与计数)") @Excel(name = "注册用户 (0表示不参与计数 1表示参与计数)")
private String register; private Integer register;
@Excel(name = "参与用户 (0表示不参与计数 1表示参与计数)") @Excel(name = "参与用户 (0表示不参与计数 1表示参与计数)")
private String partake; private Integer partake;
@Excel(name = "删除标识:0.未删除 1.已删除") @Excel(name = "删除标识:0.未删除 1.已删除")
private Integer delFlag; private Integer delFlag;

20
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartyMemberConfirmService.java

@ -4,9 +4,9 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO; import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO; import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO; import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
/** /**
*
* 党员认证 * 党员认证
* *
* @author zhaoqifeng * @author zhaoqifeng
@ -15,7 +15,6 @@ import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
public interface PartyMemberConfirmService { public interface PartyMemberConfirmService {
/** /**
*
* 党员认证页面初始化 * 党员认证页面初始化
* *
* @param fromDto 参数 * @param fromDto 参数
@ -25,9 +24,26 @@ public interface PartyMemberConfirmService {
/** /**
* 获取手机验证码 * 获取手机验证码
*
* @param fromDTO 参数 * @param fromDTO 参数
* @return Result * @return Result
*/ */
Result getVerificationCode(VerificationCodeFromDTO fromDTO); Result getVerificationCode(VerificationCodeFromDTO fromDTO);
/**
* 党员认证信息提交
*
* @param partyMemberInfoDTO 参数
* @return Result
*/
Result submit(PartymemberInfoDTO partyMemberInfoDTO);
/**
* 党员信息补充
*
* @param partyMemberInfoDTO 参数
* @return Result
*/
Result partyMemberInfoExtra(PartymemberInfoDTO partyMemberInfoDTO);
} }

9
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberBaseInfoService.java

@ -21,6 +21,8 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.modules.partymember.entity.PartymemberBaseInfoEntity; import com.epmet.modules.partymember.entity.PartymemberBaseInfoEntity;
import com.epmet.resi.partymember.dto.partymember.PartymemberBaseInfoDTO; import com.epmet.resi.partymember.dto.partymember.PartymemberBaseInfoDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberConfirmAutoDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -92,4 +94,11 @@ public interface PartymemberBaseInfoService extends BaseService<PartymemberBaseI
* @date 2020-03-30 * @date 2020-03-30
*/ */
void delete(String[] ids); void delete(String[] ids);
/**
* 根据身份证手机号姓名匹配党员基本信息
* @param partyMemberInfoDTO 参数
* @return GetPartyMemberBaseInfoResultDTO
*/
PartymemberConfirmAutoDTO getPartyMemberBaseInfo(PartymemberInfoDTO partyMemberInfoDTO);
} }

189
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java

@ -5,19 +5,18 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.PartyMemberConstant; import com.epmet.constant.PartyMemberConstant;
import com.epmet.dto.UserResiInfoDTO; import com.epmet.dto.UserResiInfoDTO;
import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.dto.form.UserResiInfoFormDTO;
import com.epmet.modules.feign.UserResiInfoFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.partymember.entity.PartymemberInfoEntity; import com.epmet.modules.partymember.entity.*;
import com.epmet.modules.partymember.entity.PartymemberVisitEntity;
import com.epmet.modules.partymember.redis.PartymemberInfoRedis; import com.epmet.modules.partymember.redis.PartymemberInfoRedis;
import com.epmet.modules.partymember.service.PartyMemberConfirmService; import com.epmet.modules.partymember.service.*;
import com.epmet.modules.partymember.service.PartymemberInfoService;
import com.epmet.modules.partymember.service.PartymemberVisitService;
import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO; import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO; import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO; import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberConfirmAutoDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO; import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date; import java.util.Date;
@ -31,15 +30,26 @@ import java.util.Date;
public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService { public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService {
@Autowired @Autowired
private UserResiInfoFeignClient userResiInfoFeignClient; private EpmetUserFeignClient epmetUserFeignClient;
@Autowired @Autowired
private PartymemberInfoService partymemberInfoService; private PartymemberInfoService partymemberInfoService;
@Autowired @Autowired
private PartymemberVisitService partymemberVisitService; private PartymemberVisitService partymemberVisitService;
@Autowired @Autowired
private PartymemberInfoRedis partyMemberInfoRedis; private PartymemberInfoRedis partyMemberInfoRedis;
@Autowired
private PartymemberBaseInfoService partymemberBaseInfoService;
@Autowired
private PartymemberConfirmAutoService partymemberConfirmAutoService;
@Autowired
private PartymemberConfirmManualService partymemberConfirmManualService;
@Autowired
private PartymemberRegisterRelationService partymemberRegisterRelationService;
private final static String BENCHMARK = "110010";
@Override @Override
@Transactional(rollbackFor = Exception.class)
public Result<PartyMemberInitResultDTO> init(PartyMemberInitFromDTO fromDto) { public Result<PartyMemberInitResultDTO> init(PartyMemberInitFromDTO fromDto) {
PartyMemberInitResultDTO result = new PartyMemberInitResultDTO(); PartyMemberInitResultDTO result = new PartyMemberInitResultDTO();
@ -61,26 +71,20 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
UserResiInfoFormDTO userResiInfoFormDTO = new UserResiInfoFormDTO(); UserResiInfoFormDTO userResiInfoFormDTO = new UserResiInfoFormDTO();
userResiInfoFormDTO.setCustomerId(fromDto.getCustomerId()); userResiInfoFormDTO.setCustomerId(fromDto.getCustomerId());
userResiInfoFormDTO.setUserId(fromDto.getUserId()); userResiInfoFormDTO.setUserId(fromDto.getUserId());
Result<UserResiInfoDTO> userResiInfoResult = userResiInfoFeignClient.getUserResiInfoDTO(userResiInfoFormDTO); Result<UserResiInfoDTO> userResiInfoResult = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO);
result.setPartyMemberInfo(ConvertUtils.sourceToTarget(userResiInfoResult.getData(), PartymemberInfoDTO.class)); result.setPartyMemberInfo(ConvertUtils.sourceToTarget(userResiInfoResult.getData(), PartymemberInfoDTO.class));
} }
// 将访问行为存入热心居民申请行为记录表 // 将访问行为存入热心居民申请行为记录表
PartymemberVisitEntity partymemberVisitEntity = new PartymemberVisitEntity(); String visitId = saveOrUpdateVisit(null, fromDto, PartyMemberConstant.OPERATE_INITIALIZE);
partymemberVisitEntity.setCustomerId(fromDto.getCustomerId());
partymemberVisitEntity.setGridId(fromDto.getGridId());
partymemberVisitEntity.setUserId(fromDto.getUserId());
partymemberVisitEntity.setOperateVisit(PartyMemberConstant.OPERATE_INITIALIZE);
partymemberVisitEntity.setVisitFrom(fromDto.getVisitFrom());
partymemberVisitEntity.setVisitTime(new Date());
partymemberVisitService.insert(partymemberVisitEntity);
result.setVisitId(partymemberVisitEntity.getId()); result.setVisitId(visitId);
return new Result<PartyMemberInitResultDTO>().ok(result); return new Result<PartyMemberInitResultDTO>().ok(result);
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public Result getVerificationCode(VerificationCodeFromDTO fromDTO) { public Result getVerificationCode(VerificationCodeFromDTO fromDTO) {
Result result = new Result(); Result result = new Result();
//手机是否可用 //手机是否可用
@ -88,9 +92,9 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
partyMemberInfoParam.setMobile(fromDTO.getMobile()); partyMemberInfoParam.setMobile(fromDTO.getMobile());
PartymemberInfoDTO partyMemberInfoResult = partymemberInfoService.getPartyMemberInfoByMobile(partyMemberInfoParam); PartymemberInfoDTO partyMemberInfoResult = partymemberInfoService.getPartyMemberInfoByMobile(partyMemberInfoParam);
if (null != partyMemberInfoResult) { if (null != partyMemberInfoResult) {
//TODO //TODO code待定
result.setCode(0); result.setCode(0);
result.setMsg(""); result.setMsg("该手机已被使用,请更换手机或使用原绑定的微信用户登录");
return result; return result;
} }
@ -101,12 +105,153 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
partyMemberInfoRedis.setUserMobileCode(fromDTO.getUserId(), fromDTO.getMobile(), code); partyMemberInfoRedis.setUserMobileCode(fromDTO.getUserId(), fromDTO.getMobile(), code);
//将访问记录更新到热心居民申请行为记录表 //将访问记录更新到热心居民申请行为记录表
saveOrUpdateVisit(fromDTO.getVisitId(), null, PartyMemberConstant.OPERATE_OPERATE_SMS_CODE);
return result;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result submit(PartymemberInfoDTO partyMemberInfoDTO) {
Result result = new Result();
//校验手机验证码是否正常
String code = partyMemberInfoRedis.getUserMobileCode(partyMemberInfoDTO.getUserId(),
partyMemberInfoDTO.getMobile(),
partyMemberInfoDTO.getCode());
if (null == code) {
saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null,
PartyMemberConstant.OPERATE_AUTO_FAILED);
//TODO code待定
result.setCode(0);
result.setMsg("验证码错误");
}
//获取党员基本信息
PartymemberConfirmAutoDTO confirmAutoDTO =
partymemberBaseInfoService.getPartyMemberBaseInfo(partyMemberInfoDTO);
//党员信息存入党员认证信息表
PartymemberInfoEntity partyMemberInfoEntity = ConvertUtils.sourceToTarget(partyMemberInfoDTO,
PartymemberInfoEntity.class);
if (confirmAutoDTO == null || confirmAutoDTO.getResult().compareTo(PartyMemberConstant.BENCHMARK) < 0) {
//自动认证失败
partyMemberInfoEntity.setConfirmResult("1");
partymemberInfoService.insert(partyMemberInfoEntity);
//将访问记录更新到热心居民申请行为记录表
saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_FAILED);
//TODO code待定
result.setCode(0);
result.setMsg("认证失败");
} else {
//自动认证成功
partyMemberInfoEntity.setConfirmResult("0");
partymemberInfoService.insert(partyMemberInfoEntity);
//将访问记录更新到热心居民申请行为记录表
saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_SUCCESS);
//存入党员注册关系表 用于统计客户网格的认证党员数
saveRegisterRelation(partyMemberInfoDTO);
}
;
//将自动认证结果存入党员认证自动审核表
if (confirmAutoDTO != null) {
confirmAutoDTO.setPartymemberInfoId(partyMemberInfoEntity.getPartymemberVisitId());
partymemberConfirmAutoService.insert(ConvertUtils.sourceToTarget(confirmAutoDTO,
PartymemberConfirmAutoEntity.class));
}
//TODO 判断是否已注册居民,如果没有则注册居民
isResiRegister(partyMemberInfoDTO);
return result;
}
@Override
public Result partyMemberInfoExtra(PartymemberInfoDTO infoDTO) {
//将访问记录更新到热心居民申请行为记录表
saveOrUpdateVisit(infoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_EXTRA);
//补充信息更新到党员基本信息表
PartymemberInfoDTO partyMemberInfo = partymemberInfoService.getPartyMemberInfo(infoDTO);
infoDTO.setId(partyMemberInfo.getId());
partymemberInfoService.updateById(ConvertUtils.sourceToTarget(infoDTO, PartymemberInfoEntity.class));
//待审核数据存入党员认证人工审核表
PartymemberConfirmManualEntity manualEntity = new PartymemberConfirmManualEntity();
manualEntity.setCustomerId(infoDTO.getCustomerId());
manualEntity.setGridId(infoDTO.getGridId());
manualEntity.setUserId(infoDTO.getUserId());
manualEntity.setPartymemberInfoId(infoDTO.getId());
manualEntity.setAuditStatus(PartyMemberConstant.UNDER_AUDITTING);
partymemberConfirmManualService.insert(manualEntity);
return new Result();
}
/**
* 判断是否已注册居民如果没有则注册居民
*
* @param partyMemberInfoDTO 参数
*/
private void isResiRegister(PartymemberInfoDTO partyMemberInfoDTO) {
UserResiInfoFormDTO userResiInfoFormDTO = new UserResiInfoFormDTO();
userResiInfoFormDTO.setCustomerId(partyMemberInfoDTO.getCustomerId());
userResiInfoFormDTO.setUserId(partyMemberInfoDTO.getUserId());
Result<UserResiInfoDTO> userResiInfoResult = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO);
if (null == userResiInfoResult.getData()) {
//TODO 判断手机号是否可用
UserResiInfoDTO userResiInfoDTO = ConvertUtils.sourceToTarget(partyMemberInfoDTO, UserResiInfoDTO.class);
userResiInfoDTO.setRegMobile(partyMemberInfoDTO.getMobile());
epmetUserFeignClient.saveResiInfo(userResiInfoDTO);
//TODO 注册居民
}
}
/**
* 存入党员注册关系表 用于统计客户网格的认证党员数
*
* @param partyMemberInfoDTO 参数
*/
private void saveRegisterRelation(PartymemberInfoDTO partyMemberInfoDTO) {
PartymemberRegisterRelationEntity registerRelationEntity = new PartymemberRegisterRelationEntity();
registerRelationEntity.setCustomerId(partyMemberInfoDTO.getCustomerId());
registerRelationEntity.setGridId(partyMemberInfoDTO.getGridId());
registerRelationEntity.setUserId(partyMemberInfoDTO.getUserId());
registerRelationEntity.setFirstRegister(1);
registerRelationEntity.setRegister(1);
registerRelationEntity.setPartake(1);
partymemberRegisterRelationService.insert(registerRelationEntity);
}
/**
* 保存或者更新热心居民申请行为记录表
*
* @param visitId 主键
* @param fromDTO 参数
* @param operate 操作
* @return String
*/
private String saveOrUpdateVisit(String visitId, PartyMemberInitFromDTO fromDTO, String operate) {
PartymemberVisitEntity partymemberVisitEntity = new PartymemberVisitEntity(); PartymemberVisitEntity partymemberVisitEntity = new PartymemberVisitEntity();
partymemberVisitEntity.setId(fromDTO.getVisitId()); if (null == visitId) {
partymemberVisitEntity.setCustomerId(fromDTO.getCustomerId());
partymemberVisitEntity.setGridId(fromDTO.getGridId());
partymemberVisitEntity.setUserId(fromDTO.getUserId());
partymemberVisitEntity.setOperateVisit(operate);
partymemberVisitEntity.setVisitFrom(fromDTO.getVisitFrom());
partymemberVisitEntity.setVisitTime(new Date());
partymemberVisitService.insert(partymemberVisitEntity);
} else {
partymemberVisitEntity.setId(visitId);
partymemberVisitEntity.setVisitTime(new Date()); partymemberVisitEntity.setVisitTime(new Date());
partymemberVisitEntity.setOperateVisit(PartyMemberConstant.OPERATE_OPERATE_SMS_CODE); partymemberVisitEntity.setOperateVisit(operate);
partymemberVisitService.updateById(partymemberVisitEntity); partymemberVisitService.updateById(partymemberVisitEntity);
}
return result; return partymemberVisitEntity.getId();
} }
} }

173
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberBaseInfoServiceImpl.java

@ -23,19 +23,22 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.PartyMemberConstant;
import com.epmet.modules.partymember.dao.PartymemberBaseInfoDao; import com.epmet.modules.partymember.dao.PartymemberBaseInfoDao;
import com.epmet.modules.partymember.entity.PartymemberBaseInfoEntity; import com.epmet.modules.partymember.entity.PartymemberBaseInfoEntity;
import com.epmet.modules.partymember.redis.PartymemberBaseInfoRedis; import com.epmet.modules.partymember.redis.PartymemberBaseInfoRedis;
import com.epmet.modules.partymember.service.PartymemberBaseInfoService; import com.epmet.modules.partymember.service.PartymemberBaseInfoService;
import com.epmet.resi.partymember.dto.partymember.PartymemberBaseInfoDTO; import com.epmet.resi.partymember.dto.partymember.PartymemberBaseInfoDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberConfirmAutoDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import info.debatty.java.stringsimilarity.JaroWinkler;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.*;
import java.util.List; import java.util.stream.Collectors;
import java.util.Map;
/** /**
* 党员库基本信息表 * 党员库基本信息表
@ -49,6 +52,12 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl<PartymemberB
@Autowired @Autowired
private PartymemberBaseInfoRedis partymemberBaseInfoRedis; private PartymemberBaseInfoRedis partymemberBaseInfoRedis;
private final static String EQUAL = "11";
private final static int START = 0;
private final static int ID_CARD_COUNT = 2;
private final static int MOBILE_COUNT = 4;
private final static int NAME_COUNT = 6;
@Override @Override
public PageData<PartymemberBaseInfoDTO> page(Map<String, Object> params) { public PageData<PartymemberBaseInfoDTO> page(Map<String, Object> params) {
IPage<PartymemberBaseInfoEntity> page = baseDao.selectPage( IPage<PartymemberBaseInfoEntity> page = baseDao.selectPage(
@ -101,4 +110,162 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl<PartymemberB
baseDao.deleteBatchIds(Arrays.asList(ids)); baseDao.deleteBatchIds(Arrays.asList(ids));
} }
@Override
public PartymemberConfirmAutoDTO getPartyMemberBaseInfo(PartymemberInfoDTO partyMemberInfo) {
PartymemberConfirmAutoDTO confirmAutoDTO;
String name = partyMemberInfo.getSurname().concat(partyMemberInfo.getName());
List<PartymemberBaseInfoEntity> sortList = new ArrayList<>();
//根据身份证匹配数据
List<PartymemberBaseInfoEntity> idCardList = baseDao.selectBaseInfoByIdCard(partyMemberInfo);
if (null != idCardList && idCardList.size() > 0) {
//优先判断身份证和手机号
Optional<PartymemberBaseInfoEntity> matchingResult =
idCardList.stream().filter(baseInfo -> baseInfo.getMobile().equals(partyMemberInfo.getMobile())).findFirst();
if (matchingResult.isPresent()) {
confirmAutoDTO = getResult(matchingResult.get(), partyMemberInfo);
return confirmAutoDTO;
}
//判断身份证和姓名
matchingResult = idCardList.stream().filter(baseInfo -> baseInfo.getName().equals(name)).findFirst();
if (matchingResult.isPresent()) {
confirmAutoDTO = getResult(matchingResult.get(), partyMemberInfo);
return confirmAutoDTO;
}
//获取匹配度最高的数据
sortList.add(idCardList.stream().sorted(Comparator.comparing((PartymemberBaseInfoEntity p) ->
getSimilarity(p, partyMemberInfo)).reversed()).collect(Collectors.toList()).get(0));
} else {
//根据手机号匹配数据
List<PartymemberBaseInfoEntity> mobileList = baseDao.selectBaseInfoByIdCard(partyMemberInfo);
if (null != mobileList && mobileList.size() > 0) {
//判断手机号和姓名
Optional<PartymemberBaseInfoEntity> matchingResult =
mobileList.stream().filter(baseInfo -> baseInfo.getName().equals(name)).findFirst();
if (matchingResult.isPresent()) {
confirmAutoDTO = getResult(matchingResult.get(), partyMemberInfo);
return confirmAutoDTO;
}
//获取匹配度最高的数据
sortList.add(mobileList.stream().sorted(Comparator.comparing((PartymemberBaseInfoEntity p) ->
getSimilarity(p, partyMemberInfo)).reversed()).collect(Collectors.toList()).get(0));
} else {
//根据姓名匹配数据
List<PartymemberBaseInfoEntity> nameList = baseDao.selectBaseInfoByIdCard(partyMemberInfo);
if (null != nameList && nameList.size() > 0) {
//获取匹配度最高的数据
sortList.add(nameList.stream().sorted(Comparator.comparing((PartymemberBaseInfoEntity p) ->
getSimilarity(p, partyMemberInfo)).reversed()).collect(Collectors.toList()).get(0));
PartymemberBaseInfoEntity similar =
nameList.stream().sorted(Comparator.comparing((PartymemberBaseInfoEntity p) ->
getSimilarity(p, partyMemberInfo)).reversed()).collect(Collectors.toList()).get(0);
confirmAutoDTO = getResult(similar, partyMemberInfo);
return confirmAutoDTO;
}
}
}
return null;
}
/**
* 生成返回结果
*
* @param baseInfo 基本信息
* @param info 录入信息
* @return PartymemberConfirmAutoDTO
*/
private PartymemberConfirmAutoDTO getResult(PartymemberBaseInfoEntity baseInfo, PartymemberInfoDTO info) {
PartymemberConfirmAutoDTO confirmAutoDTO = new PartymemberConfirmAutoDTO();
confirmAutoDTO.setPatryMemberBaseInfoId(baseInfo.getId());
confirmAutoDTO.setBaseName(baseInfo.getName());
confirmAutoDTO.setInputName(info.getSurname().concat(info.getName()));
confirmAutoDTO.setBaseIdCard(baseInfo.getIdCard());
confirmAutoDTO.setInputIdCard(info.getIdCard());
confirmAutoDTO.setBaseMobile(baseInfo.getMobile());
confirmAutoDTO.setInputMobile(info.getIdCard());
confirmAutoDTO.setContrastTime(new Date());
String result = getSimilarity(baseInfo, info);
//身份证比对结果
if (EQUAL.equals(result.substring(START, ID_CARD_COUNT))) {
confirmAutoDTO.setIdCardResult(PartyMemberConstant.SAME);
} else {
confirmAutoDTO.setIdCardResult(PartyMemberConstant.DIFF);
}
//手机号比对结果
if (EQUAL.equals(result.substring(ID_CARD_COUNT, MOBILE_COUNT))) {
confirmAutoDTO.setMobileResult(PartyMemberConstant.SAME);
} else {
confirmAutoDTO.setMobileResult(PartyMemberConstant.DIFF);
}
//姓名比对结果
if (EQUAL.equals(result.substring(MOBILE_COUNT, NAME_COUNT))) {
confirmAutoDTO.setNameResult(PartyMemberConstant.SAME);
} else {
confirmAutoDTO.setNameResult(PartyMemberConstant.DIFF);
}
confirmAutoDTO.setResult(result);
return confirmAutoDTO;
}
/**
* 相似度判断
*
* @param baseInfo 基本信息
* @param info 录入信息
* @return String
*/
private String getSimilarity(PartymemberBaseInfoEntity baseInfo, PartymemberInfoDTO info) {
String result = "";
JaroWinkler jw = new JaroWinkler();
double idCardResult = jw.similarity(baseInfo.getIdCard(), info.getIdCard());
double mobileResult = jw.similarity(baseInfo.getMobile(), info.getMobile());
double nameResult = jw.similarity(baseInfo.getName(), info.getName());
if (idCardResult > PartyMemberConstant.MOST) {
result.concat("10");
} else if (idCardResult < PartyMemberConstant.SMALL) {
result.concat("00");
} else {
result.concat("01");
}
if (mobileResult > PartyMemberConstant.MOST) {
result.concat("10");
} else if (mobileResult < PartyMemberConstant.SMALL) {
result.concat("00");
} else {
result.concat("01");
}
if (nameResult > PartyMemberConstant.MOST) {
result.concat("10");
} else if (nameResult < PartyMemberConstant.SMALL) {
result.concat("00");
} else {
result.concat("01");
}
return result;
}
} }

2
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedApplyDao.java

@ -40,5 +40,5 @@ public interface ResiWarmheartedApplyDao extends BaseDao<ResiWarmheartedApplyEnt
*/ */
ResiWarmheartedApplyDTO selectResiWarmheartedApply(ResiWarmheartedFormDTO formDTO); ResiWarmheartedApplyDTO selectResiWarmheartedApply(ResiWarmheartedFormDTO formDTO);
void saveResiWarmApply(ResiWarmheartedApplyDTO entity); boolean saveResiWarmApply(ResiWarmheartedApplyDTO entity);
} }

4
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedVisitDao.java

@ -34,6 +34,6 @@ import javax.management.relation.RelationSupport;
@Mapper @Mapper
public interface ResiWarmheartedVisitDao extends BaseDao<ResiWarmheartedVisitEntity> { public interface ResiWarmheartedVisitDao extends BaseDao<ResiWarmheartedVisitEntity> {
void saveResiWarmheartedVisit(ResiWarmheartedVisitDTO resiWarmheartedVisitDTO); boolean saveResiWarmheartedVisit(ResiWarmheartedVisitDTO resiWarmheartedVisitDTO);
void updateResiWarmVisitById(ResiWarmheartedVisitDTO resiWarmheartedVisitDTO); boolean updateResiWarmVisitById(ResiWarmheartedVisitDTO resiWarmheartedVisitDTO);
} }

2
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedVisitService.java

@ -104,7 +104,7 @@ public interface ResiWarmheartedVisitService extends BaseService<ResiWarmhearted
* @return void * @return void
* @author sun * @author sun
*/ */
ResiWarmheartedResultDTO saveResiWarmheartedVisit(ResiWarmheartedFormDTO formDTO); Result<ResiWarmheartedResultDTO> saveResiWarmheartedVisit(ResiWarmheartedFormDTO formDTO);
/** /**
* 居民端-热心居民申请提交-更新行为记录数据 * 居民端-热心居民申请提交-更新行为记录数据

12
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java

@ -122,7 +122,11 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Result<ResiWarmheartedResultDTO> init(ResiWarmheartedFormDTO formDTO) { public Result<ResiWarmheartedResultDTO> init(ResiWarmheartedFormDTO formDTO) {
//1:热心居民申请行为记录表新增数据 //1:热心居民申请行为记录表新增数据
ResiWarmheartedResultDTO resiWarmheartedResultDTO = resiWarmheartedVisitService.saveResiWarmheartedVisit(formDTO); Result<ResiWarmheartedResultDTO> result = resiWarmheartedVisitService.saveResiWarmheartedVisit(formDTO);
if(!result.success()){
log.warn(ResiWarmheartedVisitConstant.OPERATION_EXCEPTION);
}
ResiWarmheartedResultDTO resiWarmheartedResultDTO = result.getData();
//2:查询是否已申请热心居民 //2:查询是否已申请热心居民
ResiWarmheartedApplyDTO resiWarmheartedApplyDTO = resiWarmheartedApplyDao.selectResiWarmheartedApply(formDTO); ResiWarmheartedApplyDTO resiWarmheartedApplyDTO = resiWarmheartedApplyDao.selectResiWarmheartedApply(formDTO);
if (null == resiWarmheartedApplyDTO || StringUtils.isEmpty(resiWarmheartedApplyDTO.getId())) { if (null == resiWarmheartedApplyDTO || StringUtils.isEmpty(resiWarmheartedApplyDTO.getId())) {
@ -135,6 +139,7 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public Result submit(ResiWarmheartedSubmitFormDTO formDTO) { public Result submit(ResiWarmheartedSubmitFormDTO formDTO) {
//1:将申请记录存入热心居民申请表中 //1:将申请记录存入热心居民申请表中
saveResiWarmApply(formDTO); saveResiWarmApply(formDTO);
@ -148,7 +153,6 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
* @param formDTO * @param formDTO
* @return * @return
*/ */
@Transactional(rollbackFor = Exception.class)
public void saveResiWarmApply(ResiWarmheartedSubmitFormDTO formDTO) { public void saveResiWarmApply(ResiWarmheartedSubmitFormDTO formDTO) {
Date date = new Date(); Date date = new Date();
ResiWarmheartedApplyDTO resiWarmheartedApplyDTO = new ResiWarmheartedApplyDTO(); ResiWarmheartedApplyDTO resiWarmheartedApplyDTO = new ResiWarmheartedApplyDTO();
@ -166,7 +170,9 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
resiWarmheartedApplyDTO.setCreatedTime(date); resiWarmheartedApplyDTO.setCreatedTime(date);
resiWarmheartedApplyDTO.setUpdatedBy(formDTO.getUserId()); resiWarmheartedApplyDTO.setUpdatedBy(formDTO.getUserId());
resiWarmheartedApplyDTO.setUpdatedTime(date); resiWarmheartedApplyDTO.setUpdatedTime(date);
resiWarmheartedApplyDao.saveResiWarmApply(resiWarmheartedApplyDTO); if(!resiWarmheartedApplyDao.saveResiWarmApply(resiWarmheartedApplyDTO)){
log.error(ResiWarmheartedVisitConstant.OPERATION_EXCEPTION);
}
} }
} }

23
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedVisitServiceImpl.java

@ -36,6 +36,8 @@ import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedFormDTO;
import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedSubmitFormDTO; import com.epmet.resi.partymember.dto.warmhearted.form.ResiWarmheartedSubmitFormDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -54,6 +56,7 @@ import java.util.Map;
@Service @Service
public class ResiWarmheartedVisitServiceImpl extends BaseServiceImpl<ResiWarmheartedVisitDao, ResiWarmheartedVisitEntity> implements ResiWarmheartedVisitService { public class ResiWarmheartedVisitServiceImpl extends BaseServiceImpl<ResiWarmheartedVisitDao, ResiWarmheartedVisitEntity> implements ResiWarmheartedVisitService {
private static final Logger log = LoggerFactory.getLogger(ResiWarmheartedVisitServiceImpl.class);
@Autowired @Autowired
private ResiWarmheartedVisitRedis resiWarmheartedVisitRedis; private ResiWarmheartedVisitRedis resiWarmheartedVisitRedis;
@Autowired @Autowired
@ -112,7 +115,7 @@ public class ResiWarmheartedVisitServiceImpl extends BaseServiceImpl<ResiWarmhea
} }
@Override @Override
public ResiWarmheartedResultDTO saveResiWarmheartedVisit(ResiWarmheartedFormDTO formDTO) { public Result<ResiWarmheartedResultDTO> saveResiWarmheartedVisit(ResiWarmheartedFormDTO formDTO) {
Date date = new Date(); Date date = new Date();
ResiWarmheartedVisitDTO resiWarmheartedVisitDTO = new ResiWarmheartedVisitDTO(); ResiWarmheartedVisitDTO resiWarmheartedVisitDTO = new ResiWarmheartedVisitDTO();
resiWarmheartedVisitDTO.setCustomerId(formDTO.getCustomerId()); resiWarmheartedVisitDTO.setCustomerId(formDTO.getCustomerId());
@ -130,28 +133,24 @@ public class ResiWarmheartedVisitServiceImpl extends BaseServiceImpl<ResiWarmhea
resiWarmheartedVisitDTO.setCreatedTime(date); resiWarmheartedVisitDTO.setCreatedTime(date);
resiWarmheartedVisitDTO.setUpdatedBy(formDTO.getUserId()); resiWarmheartedVisitDTO.setUpdatedBy(formDTO.getUserId());
resiWarmheartedVisitDTO.setUpdatedTime(date); resiWarmheartedVisitDTO.setUpdatedTime(date);
resiWarmheartedVisitDao.saveResiWarmheartedVisit(resiWarmheartedVisitDTO); if(!resiWarmheartedVisitDao.saveResiWarmheartedVisit(resiWarmheartedVisitDTO)){
log.error(ResiWarmheartedVisitConstant.OPERATION_EXCEPTION);
}
ResiWarmheartedResultDTO resiWarmheartedResultDTO = new ResiWarmheartedResultDTO(); ResiWarmheartedResultDTO resiWarmheartedResultDTO = new ResiWarmheartedResultDTO();
resiWarmheartedResultDTO.setResiWarmVisitId(resiWarmheartedVisitDTO.getId()); resiWarmheartedResultDTO.setResiWarmVisitId(resiWarmheartedVisitDTO.getId());
return resiWarmheartedResultDTO; return new Result<ResiWarmheartedResultDTO>().ok(resiWarmheartedResultDTO);
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void updateResiWarmVisit(ResiWarmheartedSubmitFormDTO formDTO) { public void updateResiWarmVisit(ResiWarmheartedSubmitFormDTO formDTO) {
ResiWarmheartedVisitDTO resiWarmheartedVisitDTO = new ResiWarmheartedVisitDTO(); ResiWarmheartedVisitDTO resiWarmheartedVisitDTO = new ResiWarmheartedVisitDTO();
resiWarmheartedVisitDTO.setOperateVisit(ResiWarmheartedVisitConstant.SUCCESS); resiWarmheartedVisitDTO.setOperateVisit(ResiWarmheartedVisitConstant.SUCCESS);
/*if (true) {
//最后一次操作行为-提交成功
resiWarmheartedVisitDTO.setOperateVisit(ResiWarmheartedVisitConstant.SUCCESS);
} else {
//最后一次操作行为-提交失败
resiWarmheartedVisitDTO.setOperateVisit(ResiWarmheartedVisitConstant.FAILD);
}*/
resiWarmheartedVisitDTO.setId(formDTO.getResiWarmVisitId()); resiWarmheartedVisitDTO.setId(formDTO.getResiWarmVisitId());
resiWarmheartedVisitDTO.setUpdatedBy(formDTO.getUserId()); resiWarmheartedVisitDTO.setUpdatedBy(formDTO.getUserId());
resiWarmheartedVisitDTO.setUpdatedTime(new Date()); resiWarmheartedVisitDTO.setUpdatedTime(new Date());
resiWarmheartedVisitDao.updateResiWarmVisitById(resiWarmheartedVisitDTO); if(!resiWarmheartedVisitDao.updateResiWarmVisitById(resiWarmheartedVisitDTO)){
log.error(ResiWarmheartedVisitConstant.OPERATION_EXCEPTION);
}
} }
} }

35
epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberBaseInfoDao.xml

@ -18,6 +18,41 @@
<result property="updatedBy" column="UPDATED_BY"/> <result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/> <result property="updatedTime" column="UPDATED_TIME"/>
</resultMap> </resultMap>
<!-- 根据身份证,手机号,姓名匹配数据 -->
<select id="selectBaseInfoByIdCard"
resultType="com.epmet.modules.partymember.entity.PartymemberBaseInfoEntity"
parameterType="com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO">
SELECT
*
FROM
partymember_base_info
WHERE
CUSTOMER_ID = #{customerId}
AND ID_CARD = #{idCard}
AND DEL_FLAG = 0
</select>
<select id="selectBaseInfoByMobile"
resultType="com.epmet.modules.partymember.entity.PartymemberBaseInfoEntity">
SELECT
*
FROM
partymember_base_info
WHERE
CUSTOMER_ID = #{customerId}
AND MOBILE = #{mobile}
AND DEL_FLAG = 0
</select>
<select id="selectBaseInfoByName"
resultType="com.epmet.modules.partymember.entity.PartymemberBaseInfoEntity">
SELECT
*
FROM
partymember_base_info
WHERE
CUSTOMER_ID = #{customerId}
AND NAME = CONCAT(#{surname}, #{name})
AND DEL_FLAG = 0
</select>
</mapper> </mapper>

8
epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberInfoDao.xml

@ -17,6 +17,7 @@
<result property="street" column="STREET"/> <result property="street" column="STREET"/>
<result property="estate" column="ESTATE"/> <result property="estate" column="ESTATE"/>
<result property="building" column="BUILDING"/> <result property="building" column="BUILDING"/>
<result property="organizationType" column="ORGANIZATION_TYPE"/>
<result property="extraOrganization" column="EXTRA_ORGANIZATION"/> <result property="extraOrganization" column="EXTRA_ORGANIZATION"/>
<result property="extraCertifierName" column="EXTRA_CERTIFIER_NAME"/> <result property="extraCertifierName" column="EXTRA_CERTIFIER_NAME"/>
<result property="extraCertifierMobile" column="EXTRA_CERTIFIER_MOBILE"/> <result property="extraCertifierMobile" column="EXTRA_CERTIFIER_MOBILE"/>
@ -32,7 +33,7 @@
SELECT SELECT
* *
FROM FROM
partymember_info epmet_resi_partymember.partymember_info
WHERE WHERE
CUSTOMER_ID = #{customerId} CUSTOMER_ID = #{customerId}
AND GRID_ID = #{gridId} AND GRID_ID = #{gridId}
@ -45,9 +46,10 @@
SELECT SELECT
* *
FROM FROM
partymember_info epmet_resi_partymember.partymember_info
WHERE WHERE
MOBILE = #{mobile} CUSTOMER_ID = #{customerId}
AND MOBILE = #{mobile}
AND DEL_FLAG = 0 AND DEL_FLAG = 0
</select> </select>

10
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserResiInfoController.java

@ -126,4 +126,14 @@ public class UserResiInfoController {
return userResiInfoService.getVerificationCode(formDTO); return userResiInfoService.getVerificationCode(formDTO);
} }
/**
* 党员认证时如果没有注册居民则注册居民信息
* @param userResiInfoDTO
* @author zhaoqifeng
**/
@PostMapping("saveResiInfo")
public Result saveResiInfo (@RequestBody UserResiInfoDTO userResiInfoDTO) {
return userResiInfoService.saveResiInfo(userResiInfoDTO);
}
} }

9
epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiInfoService.java

@ -121,4 +121,13 @@ public interface UserResiInfoService extends BaseService<UserResiInfoEntity> {
* @author sun * @author sun
*/ */
Result getVerificationCode(VerificationCodeFormDTO formDTO); Result getVerificationCode(VerificationCodeFormDTO formDTO);
/**
* 注册居民信息
*
* @param userResiInfoDTO 参数
* @return Result
* @author zhaoqifeng
*/
Result saveResiInfo(UserResiInfoDTO userResiInfoDTO);
} }

31
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java

@ -32,6 +32,7 @@ import com.epmet.dto.UserResiInfoDTO;
import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.dto.form.UserResiInfoFormDTO;
import com.epmet.dto.form.VerificationCodeFormDTO; import com.epmet.dto.form.VerificationCodeFormDTO;
import com.epmet.entity.UserResiInfoEntity; import com.epmet.entity.UserResiInfoEntity;
import com.epmet.entity.UserResiRegisterVisitEntity;
import com.epmet.redis.UserResiInfoRedis; import com.epmet.redis.UserResiInfoRedis;
import com.epmet.service.RegisterRelationService; import com.epmet.service.RegisterRelationService;
import com.epmet.service.UserResiInfoService; import com.epmet.service.UserResiInfoService;
@ -198,6 +199,31 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
return result; return result;
} }
@Override
public Result saveResiInfo(UserResiInfoDTO userResiInfoDTO) {
Result result = new Result();
//判断手机号是否可用
if (getResiInfoByMobile(userResiInfoDTO.getRegMobile())) {
UserResiRegisterVisitEntity visitEntity = new UserResiRegisterVisitEntity();
visitEntity.setCustomerId(userResiInfoDTO.getCustomerId());
visitEntity.setGridId(userResiInfoDTO.getGridId());
visitEntity.setUserId(userResiInfoDTO.getUserId());
visitEntity.setLastOperateVisit(UserResiRegisterConstant.SUCCESS);
//TODO
visitEntity.setVisitFrom("党员认证");
visitEntity.setVisitTime(new Date());
userResiRegisterVisitService.insert(visitEntity);
//数据存入居民注册表
userResiInfoDTO.setResiVisitId(visitEntity.getId());
saveUserResiInfo(userResiInfoDTO);
//4:居民注册关系表新增数据 首次注册数加一 注册数加一 参与数加一
registerRelationService.saveRegisterRelation(userResiInfoDTO);
}
return result;
}
/** /**
* 判断手机号是否可用-根据手机号查询居民注册信息(user_resi_info)表数据 * 判断手机号是否可用-根据手机号查询居民注册信息(user_resi_info)表数据
* *
@ -207,10 +233,7 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
*/ */
private Boolean getResiInfoByMobile(String mobile) { private Boolean getResiInfoByMobile(String mobile) {
Boolean bl = true; Boolean bl = true;
if (StringUtils.isBlank(mobile)) {
log.error(UserResiRegisterConstant.PARAMETER_ERROR);
return bl;
}
List<UserResiInfoDTO> list = userResiInfoDao.selectResiInfoByMobile(mobile); List<UserResiInfoDTO> list = userResiInfoDao.selectResiInfoByMobile(mobile);
if (list.size() > 0) { if (list.size() > 0) {
bl = false; bl = false;

Loading…
Cancel
Save