|
@@ -1,6 +1,8 @@
|
|
|
package com.qunzhixinxi.hnqz.admin.service.gig.impl;
|
|
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.dto.OladingCommonRequest;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.dto.UserSignCertDTO;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.GigCallBackStatus;
|
|
@@ -15,7 +17,9 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.Collections;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* @author lixuesong
|
|
@@ -32,24 +36,57 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
|
|
|
|
|
|
/**
|
|
|
* 自由职家回调业务处理
|
|
|
- *
|
|
|
+ * @param interfaceName
|
|
|
* @param requestId
|
|
|
- * @param certStatus
|
|
|
+ * @param data
|
|
|
*/
|
|
|
@Override
|
|
|
- public void oladingNotify(String requestId, Integer certStatus) {
|
|
|
- // TODO
|
|
|
+ public void oladingNotify(String interfaceName, String requestId, Map<String, Object> data) {
|
|
|
+ // 接口名称
|
|
|
+ OladingCommonRequest.InterfaceName interfaceNameEnum = Enum.valueOf(OladingCommonRequest.InterfaceName.class, interfaceName);
|
|
|
+ // 状态
|
|
|
+ String status = (String) data.get("status");
|
|
|
+ // 截取前缀部分,从而获取到系统内部的requestId
|
|
|
+ String requestIdPrefix = StrUtil.split(requestId, StrUtil.UNDERLINE).get(0);
|
|
|
+
|
|
|
+ if (StrUtil.isBlank(status)) {
|
|
|
+ throw new ValidateCodeException("status为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ switch (interfaceNameEnum) {
|
|
|
+ case SIGN_UP:
|
|
|
+ // 签约
|
|
|
+ OladingCommonRequest.SignUpStatus signUpCertStatus = Enum.valueOf(OladingCommonRequest.SignUpStatus.class, status);
|
|
|
+ if (OladingCommonRequest.SignUpStatus.SIGN.equals(signUpCertStatus)) {
|
|
|
+ this.oladingSignUp(requestIdPrefix, signUpCertStatus);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case UPLOAD_ID_CARD_IMAGE:
|
|
|
+ // 证照上传
|
|
|
+ OladingCommonRequest.UploadIdCardImageStatus uploadIdCertStatus =
|
|
|
+ Enum.valueOf(OladingCommonRequest.UploadIdCardImageStatus.class, status);
|
|
|
+ this.oladingUploadIdCardImage(requestIdPrefix, uploadIdCertStatus);
|
|
|
+ break;
|
|
|
+ case UPLOAD_TAXPAYER_AGREEMENT:
|
|
|
+ // 上传企业纳税人协议
|
|
|
+ OladingCommonRequest.UploadTaxpayerAgreementStatus agreementStatus =
|
|
|
+ Enum.valueOf(OladingCommonRequest.UploadTaxpayerAgreementStatus.class, status);
|
|
|
+ this.oladingUploadTaxpayerAgreement(requestIdPrefix, agreementStatus);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 自由职家签约结果回调
|
|
|
*
|
|
|
* @param requestId
|
|
|
- * @param certStatus
|
|
|
+ * @param signUpCertStatus
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void oladingSignUp(String requestId, Integer certStatus) {
|
|
|
+ public void oladingSignUp(String requestId, OladingCommonRequest.SignUpStatus signUpCertStatus) {
|
|
|
// 先查询requestId是否存在
|
|
|
SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
.eq(SysUserSub::getGigType, GigTypeEnum.OLADING)
|
|
@@ -57,14 +94,17 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
|
|
|
if (userSub == null) {
|
|
|
throw new ValidateCodeException("requestId不存在");
|
|
|
}
|
|
|
- // 更新状态
|
|
|
- SysUserSub updateUserSub = new SysUserSub();
|
|
|
- updateUserSub.setId(userSub.getId());
|
|
|
- updateUserSub.setCertStatus(certStatus);
|
|
|
- sysUserSubService.updateById(updateUserSub);
|
|
|
|
|
|
- // 如果成功,则发送证照上传、协议上传MQ
|
|
|
- if (OladingCertStatus.SIGNED.getCode().equals(String.valueOf(certStatus))) {
|
|
|
+ if (OladingCommonRequest.SignUpStatus.SIGN.equals(signUpCertStatus)) {
|
|
|
+ // 更新状态
|
|
|
+ SysUserSub updateUserSub = new SysUserSub();
|
|
|
+ updateUserSub.setId(userSub.getId());
|
|
|
+ updateUserSub.setCertStatus(Integer.valueOf(OladingCertStatus.SIGNED.getCode()));
|
|
|
+ updateUserSub.setUpdateTime(LocalDateTime.now());
|
|
|
+ updateUserSub.setUpdateUser(0);
|
|
|
+ sysUserSubService.updateById(updateUserSub);
|
|
|
+ // 如果成功,则发送证照上传MQ
|
|
|
+ log.info("=============================发送证照上传MQ==================================");
|
|
|
UserSignCertDTO userSignCertDTO = new UserSignCertDTO();
|
|
|
userSignCertDTO.setUserId(userSub.getUserId());
|
|
|
userSignCertDTO.setGigTypeList(Collections.singletonList(GigTypeEnum.OLADING));
|
|
@@ -76,10 +116,10 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
|
|
|
* 自由职家证照上传结果回调
|
|
|
*
|
|
|
* @param requestId
|
|
|
- * @param certStatus
|
|
|
+ * @param uploadIdCertStatus
|
|
|
*/
|
|
|
@Override
|
|
|
- public void oladingUploadIdCardImage(String requestId, Integer certStatus) {
|
|
|
+ public void oladingUploadIdCardImage(String requestId, OladingCommonRequest.UploadIdCardImageStatus uploadIdCertStatus) {
|
|
|
// 先查询requestId是否存在
|
|
|
SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
.eq(SysUserSub::getGigType, GigTypeEnum.OLADING)
|
|
@@ -87,24 +127,25 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
|
|
|
if (userSub == null) {
|
|
|
throw new ValidateCodeException("requestId不存在");
|
|
|
}
|
|
|
- // 更新状态
|
|
|
- SysUserSub updateUserSub = new SysUserSub();
|
|
|
- updateUserSub.setId(userSub.getId());
|
|
|
- updateUserSub.setCertStatus(certStatus);
|
|
|
- if (OladingCertStatus.FINISH.getCode().equals(String.valueOf(certStatus))) {
|
|
|
- updateUserSub.setCallbackStatus(GigCallBackStatus.RETURNED);
|
|
|
+
|
|
|
+ if (OladingCommonRequest.UploadIdCardImageStatus.IDENTIFY_SUCCESS.equals(uploadIdCertStatus)) {
|
|
|
+ // 如果成功,则发送协议上传MQ
|
|
|
+ log.info("=============================发送协议上传MQ==================================");
|
|
|
+ UserSignCertDTO userSignCertDTO = new UserSignCertDTO();
|
|
|
+ userSignCertDTO.setUserId(userSub.getUserId());
|
|
|
+ userSignCertDTO.setGigTypeList(Collections.singletonList(GigTypeEnum.OLADING));
|
|
|
+ sysUserSignCertService.batchChannelCert(userSignCertDTO);
|
|
|
}
|
|
|
- sysUserSubService.updateById(updateUserSub);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 自由职家上传企业纳税人协议回调
|
|
|
*
|
|
|
* @param requestId
|
|
|
- * @param certStatus
|
|
|
+ * @param agreementStatus
|
|
|
*/
|
|
|
@Override
|
|
|
- public void oladingUploadTaxpayerAgreement(String requestId, Integer certStatus) {
|
|
|
+ public void oladingUploadTaxpayerAgreement(String requestId, OladingCommonRequest.UploadTaxpayerAgreementStatus agreementStatus) {
|
|
|
// 先查询requestId是否存在
|
|
|
SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
.eq(SysUserSub::getGigType, GigTypeEnum.OLADING)
|
|
@@ -112,13 +153,16 @@ public class GigThirdApiServiceImpl implements GigThirdApiService {
|
|
|
if (userSub == null) {
|
|
|
throw new ValidateCodeException("requestId不存在");
|
|
|
}
|
|
|
- // 更新状态
|
|
|
- SysUserSub updateUserSub = new SysUserSub();
|
|
|
- updateUserSub.setId(userSub.getId());
|
|
|
- updateUserSub.setCertStatus(certStatus);
|
|
|
- if (OladingCertStatus.FINISH.getCode().equals(String.valueOf(certStatus))) {
|
|
|
+
|
|
|
+ if (OladingCommonRequest.UploadTaxpayerAgreementStatus.SUCCESS.equals(agreementStatus)) {
|
|
|
+ // 更新状态
|
|
|
+ SysUserSub updateUserSub = new SysUserSub();
|
|
|
+ updateUserSub.setId(userSub.getId());
|
|
|
+ updateUserSub.setCertStatus(Integer.valueOf(OladingCertStatus.CERT.getCode()));
|
|
|
updateUserSub.setCallbackStatus(GigCallBackStatus.RETURNED);
|
|
|
+ updateUserSub.setUpdateTime(LocalDateTime.now());
|
|
|
+ updateUserSub.setUpdateUser(0);
|
|
|
+ sysUserSubService.updateById(updateUserSub);
|
|
|
}
|
|
|
- sysUserSubService.updateById(updateUserSub);
|
|
|
}
|
|
|
}
|