fix: 修复商户进件身份信息没有加密的问题,证件结束日期修改为字符串格式以兼容 长期 选项

This commit is contained in:
dax
2022-07-07 13:49:16 +08:00
parent d8ec62c293
commit 1acdf629d8
8 changed files with 25 additions and 14 deletions

View File

@@ -19,11 +19,7 @@ package cn.felord.payment.wechat.v3;
import cn.felord.payment.wechat.enumeration.WeChatServer;
import cn.felord.payment.wechat.enumeration.WechatPayV3Type;
import cn.felord.payment.wechat.v3.model.specmch.ApplymentParams;
import cn.felord.payment.wechat.v3.model.specmch.BankAccountInfo;
import cn.felord.payment.wechat.v3.model.specmch.ContactInfo;
import cn.felord.payment.wechat.v3.model.specmch.SubMchModifyParams;
import cn.felord.payment.wechat.v3.model.specmch.UboInfoListItem;
import cn.felord.payment.wechat.v3.model.specmch.*;
import com.fasterxml.jackson.databind.node.ObjectNode;
import org.springframework.http.HttpHeaders;
import org.springframework.util.CollectionUtils;
@@ -193,7 +189,22 @@ public class WechatPartnerSpecialMchApi extends AbstractApi {
contactInfo.setMobilePhone(signatureProvider.encryptRequestMessage(contactInfo.getMobilePhone(), x509Certificate));
contactInfo.setContactEmail(signatureProvider.encryptRequestMessage(contactInfo.getContactEmail(), x509Certificate));
List<UboInfoListItem> uboInfoList = applymentParams.getSubjectInfo().getUboInfoList();
SubjectInfo subjectInfo = applymentParams.getSubjectInfo();
IdentityInfo identityInfo = subjectInfo.getIdentityInfo();
IdCardInfo idCardInfo = identityInfo.getIdCardInfo();
if (idCardInfo != null) {
idCardInfo.setIdCardName(signatureProvider.encryptRequestMessage(idCardInfo.getIdCardName(), x509Certificate));
idCardInfo.setIdCardNumber(signatureProvider.encryptRequestMessage(idCardInfo.getIdCardNumber(), x509Certificate));
idCardInfo.setIdCardAddress(signatureProvider.encryptRequestMessage(idCardInfo.getIdCardAddress(), x509Certificate));
}
IdDocInfo idDocInfo = identityInfo.getIdDocInfo();
if (idDocInfo != null) {
idDocInfo.setIdDocName(signatureProvider.encryptRequestMessage(idDocInfo.getIdDocName(), x509Certificate));
idDocInfo.setIdDocNumber(signatureProvider.encryptRequestMessage(idDocInfo.getIdDocNumber(), x509Certificate));
idDocInfo.setIdDocAddress(signatureProvider.encryptRequestMessage(idDocInfo.getIdDocAddress(), x509Certificate));
}
List<UboInfoListItem> uboInfoList = subjectInfo.getUboInfoList();
if (!CollectionUtils.isEmpty(uboInfoList)) {
uboInfoList.forEach(uboInfoListItem -> {
uboInfoListItem.setUboIdDocName(signatureProvider.encryptRequestMessage(uboInfoListItem.getUboIdDocName(), x509Certificate));

View File

@@ -30,5 +30,5 @@ public class EcommerceIdDocInfo {
private String idDocName;
private String idDocNumber;
private String idDocCopy;
private LocalDate docPeriodEnd;
private String docPeriodEnd;
}

View File

@@ -43,7 +43,7 @@ public class UboInfo {
private String idCardName;
private String idCardNumber;
private LocalDate idCardPeriodBegin;
private LocalDate idCardPeriodEnd;
private String idCardPeriodEnd;
}
/**
@@ -55,6 +55,6 @@ public class UboInfo {
private String idDocName;
private String idDocNumber;
private LocalDate idDocPeriodBegin;
private LocalDate idDocPeriodEnd;
private String idDocPeriodEnd;
}
}

View File

@@ -12,5 +12,5 @@ public class BusinessLicenseInfo{
private String legalPerson;
private String licenseAddress;
private LocalDate periodBegin;
private LocalDate periodEnd;
private String periodEnd;
}

View File

@@ -15,7 +15,7 @@ public class ContactInfo{
private String contactIdDocCopy;
private String contactIdDocCopyBack;
private LocalDate contactPeriodBegin;
private LocalDate contactPeriodEnd;
private String contactPeriodEnd;
private String businessAuthorizationLetter;
private String openid;
private String mobilePhone;

View File

@@ -12,5 +12,5 @@ public class IdCardInfo{
private String idCardNumber;
private String idCardAddress;
private LocalDate cardPeriodBegin;
private LocalDate cardPeriodEnd;
private String cardPeriodEnd;
}

View File

@@ -33,5 +33,5 @@ public class IdDocInfo {
private String idDocNumber;
private String idDocAddress;
private LocalDate docPeriodBegin;
private LocalDate docPeriodEnd;
private String docPeriodEnd;
}

View File

@@ -14,5 +14,5 @@ public class UboInfoListItem{
private String uboIdDocNumber;
private String uboIdDocAddress;
private LocalDate uboPeriodBegin;
private LocalDate uboPeriodEnd;
private String uboPeriodEnd;
}