记得上下班打卡 | git大法好,push需谨慎

Commit 54b549d5 authored by 张国柄's avatar 张国柄

fix:+实名认证失败本地标记,避免失败重复刷实名接口;

fix:~实名姓名认证正则调整;
parent 15c00aec
package com.liquidnet.service.adam.service;
import com.fasterxml.jackson.databind.JsonNode;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.commons.lang.util.IdentityUtils;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.SensitizeUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.util.NknameUtil;
import com.liquidnet.service.adam.util.ObjectUtil;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import lombok.extern.slf4j.Slf4j;
......@@ -15,7 +19,9 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.time.LocalDateTime;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
......@@ -169,13 +175,68 @@ public class AdamRdmService {
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 认证成功的<ID_TYPE+ID_NO, ID_NAME> */
/**
* 目前只针对身份证类型三方服务认证成功的标记
*
* @param idType
* @param idNo
* @param idName
* @return
*/
public boolean setCertification(int idType, String idNo, String idName) {
return redisUtil.set(AdamRedisConst.INFO_CERTIFICATION + idType + idNo, idName);
}
public boolean isCertification(int idType, String idNo, String idName) {
/**
* 目前只针对身份证类型三方服务认证成功的标记
*
* @param idType
* @param idNo
* @param idName
* @return
*/
public int isCertification(int idType, String idNo, String idName) {
String o = (String) redisUtil.get(AdamRedisConst.INFO_CERTIFICATION + idType + idNo);
return !StringUtils.isEmpty(o) && o.equals(idName);
if (StringUtils.isEmpty(o)) {
return -1;
}
return o.equals(idName) ? 1 : 0;
// return !StringUtils.isEmpty(o) && o.equals(idName);
}
/**
* 身份证实名处理
*
* @param uid
* @param name
* @param idCard
*/
public void identityHandler1(String uid, String name, String idCard) {
int rst = this.isCertification(1, idCard, name);
switch (rst) {
case -1:// 本地不存在
if (this.isCertificationJunk(1, idCard, name)) {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
String respStr = IdentityUtils.aliThird(name, idCard);
JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) {
log.info("###实名认证失败[{}]", respStr);
this.setCertificationJunk(1, idCard, name);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
this.setCertification(1, idCard, name);
break;
case 0:// 本地存在,验证不通过
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
case 1:// 本地存在,验证通过
break;
}
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <UID, List<AdamThirdPartInfoVo>> */
......
......@@ -49,11 +49,12 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
if (1 == parameter.getType()) {
if (!adamRdmService.isCertification(1, parameter.getIdCard(), parameter.getName())) {
identityHandler(currentUid, parameter.getName(), parameter.getIdCard());
adamRdmService.setCertification(1, parameter.getIdCard(), parameter.getName());
}
// if (!adamRdmService.isCertification(1, parameter.getIdCard(), parameter.getName())) {
// identityHandler(currentUid, parameter.getName(), parameter.getIdCard());
//
// adamRdmService.setCertification(1, parameter.getIdCard(), parameter.getName());
// }
adamRdmService.identityHandler1(currentUid, parameter.getName(), parameter.getIdCard());
}
......@@ -134,9 +135,12 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
LocalDateTime now = LocalDateTime.now();
if (1 == parameter.getType()) {
if (!adamRdmService.isCertification(1, parameter.getIdCard(), parameter.getName())) {
identityHandler(currentUid, parameter.getName(), parameter.getIdCard());
}
// if (!adamRdmService.isCertification(1, parameter.getIdCard(), parameter.getName())) {
// identityHandler(currentUid, parameter.getName(), parameter.getIdCard());
//
// adamRdmService.setCertification(1, parameter.getIdCard(), parameter.getName());
// }
adamRdmService.identityHandler1(currentUid, parameter.getName(), parameter.getIdCard());
}
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(currentUid);
......@@ -214,14 +218,4 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
log.debug("#collect.process耗时:{}ms", System.currentTimeMillis() - s);
return vos;
}
private void identityHandler(String currentUid, String name, String idCard) {
String respStr = IdentityUtils.aliThird(name, idCard);
JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) {
log.info("###实名认证失败[{}]", respStr);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
}
}
......@@ -321,23 +321,24 @@ public class AdamUserServiceImpl implements IAdamUserService {
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public AdamRealInfoVo identity(String uid, String name, String idCard) {
AdamRealInfoVo vo = null;
if (!adamRdmService.isCertification(1, idCard, name)) {
if (adamRdmService.isCertificationJunk(1, idCard, name)) {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
// if (!adamRdmService.isCertification(1, idCard, name)) {
// if (adamRdmService.isCertificationJunk(1, idCard, name)) {
// ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
// throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
// }
//
// String respStr = IdentityUtils.aliThird(name, idCard);
// JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
// if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) {
// log.info("###实名认证失败[{}]", respStr);
// adamRdmService.setCertificationJunk(1, idCard, name);
// ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
// throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
// }
// adamRdmService.setCertification(1, idCard, name);
// }
adamRdmService.identityHandler1(uid, name, idCard);
String respStr = IdentityUtils.aliThird(name, idCard);
JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) {
log.info("###实名认证失败[{}]", respStr);
adamRdmService.setCertificationJunk(1, idCard, name);
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
adamRdmService.setCertification(1, idCard, name);
}
AdamRealName realName = new AdamRealName();
realName.setRealNameId(IDGenerator.nextSnowId() + "");
......@@ -349,12 +350,7 @@ public class AdamUserServiceImpl implements IAdamUserService {
realName.setCreatedAt(LocalDateTime.now());
adamRealNameService.add(realName);
vo = AdamRealInfoVo.getNew();
vo.setUid(uid);
vo.setName(name);
vo.setIdCard(idCard);
vo.setType(realName.getType());
vo.setState(1);
AdamRealInfoVo vo = AdamRealInfoVo.getNew().copy(realName);
long s = System.currentTimeMillis();
adamRdmService.setRealInfoVoByUid(uid, vo);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment