|
@@ -180,8 +180,8 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
}
|
|
|
// 更新用户签约认证主体信息
|
|
|
userSignCertDTO.getGigTypeList().forEach(gigType -> {
|
|
|
- // 获取渠道下的 通道类型 放入gigChannelList
|
|
|
- List<GigChannelEnum> gigChannelList = new ArrayList<>();
|
|
|
+ // 税邦云单独设置渠道类型
|
|
|
+ GigChannelEnum gigChannel;
|
|
|
if (GigTypeEnum.TAX_HELPOR.equals(gigType)) {
|
|
|
// 读取用户所认证的企业的结算渠道
|
|
|
SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.<SysDeptSub>lambdaQuery()
|
|
@@ -189,57 +189,49 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
.eq(SysDeptSub::getSubjectType, GigTypeEnum.TAX_HELPOR.getCode())
|
|
|
.eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()));
|
|
|
if (deptSub != null) {
|
|
|
- gigChannelList.add(GigChannelEnum.resolve(deptSub.getSubjectChannel()));
|
|
|
+ gigChannel = GigChannelEnum.resolve(Integer.parseInt(deptSub.getSubjectType()));
|
|
|
} else {
|
|
|
- gigChannelList.add(GigChannelEnum.DEFAULT);
|
|
|
+ gigChannel = GigChannelEnum.DEFAULT;
|
|
|
}
|
|
|
- } else if (GigTypeEnum.OLADING.equals(gigType)) {
|
|
|
- // 读取用户所认证的企业的结算渠道(税源地)
|
|
|
- List<SysDeptSub> deptSubList = sysDeptSubService.list(Wrappers.<SysDeptSub>lambdaQuery()
|
|
|
+ } else if (GigTypeEnum.YEE.equals(gigType)) {
|
|
|
+ // 读取用户所认证的企业的结算渠道
|
|
|
+ SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.<SysDeptSub>lambdaQuery()
|
|
|
.eq(SysDeptSub::getDeptId, queryUser.getDeptId())
|
|
|
- .eq(SysDeptSub::getSubjectType, GigTypeEnum.OLADING.getCode())
|
|
|
+ .eq(SysDeptSub::getSubjectType, GigTypeEnum.TAX_HELPOR.getCode())
|
|
|
.eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()));
|
|
|
- if (CollUtil.isNotEmpty(deptSubList)) {
|
|
|
- deptSubList.forEach(sysDeptSub -> gigChannelList.add(GigChannelEnum.resolve(sysDeptSub.getSubjectChannel())));
|
|
|
+ if (deptSub != null && "1".equals(deptSub.getSubjectType())) {
|
|
|
+ gigChannel = GigChannelEnum.JIN_YUAN;
|
|
|
} else {
|
|
|
- gigChannelList.add(GigChannelEnum.DEFAULT);
|
|
|
+ gigChannel = GigChannelEnum.DEFAULT;
|
|
|
}
|
|
|
} else {
|
|
|
- gigChannelList.add(GigChannelEnum.DEFAULT);
|
|
|
+ gigChannel = GigChannelEnum.DEFAULT;
|
|
|
+ }
|
|
|
+ SysUserSub queryUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
+ .eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
|
|
|
+ .eq(SysUserSub::getGigType, gigType));
|
|
|
+ if (queryUserSub != null) {
|
|
|
+ SysUserSub updateUserSub = new SysUserSub();
|
|
|
+ updateUserSub.setId(queryUserSub.getId());
|
|
|
+ updateUserSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
|
|
|
+ updateUserSub.setGigChannel(gigChannel);
|
|
|
+ updateUserSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
+ updateUserSub.setUpdateTime(LocalDateTime.now());
|
|
|
+ updateUserSub.setUpdateUser(operateUserId);
|
|
|
+ sysUserSubService.updateById(updateUserSub);
|
|
|
+ } else {
|
|
|
+ SysUserSub userSub = new SysUserSub();
|
|
|
+ userSub.setUserId(userSignCertDTO.getUserId());
|
|
|
+ userSub.setDeptId(queryUser.getDeptId());
|
|
|
+ userSub.setGigType(gigType);
|
|
|
+ userSub.setGigChannel(gigChannel);
|
|
|
+ userSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
|
|
|
+ userSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
+ userSub.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
+ userSub.setCreateUser(operateUserId);
|
|
|
+ userSub.setCreateTime(LocalDateTime.now());
|
|
|
+ sysUserSubService.save(userSub);
|
|
|
}
|
|
|
-
|
|
|
- // 遍历当前渠道下的通道 保存useSub
|
|
|
- gigChannelList.forEach(gigChannel -> {
|
|
|
- // 查询userId+渠道+通道是否存在
|
|
|
- SysUserSub queryUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
- .eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
|
|
|
- .eq(SysUserSub::getGigChannel, gigChannel)
|
|
|
- .eq(SysUserSub::getGigType, gigType));
|
|
|
- if (queryUserSub != null) {
|
|
|
- // 更新
|
|
|
- SysUserSub updateUserSub = new SysUserSub();
|
|
|
- updateUserSub.setId(queryUserSub.getId());
|
|
|
- updateUserSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
|
|
|
- updateUserSub.setGigChannel(gigChannel);
|
|
|
- updateUserSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
- updateUserSub.setUpdateTime(LocalDateTime.now());
|
|
|
- updateUserSub.setUpdateUser(operateUserId);
|
|
|
- sysUserSubService.updateById(updateUserSub);
|
|
|
- } else {
|
|
|
- // 保存
|
|
|
- SysUserSub userSub = new SysUserSub();
|
|
|
- userSub.setUserId(userSignCertDTO.getUserId());
|
|
|
- userSub.setDeptId(queryUser.getDeptId());
|
|
|
- userSub.setGigType(gigType);
|
|
|
- userSub.setGigChannel(gigChannel);
|
|
|
- userSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
|
|
|
- userSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
- userSub.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
- userSub.setCreateUser(operateUserId);
|
|
|
- userSub.setCreateTime(LocalDateTime.now());
|
|
|
- sysUserSubService.save(userSub);
|
|
|
- }
|
|
|
- });
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -292,8 +284,8 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
/**
|
|
|
* 批量发起用户签约认证
|
|
|
*
|
|
|
- * @param userSignCertDTO 参数
|
|
|
- * @return 结果
|
|
|
+ * @param userSignCertDTO
|
|
|
+ * @return
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -322,6 +314,10 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
&& TaxHelperCertStatus.CHECKED_UNBIND.getCode() != sysUserSub.getCertStatus()
|
|
|
&& TaxHelperCertStatus.CERT.getCode() != sysUserSub.getCertStatus()) {
|
|
|
return true;
|
|
|
+ } else if (GigTypeEnum.YEE.equals(sysUserSub.getGigType())
|
|
|
+ && GigChannelEnum.JIN_YUAN.equals(sysUserSub.getGigChannel())) {
|
|
|
+ // 易联并且渠道是金园数科(自由职家)
|
|
|
+ return true;
|
|
|
} else if (GigTypeEnum.YEE.equals(sysUserSub.getGigType())
|
|
|
&& GigChannelEnum.DEFAULT.equals(sysUserSub.getGigChannel())
|
|
|
&& !YeeCertStatus.SIGNED.getCode().equals(String.valueOf(sysUserSub.getCertStatus()))) {
|
|
@@ -343,7 +339,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
}
|
|
|
// 请求流水号
|
|
|
String requestId = RandomStringUtils.randomAlphabetic(16);
|
|
|
- // 是否需要传核身视频flag,阿拉丁要传
|
|
|
+ // 是否需要传核身视频,阿拉丁、易联默认都要传
|
|
|
boolean uploadFaceID = userSignCertDTO.getUploadFaceID() != null && userSignCertDTO.getUploadFaceID();
|
|
|
// 封装请求参数
|
|
|
GigInfoModel infoModel = this.buildChannelCertModel(sysUser, userSub, dept.getTaxCode(), requestId, uploadFaceID);
|
|
@@ -367,12 +363,12 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
/**
|
|
|
* 签约认证前的前置判断
|
|
|
*
|
|
|
- * @param sysUser 用户
|
|
|
- * @param userSub 用户sub
|
|
|
- * @param userSignCertDTO 入参
|
|
|
- * @return true 发起认证,false 不发起认证
|
|
|
+ * @param sysUser
|
|
|
+ * @param userSub
|
|
|
+ * @param userSignCertDTO
|
|
|
*/
|
|
|
private boolean preSignCert(SysUser sysUser, SysUserSub userSub, UserSignCertDTO userSignCertDTO) {
|
|
|
+ boolean flag = true;
|
|
|
// 校验是否有进行中的
|
|
|
if (GigCallBackStatus.IN_PROGRESS.equals(userSub.getCallbackStatus())) {
|
|
|
return false;
|
|
@@ -380,13 +376,20 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
|
|
|
switch (userSub.getGigType()) {
|
|
|
case YEE:
|
|
|
- return false;
|
|
|
- case OLADING:
|
|
|
+ // 如果不是金园数科,则返回true
|
|
|
+ // 否则继续执行case为OLADING下的代码(判断是否该用户对应姓名身份证已认证,是则直接同步)
|
|
|
+ if (!GigChannelEnum.JIN_YUAN.equals(userSub.getGigChannel())) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
// 如果需要传核身视频,则返回true
|
|
|
if (userSignCertDTO.getUploadFaceID() != null && userSignCertDTO.getUploadFaceID()) {
|
|
|
return true;
|
|
|
}
|
|
|
-
|
|
|
+ // 如果已认证,则直接返回false
|
|
|
+ if (OladingCertStatus.CERT.getCode().equals(String.valueOf(userSub.getCertStatus()))) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ case OLADING:
|
|
|
// 如果存在相同手机号、身份证、姓名信息的用户,并且是认证过,则不发起,直接返回签约认证状态
|
|
|
List<SysUser> existUserList = sysUserService.list(Wrappers.<SysUser>lambdaQuery()
|
|
|
.eq(SysUser::getUsername, sysUser.getUsername())
|
|
@@ -408,6 +411,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
.eq(SysUserSub::getGigChannel, GigChannelEnum.JIN_YUAN));
|
|
|
}));
|
|
|
if (CollUtil.isNotEmpty(existUserSubList)) {
|
|
|
+ flag = false;
|
|
|
SysUserSub existUserSub = existUserSubList.get(0);
|
|
|
// 更新状态
|
|
|
SysUserSub updateUserSub = new SysUserSub();
|
|
@@ -424,8 +428,6 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
Map<String, Object> result = MapUtil.newHashMap(1);
|
|
|
result.put(userSub.getGigType().name(), subMap);
|
|
|
redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(result), 1, TimeUnit.MINUTES);
|
|
|
-
|
|
|
- return false;
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
@@ -459,13 +461,12 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
Map<String, Object> result = MapUtil.newHashMap(1);
|
|
|
result.put("REN_LI_JIA", subMap);
|
|
|
redisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(result), 1, TimeUnit.MINUTES);
|
|
|
-
|
|
|
- return false;
|
|
|
+ // 默认返回false,不触发发送mq
|
|
|
+ flag = false;
|
|
|
default:
|
|
|
}
|
|
|
|
|
|
- // 默认返回false,不触发发送认证mq
|
|
|
- return false;
|
|
|
+ return flag;
|
|
|
}
|
|
|
|
|
|
/**
|