|
@@ -119,10 +119,10 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
|
|
switch (gigTypeEnum) {
|
|
switch (gigTypeEnum) {
|
|
case TAX_HELPOR:
|
|
case TAX_HELPOR:
|
|
this.taxHelperHandler(user, dept, subjectResult);
|
|
this.taxHelperHandler(user, dept, subjectResult);
|
|
- // 本次结果存入redis
|
|
|
|
- log.info("缓存认证结果到redis:{}", JSONUtil.toJsonStr(subjectTypes));
|
|
|
|
- redisTemplate.opsForValue().set(CacheConstants.USER_SIGN_CERT_RESPONSE_KEY + user.getUserId(),
|
|
|
|
- JSONUtil.toJsonStr(subjectTypes), 1, TimeUnit.MINUTES);
|
|
|
|
|
|
+// // 本次结果存入redis
|
|
|
|
+// log.info("缓存认证结果到redis:{}", JSONUtil.toJsonStr(subjectTypes));
|
|
|
|
+// redisTemplate.opsForValue().set(CacheConstants.USER_SIGN_CERT_RESPONSE_KEY + user.getUserId(),
|
|
|
|
+// JSONUtil.toJsonStr(subjectTypes), 1, TimeUnit.MINUTES);
|
|
break;
|
|
break;
|
|
case REN_LI_JIA:
|
|
case REN_LI_JIA:
|
|
// TODO
|
|
// TODO
|
|
@@ -165,12 +165,13 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
|
|
LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.<SysUserSub>lambdaUpdate()
|
|
LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.<SysUserSub>lambdaUpdate()
|
|
.eq(SysUserSub::getUserId, user.getUserId())
|
|
.eq(SysUserSub::getUserId, user.getUserId())
|
|
.eq(SysUserSub::getDeptId, dept.getDeptId())
|
|
.eq(SysUserSub::getDeptId, dept.getDeptId())
|
|
|
|
+ .eq(SysUserSub::getSubjectLocation, SubjectLocation.LUO_SHU_YUN)
|
|
|
|
+ .eq(SysUserSub::getGigType, GigTypeEnum.TAX_HELPOR)
|
|
.set(SysUserSub::getCallbackStatus, GigCallBackStatus.RETURNED)
|
|
.set(SysUserSub::getCallbackStatus, GigCallBackStatus.RETURNED)
|
|
.set(SysUserSub::getUpdateTime, now)
|
|
.set(SysUserSub::getUpdateTime, now)
|
|
.set(SysUserSub::getUpdateUser, 0)
|
|
.set(SysUserSub::getUpdateUser, 0)
|
|
- .set(SysUserSub::getCertRemark, JSONUtil.toJsonStr(subjectResult));
|
|
|
|
- updateWrapper.eq(SysUserSub::getGigType, GigTypeEnum.TAX_HELPOR);
|
|
|
|
- updateWrapper.set(SysUserSub::getCertStatus, taxHelperCertStatus.getCode());
|
|
|
|
|
|
+ .set(SysUserSub::getCertRemark, JSONUtil.toJsonStr(subjectResult))
|
|
|
|
+ .set(SysUserSub::getCertStatus, taxHelperCertStatus.getCode());
|
|
|
|
|
|
// 如果认证失败了, 置空身份证和合身视频
|
|
// 如果认证失败了, 置空身份证和合身视频
|
|
if (TaxHelperCertStatus.UNCHECKED_BIND.equals(taxHelperCertStatus)){
|
|
if (TaxHelperCertStatus.UNCHECKED_BIND.equals(taxHelperCertStatus)){
|
|
@@ -181,27 +182,36 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- if (TAXHELPER_SUCCESS_CODE.equals(code)) {
|
|
|
|
- // 成功并且是换绑卡的情况,则更新银行卡号
|
|
|
|
- String cacheKeyPrefix = String.format("%s_%s_%s", CacheConstants.BIND_CARD_CONFIRM_NEW_BANK_CARD,
|
|
|
|
- user.getUserId(), GigTypeEnum.TAX_HELPOR.name());
|
|
|
|
- UserSignCertDTO userSignCertDTO = (UserSignCertDTO) redisTemplate.opsForValue().get(cacheKeyPrefix);
|
|
|
|
- if (userSignCertDTO != null) {
|
|
|
|
- if (StrUtil.isNotBlank(userSignCertDTO.getBankCardNumber())) {
|
|
|
|
- updateWrapper.set(SysUserSub::getBankCardNumber, userSignCertDTO.getBankCardNumber());
|
|
|
|
- updateWrapper.set(SysUserSub::getBankPhone, userSignCertDTO.getBankPhone());
|
|
|
|
- // 更新user表银行卡
|
|
|
|
- SysUser sysUser = new SysUser();
|
|
|
|
- sysUser.setUserId(user.getUserId());
|
|
|
|
- sysUser.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
|
- sysUser.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
|
- sysUserService.updateById(sysUser);
|
|
|
|
- }
|
|
|
|
- // redis删除银行卡号
|
|
|
|
- redisTemplate.delete(cacheKeyPrefix);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+// if (TAXHELPER_SUCCESS_CODE.equals(code)) {
|
|
|
|
+// // 成功并且是换绑卡的情况,则更新银行卡号
|
|
|
|
+// String cacheKeyPrefix = String.format("%s_%s_%s", CacheConstants.BIND_CARD_CONFIRM_NEW_BANK_CARD,
|
|
|
|
+// user.getUserId(), GigTypeEnum.TAX_HELPOR.name());
|
|
|
|
+// UserSignCertDTO userSignCertDTO = (UserSignCertDTO) redisTemplate.opsForValue().get(cacheKeyPrefix);
|
|
|
|
+// if (userSignCertDTO != null) {
|
|
|
|
+// if (StrUtil.isNotBlank(userSignCertDTO.getBankCardNumber())) {
|
|
|
|
+// updateWrapper.set(SysUserSub::getBankCardNumber, userSignCertDTO.getBankCardNumber());
|
|
|
|
+// updateWrapper.set(SysUserSub::getBankPhone, userSignCertDTO.getBankPhone());
|
|
|
|
+// // 更新user表银行卡
|
|
|
|
+// SysUser sysUser = new SysUser();
|
|
|
|
+// sysUser.setUserId(user.getUserId());
|
|
|
|
+// sysUser.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
|
+// sysUser.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
|
+// sysUserService.updateById(sysUser);
|
|
|
|
+// }
|
|
|
|
+// // redis删除银行卡号
|
|
|
|
+// redisTemplate.delete(cacheKeyPrefix);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
sysUserSubService.update(updateWrapper);
|
|
sysUserSubService.update(updateWrapper);
|
|
|
|
+
|
|
|
|
+ // 结果放到redis
|
|
|
|
+ Map<String, Map<String, String>> resultMap = new HashMap<>(1);
|
|
|
|
+ Map<String, String> subMap = new HashMap<>(1);
|
|
|
|
+ subMap.put("certStatus", certStatus);
|
|
|
|
+ resultMap.put("LUO_SHU_YUN", subMap);
|
|
|
|
+ String key = CacheConstants.USER_SIGN_CERT_RESPONSE_KEY + user.getUserId();
|
|
|
|
+ log.info("缓存认证结果到redis:{}", JSONUtil.toJsonStr(resultMap));
|
|
|
|
+ redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(resultMap), 1, TimeUnit.MINUTES);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -220,12 +230,14 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
|
|
SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
.eq(SysUserSub::getDeptId, dept.getDeptId())
|
|
.eq(SysUserSub::getDeptId, dept.getDeptId())
|
|
.eq(SysUserSub::getUserId, user.getUserId())
|
|
.eq(SysUserSub::getUserId, user.getUserId())
|
|
|
|
+ .eq(SysUserSub::getSubjectLocation, SubjectLocation.YI_LIAN)
|
|
.eq(SysUserSub::getGigType, GigTypeEnum.YEE));
|
|
.eq(SysUserSub::getGigType, GigTypeEnum.YEE));
|
|
// 拼接更新条件
|
|
// 拼接更新条件
|
|
LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.<SysUserSub>lambdaUpdate()
|
|
LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.<SysUserSub>lambdaUpdate()
|
|
.eq(SysUserSub::getUserId, user.getUserId())
|
|
.eq(SysUserSub::getUserId, user.getUserId())
|
|
.eq(SysUserSub::getDeptId, dept.getDeptId())
|
|
.eq(SysUserSub::getDeptId, dept.getDeptId())
|
|
.eq(SysUserSub::getGigType, GigTypeEnum.YEE)
|
|
.eq(SysUserSub::getGigType, GigTypeEnum.YEE)
|
|
|
|
+ .eq(SysUserSub::getSubjectLocation, SubjectLocation.YI_LIAN)
|
|
.set(SysUserSub::getUpdateTime, now)
|
|
.set(SysUserSub::getUpdateTime, now)
|
|
.set(SysUserSub::getUpdateUser, 0)
|
|
.set(SysUserSub::getUpdateUser, 0)
|
|
.set(SysUserSub::getCertRemark, JSONUtil.toJsonStr(subjectResult));
|
|
.set(SysUserSub::getCertRemark, JSONUtil.toJsonStr(subjectResult));
|
|
@@ -250,7 +262,7 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
|
|
// 结果放到redis
|
|
// 结果放到redis
|
|
String key = CacheConstants.USER_SIGN_CERT_RESPONSE_KEY + userSub.getUserId();
|
|
String key = CacheConstants.USER_SIGN_CERT_RESPONSE_KEY + userSub.getUserId();
|
|
Map<String, Object> result = MapUtil.newHashMap(1);
|
|
Map<String, Object> result = MapUtil.newHashMap(1);
|
|
- result.put("YEE", subMap);
|
|
|
|
|
|
+ result.put("YI_LIAN", subMap);
|
|
redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(result), 1, TimeUnit.MINUTES);
|
|
redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(result), 1, TimeUnit.MINUTES);
|
|
}
|
|
}
|
|
// 已认证,则设置回调状态
|
|
// 已认证,则设置回调状态
|
|
@@ -288,15 +300,15 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
|
|
Map<String, Map<String, String>> resultMap = new HashMap<>(3);
|
|
Map<String, Map<String, String>> resultMap = new HashMap<>(3);
|
|
if (gigTypeArray.size() > 1) {
|
|
if (gigTypeArray.size() > 1) {
|
|
// 同时发起的情况,且是前一个渠道(按照redis存的渠道顺序发送)的状态已返回,则刷新状态到redis
|
|
// 同时发起的情况,且是前一个渠道(按照redis存的渠道顺序发送)的状态已返回,则刷新状态到redis
|
|
- List<GigTypeEnum> gigTypeEnumList = gigTypeArray.stream()
|
|
|
|
- .map(o -> Enum.valueOf(GigTypeEnum.class, String.valueOf(o)))
|
|
|
|
|
|
+ List<SubjectLocation> subjectLocationList = gigTypeArray.stream()
|
|
|
|
+ .map(o -> Enum.valueOf(SubjectLocation.class, String.valueOf(o)))
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
List<SysUserSub> subList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
|
|
List<SysUserSub> subList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
|
|
.eq(SysUserSub::getUserId, user.getUserId())
|
|
.eq(SysUserSub::getUserId, user.getUserId())
|
|
.eq(SysUserSub::getDeptId, dept.getDeptId())
|
|
.eq(SysUserSub::getDeptId, dept.getDeptId())
|
|
- .in(SysUserSub::getGigType, gigTypeEnumList));
|
|
|
|
|
|
+ .in(SysUserSub::getSubjectLocation, subjectLocationList));
|
|
Map<String, Map<String, String>> dbResultMap = subList.stream()
|
|
Map<String, Map<String, String>> dbResultMap = subList.stream()
|
|
- .collect(Collectors.toMap(sysUserSub -> sysUserSub.getGigType().name(),
|
|
|
|
|
|
+ .collect(Collectors.toMap(sysUserSub -> sysUserSub.getSubjectLocation().name(),
|
|
sysUserSub -> MapUtil.builder("certStatus",
|
|
sysUserSub -> MapUtil.builder("certStatus",
|
|
OladingCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).name()).build()));
|
|
OladingCertStatus.resolve(String.valueOf(sysUserSub.getCertStatus())).name()).build()));
|
|
resultMap.putAll(dbResultMap);
|
|
resultMap.putAll(dbResultMap);
|
|
@@ -309,30 +321,30 @@ public class GigSignCertReceiver extends BaseRabbiMqHandler<String> {
|
|
redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(resultMap), 1, TimeUnit.MINUTES);
|
|
redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(resultMap), 1, TimeUnit.MINUTES);
|
|
|
|
|
|
// 处理同时发起时阿拉丁多个渠道的情况(补发)
|
|
// 处理同时发起时阿拉丁多个渠道的情况(补发)
|
|
- if (gigTypeArray.size() > 1) {
|
|
|
|
- String firstChannel = String.valueOf(gigTypeArray.get(0));
|
|
|
|
- // 查询阿拉丁第一个渠道的认证状态
|
|
|
|
- Map<String, String> certStatusMap = resultMap.get(firstChannel);
|
|
|
|
- // 查询阿拉钉第一个未签约的渠道
|
|
|
|
- String toSendChannel = "";
|
|
|
|
- for (Map.Entry<String, Map<String, String>> entry : resultMap.entrySet()) {
|
|
|
|
- if (OladingCertStatus.UN_SIGNED.name().equals(entry.getValue().get("certStatus"))) {
|
|
|
|
- toSendChannel = entry.getKey();
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- // 校验需要补发的渠道,是否为第一个
|
|
|
|
- if (StrUtil.isNotBlank(toSendChannel) && !StrUtil.equals(firstChannel, toSendChannel)) {
|
|
|
|
- // 如果阿拉丁第一个渠道是已认证的,则补发下一个阿拉丁的渠道(由于阿拉钉同一人不同渠道的回调只有一次,所以这里出现多个渠道需要依次补发)
|
|
|
|
- if (CollUtil.isNotEmpty(certStatusMap) && OladingCertStatus.CERT.name().equals(certStatusMap.get("certStatus"))) {
|
|
|
|
- log.info("=============================补发阿拉钉另一渠道MQ:{}==================================", toSendChannel);
|
|
|
|
- UserSignCertDTO reCertDTO = new UserSignCertDTO();
|
|
|
|
- reCertDTO.setUserId(user.getUserId());
|
|
|
|
- reCertDTO.setGigTypeList(Collections.singletonList(Enum.valueOf(GigTypeEnum.class, toSendChannel)));
|
|
|
|
- sysUserSignCertService.batchChannelCert(reCertDTO);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+// if (gigTypeArray.size() > 1) {
|
|
|
|
+// String firstChannel = String.valueOf(gigTypeArray.get(0));
|
|
|
|
+// // 查询阿拉丁第一个渠道的认证状态
|
|
|
|
+// Map<String, String> certStatusMap = resultMap.get(firstChannel);
|
|
|
|
+// // 查询阿拉钉第一个未签约的渠道
|
|
|
|
+// String toSendChannel = "";
|
|
|
|
+// for (Map.Entry<String, Map<String, String>> entry : resultMap.entrySet()) {
|
|
|
|
+// if (OladingCertStatus.UN_SIGNED.name().equals(entry.getValue().get("certStatus"))) {
|
|
|
|
+// toSendChannel = entry.getKey();
|
|
|
|
+// break;
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// // 校验需要补发的渠道,是否为第一个
|
|
|
|
+// if (StrUtil.isNotBlank(toSendChannel) && !StrUtil.equals(firstChannel, toSendChannel)) {
|
|
|
|
+// // 如果阿拉丁第一个渠道是已认证的,则补发下一个阿拉丁的渠道(由于阿拉钉同一人不同渠道的回调只有一次,所以这里出现多个渠道需要依次补发)
|
|
|
|
+// if (CollUtil.isNotEmpty(certStatusMap) && OladingCertStatus.CERT.name().equals(certStatusMap.get("certStatus"))) {
|
|
|
|
+// log.info("=============================补发阿拉钉另一渠道MQ:{}==================================", toSendChannel);
|
|
|
|
+// UserSignCertDTO reCertDTO = new UserSignCertDTO();
|
|
|
|
+// reCertDTO.setUserId(user.getUserId());
|
|
|
|
+// reCertDTO.setGigTypeList(Collections.singletonList(Enum.valueOf(GigTypeEnum.class, toSendChannel)));
|
|
|
|
+// sysUserSignCertService.batchChannelCert(reCertDTO);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|