封装入网dto

This commit is contained in:
gong
2026-01-06 10:29:34 +08:00
parent 8d9878a316
commit 7efc46126c
46 changed files with 776 additions and 83 deletions

View File

@@ -0,0 +1,49 @@
package com.czg.dto;
import lombok.Data;
/**
* 统一进件
*
* @author yjjie
* @date 2026/1/6 10:02
*/
@Data
public class AggregateMerchantDto {
/**
* 【必填】
* 商户编号(在当前系统唯一)
*/
private String merchantCode;
/**
* 【必填】
* 商户基础信息
*/
private MerchantBaseInfoDto merchantBaseInfo;
/**
* 【必填】
* 法人信息
*/
private LegalPersonInfoDto legalPersonInfo;
/**
* 【必填】
* 营业执照信息
*/
private BusinessLicenceInfoDto businessLicenceInfo;
/**
* 【必填】
* 门店信息
*/
private StoreInfoDto storeInfo;
/**
* 【必填】
* 结算信息
*/
private SettlementInfoDto settlementInfo;
}

View File

@@ -0,0 +1,42 @@
package com.czg.dto;
import lombok.Data;
/**
* 营业执照信息
* @author yjjie
* @date 2026/1/6 10:17
*/
@Data
public class BusinessLicenceInfoDto {
/**
* 营业执照全称--非小微必填
*/
private String licenceName;
/**
* 营业执照号码--非小微必填
*/
private String licenceNo;
/**
* 营业执照开始日期--非小微必填
*/
private String licenceStartDate;
/**
* 营业执照结束日期--非小微必填
*/
private String licenceEndDate;
/**
* 营业执照注册地址--非小微必填
*/
private String registeredAddress;
/**
* 营业执照
*/
private String licensePic;
}

View File

@@ -0,0 +1,68 @@
package com.czg.dto;
import lombok.Data;
/**
* 法人信息
* @author yjjie
* @date 2026/1/6 10:13
*/
@Data
public class LegalPersonInfoDto {
/**
* 【必填】
* 法人姓名
*/
private String legalPersonName;
/**
* 【必填】
* 法人身份证号
*/
private String legalPersonId;
/**
* 【必填】
* 法人身份证开始日期
*/
private String legalIdStartDate;
/**
* 【必填】
* 法人身份证到期日期
*/
private String legalPersonIdEndDate;
/**
* 【必填】
* 法人电话
*/
private String legalPersonPhone;
/**
* 法人性别0男 1女
*/
private String legalGender;
/**
* 【必填】
* 法人地址
*/
private String legalAddress;
/**
* 身份证手持 图片
*/
private String idCardHandPic;
/**
* 身份证正面
*/
private String idCardFrontPic;
/**
* 身份证反面
*/
private String idCardBackPic;
}

View File

@@ -0,0 +1,75 @@
package com.czg.dto;
import lombok.Data;
/**
* 商户基础信息
*
* @author yjjie
* @date 2026/1/6 10:09
*/
@Data
public class MerchantBaseInfoDto {
/**
* 【必填】
* 商户类型
* 0: 个体商户;
* 1: 企业商户;
* 3: 小微商户
*/
private String userType;
/**
* 【必填】
* 商户简称--企业、个体必填
*/
private String shortName;
/**
* 证件类型
* 目前只支持身份证 传值0
*/
private String certType = "0";
/**
* 【必填】
* 行业编码
*/
private String mccCode;
/**
* 【必填】
* 联系人姓名
*/
private String contactName;
/**
* 【必填】
* 联系人身份证号
*/
private String contactPersonId;
/**
* 【必填】
* 联系人电话
*/
private String contactPhone;
/**
* 【必填】
* 联系人通讯地址
*/
private String contactAddr;
/**
* 【必填】
* 联系人邮箱
*/
private String contactEmail;
/**
* 企业类型1普通企业2事业单位3其他组织
*/
private String companyChildType = "1";
}

View File

