|
@@ -102,6 +102,16 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
*/
|
|
|
private static final String GIG_CERT_STATE = "/gig/v2/operation/cert/state";
|
|
|
|
|
|
+ /**
|
|
|
+ * 签约接口url
|
|
|
+ */
|
|
|
+ private static final String GIG_CERT_ACTION_SIGN_UP = "/gig/v2/operation/cert/action/sign-up";
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 税邦云绑卡url
|
|
|
+ */
|
|
|
+ private static final String GIG_CERT_ACTION_BANK_CARD = "/gig/v2/operation/cert/action/bank-card";
|
|
|
+
|
|
|
/**
|
|
|
* 查询用户签约认证信息
|
|
|
*
|
|
@@ -220,52 +230,52 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
sysUserService.updateById(updateUser);
|
|
|
}
|
|
|
// 更新用户签约认证主体信息
|
|
|
- userSignCertDTO.getSubjectLocationList().forEach(subjectLocation -> {
|
|
|
- // 税邦云单独设置渠道类型
|
|
|
- GigChannelEnum gigChannel;
|
|
|
- if (GigTypeEnum.TAX_HELPOR.equals(subjectLocation)) {
|
|
|
- // 读取用户所认证的企业的结算渠道
|
|
|
- SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.<SysDeptSub>lambdaQuery()
|
|
|
- .eq(SysDeptSub::getDeptId, queryUser.getDeptId())
|
|
|
- .eq(SysDeptSub::getSubjectType, subjectLocation.getGigType().getCode())
|
|
|
- .eq(SysDeptSub::getSubjectLocation, subjectLocation)
|
|
|
- .eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()));
|
|
|
- if (deptSub != null) {
|
|
|
- gigChannel = GigChannelEnum.resolve(Integer.parseInt(deptSub.getSubjectType()));
|
|
|
- } else {
|
|
|
- gigChannel = GigChannelEnum.DEFAULT;
|
|
|
- }
|
|
|
+ // 税邦云单独设置渠道类型
|
|
|
+ SubjectLocation subjectLocation = userSignCertDTO.getSubjectLocation();
|
|
|
+ GigChannelEnum gigChannel;
|
|
|
+ if (GigTypeEnum.TAX_HELPOR.equals(subjectLocation.getGigType())) {
|
|
|
+ // 读取用户所认证的企业的结算渠道
|
|
|
+ SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.<SysDeptSub>lambdaQuery()
|
|
|
+ .eq(SysDeptSub::getDeptId, queryUser.getDeptId())
|
|
|
+ .eq(SysDeptSub::getSubjectType, subjectLocation.getGigType().getCode())
|
|
|
+ .eq(SysDeptSub::getSubjectLocation, subjectLocation)
|
|
|
+ .eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()));
|
|
|
+ if (deptSub != null) {
|
|
|
+ gigChannel = GigChannelEnum.resolve(Integer.parseInt(deptSub.getSubjectType()));
|
|
|
} else {
|
|
|
gigChannel = GigChannelEnum.DEFAULT;
|
|
|
}
|
|
|
- SysUserSub queryUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
- .eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
|
|
|
- .eq(SysUserSub::getDeptId, queryUser.getDeptId())
|
|
|
- .eq(SysUserSub::getGigType, subjectLocation.getGigType())
|
|
|
- .eq(SysUserSub::getSubjectLocation, subjectLocation));
|
|
|
- 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(subjectLocation.getGigType());
|
|
|
- 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);
|
|
|
- }
|
|
|
- });
|
|
|
+ } else {
|
|
|
+ gigChannel = GigChannelEnum.DEFAULT;
|
|
|
+ }
|
|
|
+ SysUserSub queryUserSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
+ .eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
|
|
|
+ .eq(SysUserSub::getDeptId, queryUser.getDeptId())
|
|
|
+ .eq(SysUserSub::getGigType, subjectLocation.getGigType())
|
|
|
+ .eq(SysUserSub::getSubjectLocation, subjectLocation));
|
|
|
+ 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(subjectLocation.getGigType());
|
|
|
+ userSub.setGigChannel(gigChannel);
|
|
|
+ userSub.setSubjectLocation(userSignCertDTO.getSubjectLocation());
|
|
|
+ userSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
|
|
|
+ userSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
+ userSub.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
+ userSub.setCreateUser(operateUserId);
|
|
|
+ userSub.setCreateTime(LocalDateTime.now());
|
|
|
+ sysUserSubService.save(userSub);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -283,18 +293,83 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
if (sysUser == null) {
|
|
|
return R.failed("用户不存在");
|
|
|
}
|
|
|
- // 查询认证数据
|
|
|
- SysUserExtRecord userExtRecord = sysUserExtRecordService.getOne(Wrappers.<SysUserExtRecord>lambdaQuery()
|
|
|
- .eq(SysUserExtRecord::getUserId, userId)
|
|
|
- .eq(SysUserExtRecord::getDelFlag, DelEnum.NOT_DEL.val()));
|
|
|
- if (userExtRecord == null) {
|
|
|
- return R.failed("用户认证数据不存在");
|
|
|
- }
|
|
|
// 查询dept
|
|
|
SysDept dept = sysDeptService.getById(sysUser.getDeptId());
|
|
|
- // TODO
|
|
|
+ // 查询deptSub
|
|
|
+// List<SysDeptSub> deptSubList = sysDeptSubService.list(Wrappers.<SysDeptSub>lambdaQuery()
|
|
|
+// .eq(SysDeptSub::getDeptId, dept.getDeptId())
|
|
|
+// .eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode())
|
|
|
+// .in(SysDeptSub::getSubjectLocation, userSignCertDTO.getSubjectLocationList()));
|
|
|
+// if (CollUtil.isEmpty(deptSubList)) {
|
|
|
+// return R.failed("用户所在企业税源地不存在");
|
|
|
+// }
|
|
|
+ // 查询userSub
|
|
|
+ SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
+ .eq(SysUserSub::getDeptId, dept.getDeptId())
|
|
|
+ .eq(SysUserSub::getUserId, userId)
|
|
|
+ .eq(SysUserSub::getSubjectLocation, userSignCertDTO.getSubjectLocation()));
|
|
|
+ if (userSub == null) {
|
|
|
+ return R.failed("用户sub数据不存在");
|
|
|
+ }
|
|
|
+ // 判断是否已签约/增员
|
|
|
+ if (SubjectLocation.LUO_SHU_YUN.equals(userSub.getSubjectLocation())) {
|
|
|
+ if (userSub.getCertStatus() > TaxHelperCertStatus.UN_CERT.getCode()) {
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (OladingCertStatus.SIGNED.getCode().equals(String.valueOf(userSub.getCertStatus()))
|
|
|
+ || OladingCertStatus.CERT.getCode().equals(String.valueOf(userSub.getCertStatus()))) {
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- return null;
|
|
|
+ // 发起签约/增员
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ params.put("enterpriseCode", dept.getTaxCode());
|
|
|
+ params.put("subjectLocation", userSub.getSubjectLocation().name());
|
|
|
+ params.put("subjectChannel", userSub.getGigChannel().name());
|
|
|
+ params.put("realName", sysUser.getRealname());
|
|
|
+ params.put("phone", sysUser.getUsername());
|
|
|
+ params.put("bankPhone", userSub.getBankPhone());
|
|
|
+ params.put("bankCard", userSub.getBankCardNumber());
|
|
|
+ params.put("idCard", sysUser.getIdCardNumber());
|
|
|
+ params.put("endType", "CSO");
|
|
|
+ params.put("email", "service@yaoyi.net");
|
|
|
+ params.put("address", "北京市房山区");
|
|
|
+
|
|
|
+ String postResult = HttpUtil.post(upmsConfig.getGigServiceUrl() + GIG_CERT_ACTION_SIGN_UP, JSONUtil.toJsonStr(params));
|
|
|
+ log.info("签约/增员,req={}, resp={}", JSONUtil.toJsonStr(params), postResult);
|
|
|
+
|
|
|
+ String message = "增员/签约失败";
|
|
|
+ int certStatus = 0;
|
|
|
+ if (JSONUtil.isJsonObj(postResult)) {
|
|
|
+ JSONObject jsonResult = JSONUtil.parseObj(postResult);
|
|
|
+ if (jsonResult.getInt("code") == 0) {
|
|
|
+ JSONObject data = jsonResult.getJSONObject("data");
|
|
|
+ if (SubjectLocation.LUO_SHU_YUN.equals(userSignCertDTO.getSubjectLocation())) {
|
|
|
+ if ("2000".equals(data.getStr("code"))) {
|
|
|
+ certStatus = TaxHelperCertStatus.ADD_MEMBER.getCode();
|
|
|
+ }
|
|
|
+ message = data.getStr("message");
|
|
|
+ } else {
|
|
|
+ if ("0".equals(data.getStr("code"))) {
|
|
|
+ certStatus = Integer.parseInt(OladingCertStatus.SIGNED.getCode());
|
|
|
+ }
|
|
|
+ message = data.getStr("message");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 修改userSub状态
|
|
|
+ SysUserSub updateUserSub = new SysUserSub();
|
|
|
+ updateUserSub.setId(userSub.getId());
|
|
|
+ updateUserSub.setCertStatus(certStatus);
|
|
|
+ updateUserSub.setCertRemark("签约/增员:" + message);
|
|
|
+ updateUserSub.setUpdateUser(SecurityUtils.getUser().getId());
|
|
|
+ updateUserSub.setUpdateTime(LocalDateTime.now());
|
|
|
+ sysUserSubService.updateById(updateUserSub);
|
|
|
+
|
|
|
+ return certStatus > 0 ? R.ok() : R.failed(message);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -381,7 +456,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
if (CollUtil.isNotEmpty(userSubList)) {
|
|
|
// 过滤出阿拉钉的渠道
|
|
|
Collection<SubjectLocation> oladingList =
|
|
|
- CollUtil.intersection(userSignCertDTO.getSubjectLocationList(),
|
|
|
+ CollUtil.intersection(CollUtil.toList(userSignCertDTO.getSubjectLocation()),
|
|
|
SubjectLocation.getByGigType(GigTypeEnum.OLADING)).stream()
|
|
|
.sorted(Comparator.comparing(SubjectLocation::getSort))
|
|
|
.collect(Collectors.toList());
|
|
@@ -623,42 +698,74 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
* 税邦云发送绑卡验证码
|
|
|
*
|
|
|
* @param userSignCertDTO
|
|
|
+ * @return
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void bindCardVerification(UserSignCertDTO userSignCertDTO) {
|
|
|
+ public R<?> bindCardVerification(UserSignCertDTO userSignCertDTO) {
|
|
|
+ // 查询user
|
|
|
+ SysUser sysUser = sysUserService.getById(userSignCertDTO.getUserId());
|
|
|
+ // 查询userSub
|
|
|
SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
.eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
|
|
|
- .eq(SysUserSub::getGigType, GigTypeEnum.TAX_HELPOR));
|
|
|
+ .eq(SysUserSub::getDeptId, sysUser.getDeptId())
|
|
|
+ .eq(SysUserSub::getSubjectLocation, SubjectLocation.LUO_SHU_YUN));
|
|
|
if (userSub == null) {
|
|
|
- throw new RuntimeException("数据异常");
|
|
|
+ return R.failed("用户sub数据不存在");
|
|
|
}
|
|
|
- // 查询user
|
|
|
- SysUser sysUser = sysUserService.getById(userSignCertDTO.getUserId());
|
|
|
+
|
|
|
// 查询dept
|
|
|
SysDept dept = sysDeptService.getById(sysUser.getDeptId());
|
|
|
- // 基础信息
|
|
|
- GigBaseInfoModel baseInfoModel = new GigBaseInfoModel();
|
|
|
- baseInfoModel.setGigType(userSub.getGigType());
|
|
|
- baseInfoModel.setGigChannel(userSub.getGigChannel());
|
|
|
- baseInfoModel.setBankCardOpt("captcha");
|
|
|
- baseInfoModel.setNotifyUrl(taxNotifyConfig.getNotifyUrl());
|
|
|
- // 用户信息
|
|
|
- GigUserInfoModel userInfoModel = new GigUserInfoModel();
|
|
|
- userInfoModel.setName(sysUser.getRealname());
|
|
|
- userInfoModel.setUsername(sysUser.getUsername());
|
|
|
- userInfoModel.setEntCode(dept.getTaxCode());
|
|
|
- userInfoModel.setIdCard(sysUser.getIdCardNumber());
|
|
|
- userInfoModel.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
- userInfoModel.setBankCard(userSignCertDTO.getBankCardNumber());
|
|
|
|
|
|
- GigInfoModel infoModel = new GigInfoModel();
|
|
|
- infoModel.setBaseInfo(baseInfoModel);
|
|
|
- infoModel.setUserInfo(userInfoModel);
|
|
|
- BaseMap gigInfo = new BaseMap();
|
|
|
- gigInfo.put(userSub.getGigType().name(), infoModel);
|
|
|
- // 发送mq
|
|
|
- rabbitMqClient.sendMessage(MqConstants.DIRECT_MODE_GIG_BANK_CARD_QUEUE, JSONUtil.toJsonStr(gigInfo));
|
|
|
+ // 发送绑卡验证码
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ params.put("enterpriseCode", dept.getTaxCode());
|
|
|
+ params.put("subjectLocation", userSub.getSubjectLocation().name());
|
|
|
+ params.put("realName", sysUser.getRealname());
|
|
|
+ params.put("bankCard", userSignCertDTO.getBankCardNumber());
|
|
|
+ params.put("idCard", sysUser.getIdCardNumber());
|
|
|
+ params.put("bankPhone", userSignCertDTO.getBankPhone());
|
|
|
+ params.put("endType", "CSO");
|
|
|
+ params.put("bankCardStep", "CAPTCHA");
|
|
|
+
|
|
|
+ String postResult = HttpUtil.post(upmsConfig.getGigServiceUrl() + GIG_CERT_ACTION_BANK_CARD, JSONUtil.toJsonStr(params));
|
|
|
+ log.info("税邦云发送绑卡验证码: req={}, resp={}", JSONUtil.toJsonStr(params), postResult);
|
|
|
+
|
|
|
+ if (JSONUtil.isJsonObj(postResult)) {
|
|
|
+ JSONObject jsonResult = JSONUtil.parseObj(postResult);
|
|
|
+ if (jsonResult.getInt("code") == 0) {
|
|
|
+ JSONObject data = jsonResult.getJSONObject("data");
|
|
|
+ if ("2000".equals(data.getStr("code"))) {
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ return R.failed(data.getStr("message"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return R.failed("发送绑卡验证码失败");
|
|
|
+
|
|
|
+// // 基础信息
|
|
|
+// GigBaseInfoModel baseInfoModel = new GigBaseInfoModel();
|
|
|
+// baseInfoModel.setGigType(userSub.getGigType());
|
|
|
+// baseInfoModel.setGigChannel(userSub.getGigChannel());
|
|
|
+// baseInfoModel.setBankCardOpt("captcha");
|
|
|
+// baseInfoModel.setNotifyUrl(taxNotifyConfig.getNotifyUrl());
|
|
|
+// // 用户信息
|
|
|
+// GigUserInfoModel userInfoModel = new GigUserInfoModel();
|
|
|
+// userInfoModel.setName(sysUser.getRealname());
|
|
|
+// userInfoModel.setUsername(sysUser.getUsername());
|
|
|
+// userInfoModel.setEntCode(dept.getTaxCode());
|
|
|
+// userInfoModel.setIdCard(sysUser.getIdCardNumber());
|
|
|
+// userInfoModel.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
+// userInfoModel.setBankCard(userSignCertDTO.getBankCardNumber());
|
|
|
+//
|
|
|
+// GigInfoModel infoModel = new GigInfoModel();
|
|
|
+// infoModel.setBaseInfo(baseInfoModel);
|
|
|
+// infoModel.setUserInfo(userInfoModel);
|
|
|
+// BaseMap gigInfo = new BaseMap();
|
|
|
+// gigInfo.put(userSub.getGigType().name(), infoModel);
|
|
|
+// // 发送mq
|
|
|
+// rabbitMqClient.sendMessage(MqConstants.DIRECT_MODE_GIG_BANK_CARD_QUEUE, JSONUtil.toJsonStr(gigInfo));
|
|
|
|
|
|
}
|
|
|
|
|
@@ -666,55 +773,106 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
* 绑卡确认
|
|
|
*
|
|
|
* @param userSignCertDTO
|
|
|
+ * @return
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void bindCardConfirm(UserSignCertDTO userSignCertDTO) {
|
|
|
- List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
+ public R<Object> bindCardConfirm(UserSignCertDTO userSignCertDTO) {
|
|
|
+
|
|
|
+ // 查询user
|
|
|
+ SysUser sysUser = sysUserService.getById(userSignCertDTO.getUserId());
|
|
|
+ // 查询userSub
|
|
|
+ SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
.eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
|
|
|
- .in(SysUserSub::getGigType, userSignCertDTO.getGigTypeList()));
|
|
|
- if (CollUtil.isEmpty(userSubList)) {
|
|
|
- throw new RuntimeException("数据异常");
|
|
|
+ .eq(SysUserSub::getDeptId, sysUser.getDeptId())
|
|
|
+ .eq(SysUserSub::getSubjectLocation, SubjectLocation.LUO_SHU_YUN));
|
|
|
+ if (userSub == null) {
|
|
|
+ return R.failed("用户sub数据不存在");
|
|
|
}
|
|
|
- BaseMap gigInfo = new BaseMap();
|
|
|
- userSubList.stream()
|
|
|
- // 人力家暂过滤掉
|
|
|
- .filter(sysUserSub -> !GigTypeEnum.REN_LI_JIA.equals(sysUserSub.getGigType()))
|
|
|
- .forEach(userSub -> {
|
|
|
- // 新银行卡号缓存到redis
|
|
|
- String cacheKey = String.format("%s_%s_%s", CacheConstants.BIND_CARD_CONFIRM_NEW_BANK_CARD, userSub.getUserId(), userSub.getGigType().name());
|
|
|
- redisTemplate.opsForValue().set(cacheKey, userSignCertDTO);
|
|
|
-
|
|
|
- // 查询user
|
|
|
- SysUser sysUser = sysUserService.getById(userSignCertDTO.getUserId());
|
|
|
- // 查询dept
|
|
|
- SysDept dept = sysDeptService.getById(sysUser.getDeptId());
|
|
|
- // 封装请求数据
|
|
|
- if (GigTypeEnum.TAX_HELPOR.equals(userSub.getGigType())) {
|
|
|
- userSub.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
- userSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
- gigInfo.put(userSub.getGigType().name(),
|
|
|
- this.buildTaxHelperBindCardConfirmModel(sysUser, userSub, dept.getTaxCode(), userSignCertDTO.getBankCardNumber(), userSignCertDTO.getVerifyCode()));
|
|
|
- } else if (GigTypeEnum.YEE.equals(userSub.getGigType())) {
|
|
|
- gigInfo.put(userSub.getGigType().name(),
|
|
|
- this.buildYeeBindCardConfirmModel(sysUser, userSub, dept.getTaxCode(), userSignCertDTO.getBankCardNumber()));
|
|
|
- } else if (GigTypeEnum.OLADING.equals(userSub.getGigType())) {
|
|
|
- gigInfo.put(userSub.getGigType().name(),
|
|
|
- this.buildOladingBindCardConfirmModel(sysUser, userSub, dept.getTaxCode(), userSignCertDTO.getBankCardNumber()));
|
|
|
- }
|
|
|
- // 更新为进行中状态
|
|
|
- SysUserSub updateUserSub = new SysUserSub();
|
|
|
- updateUserSub.setId(userSub.getId());
|
|
|
- updateUserSub.setCallbackStatus(GigCallBackStatus.IN_PROGRESS);
|
|
|
- updateUserSub.setUpdateTime(LocalDateTime.now());
|
|
|
- updateUserSub.setUpdateUser(0);
|
|
|
- sysUserSubService.updateById(updateUserSub);
|
|
|
- });
|
|
|
-
|
|
|
- if (CollUtil.isNotEmpty(gigInfo)) {
|
|
|
- // 发送mq
|
|
|
- rabbitMqClient.sendMessage(MqConstants.DIRECT_MODE_GIG_BANK_CARD_QUEUE, JSONUtil.toJsonStr(gigInfo));
|
|
|
+
|
|
|
+ // 查询dept
|
|
|
+ SysDept dept = sysDeptService.getById(sysUser.getDeptId());
|
|
|
+
|
|
|
+ // 税邦云中金绑卡操作
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ params.put("enterpriseCode", dept.getTaxCode());
|
|
|
+ params.put("subjectLocation", userSub.getSubjectLocation().name());
|
|
|
+ params.put("realName", sysUser.getRealname());
|
|
|
+ params.put("bankCard", userSignCertDTO.getBankCardNumber());
|
|
|
+ params.put("idCard", sysUser.getIdCardNumber());
|
|
|
+ params.put("endType", "CSO");
|
|
|
+ params.put("bankCardStep", "BOUND");
|
|
|
+ params.put("captcha", userSignCertDTO.getVerifyCode());
|
|
|
+
|
|
|
+ String postResult = HttpUtil.post(upmsConfig.getGigServiceUrl() + GIG_CERT_ACTION_BANK_CARD, JSONUtil.toJsonStr(params));
|
|
|
+ log.info("税邦云中金绑卡操作: req={}, resp={}", JSONUtil.toJsonStr(params), postResult);
|
|
|
+
|
|
|
+ if (JSONUtil.isJsonObj(postResult)) {
|
|
|
+ JSONObject jsonResult = JSONUtil.parseObj(postResult);
|
|
|
+ if (jsonResult.getInt("code") == 0) {
|
|
|
+ JSONObject data = jsonResult.getJSONObject("data");
|
|
|
+ if ("2000".equals(data.getStr("code"))) {
|
|
|
+ // 保存手机号和银行卡号
|
|
|
+ SysUser updateUser = new SysUser();
|
|
|
+ updateUser.setUserId(sysUser.getUserId());
|
|
|
+ updateUser.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
+ updateUser.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
+ updateUser.setUpdateTime(LocalDateTime.now());
|
|
|
+ sysUserService.updateById(updateUser);
|
|
|
+
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ return R.failed(data.getStr("message"));
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ return R.failed("发送绑卡验证码失败");
|
|
|
+
|
|
|
+// List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
+// .eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
|
|
|
+// .in(SysUserSub::getGigType, userSignCertDTO.getGigTypeList()));
|
|
|
+// if (CollUtil.isEmpty(userSubList)) {
|
|
|
+// throw new RuntimeException("数据异常");
|
|
|
+// }
|
|
|
+// BaseMap gigInfo = new BaseMap();
|
|
|
+// userSubList.stream()
|
|
|
+// // 人力家暂过滤掉
|
|
|
+// .filter(sysUserSub -> !GigTypeEnum.REN_LI_JIA.equals(sysUserSub.getGigType()))
|
|
|
+// .forEach(userSub -> {
|
|
|
+// // 新银行卡号缓存到redis
|
|
|
+// String cacheKey = String.format("%s_%s_%s", CacheConstants.BIND_CARD_CONFIRM_NEW_BANK_CARD, userSub.getUserId(), userSub.getGigType().name());
|
|
|
+// redisTemplate.opsForValue().set(cacheKey, userSignCertDTO);
|
|
|
+//
|
|
|
+// // 查询user
|
|
|
+// SysUser sysUser = sysUserService.getById(userSignCertDTO.getUserId());
|
|
|
+// // 查询dept
|
|
|
+// SysDept dept = sysDeptService.getById(sysUser.getDeptId());
|
|
|
+// // 封装请求数据
|
|
|
+// if (GigTypeEnum.TAX_HELPOR.equals(userSub.getGigType())) {
|
|
|
+// userSub.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
+// userSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
|
|
|
+// gigInfo.put(userSub.getGigType().name(),
|
|
|
+// this.buildTaxHelperBindCardConfirmModel(sysUser, userSub, dept.getTaxCode(), userSignCertDTO.getBankCardNumber(), userSignCertDTO.getVerifyCode()));
|
|
|
+// } else if (GigTypeEnum.YEE.equals(userSub.getGigType())) {
|
|
|
+// gigInfo.put(userSub.getGigType().name(),
|
|
|
+// this.buildYeeBindCardConfirmModel(sysUser, userSub, dept.getTaxCode(), userSignCertDTO.getBankCardNumber()));
|
|
|
+// } else if (GigTypeEnum.OLADING.equals(userSub.getGigType())) {
|
|
|
+// gigInfo.put(userSub.getGigType().name(),
|
|
|
+// this.buildOladingBindCardConfirmModel(sysUser, userSub, dept.getTaxCode(), userSignCertDTO.getBankCardNumber()));
|
|
|
+// }
|
|
|
+// // 更新为进行中状态
|
|
|
+// SysUserSub updateUserSub = new SysUserSub();
|
|
|
+// updateUserSub.setId(userSub.getId());
|
|
|
+// updateUserSub.setCallbackStatus(GigCallBackStatus.IN_PROGRESS);
|
|
|
+// updateUserSub.setUpdateTime(LocalDateTime.now());
|
|
|
+// updateUserSub.setUpdateUser(0);
|
|
|
+// sysUserSubService.updateById(updateUserSub);
|
|
|
+// });
|
|
|
+//
|
|
|
+// if (CollUtil.isNotEmpty(gigInfo)) {
|
|
|
+// // 发送mq
|
|
|
+// rabbitMqClient.sendMessage(MqConstants.DIRECT_MODE_GIG_BANK_CARD_QUEUE, JSONUtil.toJsonStr(gigInfo));
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
/**
|