Browse Source

哨卡提交表单用于完善用户信息

dev
yujintao 6 years ago
parent
commit
a331aeb033
  1. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  2. 29
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/listener/SentryPostUserInfoRedisListener.java
  3. 2
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomService.java
  4. 38
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java
  5. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppPidemicCompleteInfoFromDTO.java
  6. 24
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

5
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<List<UserInvitationRecordResultDTO>> invitationRecord() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "invitationRecord");
@ -157,11 +158,11 @@ public class UserFeignClientFallback implements UserFeignClient {
@Override
public Result<UserDTO> 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);
}
}

29
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<EpidemicSentryPostDTO> epidemicSentryResult = customFeignClient.getEpidemicSentryByThirdSentryPostid(thirdId);
if (!epidemicSentryResult.success() || null == epidemicSentryResult.getData()) {
log.error("根据第三方哨卡id:{}查询哨卡信息失败", thirdId);
return null;
}
return epidemicSentryResult.getData();
}
}

2
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);
}

38
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<EpdcSentryPostInfoResultDTO> 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<EpidemicSentryPostDTO> epidemicSentryResult = customFeignClient.getEpidemicSentryByThirdSentryPostid(thirdId);
if (!epidemicSentryResult.success() || null == epidemicSentryResult.getData()) {
log.error("根据第三方哨卡id:{}查询哨卡信息失败", thirdId);
return null;
}
return epidemicSentryResult.getData();
}
}

2
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;

24
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<UserDao, UserEntity> implem
return ConvertUtils.sourceToTarget(userEntity, UserDTO.class);
}
private int countOthersByMobile(String mobile, String userId, boolean isVaild) {
QueryWrapper<UserEntity> 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<UserEntity> 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<UserDao, UserEntity> 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());

Loading…
Cancel
Save