@@ -0,0 +1,132 @@
package com.czg.dto;
import lombok.Data;
/**
* 结算信息
* @author yjjie
* @date 2026/1/6 10:22
*/
@Data
public class SettlementInfoDto {
/**
* 法人结算 0:非法人结算, 1:法人结算
*/
private String codeLegalPersonAcc;
/**
* 非法人姓名
*/
private String unincorporatedName;
/**
* 非法人身份证号码
*/
private String unincorporatedId;
/**
* 结算卡类型 必填 11 对私借记卡(结算卡正面照、结算卡反面照图片必传) 21 对公借记卡(只须结算卡正面照片)
*/
private String settlementCardType;
/**
* 结算账户卡号
*/
private String settlementCardNo;
/**
* 结算账户户名
*/
private String settlementName;
/**
* 结算银行预留手机号
*/
private String bankMobile;
/**
* 开户行省ID
*/
private String openAccProvinceId;
/**
* 开户行市ID
*/
private String openAccCityId;
/**
* 开户行区ID
*/
private String openAccAreaId;
/**
* 开户行省
*/
private String openAccProvince;
/**
* 开户行市
*/
private String openAccCity;
/**
* 开户行区
*/
private String openAccArea;
/**
* 开户行行别名称
*/
private String bankName;
/**
* 开户行编号
*/
private String bankType;
/**
* 支行开户行行别名称
*/
private String bankBranchName;
/**
* 支行开户行编号
*/
private String bankBranchCode;
/**
* 银行卡正面
*/
private String bankCardFrontPic;
/**
* 银行卡反面
*/
private String bankCardBackPic;
/**
* 开户许可证
*/
private String openAccountLicence;
/**
* 非法人手持结算授权书
*/
private String nonLegHandSettleAuthPic;
/**
* 非法人结算授权书
*/
private String nonLegSettleAuthPic;
/**
* 非法人身份证正面
*/
private String nonLegIdCardFrontPic;
/**
* 非法人身份证反面
*/
private String nonLegIdCardBackPic;
}

View File

@@ -0,0 +1,66 @@
package com.czg.dto;
import lombok.Data;
/**
* 门店信息
* @author yjjie
* @date 2026/1/6 10:19
*/
@Data
public class StoreInfoDto {
/**
* 【必填】
* 商户归属省id
*/
private String mercProvId;
/**
* 【必填】
* 商户归属市id
*/
private String mercCityId;
/**
* 【必填】
* 商户归属区id
*/
private String mercAreaId;
/**
* 商户归属省
*/
private String mercProv;
/**
* 商户归属市
*/
private String mercCity;
/**
* 商户归属区
*/
private String mercArea;
/**
* 【必填】
* 营业地址
*/
private String businessAddress;
/**
* 经营场所内设照片
*/
private String insidePic;
/**
* 门头照
*/
private String doorPic;
/**
* 收银台照片
*/
private String cashierDeskPic;
}

View File

