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.WeChatServer;
import cn.felord.payment.wechat.enumeration.WechatPayV3Type; import cn.felord.payment.wechat.enumeration.WechatPayV3Type;
import cn.felord.payment.wechat.v3.model.specmch.ApplymentParams; import cn.felord.payment.wechat.v3.model.specmch.*;
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 com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.node.ObjectNode;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
@@ -193,7 +189,22 @@ public class WechatPartnerSpecialMchApi extends AbstractApi {
contactInfo.setMobilePhone(signatureProvider.encryptRequestMessage(contactInfo.getMobilePhone(), x509Certificate)); contactInfo.setMobilePhone(signatureProvider.encryptRequestMessage(contactInfo.getMobilePhone(), x509Certificate));
contactInfo.setContactEmail(signatureProvider.encryptRequestMessage(contactInfo.getContactEmail(), 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)) { if (!CollectionUtils.isEmpty(uboInfoList)) {
uboInfoList.forEach(uboInfoListItem -> { uboInfoList.forEach(uboInfoListItem -> {
uboInfoListItem.setUboIdDocName(signatureProvider.encryptRequestMessage(uboInfoListItem.getUboIdDocName(), x509Certificate)); uboInfoListItem.setUboIdDocName(signatureProvider.encryptRequestMessage(uboInfoListItem.getUboIdDocName(), x509Certificate));

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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