|
@@ -1,9 +1,11 @@
|
|
|
package com.qunzhixinxi.hnqz.admin.controller;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
+import cn.hutool.core.map.MapUtil;
|
|
|
import cn.hutool.core.util.IdcardUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
@@ -2318,6 +2320,8 @@ public class ApiController {
|
|
|
|
|
|
SysDept sysDept = sysDeptService.getById(sysUser.getDeptId());
|
|
|
|
|
|
+ Map<SubjectTypeEnum,String> errorMap = new HashMap<>(2);
|
|
|
+
|
|
|
// 开启认证
|
|
|
if (CollectionUtils.isNotEmpty(userUpdateInput.getSubList())) {
|
|
|
for (String subType : userUpdateInput.getSubList()) {
|
|
@@ -2330,7 +2334,8 @@ public class ApiController {
|
|
|
subCondition.setSubjectType(SubjectTypeEnum.TYPE_RENLIJIA.getCode());
|
|
|
SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.query(subCondition));
|
|
|
if (null == deptSub || StringUtils.isBlank(deptSub.getAppId())) {
|
|
|
- return R.failed("人员所在机构未配置结算信息");
|
|
|
+ errorMap.put(SubjectTypeEnum.TYPE_RENLIJIA, "人员所在机构未配置结算信息");
|
|
|
+ continue;
|
|
|
}
|
|
|
|
|
|
DingConfig config = new DingConfig();
|
|
@@ -2348,7 +2353,8 @@ public class ApiController {
|
|
|
|
|
|
EmployCheckResponse response = dingService.check(config, certList);
|
|
|
if (!response.isSuccess()) {
|
|
|
- return R.failed("人力家接口调用失败");
|
|
|
+ errorMap.put(SubjectTypeEnum.TYPE_RENLIJIA, "人力家接口调用异常");
|
|
|
+ continue;
|
|
|
}
|
|
|
//接口请求成功,但是接口返回的状态还需区分checkStatus,1:验证通过,状态改成已提交,2:验证不通过,状态改成认证失败
|
|
|
List<EmployCheckResultItem> freelancesResult = response.getData().getFreelancesResult();
|
|
@@ -2380,12 +2386,12 @@ public class ApiController {
|
|
|
continue;
|
|
|
}
|
|
|
log.info("认证失败:" + employCheckResultItem.getCheckRemark());
|
|
|
- return R.failed("认证失败:人力家认证失败");
|
|
|
+ errorMap.put(SubjectTypeEnum.TYPE_RENLIJIA, "认证失败:人力家认证失败");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- return R.failed("人力家接口调用异常");
|
|
|
+ errorMap.put(SubjectTypeEnum.TYPE_RENLIJIA, "人力家接口调用异常");
|
|
|
}
|
|
|
|
|
|
} else if (SubjectTypeEnum.TYPE_SHUIBANGYUN.getCode().equals(subType)) {
|
|
@@ -2396,7 +2402,8 @@ public class ApiController {
|
|
|
subCondition.setSubjectType(SubjectTypeEnum.TYPE_SHUIBANGYUN.getCode());
|
|
|
SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.query(subCondition));
|
|
|
if (null == deptSub || StringUtils.isBlank(deptSub.getAppId())) {
|
|
|
- return R.failed("人员所在机构未配置结算信息");
|
|
|
+ errorMap.put(SubjectTypeEnum.TYPE_SHUIBANGYUN, "人员所在机构未配置结算信息");
|
|
|
+ continue;
|
|
|
}
|
|
|
|
|
|
TaxHelperConfig config = new TaxHelperConfig();
|
|
@@ -2413,7 +2420,8 @@ public class ApiController {
|
|
|
|
|
|
model.setEnterpriseCode(sysDept.getTaxCode());
|
|
|
if (StringUtils.isEmpty(model.getEnterpriseCode())) {
|
|
|
- return R.failed("未配置企业的统一社会信用代码");
|
|
|
+ errorMap.put(SubjectTypeEnum.TYPE_SHUIBANGYUN, "未配置企业的统一社会信用代码");
|
|
|
+ continue;
|
|
|
}
|
|
|
TaxHelperAddMemberRequest request = new TaxHelperAddMemberRequest(model);
|
|
|
TaxHelperResponse response = taxHelperService.addMembers(request);
|
|
@@ -2435,12 +2443,18 @@ public class ApiController {
|
|
|
} else {
|
|
|
log.info("税邦云增员失败:{},{},原因是:{}", sysUser.getRealname(), sysUser.getUsername(), response.getMessage());
|
|
|
userUpdateInput.setIdCardNumber(null);
|
|
|
- return R.failed("税邦云增员失败");
|
|
|
+ errorMap.put(SubjectTypeEnum.TYPE_SHUIBANGYUN, "税邦云增员失败");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 两家都失败了,就中止
|
|
|
+ if (errorMap.size() == 2){
|
|
|
+ return R.failed(errorMap);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
sysUser.setAvatar(userUpdateInput.getAvatar());
|
|
|
if (StringUtils.isNotEmpty(userUpdateInput.getIdCardNumber())) {
|
|
|
sysUser.setIdCardNumber(userUpdateInput.getIdCardNumber());
|
|
@@ -2454,7 +2468,7 @@ public class ApiController {
|
|
|
}
|
|
|
sysUserService.updateById(sysUser);
|
|
|
|
|
|
- return R.ok();
|
|
|
+ return R.ok(errorMap);
|
|
|
}
|
|
|
|
|
|
|