diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 5bf5f2404a..3742ceff2c 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -15,9 +15,17 @@ public enum EpmetErrorCode { MOBILE_HAS_BEEN_USED(8101, "该手机已被使用,请更换手机或使用原绑定的微信用户登录"), MOBILE_CODE_ERROR(8102, "手机验证码错误"), - AUTO_CONFIRM_FAILED(8103, "自动认证失败"); + AUTO_CONFIRM_FAILED(8103, "自动认证失败"), + MESSAGE_SMS_SEND_ERROR(8104, "短信发送失败"), + /** + * 手机号已存在 + */ + MOBILE_EXIST(8201, "该手机号已注册居民,请使用其他手机号注册!"), + PARAMETER_EXCEPTION(8202, "必要参数存在空值或手机号输入不合规,请检查参数赋值情况!!"), + UPDATE_EXCEPTION(8203, "用户居民注册访问记录表更新数据失败!"); + private int value; private String name; diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/feign/MessageFeignClient.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/MessageFeignClient.java similarity index 69% rename from epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/feign/MessageFeignClient.java rename to epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/MessageFeignClient.java index cfa79bf8cc..0df49aee8e 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/feign/MessageFeignClient.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/MessageFeignClient.java @@ -5,6 +5,8 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.SysSmsDTO; 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.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -18,7 +20,11 @@ public interface MessageFeignClient { @PostMapping(value = "message/sms/send") Result send(@RequestBody SysSmsDTO smsDTO); - //@PostMapping(value = "message/sms/send", consumes = "application/x-www-form-urlencoded") - //Result send(Map entityBody); + /** + * 发送短信验证码 + * @return + */ + @GetMapping(value = "message/sms/captcha/{mobile}") + Result sendSmsCaptcha(@PathVariable("mobile") String mobile); } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/fallback/MessageFeignClientFallback.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/fallback/MessageFeignClientFallback.java new file mode 100644 index 0000000000..d9ba149f15 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/fallback/MessageFeignClientFallback.java @@ -0,0 +1,27 @@ +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.dto.SysSmsDTO; +import com.epmet.feign.MessageFeignClient; +import org.springframework.stereotype.Component; + +/** + * 消息服务降级 + */ +@Component +public class MessageFeignClientFallback implements MessageFeignClient { + + + @Override + public Result send(SysSmsDTO smsDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "send", smsDTO); + } + + @Override + public Result sendSmsCaptcha(String mobile) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "sendSmsCaptcha", mobile); + } + +} diff --git a/epmet-module/epmet-message/epmet-message-server/pom.xml b/epmet-module/epmet-message/epmet-message-server/pom.xml index a203c01df7..96c2afded9 100644 --- a/epmet-module/epmet-message/epmet-message-server/pom.xml +++ b/epmet-module/epmet-message/epmet-message-server/pom.xml @@ -139,7 +139,7 @@ 6379 123456 - true + false 122.152.200.70:8848 fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/SmsController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/SmsController.java index ea698fa6e5..008429520d 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/SmsController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/SmsController.java @@ -119,17 +119,14 @@ public class SmsController { * 发送短信验证码 * @return */ - @PostMapping("captcha") + @GetMapping("captcha/{mobile}") @ApiOperation("发送短信验证码") //@LogOperation("发送短信验证码") @ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", paramType = "query", required = true, dataType="String") }) - public Result sendSmsCaptcha(@RequestBody SysSmsDTO sysSmsDTO) { - String mobile = sysSmsDTO.getMobile(); - String captcha = sysSmsService.sendSmsCaptcha(mobile); - HashMap map = new HashMap<>(); - map.put("code", captcha); - return new Result().ok(map); + public Result sendSmsCaptcha(@PathVariable("mobile") String mobile) { + Result result = sysSmsService.sendSmsCaptcha(mobile); + return result; } } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/SysSmsService.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/SysSmsService.java index dedc0afb6c..79c7cddd1c 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/SysSmsService.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/SysSmsService.java @@ -10,6 +10,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; import com.epmet.dto.SysSmsDTO; import com.epmet.entity.SysSmsEntity; @@ -46,6 +47,6 @@ public interface SysSmsService extends BaseService { * @param mobile * @return */ - String sendSmsCaptcha(String mobile); + Result sendSmsCaptcha(String mobile); } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java index 82e3369020..9002ceb31a 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java @@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.Constant; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.ErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; @@ -28,6 +29,8 @@ import com.epmet.sms.SmsFactory; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -36,6 +39,8 @@ import java.util.*; @Service public class SysSmsServiceImpl extends BaseServiceImpl implements SysSmsService { + private Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired private MessageFeignClient messageFeignClient; @@ -107,7 +112,7 @@ public class SysSmsServiceImpl extends BaseServiceImpl } @Override - public String sendSmsCaptcha(String mobile) { + public Result sendSmsCaptcha(String mobile) { Integer code = (int) ((Math.random() * 9 + 1) * 100000); String codeStr = String.valueOf(code); HashMap map = new HashMap<>(); @@ -121,10 +126,17 @@ public class SysSmsServiceImpl extends BaseServiceImpl sysSmsDTO.setParams(paramJson); Result result = messageFeignClient.send(sysSmsDTO); - System.out.println(result); + if (result != null && result.success()) { + HashMap data = new HashMap<>(); + data.put("code", codeStr); + return new Result().ok(data); + } else { + logger.error(String.format("短信验证码发送失败,手机号:%s。code:%d,msg:%s", mobile, result.getCode(), result.getMsg())); + } } catch (JsonProcessingException e) { e.printStackTrace(); + logger.error(String.format("短信验证码发送失败,手机号:%s。errorMessage:%s", mobile, e.getMessage())); } - return codeStr; + return new Result().error(EpmetErrorCode.MESSAGE_SMS_SEND_ERROR.getValue(), EpmetErrorCode.MESSAGE_SMS_SEND_ERROR.getName()); } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml index 76dccd3883..ed1fbf340c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml @@ -24,7 +24,7 @@ rgs.TOTAL_MEMBERS , rgs.TOTAL_PARTY_MEMBERS , rg.STATE , - rgm.GROUP_LEADER_FLAG AS groupLeaderFlag + rgm.GROUP_LEADER_FLAG FROM resi_group_member rgm LEFT JOIN resi_group rg ON ( rgm.RESI_GROUP_ID = rg.ID ) diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/resiregister/service/impl/ResiRegisterServiceImpl.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/resiregister/service/impl/ResiRegisterServiceImpl.java index f026af7dfd..98ac4d9249 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/resiregister/service/impl/ResiRegisterServiceImpl.java +++ b/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; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; 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.stereotype.Service; +import java.util.regex.Pattern; + /** * @Description 居民端居民注册信息service * @Author sun @@ -38,7 +41,7 @@ public class ResiRegisterServiceImpl implements ResiRegisterService { if (null == formDTO || StringUtils.isBlank(formDTO.getCustomerId()) || StringUtils.isBlank(formDTO.getGridId()) || StringUtils.isBlank(formDTO.getVisitFrom())) { - return new Result().error(ModuleConstant.PARAMETER_EXCEPTION); + return new Result().error(EpmetErrorCode.PARAMETER_EXCEPTION.getName()); } formDTO.setUserId(tokenDTO.getUserId()); return epmetUserFeignClient.init(formDTO); @@ -57,7 +60,7 @@ public class ResiRegisterServiceImpl implements ResiRegisterService { if (null == resiInfoSubmitFormDTO || StringUtils.isBlank(resiInfoSubmitFormDTO.getCustomerId()) || StringUtils.isBlank(resiInfoSubmitFormDTO.getGridId()) || StringUtils.isBlank(resiInfoSubmitFormDTO.getResiVisitId())) { - return new Result().error(ModuleConstant.PARAMETER_EXCEPTION); + return new Result().error(EpmetErrorCode.PARAMETER_EXCEPTION.getName()); } UserResiInfoDTO userResiInfoDTO = resiInfoSubmitFormDTO.getResiInfo(); userResiInfoDTO.setUserId(tokenDTO.getUserId()); @@ -79,11 +82,25 @@ public class ResiRegisterServiceImpl implements ResiRegisterService { return new Result().error(ModuleConstant.USER_NOT_NULL); } if (null == formDTO || StringUtils.isBlank(formDTO.getMobile()) - || StringUtils.isBlank(formDTO.getResiVisitId())) { - return new Result().error(ModuleConstant.PARAMETER_EXCEPTION); + || StringUtils.isBlank(formDTO.getResiVisitId()) + || !validateMobile(formDTO.getMobile())) { + return new Result().error(EpmetErrorCode.PARAMETER_EXCEPTION.getName()); } formDTO.setUserId(tokenDTO.getUserId()); 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(); + } + } diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java index fdf94c1efa..9fb0533b25 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java +++ b/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 PARAMETER_EXCEPTION="必要参数存在空值,请检查参数赋值情况!"; } diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedServiceImpl.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedServiceImpl.java index ae2ac8809f..2d8fa6ad62 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedServiceImpl.java +++ b/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; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.result.ResiRegisterResultDTO; import com.epmet.modules.feign.ResiPartymemberFeignClient; import com.epmet.modules.utils.ModuleConstant; import com.epmet.modules.warmhearted.service.ResiWarmheartedService; @@ -37,7 +37,7 @@ public class ResiWarmheartedServiceImpl implements ResiWarmheartedService { if (null == formDTO || StringUtils.isBlank(formDTO.getCustomerId()) || StringUtils.isBlank(formDTO.getGridId()) || StringUtils.isBlank(formDTO.getVisitFrom())) { - return new Result().error(ModuleConstant.PARAMETER_EXCEPTION); + return new Result().error(EpmetErrorCode.PARAMETER_EXCEPTION.getName()); } formDTO.setUserId(tokenDTO.getUserId()); return resiPartymemberFeignClient.init(formDTO); @@ -57,7 +57,7 @@ public class ResiWarmheartedServiceImpl implements ResiWarmheartedService { || StringUtils.isBlank(formDTO.getGridId()) || StringUtils.isBlank(formDTO.getResiWarmVisitId()) || StringUtils.isBlank(formDTO.getReason())) { - return new Result().error(ModuleConstant.PARAMETER_EXCEPTION); + return new Result().error(EpmetErrorCode.PARAMETER_EXCEPTION.getName()); } formDTO.setUserId(tokenDTO.getUserId()); return resiPartymemberFeignClient.submit(formDTO); diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetMessageFeignClient.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetMessageFeignClient.java new file mode 100644 index 0000000000..b39f6bbea2 --- /dev/null +++ b/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); + +} \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetMessageFeignClientFallback.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetMessageFeignClientFallback.java new file mode 100644 index 0000000000..e87f27e4d3 --- /dev/null +++ b/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); + } + +} diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java index 63c36c221c..5b061faca6 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java +++ b/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.UserRoleDTO; import com.epmet.dto.form.UserResiInfoFormDTO; +import com.epmet.modules.feign.EpmetMessageFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.partymember.entity.*; 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.partymember.dto.partymember.PartymemberConfirmAutoDTO; import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; +import java.util.Map; /** * 党员认证 @@ -30,6 +33,7 @@ import java.util.Date; * @date 2020/3/30 14:01 */ @Service +@Slf4j public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService { @Autowired @@ -48,6 +52,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService private PartymemberConfirmManualService partymemberConfirmManualService; @Autowired private PartymemberRegisterRelationService partymemberRegisterRelationService; + @Autowired + private EpmetMessageFeignClient messageFeignClient; private final static String BENCHMARK = "110010"; @@ -74,8 +80,13 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService UserResiInfoFormDTO userResiInfoFormDTO = new UserResiInfoFormDTO(); userResiInfoFormDTO.setCustomerId(fromDto.getCustomerId()); userResiInfoFormDTO.setUserId(fromDto.getUserId()); - Result userResiInfoResult = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO); - result.setPartyMemberInfo(ConvertUtils.sourceToTarget(userResiInfoResult.getData(), PartymemberInfoDTO.class)); + UserResiInfoDTO userResiInfoResult = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO).getData(); + 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()); PartymemberInfoDTO partyMemberInfoResult = partymemberInfoService.getPartyMemberInfoByMobile(partyMemberInfoParam); if (null != partyMemberInfoResult) { - //TODO code待定 result.setCode(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getValue()); result.setMsg(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getName()); return result; } - //TODO 生成短信验证码 - String code = "0000"; + //生成短信验证码 + Map message = (Map) 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 - 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); @@ -125,7 +140,6 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService if (null == code) { saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_FAILED); - //TODO code待定 result.setCode(EpmetErrorCode.MOBILE_CODE_ERROR.getValue()); result.setMsg(EpmetErrorCode.MOBILE_CODE_ERROR.getName()); return result; @@ -140,20 +154,23 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService PartymemberInfoEntity.class); if (confirmAutoDTO == null || confirmAutoDTO.getResult().compareTo(PartyMemberConstant.BENCHMARK) < 0) { + //将访问记录更新到热心居民申请行为记录表 + saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_FAILED); + //自动认证失败 partyMemberInfoEntity.setConfirmResult("1"); partymemberInfoService.insert(partyMemberInfoEntity); - //将访问记录更新到热心居民申请行为记录表 - saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_FAILED); - //TODO code待定 + result.setCode(EpmetErrorCode.AUTO_CONFIRM_FAILED.getValue()); result.setMsg(EpmetErrorCode.AUTO_CONFIRM_FAILED.getName()); } else { + //将访问记录更新到热心居民申请行为记录表 + saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_SUCCESS); + //自动认证成功 partyMemberInfoEntity.setConfirmResult("0"); partymemberInfoService.insert(partyMemberInfoEntity); - //将访问记录更新到热心居民申请行为记录表 - saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_SUCCESS); + //添加用户党员角色关系 UserRoleDTO userRole = new UserRoleDTO(); userRole.setCustomerId(partyMemberInfoDTO.getCustomerId()); @@ -243,7 +260,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService * @param operate 操作 * @return String */ - private String saveOrUpdateVisit(String visitId, PartyMemberInitFromDTO fromDTO, String operate) { + @Transactional(rollbackFor = Exception.class) + public String saveOrUpdateVisit(String visitId, PartyMemberInitFromDTO fromDTO, String operate) { PartymemberVisitEntity partymemberVisitEntity = new PartymemberVisitEntity(); if (null == visitId) { partymemberVisitEntity.setCustomerId(fromDTO.getCustomerId()); diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedApplyDao.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedApplyDao.java index de03c5259e..843eac1b54 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedApplyDao.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/dao/ResiWarmheartedApplyDao.java @@ -40,5 +40,4 @@ public interface ResiWarmheartedApplyDao extends BaseDao { - boolean saveResiWarmheartedVisit(ResiWarmheartedVisitDTO resiWarmheartedVisitDTO); boolean updateResiWarmVisitById(ResiWarmheartedVisitDTO resiWarmheartedVisitDTO); } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java index f3ce755213..9096be4679 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java @@ -155,24 +155,14 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl saveResiWarmheartedVisit(ResiWarmheartedFormDTO formDTO) { - Date date = new Date(); - ResiWarmheartedVisitDTO resiWarmheartedVisitDTO = new ResiWarmheartedVisitDTO(); - resiWarmheartedVisitDTO.setCustomerId(formDTO.getCustomerId()); - resiWarmheartedVisitDTO.setGridId(formDTO.getGridId()); - resiWarmheartedVisitDTO.setUserId(formDTO.getUserId()); - resiWarmheartedVisitDTO.setVisitFrom(formDTO.getVisitFrom()); + ResiWarmheartedVisitEntity entity = new ResiWarmheartedVisitEntity(); + entity.setCustomerId(formDTO.getCustomerId()); + entity.setGridId(formDTO.getGridId()); + entity.setUserId(formDTO.getUserId()); + entity.setVisitFrom(formDTO.getVisitFrom()); //最后一次操作行为(initialize:初始化 sms_code:获取验证码 success:提交成功 faild:提交失败) - resiWarmheartedVisitDTO.setOperateVisit(ResiWarmheartedVisitConstant.INITIALIZE); - resiWarmheartedVisitDTO.setVisitTime(date); - //UUID - resiWarmheartedVisitDTO.setId(IdWorker.get32UUID()); - resiWarmheartedVisitDTO.setDelFlag(NumConstant.ZERO); - resiWarmheartedVisitDTO.setRevision(NumConstant.ZERO); - resiWarmheartedVisitDTO.setCreatedBy(formDTO.getUserId()); - resiWarmheartedVisitDTO.setCreatedTime(date); - resiWarmheartedVisitDTO.setUpdatedBy(formDTO.getUserId()); - resiWarmheartedVisitDTO.setUpdatedTime(date); - if(!resiWarmheartedVisitDao.saveResiWarmheartedVisit(resiWarmheartedVisitDTO)){ - log.error(ResiWarmheartedVisitConstant.OPERATION_EXCEPTION); - } + entity.setOperateVisit(ResiWarmheartedVisitConstant.INITIALIZE); + entity.setVisitTime(new Date()); + baseDao.insert(entity); ResiWarmheartedResultDTO resiWarmheartedResultDTO = new ResiWarmheartedResultDTO(); - resiWarmheartedResultDTO.setResiWarmVisitId(resiWarmheartedVisitDTO.getId()); + resiWarmheartedResultDTO.setResiWarmVisitId(entity.getId()); return new Result().ok(resiWarmheartedResultDTO); } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedApplyDao.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedApplyDao.xml index 3947be348a..e4f87e4f27 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedApplyDao.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedApplyDao.xml @@ -37,40 +37,6 @@ rw.updated_time AS "updatedtime" - - INSERT INTO resi_warmhearted_apply ( - id, - customer_id, - grid_id, - user_id, - reason, - audit_status, - refuse_reason, - resi_warm_visit_id, - del_flag, - revision, - created_by, - created_time, - updated_by, - updated_time - )VALUES( - #{id}, - #{customerId}, - #{gridId}, - #{userId}, - #{reason}, - #{auditStatus}, - #{refuseReason}, - #{resiWarmVisitId}, - #{delFlag}, - #{revision}, - #{createdBy}, - #{createdTime}, - #{updatedBy}, - #{updatedTime} - ) - - SELECT * diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml index 5db6fd0047..5d68dcef31 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml @@ -38,44 +38,6 @@ uri.updated_time AS "updatedtime" - - INSERT INTO user_resi_info ( - id, - user_id, - reg_mobile, - surname, - `name`, - street, - district, - building_address, - resi_visit_id, - del_flag, - revision, - created_by, - created_time, - updated_by, - updated_time - ) - VALUES - ( - #{id}, - #{userId}, - #{regMobile}, - #{surname}, - #{name}, - #{street}, - #{district}, - #{buildingAddress}, - #{resiVisitId}, - #{delFlag}, - #{revision}, - #{createdBy}, - #{createdTime}, - #{updatedBy}, - #{updatedTime} - ) - -