Browse Source

Merge branch 'dev0.2' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev0.2

# Conflicts:
#	epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
dev
wxz 5 years ago
parent
commit
a4e8dd826a
  1. 9
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  2. 2
      epmet-module/epmet-message/epmet-message-server/pom.xml
  3. 2
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml
  4. 25
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/resiregister/service/impl/ResiRegisterServiceImpl.java
  5. 4
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java
  6. 6
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedServiceImpl.java
  7. 24
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetMessageFeignClient.java
  8. 21
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetMessageFeignClientFallback.java
  9. 31
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java
  10. 19
      epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserResiRegisterConstant.java
  11. 20
      epmet-user/epmet-user-server/src/main/java/com/epmet/feign/MessageFeignClient.java
  12. 20
      epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/MessageFeignClientFallback.java
  13. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserResiInfoRedis.java
  14. 39
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java
  15. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiRegisterVisitServiceImpl.java

9
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -16,9 +16,16 @@ public enum EpmetErrorCode {
MOBILE_HAS_BEEN_USED(8101, "该手机已被使用,请更换手机或使用原绑定的微信用户登录"), MOBILE_HAS_BEEN_USED(8101, "该手机已被使用,请更换手机或使用原绑定的微信用户登录"),
MOBILE_CODE_ERROR(8102, "手机验证码错误"), MOBILE_CODE_ERROR(8102, "手机验证码错误"),
AUTO_CONFIRM_FAILED(8103, "自动认证失败"), AUTO_CONFIRM_FAILED(8103, "自动认证失败"),
MESSAGE_SMS_SEND_ERROR(8104, "短信发送失败"); MESSAGE_SMS_SEND_ERROR(8104, "短信发送失败"),
/**
* 手机号已存在
*/
MOBILE_EXIST(8201, "该手机号已注册居民,请使用其他手机号注册!"),
PARAMETER_EXCEPTION(8202, "必要参数存在空值或手机号输入不合规,请检查参数赋值情况!!"),
UPDATE_EXCEPTION(8203, "用户居民注册访问记录表更新数据失败!");
private int value; private int value;
private String name; private String name;

2
epmet-module/epmet-message/epmet-message-server/pom.xml

@ -139,7 +139,7 @@
<spring.redis.port>6379</spring.redis.port> <spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password> <spring.redis.password>123456</spring.redis.password>
<!-- nacos --> <!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled> <nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr> <nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace> <nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace> <nacos.config.namespace></nacos.config.namespace>

2
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml

@ -24,7 +24,7 @@
rgs.TOTAL_MEMBERS , rgs.TOTAL_MEMBERS ,
rgs.TOTAL_PARTY_MEMBERS , rgs.TOTAL_PARTY_MEMBERS ,
rg.STATE , rg.STATE ,
rgm.GROUP_LEADER_FLAG AS groupLeaderFlag rgm.GROUP_LEADER_FLAG
FROM FROM
resi_group_member rgm resi_group_member rgm
LEFT JOIN resi_group rg ON ( rgm.RESI_GROUP_ID = rg.ID ) LEFT JOIN resi_group rg ON ( rgm.RESI_GROUP_ID = rg.ID )

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

@ -1,5 +1,6 @@
package com.epmet.modules.resiregister.service.impl; package com.epmet.modules.resiregister.service.impl;
import com.epmet.commons.tools.exception.EpmetErrorCode;
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.UserResiInfoDTO; import com.epmet.dto.UserResiInfoDTO;
@ -14,6 +15,8 @@ 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 java.util.regex.Pattern;
/** /**
* @Description 居民端居民注册信息service * @Description 居民端居民注册信息service
* @Author sun * @Author sun
@ -38,7 +41,7 @@ public class ResiRegisterServiceImpl implements ResiRegisterService {
if (null == formDTO || StringUtils.isBlank(formDTO.getCustomerId()) if (null == formDTO || StringUtils.isBlank(formDTO.getCustomerId())
|| StringUtils.isBlank(formDTO.getGridId()) || StringUtils.isBlank(formDTO.getGridId())
|| StringUtils.isBlank(formDTO.getVisitFrom())) { || StringUtils.isBlank(formDTO.getVisitFrom())) {
return new Result<ResiRegisterResultDTO>().error(ModuleConstant.PARAMETER_EXCEPTION); return new Result<ResiRegisterResultDTO>().error(EpmetErrorCode.PARAMETER_EXCEPTION.getName());
} }
formDTO.setUserId(tokenDTO.getUserId()); formDTO.setUserId(tokenDTO.getUserId());
return epmetUserFeignClient.init(formDTO); return epmetUserFeignClient.init(formDTO);
@ -57,7 +60,7 @@ public class ResiRegisterServiceImpl implements ResiRegisterService {
if (null == resiInfoSubmitFormDTO || StringUtils.isBlank(resiInfoSubmitFormDTO.getCustomerId()) if (null == resiInfoSubmitFormDTO || StringUtils.isBlank(resiInfoSubmitFormDTO.getCustomerId())
|| StringUtils.isBlank(resiInfoSubmitFormDTO.getGridId()) || StringUtils.isBlank(resiInfoSubmitFormDTO.getGridId())
|| StringUtils.isBlank(resiInfoSubmitFormDTO.getResiVisitId())) { || StringUtils.isBlank(resiInfoSubmitFormDTO.getResiVisitId())) {
return new Result().error(ModuleConstant.PARAMETER_EXCEPTION); return new Result().error(EpmetErrorCode.PARAMETER_EXCEPTION.getName());
} }
UserResiInfoDTO userResiInfoDTO = resiInfoSubmitFormDTO.getResiInfo(); UserResiInfoDTO userResiInfoDTO = resiInfoSubmitFormDTO.getResiInfo();
userResiInfoDTO.setUserId(tokenDTO.getUserId()); userResiInfoDTO.setUserId(tokenDTO.getUserId());
@ -79,11 +82,25 @@ public class ResiRegisterServiceImpl implements ResiRegisterService {
return new Result().error(ModuleConstant.USER_NOT_NULL); return new Result().error(ModuleConstant.USER_NOT_NULL);
} }
if (null == formDTO || StringUtils.isBlank(formDTO.getMobile()) if (null == formDTO || StringUtils.isBlank(formDTO.getMobile())
|| StringUtils.isBlank(formDTO.getResiVisitId())) { || StringUtils.isBlank(formDTO.getResiVisitId())
return new Result<ResiRegisterResultDTO>().error(ModuleConstant.PARAMETER_EXCEPTION); || !validateMobile(formDTO.getMobile())) {
return new Result<ResiRegisterResultDTO>().error(EpmetErrorCode.PARAMETER_EXCEPTION.getName());
} }
formDTO.setUserId(tokenDTO.getUserId()); formDTO.setUserId(tokenDTO.getUserId());
return epmetUserFeignClient.getVerificationCode(formDTO); return epmetUserFeignClient.getVerificationCode(formDTO);
} }
/**
* 校验手机号是否合规
*
* @param mobile
* @return
* @Author sun
*/
private static boolean validateMobile(String mobile) {
//Pattern pattern = Pattern.compile("^[1]\\d{10}$");
Pattern pattern = Pattern.compile("^[1][3,4,5,7,8][0-9]{9}$");
return pattern.matcher(mobile).matches();
}
} }

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

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

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

@ -1,8 +1,8 @@
package com.epmet.modules.warmhearted.service.impl; package com.epmet.modules.warmhearted.service.impl;
import com.epmet.commons.tools.exception.EpmetErrorCode;
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;
@ -37,7 +37,7 @@ public class ResiWarmheartedServiceImpl implements ResiWarmheartedService {
if (null == formDTO || StringUtils.isBlank(formDTO.getCustomerId()) if (null == formDTO || StringUtils.isBlank(formDTO.getCustomerId())
|| StringUtils.isBlank(formDTO.getGridId()) || StringUtils.isBlank(formDTO.getGridId())
|| StringUtils.isBlank(formDTO.getVisitFrom())) { || StringUtils.isBlank(formDTO.getVisitFrom())) {
return new Result<ResiWarmheartedResultDTO>().error(ModuleConstant.PARAMETER_EXCEPTION); return new Result<ResiWarmheartedResultDTO>().error(EpmetErrorCode.PARAMETER_EXCEPTION.getName());
} }
formDTO.setUserId(tokenDTO.getUserId()); formDTO.setUserId(tokenDTO.getUserId());
return resiPartymemberFeignClient.init(formDTO); return resiPartymemberFeignClient.init(formDTO);
@ -57,7 +57,7 @@ public class ResiWarmheartedServiceImpl implements ResiWarmheartedService {
|| StringUtils.isBlank(formDTO.getGridId()) || StringUtils.isBlank(formDTO.getGridId())
|| StringUtils.isBlank(formDTO.getResiWarmVisitId()) || StringUtils.isBlank(formDTO.getResiWarmVisitId())
|| StringUtils.isBlank(formDTO.getReason())) { || StringUtils.isBlank(formDTO.getReason())) {
return new Result<ResiWarmheartedResultDTO>().error(ModuleConstant.PARAMETER_EXCEPTION); return new Result<ResiWarmheartedResultDTO>().error(EpmetErrorCode.PARAMETER_EXCEPTION.getName());
} }
formDTO.setUserId(tokenDTO.getUserId()); formDTO.setUserId(tokenDTO.getUserId());
return resiPartymemberFeignClient.submit(formDTO); return resiPartymemberFeignClient.submit(formDTO);