@@ -1,9 +1,9 @@
package com.czg.alipay;
package com.czg.third.alipay;
import com.alipay.v3.ApiClient;
import com.alipay.v3.Configuration;
import com.alipay.v3.util.model.AlipayConfig;
import com.czg.alipay.dto.config.AlipayConfigDto;
import com.czg.third.alipay.dto.config.AlipayConfigDto;
import lombok.extern.slf4j.Slf4j;
/**

View File

@@ -1,18 +1,25 @@
package com.czg.alipay;
package com.czg.third.alipay;
import com.alipay.api.AlipayApiException;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.AntMerchantExpandIndirectZftSimplecreateModel;
import com.alipay.api.request.AntMerchantExpandIndirectZftSimplecreateRequest;
import com.alipay.api.response.AntMerchantExpandIndirectZftSimplecreateResponse;
import com.alipay.v3.ApiClient;
import com.alipay.v3.ApiException;
import com.alipay.v3.Configuration;
import com.alipay.v3.api.AlipayMerchantImageApi;
import com.alipay.v3.api.AlipayOpenAgentApi;
import com.alipay.v3.api.AntMerchantExpandIndirectImageApi;
import com.alipay.v3.model.*;
import com.alipay.v3.util.model.AlipayConfig;
import com.czg.CommonUtil;
import com.czg.alipay.dto.config.AlipayConfigDto;
import com.czg.alipay.dto.entry.AlipayImageUploadReqDto;
import com.czg.utils.CommonUtil;
import com.czg.third.alipay.dto.config.AlipayConfigDto;
import java.util.regex.Pattern;
import lombok.extern.slf4j.Slf4j;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
/**
* 支付宝进件管理
@@ -24,27 +31,49 @@ import java.io.File;
*/
@Slf4j
public class AlipayEntryManager {
// 匹配常见的图片扩展名
private static final Pattern PATTERN = Pattern.compile("\\.(jpg|jpeg|png|gif|bmp|webp|svg|ico)(?:[\\?#]|$)", Pattern.CASE_INSENSITIVE);
public static String uploadImage() {
byte[] bytes = CommonUtil.downloadImage("https://czg-qr-order.oss-cn-beijing.aliyuncs.com/indexs/shuangbackground.png");
File file = new File("/Users/yjjie/Desktop/111222.jpg");
AlipayMerchantImageApi api = new AlipayMerchantImageApi();
AlipayMerchantImageUploadModel model = new AlipayMerchantImageUploadModel();
model.setImageType("jpg");
public static String uploadImage(String url) {
try {
AlipayMerchantImageUploadResponseModel upload = api.upload(model, file);
byte[] bytes = CommonUtil.downloadImage(url);
Path tempFile = Files.createTempFile("image_", ".png");
// 写入数据
Files.write(tempFile, bytes);
File file = tempFile.toFile();
AntMerchantExpandIndirectImageApi imageApi = new AntMerchantExpandIndirectImageApi();
AntMerchantExpandIndirectImageUploadModel model = new AntMerchantExpandIndirectImageUploadModel();
// url 中获取图片 后缀
model.setImageType(extractImageExtension(url));
AntMerchantExpandIndirectImageUploadResponseModel upload = imageApi.upload(model, file);
return upload.getImageId();
} catch (ApiException e) {
} catch (Exception e) {
log.error("支付宝上传图片报错URL{},错误信息:{}", "url", e.getMessage(), e);
return "";
}
}
public static void main(String[] args) {
/**
* 使用正则表达式提取图片后缀
*/
public static String extractImageExtension(String imageUrl) {
java.util.regex.Matcher matcher = PATTERN.matcher(imageUrl);
if (matcher.find()) {
String extension = matcher.group(1).toLowerCase();
// 处理jpeg的情况
return "jpeg".equals(extension) ? "jpg" : extension;
}
// 默认后缀
return "png";
}
public static void main(String[] args) throws AlipayApiException {
AlipayConfigDto configDto = new AlipayConfigDto()
.setDomain("https://openapi.alipay.com")
.setAppId("2021004174605036")
@@ -52,8 +81,31 @@ public class AlipayEntryManager {
.setAlipayPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiQkrz+emAuS1mB3KKDOMmAZRd/BlPbh7fAIHAqAj1+QCZNcV3o2BTLIIqnuKpSlFXDG3uDzp2VsBxcizXuBbFyPGylnD9CgCj5abyh3+FIHPAZ2IM3TtpqImZ0TSPGXrMli4Nir7MvZktgccCqQKCC4o6iaDGz+UwWwJUIPna8fm2tiTZ+KH150CZbKVj4ZGNpBh5XSV/1dRgyQIV9D/EwSbkZ0n6VgKQLJBi0C2UE3QB17aL1Ir6+gDXIDbknN8O7GUD3aMGdThYdSRUb5wp9CZ5qfV7vCS/CgaRo38nhH3NOzkTL+7v0m1ZDHPmqEkn9VzZN6sCQdL7PoAOjHOCwIDAQAB");
AlipayClient.setupAlipayConfig(configDto);
String image = uploadImage();
System.out.println("image id = " + image);
// AlipayOpenAgentCreateModel data = new AlipayOpenAgentCreateModel();
//
// AlipayOpenAgentFacetofaceApi api = new AlipayOpenAgentFacetofaceApi();
// String imageId = uploadImage("https://czg-qr-order.oss-cn-beijing.aliyuncs.com/indexs/shuangbackground.png");
// System.out.println("支付宝图片 ID = " + imageId);
AntMerchantExpandIndirectZftSimplecreateRequest request = new AntMerchantExpandIndirectZftSimplecreateRequest();
AntMerchantExpandIndirectZftSimplecreateModel model = new AntMerchantExpandIndirectZftSimplecreateModel();
// 设置商户编号
model.setExternalId("105290059990194");
request.setBizModel(model);
com.alipay.api.AlipayConfig alipayConfig = new com.alipay.api.AlipayConfig();
alipayConfig.setServerUrl(configDto.getDomain());
alipayConfig.setAppId(configDto.getAppId());
alipayConfig.setAlipayPublicKey(configDto.getAlipayPublicKey());
alipayConfig.setPrivateKey(configDto.getPrivateKey());
// 初始化SDK
DefaultAlipayClient defaultAlipayClient = new DefaultAlipayClient(alipayConfig);
// AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
AntMerchantExpandIndirectZftSimplecreateResponse response = defaultAlipayClient.execute(request);
System.out.println(response.getBody());
}
// https://opendocs.alipay.com/solution/0dec7x?pathHash=caec4753 直付通

View File

@@ -0,0 +1,223 @@
package com.czg.third.alipay;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayConfig;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.*;
import com.alipay.api.request.AntMerchantExpandIndirectZftSimplecreateRequest;
import com.alipay.api.response.AntMerchantExpandIndirectZftSimplecreateResponse;
import java.util.ArrayList;
import java.util.List;
/**
* @author yjjie
* @date 2026/1/5 13:46
*/
public class AlipayReqUtils {
public static void main(String[] args) throws AlipayApiException {
DefaultAlipayClient defaultAlipayClient = new DefaultAlipayClient(getAlipayConfig());
// 初始化SDK
// AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
// 构造请求参数以调用接口
AntMerchantExpandIndirectZftSimplecreateRequest request = new AntMerchantExpandIndirectZftSimplecreateRequest();
AntMerchantExpandIndirectZftSimplecreateModel model = new AntMerchantExpandIndirectZftSimplecreateModel();
// 设置商户编号
model.setExternalId("1052900599901941");
// 设置签约支付宝账户
model.setBindingAlipayLogonId("18434286340");
// 设置商户别名
model.setAliasName("一点点");
// 设置商户客服电话
// model.setServicePhone("0571-85022088");
// 设置商户联系人信息
ContactInfo contactInfos = new ContactInfo();
contactInfos.setIdCardNo("142725199902176419");
// contactInfos.setPhone("0571-85022088");
contactInfos.setName("王伟");
contactInfos.setMobile("18434286340");
contactInfos.setEmail("18434286340");
model.setContactInfos(contactInfos);
// 设置进件的二级商户名称
model.setName("王伟");
// 设置默认结算规则
DefaultSettleRule defaultSettleRule = new DefaultSettleRule();
defaultSettleRule.setDefaultSettleType("alipayAccount");
defaultSettleRule.setDefaultSettleTarget("18434286340");
model.setDefaultSettleRule(defaultSettleRule);
// 设置结算支付宝账号
model.setAlipayLogonId("18434286340");
// 设置结算银行卡信息
SettleCardInfo bizCards = new SettleCardInfo();
bizCards.setAccountInstName("招商银行");
bizCards.setBankCode("103290003044");
bizCards.setAccountType("DC");
bizCards.setUsageType("01");
bizCards.setAccountHolderName("王伟");
bizCards.setAccountInstCity("杭州市");
bizCards.setAccountInstId("CMB");
bizCards.setAccountNo("6214831259609102");
bizCards.setAccountBranchName("招商银行杭州高新支行");
bizCards.setAccountInstProvince("浙江省");
model.setBizCards(bizCards);
// 设置授权函
model.setLicenseAuthLetterImage("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
// 设置开票资料信息
// MerchantInvoiceInfo invoiceInfo = new MerchantInvoiceInfo();
// invoiceInfo.setMailTelephone("057162288888");
// invoiceInfo.setTaxPayerQualification("01");
// invoiceInfo.setAddress("浙江省杭州市西湖区西溪路蚂蚁金服");
// invoiceInfo.setAcceptElectronic(false);
// invoiceInfo.setTelephone("057162288888");
// invoiceInfo.setTitle("蚂蚁金服(杭州)信息技术有限公司");
// invoiceInfo.setMailName("张三");
// invoiceInfo.setAutoInvoice(true);
// invoiceInfo.setTaxPayerValid("19981011");
// invoiceInfo.setTaxNo("51010482542598631219");
// invoiceInfo.setBankName("中国银行");
// AddressInfo mailAddress = new AddressInfo();
// mailAddress.setAddress("万塘路18号黄龙时代广场B座");
// mailAddress.setDistrictCode("371002");
// mailAddress.setLatitude("60.270001");
// mailAddress.setCityCode("371000");
// mailAddress.setPoiid("B0FFIVU189");
// mailAddress.setProvinceCode("370000");
// mailAddress.setLongitude("120.760001");
// invoiceInfo.setMailAddress(mailAddress);
// invoiceInfo.setBankAccount("1234567812345678123");
// model.setInvoiceInfo(invoiceInfo);
// 设置商户使用服务
List<String> service = new ArrayList<String>();
service.add("当面付");
model.setService(service);
// 设置经营地址
AddressInfo businessAddress = new AddressInfo();
businessAddress.setAddress("万塘路18号黄龙时代广场B座");
businessAddress.setDistrictCode("371002");
businessAddress.setLatitude("60.270001");
businessAddress.setCityCode("371000");
businessAddress.setPoiid("B0FFIVU189");
businessAddress.setProvinceCode("370000");
businessAddress.setType("BUSINESS_ADDRESS");
businessAddress.setLongitude("120.760001");
model.setBusinessAddress(businessAddress);
// 设置门头照
model.setOutDoorImages("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
// 设置内景照
model.setInDoorImages("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
// 设置商户站点信息
// SiteInfo sites = new SiteInfo();
// sites.setIcpOrgName("支付宝(中国)网络技术有限公司");
// sites.setSiteType("01");
// sites.setSiteDomain("www.alipay.com");
// sites.setScreenshotImage("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
// sites.setRemark("备注说明");
// sites.setAuthLetterImage("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
// sites.setSiteName("XXX网站");
// sites.setMarket("豌豆荚");
// sites.setPassword("测试密码");
// sites.setDownload("https://itunes.apple.com/cn/app/id333206289?mt=8");
// sites.setTinyAppId("2021004105652035");
// sites.setSiteUrl("https://open.alipay.com");
// sites.setIcpServiceName("支付宝");
// sites.setRemarkImage("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
// sites.setAccount("测试账号");
// sites.setIcpNo("沪ICP备15027489号-2");
// sites.setStatus("ONLINE");
// model.setSites(sites);
// 设置商户类别码 mcc
model.setMcc("B0007");
// 设置商户行业资质图片
List<IndustryQualificationInfo> qualifications = new ArrayList<IndustryQualificationInfo>();
IndustryQualificationInfo qualifications0 = new IndustryQualificationInfo();
qualifications0.setIndustryQualificationImage("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
qualifications0.setIndustryQualificationType("323");
qualifications.add(qualifications0);
model.setQualifications(qualifications);
// 设置补充证件号
model.setAdditionalCertNo("9133010608210550XR");
// 设置补充证件类型
model.setAdditionalCertType("201");
// 设置补充证件图片
model.setAdditionalCertImage("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
// uid参数未来计划废弃存量商户可继续使用新商户请使用openid。请根据应用-开发配置-openid配置选择支持的字段。
// model.setInfoSourceUid("2088111122223333");
// 设置平替原来的info_source_uid字段
// model.setInfoSourceOpenId("074a1CcTG1LelxKe4xQC0zgNdId0nxi95b5lsNpazWYoCo5");
// uid参数未来计划废弃存量商户可继续使用新商户请使用openid。请根据应用-开发配置-openid配置选择支持的字段。
// model.setOverseaSettleAccount("2088111122223333");
// 设置平替原来的oversea_settle_open_id字段
// model.setOverseaSettleOpenId("074a1CcTG1LelxKe4xQC0zgNdId0nxi95b5lsNpazWYoCo5");
// 设置二级商户与服务商的签约时间
model.setSignTimeWithIsv("2015-04-15");
// 设置代扣产品信息
ZFTWithholdingInfo zftWithholdingInfo = new ZFTWithholdingInfo();
zftWithholdingInfo.setWithholdingServiceFeatureName("GENERAL_WITHHOLDING_P");
zftWithholdingInfo.setSignScene("DEFAULT");
model.setZftWithholdingInfo(zftWithholdingInfo);
// 设置交易场景
List<String> tradeScene = new ArrayList<String>();
tradeScene.add("TINY_APP");
model.setTradeScene(tradeScene);
request.setBizModel(model);
// 第三方代调用模式下请设置app_auth_token
// request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");
AntMerchantExpandIndirectZftSimplecreateResponse response = defaultAlipayClient.execute(request);
System.out.println(response.getBody());
if (response.isSuccess()) {
System.out.println("调用成功");
} else {
System.out.println("调用失败");
// sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
// String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
// System.out.println(diagnosisUrl);
}
}
private static AlipayConfig getAlipayConfig() {
String privateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQD48HaUoV7OH7os+9L01kHgxzwIhJick4OkFq4aHsntsXEJ J3gedhuEZtV8oHKZ30DPW12IJ4S8NXtpr8OWaqrAPFonf4wVaRY1d0yIAea57kfLEn9oOEEy4FzARgMNDkyxC+/3OUdGbLHpTjfVX3gusXsEhUDy1/WewihAkoNYF37+W3W/uVLzeWoPq0EcUbRv/G/t/p6gL69ltsMAiVFG4Q/Yk24YAN6lYgBPNLXUEwQ1Q+T+1omjfavHgvarKOp33z3JOUH+aGOmDsJ5Y9gyGtJzOCipAd8Zcv+T1ygsEzZYO1/gzcbPnfO1ShqStCHzssuw8FBVx2JdfQKXKMMNAgMBAAECggEAVTrO/pg5Q00titU1Jspsh67u6OOs9H605Ws2dI7yB8VmtAGlaJh7V1t14FN2qSP8poHbhhAxq9aLyGV7C3a9u09udnN+3J28EtYjh7VO732bavWMVXxdJjQWzWWrCb9JlpxFrlkYBA6W4w/6ob0sAqCVQ7jzwbEa0R4cde8ztOa5nysKSfr4YTSs0gqvoiC6fmg8eiRJraEQBoYz9VkKFtOhhh/4w5FhVcYQ2gQvZ3kK3QVuD1eJIQKlCtz8qaox9lXKDiZT4SCmnKshdUL0u5TYIcYeBjZmhJz0Q50KHcpZrCs5y7I0+vRBH3hU+TKSQt7ureymwhbwWMHScLV2gQKBgQD+58SHXhr5M8NGagAmTdsgmCnNv2kOYMd4STyPMY10SVwCv1Bk808ZuP+7e558J1b5/OuDLI5dLq6xrZ/1wLv1G++XqxI00hlFuWS5mUGJVcXotT1mw20rVeUILc7Qe3mLvbMGgfyKf4A7Qa5SSZ4bDeDTJYaFxyiQ281hMzDuPQKBgQD6AiL/Na2/uPH4CG6juwpjYvYVUcjK+7gbRwf3wWsWMpk90Z4ju2iUiP5c1J/oK9P+1T3PIr6M4Xjza8JJj+r9KC/PVB0gBv6vVM96cDpKUEy/UMpcn/T81vqj/Z+WEOODU8Ms6NiTTm+u9ldvpCjbu0u8M+9c0JeIyadJvSTFEQKBgQCsxmFyM3nq8YfpgU2qqNjfBeRH3faSVUy+nj1a/YZYjKS+A/i1BCnYUImeBVNN6chNV342ggvY4xxruDiU9Vcw8wd58O09Oi8BEIFSP6upL6cebUI6Fjo3xlegLJRiwV6INkNTJOYM5hD/mSxUACwXQFfkJipBINXBIgraWD1RLQKBgQCj49axWq0F6+WjZVOyPaD3uh37p9trRUxRhWTxw3fB23WdktaKMgbCqHOmwzP4bRLSEVQtf2dOz1gMqu14b8HqJvgAf/F/11YJ9hz09LEhmjZVjE68HZfqT7uK2W5OX8/lfXmK7TFcj6SjG5YB96lZMhTZ0WnufEd6QkdKDZYXIQKBgQD9GDTcIMbFwbEaKHnfZaTD3f876EGRgsgrCxwdEk7LBCRPwWo7yI929M4psIlpNwNeiyjBkBunWIVkpznp6qPtJqagIPUYesU4f5v6/okq5wcpaNKSkWbIvWVLaLGOiA1aeGJtbpMpyClbSr52puHpRRdvAiIEQ74yYh0JX8q96g==";
String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiQkrz+emAuS1mB3KKDOMmAZRd/BlPbh7fAIHAqAj1+QCZNcV3o2BTLIIqnuKpSlFXDG3uDzp2VsBxcizXuBbFyPGylnD9CgCj5abyh3+FIHPAZ2IM3TtpqImZ0TSPGXrMli4Nir7MvZktgccCqQKCC4o6iaDGz+UwWwJUIPna8fm2tiTZ+KH150CZbKVj4ZGNpBh5XSV/1dRgyQIV9D/EwSbkZ0n6VgKQLJBi0C2UE3QB17aL1Ir6+gDXIDbknN8O7GUD3aMGdThYdSRUb5wp9CZ5qfV7vCS/CgaRo38nhH3NOzkTL+7v0m1ZDHPmqEkn9VzZN6sCQdL7PoAOjHOCwIDAQAB";
AlipayConfig alipayConfig = new AlipayConfig();
alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
alipayConfig.setAppId("2021004174605036");
alipayConfig.setPrivateKey(privateKey);
alipayConfig.setFormat("json");
alipayConfig.setAlipayPublicKey(alipayPublicKey);
alipayConfig.setCharset("UTF-8");
alipayConfig.setSignType("RSA2");
return alipayConfig;
}
}

View File

@@ -1,4 +1,4 @@
package com.czg.alipay.dto.config;
package com.czg.third.alipay.dto.config;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,4 +1,4 @@
package com.czg.alipay.dto.entry;
package com.czg.third.alipay.dto.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.alipay.dto.entry;
package com.czg.third.alipay.dto.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.alipay.dto.entry;
package com.czg.third.alipay.dto.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.alipay.dto.entry;
package com.czg.third.alipay.dto.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.alipay.dto.entry;
package com.czg.third.alipay.dto.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.alipay.dto.entry;
package com.czg.third.alipay.dto.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.alipay.dto.entry;
package com.czg.third.alipay.dto.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.alipay.dto.entry;
package com.czg.third.alipay.dto.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,6 +1,6 @@
package com.czg.wechat;
package com.czg.third.wechat;
import com.czg.wechat.dto.config.WechatPayConfigDto;
import com.czg.third.wechat.dto.config.WechatPayConfigDto;
import com.wechat.pay.java.core.Config;
import com.wechat.pay.java.core.RSAPublicKeyConfig;
import com.wechat.pay.java.service.file.FileUploadService;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat;
package com.czg.third.wechat;
import lombok.extern.slf4j.Slf4j;

View File

@@ -1,26 +1,14 @@
package com.czg.wechat;
package com.czg.third.wechat;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.JSONWriter;
import com.czg.CommonUtil;
import com.czg.wechat.dto.config.WechatPayConfigDto;
import com.czg.wechat.dto.req.entry.*;
import com.czg.wechat.dto.req.entry.business.WechatEntryBusinessReqDto;
import com.czg.wechat.dto.req.entry.business.WechatEntryIdentityReqDto;
import com.czg.wechat.dto.req.entry.business.WechatEntryLicenseReqDto;
import com.czg.wechat.dto.req.entry.business.sales.WechatEntrySalesInfoReqDto;
import com.czg.wechat.dto.req.entry.business.sales.WechatEntryStoreInfoReqDto;
import com.wechat.pay.java.core.Config;
import com.wechat.pay.java.core.cipher.PrivacyEncryptor;
import com.czg.third.wechat.dto.req.entry.WechatEntryReqDto;
import com.czg.utils.CommonUtil;
import com.czg.third.wechat.dto.config.WechatPayConfigDto;
import com.wechat.pay.java.service.file.FileUploadService;
import com.wechat.pay.java.service.file.model.FileUploadResponse;
import lombok.extern.slf4j.Slf4j;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.List;
import java.util.Map;
/**

View File

@@ -1,10 +1,9 @@
package com.czg.wechat;
package com.czg.third.wechat;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;
import com.czg.exception.CzgException;
import com.czg.wechat.dto.config.WechatPayConfigDto;
import com.czg.third.wechat.dto.config.WechatPayConfigDto;
import com.wechat.pay.java.core.Config;
import com.wechat.pay.java.core.cipher.Signer;
import lombok.extern.slf4j.Slf4j;
@@ -13,7 +12,6 @@ import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Map;
import java.util.Objects;
import java.util.UUID;
import java.util.stream.Collectors;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.config;
package com.czg.third.wechat.dto.config;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry;
package com.czg.third.wechat.dto.req.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry;
package com.czg.third.wechat.dto.req.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry;
package com.czg.third.wechat.dto.req.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,7 +1,7 @@
package com.czg.wechat.dto.req.entry;
package com.czg.third.wechat.dto.req.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import com.czg.wechat.dto.req.entry.business.WechatEntryBusinessReqDto;
import com.czg.third.wechat.dto.req.entry.business.WechatEntryBusinessReqDto;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry;
package com.czg.third.wechat.dto.req.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,7 +1,7 @@
package com.czg.wechat.dto.req.entry;
package com.czg.third.wechat.dto.req.entry;
import com.alibaba.fastjson2.annotation.JSONField;
import com.czg.wechat.dto.req.entry.business.*;
import com.czg.third.wechat.dto.req.entry.business.*;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.czg.wechat.dto.req.entry.business;
package com.czg.third.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import com.czg.wechat.dto.req.entry.business.sales.WechatEntrySalesInfoReqDto;
import com.czg.third.wechat.dto.req.entry.business.sales.WechatEntrySalesInfoReqDto;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry.business;
package com.czg.third.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry.business;
package com.czg.third.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,8 +1,8 @@
package com.czg.wechat.dto.req.entry.business;
package com.czg.third.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import com.czg.wechat.dto.req.entry.id.WechatEntryIdCardReqDto;
import com.czg.wechat.dto.req.entry.id.WechatEntryIdDocInfoReqDto;
import com.czg.third.wechat.dto.req.entry.id.WechatEntryIdCardReqDto;
import com.czg.third.wechat.dto.req.entry.id.WechatEntryIdDocInfoReqDto;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry.business;
package com.czg.third.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry.business;
package com.czg.third.wechat.dto.req.entry.business;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry.business.sales;
package com.czg.third.wechat.dto.req.entry.business.sales;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry.business.sales;
package com.czg.third.wechat.dto.req.entry.business.sales;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry.business.sales;
package com.czg.third.wechat.dto.req.entry.business.sales;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry.business.sales;
package com.czg.third.wechat.dto.req.entry.business.sales;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry.business.sales;
package com.czg.third.wechat.dto.req.entry.business.sales;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry.business.sales;
package com.czg.third.wechat.dto.req.entry.business.sales;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry.business.sales;
package com.czg.third.wechat.dto.req.entry.business.sales;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry.id;
package com.czg.third.wechat.dto.req.entry.id;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg.wechat.dto.req.entry.id;
package com.czg.third.wechat.dto.req.entry.id;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
package com.czg;
package com.czg.utils;
import lombok.extern.slf4j.Slf4j;