From a331aeb0335c72d233158bdc0712813b933ccaaf Mon Sep 17 00:00:00 2001 From: yujintao Date: Tue, 18 Feb 2020 23:29:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=93=A8=E5=8D=A1=E6=8F=90=E4=BA=A4=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E7=94=A8=E4=BA=8E=E5=AE=8C=E5=96=84=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fallback/UserFeignClientFallback.java | 5 ++- .../SentryPostUserInfoRedisListener.java | 29 ++------------ .../esua/epdc/service/CustomService.java | 2 + .../epdc/service/impl/CustomServiceImpl.java | 38 ++++++++++++++++++- .../EpdcAppPidemicCompleteInfoFromDTO.java | 2 +- .../epdc/service/impl/UserServiceImpl.java | 24 ++++++++++++ 6 files changed, 70 insertions(+), 30 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java index 868ba6117..4902abd7f 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java @@ -150,6 +150,7 @@ public class UserFeignClientFallback implements UserFeignClient { public Result removeGrid(EpdcAppRemoveGridFormDTO formDto) { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "removeGrid", formDto); } + @Override public Result> invitationRecord() { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "invitationRecord"); @@ -157,11 +158,11 @@ public class UserFeignClientFallback implements UserFeignClient { @Override public Result queryUserDto(EpdcAppQueryUserInfoFormDTO formDTO) { - return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "queryUserDto",formDTO); + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "queryUserDto", formDTO); } @Override public Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO formDTO) { - return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "createPidemicInfo",formDTO); + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "createPidemicInfo", formDTO); } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/listener/SentryPostUserInfoRedisListener.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/listener/SentryPostUserInfoRedisListener.java index ad0998407..4c09a9661 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/listener/SentryPostUserInfoRedisListener.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/listener/SentryPostUserInfoRedisListener.java @@ -6,6 +6,7 @@ import com.elink.esua.epdc.dto.EpidemicSentryPostDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcAppPidemicCompleteInfoFromDTO; import com.elink.esua.epdc.feign.CustomFeignClient; import com.elink.esua.epdc.feign.UserFeignClient; +import com.elink.esua.epdc.service.CustomService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -24,10 +25,7 @@ import org.springframework.stereotype.Service; public class SentryPostUserInfoRedisListener implements MessageListener { @Autowired - private CustomFeignClient customFeignClient; - - @Autowired - private UserFeignClient userFeignClient; + private CustomService customService; @Override public void onMessage(Message message, byte[] pattern) { @@ -38,31 +36,12 @@ public class SentryPostUserInfoRedisListener implements MessageListener { try { EpdcAppPidemicCompleteInfoFromDTO completeInfoDto = JSONObject.parseObject(message.toString(), EpdcAppPidemicCompleteInfoFromDTO.class); - EpidemicSentryPostDTO sentryPostInfoByThirdId = getEpidemicSentryPostInfoByThirdId(completeInfoDto.getPostId()); - if (null != sentryPostInfoByThirdId) { - completeInfoDto.setGridId(sentryPostInfoByThirdId.getGridId()); - } + customService.completeSentryPostUserInfo(completeInfoDto); - userFeignClient.createPidemicInfo(completeInfoDto); } catch (Exception e) { log.error("处理哨卡登记信息失败"); } } - /** - * 通过第三方哨卡id,查询哨卡信息 - * - * @param thirdId - * @return com.elink.esua.epdc.dto.EpidemicSentryPostDTO - * @author work@yujt.net.cn - * @date 2020/2/16 17:12 - */ - private EpidemicSentryPostDTO getEpidemicSentryPostInfoByThirdId(String thirdId) { - Result epidemicSentryResult = customFeignClient.getEpidemicSentryByThirdSentryPostid(thirdId); - if (!epidemicSentryResult.success() || null == epidemicSentryResult.getData()) { - log.error("根据第三方哨卡id:{}查询哨卡信息失败", thirdId); - return null; - } - return epidemicSentryResult.getData(); - } + } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java index e7cd236af..55e3a3e6b 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java @@ -48,4 +48,6 @@ public interface CustomService { * @date 2020/2/15 10:58 */ Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto, TokenDto userDetail); + + void completeSentryPostUserInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoDto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java index 7a861cc85..7b315e4c6 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java @@ -1,5 +1,6 @@ package com.elink.esua.epdc.service.impl; +import com.alibaba.fastjson.JSON; import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.commons.tools.exception.RenException; @@ -16,6 +17,7 @@ import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; import com.elink.esua.epdc.dto.result.EpdcSentryPostInfoResultDTO; import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.feign.CustomFeignClient; +import com.elink.esua.epdc.feign.UserFeignClient; import com.elink.esua.epdc.redis.AppUserRedis; import com.elink.esua.epdc.service.CustomService; import lombok.extern.slf4j.Slf4j; @@ -44,6 +46,9 @@ public class CustomServiceImpl implements CustomService { @Autowired private AppUserRedis appUserRedis; + @Autowired + private UserFeignClient userFeignClient; + @Override public Result getDeptInfoByMaCode(String code) { String combine = "-"; @@ -148,9 +153,38 @@ public class CustomServiceImpl implements CustomService { if (null == userDetail || StringUtils.isBlank(userDetail.getUserId())) { return new Result().error("Token is invalid"); } + if (StringUtils.isNotBlank(completeInfoFromDto.getCarNum())) { + completeInfoFromDto.setCarNum(StringUtils.upperCase(completeInfoFromDto.getCarNum())); + } completeInfoFromDto.setUserId(userDetail.getUserId()); - redisUtils.convertAndSend(RedisChannels.COMPLETE_INFO_BY_SENTRY_POST, completeInfoFromDto); - + //redisUtils.convertAndSend(RedisChannels.COMPLETE_INFO_BY_SENTRY_POST, completeInfoFromDto); + this.completeSentryPostUserInfo(completeInfoFromDto); return new Result(); } + + @Override + public void completeSentryPostUserInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoDto) { + EpidemicSentryPostDTO sentryPostInfoByThirdId = getEpidemicSentryPostInfoByThirdId(completeInfoDto.getPostId()); + if (null != sentryPostInfoByThirdId) { + completeInfoDto.setGridId(sentryPostInfoByThirdId.getGridId()); + } + userFeignClient.createPidemicInfo(completeInfoDto); + } + + /** + * 通过第三方哨卡id,查询哨卡信息 + * + * @param thirdId + * @return com.elink.esua.epdc.dto.EpidemicSentryPostDTO + * @author work@yujt.net.cn + * @date 2020/2/16 17:12 + */ + private EpidemicSentryPostDTO getEpidemicSentryPostInfoByThirdId(String thirdId) { + Result epidemicSentryResult = customFeignClient.getEpidemicSentryByThirdSentryPostid(thirdId); + if (!epidemicSentryResult.success() || null == epidemicSentryResult.getData()) { + log.error("根据第三方哨卡id:{}查询哨卡信息失败", thirdId); + return null; + } + return epidemicSentryResult.getData(); + } } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppPidemicCompleteInfoFromDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppPidemicCompleteInfoFromDTO.java index c11dc353e..43b83575d 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppPidemicCompleteInfoFromDTO.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppPidemicCompleteInfoFromDTO.java @@ -30,7 +30,7 @@ public class EpdcAppPidemicCompleteInfoFromDTO implements Serializable { private String isRent; @NotBlank(message = "是否有车") private String isDriver; - @NotBlank(message = "车牌号码") + private String carNum; diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java index 5162ee5a1..da153b4fd 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java @@ -899,6 +899,27 @@ public class UserServiceImpl extends BaseServiceImpl implem return ConvertUtils.sourceToTarget(userEntity, UserDTO.class); } + + private int countOthersByMobile(String mobile, String userId, boolean isVaild) { + QueryWrapper userWrapper = new QueryWrapper<>(); + userWrapper.eq(FieldConstant.MOBILE, mobile).ne(FieldConstant.ID, userId); + Integer count = this.baseDao.selectCount(userWrapper); + if (isVaild && count > NumConstant.ZERO) { + throw new RenException("手机号已被注册"); + } + return count; + } + + private int countOthersByIdentityNo(String identityNo, String userId, boolean isVaild) { + QueryWrapper userWrapper = new QueryWrapper<>(); + userWrapper.eq(UserFieldConsant.IDENTITY_NO, identityNo).ne(FieldConstant.ID, userId); + Integer count = this.baseDao.selectCount(userWrapper); + if (isVaild && count > NumConstant.ZERO) { + throw new RenException("身份证号已被注册"); + } + return count; + } + @Override public Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto) { @@ -912,6 +933,9 @@ public class UserServiceImpl extends BaseServiceImpl implem String identityNo = completeInfoFromDto.getIdcard(); + countOthersByIdentityNo(identityNo, userId, true); + countOthersByMobile(completeInfoFromDto.getPhone(), userId, true); + UserEntity updateUser = new UserEntity(); updateUser.setId(userId); updateUser.setRealName(completeInfoFromDto.getName());