24
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetMessageFeignClient.java

@ -0,0 +1,24 @@
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.EpmetMessageFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
/**
* @author kamui
*/
@FeignClient(name = ServiceConstant.EPMET_MESSAGE_SERVER, fallback = EpmetMessageFeignClientFallback.class)
public interface EpmetMessageFeignClient {
/**
* 发送短信验证码
* @param mobile 手机号
* @return Result
*/
@GetMapping(value = "message/sms/captcha/{mobile}")
Result sendSmsCaptcha(@PathVariable String mobile);
}

21
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetMessageFeignClientFallback.java

@ -0,0 +1,21 @@
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.EpmetMessageFeignClient;
import org.springframework.stereotype.Component;
/**
* 消息服务降级
* @author zhaoqifeng
*/
@Component
public class EpmetMessageFeignClientFallback implements EpmetMessageFeignClient {
@Override
public Result sendSmsCaptcha(String mobile) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "sendSmsCaptcha", mobile);
}
}

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

@ -8,6 +8,7 @@ import com.epmet.constant.PartyMemberConstant;
import com.epmet.dto.UserResiInfoDTO; import com.epmet.dto.UserResiInfoDTO;
import com.epmet.dto.UserRoleDTO; import com.epmet.dto.UserRoleDTO;
import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.dto.form.UserResiInfoFormDTO;
import com.epmet.modules.feign.EpmetMessageFeignClient;
import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.partymember.entity.*; import com.epmet.modules.partymember.entity.*;
import com.epmet.modules.partymember.redis.PartymemberInfoRedis; import com.epmet.modules.partymember.redis.PartymemberInfoRedis;
@ -17,11 +18,13 @@ 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.PartymemberConfirmAutoDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO; import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import lombok.extern.slf4j.Slf4j;
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.Date; import java.util.Date;
import java.util.Map;
/** /**
* 党员认证 * 党员认证
@ -30,6 +33,7 @@ import java.util.Date;
* @date 2020/3/30 14:01 * @date 2020/3/30 14:01
*/ */
@Service @Service
@Slf4j
public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService { public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService {
@Autowired @Autowired
@ -48,6 +52,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
private PartymemberConfirmManualService partymemberConfirmManualService; private PartymemberConfirmManualService partymemberConfirmManualService;
@Autowired @Autowired
private PartymemberRegisterRelationService partymemberRegisterRelationService; private PartymemberRegisterRelationService partymemberRegisterRelationService;
@Autowired
private EpmetMessageFeignClient messageFeignClient;
private final static String BENCHMARK = "110010"; private final static String BENCHMARK = "110010";
@ -74,8 +80,13 @@ 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 = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO); UserResiInfoDTO userResiInfoResult = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO).getData();
result.setPartyMemberInfo(ConvertUtils.sourceToTarget(userResiInfoResult.getData(), PartymemberInfoDTO.class)); PartymemberInfoDTO partyMemberInfo = ConvertUtils.sourceToTarget(userResiInfoResult,
PartymemberInfoDTO.class);
partyMemberInfo.setMobile(userResiInfoResult.getRegMobile());
partyMemberInfo.setEstate(userResiInfoResult.getDistrict());
partyMemberInfo.setBuilding(userResiInfoResult.getBuildingAddress());
result.setPartyMemberInfo(partyMemberInfo);
} }
// 将访问行为存入热心居民申请行为记录表 // 将访问行为存入热心居民申请行为记录表
@ -95,17 +106,21 @@ 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 code待定
result.setCode(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getValue()); result.setCode(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getValue());
result.setMsg(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getName()); result.setMsg(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getName());
return result; return result;
} }
//TODO 生成短信验证码 //生成短信验证码
String code = "0000"; Map<String, String> message = (Map<String, String>) messageFeignClient.sendSmsCaptcha(fromDTO.getMobile()).getData();
if(null == message) {
result.setCode(EpmetErrorCode.MOBILE_GET_CODE_ERROR.getValue());
result.setMsg(EpmetErrorCode.MOBILE_GET_CODE_ERROR.getName());
return result;
}
//将验证码存入Redis //将验证码存入Redis
partyMemberInfoRedis.setUserMobileCode(fromDTO.getUserId(), fromDTO.getMobile(), code); partyMemberInfoRedis.setUserMobileCode(fromDTO.getUserId(), fromDTO.getMobile(), message.get("code"));
//将访问记录更新到热心居民申请行为记录表 //将访问记录更新到热心居民申请行为记录表
saveOrUpdateVisit(fromDTO.getVisitId(), null, PartyMemberConstant.OPERATE_OPERATE_SMS_CODE); saveOrUpdateVisit(fromDTO.getVisitId(), null, PartyMemberConstant.OPERATE_OPERATE_SMS_CODE);
@ -125,7 +140,6 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
if (null == code) { if (null == code) {
saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null,
PartyMemberConstant.OPERATE_AUTO_FAILED); PartyMemberConstant.OPERATE_AUTO_FAILED);
//TODO code待定
result.setCode(EpmetErrorCode.MOBILE_CODE_ERROR.getValue()); result.setCode(EpmetErrorCode.MOBILE_CODE_ERROR.getValue());
result.setMsg(EpmetErrorCode.MOBILE_CODE_ERROR.getName()); result.setMsg(EpmetErrorCode.MOBILE_CODE_ERROR.getName());
return result; return result;
@ -147,7 +161,6 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
partyMemberInfoEntity.setConfirmResult("1"); partyMemberInfoEntity.setConfirmResult("1");
partymemberInfoService.insert(partyMemberInfoEntity); partymemberInfoService.insert(partyMemberInfoEntity);
//TODO code待定
result.setCode(EpmetErrorCode.AUTO_CONFIRM_FAILED.getValue()); result.setCode(EpmetErrorCode.AUTO_CONFIRM_FAILED.getValue());
result.setMsg(EpmetErrorCode.AUTO_CONFIRM_FAILED.getName()); result.setMsg(EpmetErrorCode.AUTO_CONFIRM_FAILED.getName());
} else { } else {
@ -248,7 +261,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
* @return String * @return String
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
private String saveOrUpdateVisit(String visitId, PartyMemberInitFromDTO fromDTO, String operate) { public String saveOrUpdateVisit(String visitId, PartyMemberInitFromDTO fromDTO, String operate) {
PartymemberVisitEntity partymemberVisitEntity = new PartymemberVisitEntity(); PartymemberVisitEntity partymemberVisitEntity = new PartymemberVisitEntity();
if (null == visitId) { if (null == visitId) {
partymemberVisitEntity.setCustomerId(fromDTO.getCustomerId()); partymemberVisitEntity.setCustomerId(fromDTO.getCustomerId());

19
epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserResiRegisterConstant.java

@ -35,23 +35,4 @@ public interface UserResiRegisterConstant {
*/ */
String FAILD="faild"; String FAILD="faild";
/**
* 最后一次操作行为-提交失败
*/
String MOBILECODE_EXCEPTION="手机验证码输入错误!";
/**
* 参数错误
*/
String PARAMETER_ERROR="参数错误!";
/**
* 数据更新异常
*/
String UPDATE_EXCEPTION="用户居民注册访问记录表更新数据失败!";
/**
* 手机号已存在
*/
String MOBILE_EXIST="该手机号已注册居民!";
} }

20
epmet-user/epmet-user-server/src/main/java/com/epmet/feign/MessageFeignClient.java

@ -0,0 +1,20 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.fallback.MessageFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(name = ServiceConstant.EPMET_MESSAGE_SERVER, fallback = MessageFeignClientFallback.class)
public interface MessageFeignClient {
/**
* 发送短信验证码
* @return
*/
@GetMapping(value = "message/sms/captcha/{mobile}")
Result sendSmsCaptcha(@RequestParam("mobile") String mobile);
}

20
epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/MessageFeignClientFallback.java

@ -0,0 +1,20 @@
package com.epmet.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.feign.MessageFeignClient;
import org.springframework.stereotype.Component;
/**
* 消息服务降级
*/
@Component
public class MessageFeignClientFallback implements MessageFeignClient {
@Override
public Result sendSmsCaptcha(String mobile) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "sendSmsCaptcha", mobile);
}
}

3
epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserResiInfoRedis.java

@ -47,7 +47,8 @@ public class UserResiInfoRedis {
public void setUserResiMobileCode(String userId, String mobile, String verificationCode){ public void setUserResiMobileCode(String userId, String mobile, String verificationCode){
String key = RedisKeys.getUserMobileCodeKey(userId, mobile, verificationCode); String key = RedisKeys.getUserMobileCodeKey(userId, mobile, verificationCode);
redisUtils.set(key, verificationCode); //手机验证码放入缓存中 有效时间10分钟
redisUtils.set(key, verificationCode,RedisUtils.MINUTE_TEN_EXPIRE);
} }
public String getUserResiMobileCode(String userId, String mobile, String verificationCode){ public String getUserResiMobileCode(String userId, String mobile, String verificationCode){

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

@ -24,6 +24,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.EpmetRoleKeyConstant; import com.epmet.commons.tools.constant.EpmetRoleKeyConstant;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
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.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
@ -36,6 +37,7 @@ 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.UserRoleEntity; import com.epmet.entity.UserRoleEntity;
import com.epmet.feign.MessageFeignClient;
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;
@ -73,6 +75,8 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
private RegisterRelationService registerRelationService; private RegisterRelationService registerRelationService;
@Autowired @Autowired
private UserRoleService userRoleService; private UserRoleService userRoleService;
@Autowired
private MessageFeignClient messageFeignClient;
@Override @Override
public PageData<UserResiInfoDTO> page(Map<String, Object> params) { public PageData<UserResiInfoDTO> page(Map<String, Object> params) {
@ -143,22 +147,28 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
return new Result<UserResiInfoDTO>().ok(userResiInfoDTO); return new Result<UserResiInfoDTO>().ok(userResiInfoDTO);
} }
/**
* 居民注册信息提交
* @param userResiInfoDTO
* @return
* @Author sun
*/
@Override @Override
public Result submit(UserResiInfoDTO userResiInfoDTO) { public Result submit(UserResiInfoDTO userResiInfoDTO) {
Result result = new Result(); Result result = new Result();
//1:手机验证码数据校验//TODO //1:手机验证码数据校验
String verificationCode = userResiInfoRedis.getUserResiMobileCode(userResiInfoDTO.getUserId(),userResiInfoDTO.getRegMobile(),userResiInfoDTO.getMobileCode());
//2:验证码校验失败则更新行为记录表数据 返回前台结果 if(null == verificationCode || StringUtils.isBlank(verificationCode)){
if (false) { //验证码校验失败则更新行为记录表数据 返回前台结果
userResiRegisterVisitService.updateResiRegisterVisit(false, userResiInfoDTO); userResiRegisterVisitService.updateResiRegisterVisit(false, userResiInfoDTO);
result.error(UserResiRegisterConstant.PARAMETER_ERROR); result.setCode(EpmetErrorCode.MOBILE_CODE_ERROR.getValue());
result.setMsg(UserResiRegisterConstant.MOBILECODE_EXCEPTION); result.setMsg(EpmetErrorCode.MOBILE_CODE_ERROR.getName());
return result; return result;
} }
//3:校验成功 数据存入居民注册表 更新行为记录表数据 //2:校验成功 数据存入居民注册表 更新行为记录表数据
saveUserResiInfo(userResiInfoDTO); saveUserResiInfo(userResiInfoDTO);
userResiRegisterVisitService.updateResiRegisterVisit(true, userResiInfoDTO); userResiRegisterVisitService.updateResiRegisterVisit(true, userResiInfoDTO);
//4:居民注册关系表新增数据 首次注册数加一 注册数加一 参与数加一 //3:居民注册关系表新增数据 首次注册数加一 注册数加一 参与数加一
registerRelationService.saveRegisterRelation(userResiInfoDTO); registerRelationService.saveRegisterRelation(userResiInfoDTO);
return result; return result;
} }
@ -194,14 +204,15 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
userResiRegisterVisitService.updateResiVisitOperate(verificationCodeFormDTO); userResiRegisterVisitService.updateResiVisitOperate(verificationCodeFormDTO);
//2:判断手机号是否可用 //2:判断手机号是否可用
if (!getResiInfoByMobile(verificationCodeFormDTO.getMobile())) { if (!getResiInfoByMobile(verificationCodeFormDTO.getMobile())) {
result.error(UserResiRegisterConstant.PARAMETER_ERROR); result.setCode(EpmetErrorCode.MOBILE_EXIST.getValue());
result.setMsg(UserResiRegisterConstant.MOBILE_EXIST); result.setMsg(EpmetErrorCode.MOBILE_EXIST.getName());
return result; return result;
} }
//3:调用短信服务 生成验证码发送短信 TODO //3:调用短信服务 生成验证码发送短信
result = messageFeignClient.sendSmsCaptcha(verificationCodeFormDTO.getMobile());
//4:将验证码存入redis TODO //4:将验证码存入redis
Map<String,Object> map = (Map<String, Object>) result.getData();
userResiInfoRedis.setUserResiMobileCode(verificationCodeFormDTO.getUserId(),verificationCodeFormDTO.getMobile(),map.get("code").toString());
return result; return result;
} }

5
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiRegisterVisitServiceImpl.java

@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; 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.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
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.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
@ -150,7 +151,7 @@ public class UserResiRegisterVisitServiceImpl extends BaseServiceImpl<UserResiRe
userResiRegisterVisitDTO.setUpdatedBy(userResiInfoDTO.getUserId()); userResiRegisterVisitDTO.setUpdatedBy(userResiInfoDTO.getUserId());
userResiRegisterVisitDTO.setUpdatedTime(new Date()); userResiRegisterVisitDTO.setUpdatedTime(new Date());
if(!userResiRegisterVisitDao.updateResiRegisterVisit(userResiRegisterVisitDTO)){ if(!userResiRegisterVisitDao.updateResiRegisterVisit(userResiRegisterVisitDTO)){
log.warn(UserResiRegisterConstant.UPDATE_EXCEPTION); log.warn(EpmetErrorCode.UPDATE_EXCEPTION.getName());
} }
} }
@ -163,7 +164,7 @@ public class UserResiRegisterVisitServiceImpl extends BaseServiceImpl<UserResiRe
userResiRegisterVisitDTO.setUpdatedBy(verificationCodeFormDTO.getUserId()); userResiRegisterVisitDTO.setUpdatedBy(verificationCodeFormDTO.getUserId());
userResiRegisterVisitDTO.setUpdatedTime(new Date()); userResiRegisterVisitDTO.setUpdatedTime(new Date());
if(!userResiRegisterVisitDao.updateResiRegisterVisit(userResiRegisterVisitDTO)){ if(!userResiRegisterVisitDao.updateResiRegisterVisit(userResiRegisterVisitDTO)){
log.warn(UserResiRegisterConstant.UPDATE_EXCEPTION); log.warn(EpmetErrorCode.UPDATE_EXCEPTION.getName());
} }
} }

Loading…
Cancel
Save