|
@@ -4,6 +4,7 @@ package com.pj.xml;
|
|
|
import com.pj.api.dto.CompanyDto;
|
|
|
import com.pj.api.dto.PaymentDto;
|
|
|
import com.pj.api.dto.PaymentTwoDto;
|
|
|
+import com.pj.bank_info.BankInfo;
|
|
|
import com.pj.utils.CryptoUtil;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
@@ -15,11 +16,233 @@ public class MessageXML {
|
|
|
static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss sss");
|
|
|
|
|
|
/**
|
|
|
+ * 结关报文:海关数据中心--->银行
|
|
|
+ */
|
|
|
+ public static String CXB001(PaymentDto paymentDto) {
|
|
|
+ String date = sdf.format(new Date());
|
|
|
+ String payload =
|
|
|
+ "<payload xsi:type=\"responseDTO\">\n" +
|
|
|
+ "<code>200</code>\n" + //回执代码
|
|
|
+ "<source>" + paymentDto.getTradeNo() + "</source>\n" + //订单编号
|
|
|
+ "<note>结关成功</note>\n" + //回执内容
|
|
|
+ "<date>" + paymentDto.getDeclTime() + "</date>\n" + //结关时间 YYYY-MM—DD HH:MM:DD SSS
|
|
|
+ "</payload>";
|
|
|
+ String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
|
|
|
+ "<message title=\"边民互市\" xsi:schemaLocation=\"\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
|
|
|
+ "<headers>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>sn</key>\n" +
|
|
|
+ " <value>" + UUID.randomUUID() + "</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>date</key>\n" +
|
|
|
+ " <value>" + date + "</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>organization</key>\n" +
|
|
|
+ " <value>" + paymentDto.getFieldCode() + "</value>\n" +//互市点机构代码
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>bankCode</key>\n" +
|
|
|
+ " <value>MRCCCNB1</value>\n" +//银行标识
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>operation</key>\n" +
|
|
|
+ " <value>CXB001</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ "</headers>\n" +
|
|
|
+ "<plain>" +
|
|
|
+ CryptoUtil.encrypt(payload)+
|
|
|
+ "</plain>" +
|
|
|
+ "</message>";
|
|
|
+ return xml;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * ※ 边民备案验证查询(边民已备案):一级市场--->银行
|
|
|
+ */
|
|
|
+ public static String SXB003(BankInfo bankInfo) {
|
|
|
+ String date = sdf.format(new Date());
|
|
|
+ String payload =" <payload xsi:type=\"responseDTO\">" +
|
|
|
+ " <code>200</code>\n" + //消息回执代码
|
|
|
+ " <source>" + bankInfo.getSn() + "</source>\n" + //源报文编号
|
|
|
+ " <note>边民已备案</note>\n" + //回执内容
|
|
|
+ "<results xsi:type=\"vendeeDTO\">\n" +
|
|
|
+ " <name>" + bankInfo.getName() + "</name>\n" + //边民姓名
|
|
|
+ " <papersType>" + bankInfo.getPapersType() + "</papersType>\n" + //证件类型 0001 身份证
|
|
|
+ " <papersNo>" + bankInfo.getPapersNo() + "</papersNo>\n" + //边民证件号
|
|
|
+ " <nationality>" + bankInfo.getNationality() + "</nationality>\n" + //国籍
|
|
|
+ "</results>\n" +
|
|
|
+ "</payload>";
|
|
|
+ String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
|
|
|
+ "<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"\">\n" +
|
|
|
+ "<headers>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>sn</key>\n" +
|
|
|
+ " <value>" + UUID.randomUUID() + "</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>date</key>\n" +
|
|
|
+ " <value>" + date + "</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>organization</key>\n" +
|
|
|
+ " <value>" + bankInfo.getOrganization() + "</value>\n" +//互市点机构代码
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>bankCode</key>\n" +
|
|
|
+ " <value>" + bankInfo.getBankCode() + "</value>\n" +//银行标识
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>operation</key>\n" +
|
|
|
+ " <value>SXB003</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ "</headers>\n" +
|
|
|
+ "<plain>" +
|
|
|
+ CryptoUtil.encrypt(payload)+
|
|
|
+ "</plain>" +
|
|
|
+ "</message>";
|
|
|
+ return xml;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * ※ 边民备案验证查询(边民未备案):一级市场--->银行
|
|
|
+ */
|
|
|
+ public static String SXB004(BankInfo bankInfo) {
|
|
|
+ String date = sdf.format(new Date());
|
|
|
+ String payload =" <payload xsi:type=\"responseDTO\">" +
|
|
|
+ " <code>500</code>\n" + //消息回执代码
|
|
|
+ " <source>" + bankInfo.getSn() + "</source>\n" + //源报文编号
|
|
|
+ " <note>边民未备案</note>\n" + //回执内容
|
|
|
+ "</payload>";
|
|
|
+ String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
|
|
|
+ "<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"\">\n" +
|
|
|
+ "<headers>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>sn</key>\n" +
|
|
|
+ " <value>" + UUID.randomUUID() + "</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>date</key>\n" +
|
|
|
+ " <value>" + date + "</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>organization</key>\n" +
|
|
|
+ " <value>" + bankInfo.getOrganization() + "</value>\n" +//互市点机构代码
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>bankCode</key>\n" +
|
|
|
+ " <value>" + bankInfo.getBankCode() + "</value>\n" +//银行标识
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>operation</key>\n" +
|
|
|
+ " <value>SXB004</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ "</headers>\n" +
|
|
|
+ "<plain>" +
|
|
|
+ CryptoUtil.encrypt(payload)+
|
|
|
+ "</plain>" +
|
|
|
+ "</message>";
|
|
|
+ return xml;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * ※ 商家备案验证查询(商铺已备案):一级市场--->银行
|
|
|
+ */
|
|
|
+ public static String SXB007(BankInfo bankInfo) {
|
|
|
+ String date = sdf.format(new Date());
|
|
|
+ String payload =
|
|
|
+ " <payload xsi:type=\"responseDTO\">" +
|
|
|
+ " <code>200</code>\n" + //消息回执代码
|
|
|
+ " <source>" + bankInfo.getSn() + "</source>\n" + //源报文编号
|
|
|
+ " <note>商铺已备案</note>\n" + //回执内容
|
|
|
+ "<results xsi:type=\"vendeeDTO\">\n" +
|
|
|
+ " <name>" + bankInfo.getName() + "</name>\n" + //商铺所属人姓名
|
|
|
+ " <papersType>" + bankInfo.getPapersType() + "</papersType>\n" + //所属人证件类型 0001 身份证
|
|
|
+ " <papersNo>" + bankInfo.getPapersNo() + "</papersNo>\n" + //所属人证件号
|
|
|
+ " <nationality>" + bankInfo.getNationality() + "</nationality>\n" + //国籍
|
|
|
+ "</results>\n" +
|
|
|
+ "</payload>";
|
|
|
+ String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
|
|
|
+ "<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"\">\n" +
|
|
|
+ "<headers>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>sn</key>\n" +
|
|
|
+ " <value>" + UUID.randomUUID() + "</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>date</key>\n" +
|
|
|
+ " <value>" + date + "</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>organization</key>\n" +
|
|
|
+ " <value>" + bankInfo.getOrganization() + "</value>\n" +//互市点机构代码
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>bankCode</key>\n" +
|
|
|
+ " <value>" + bankInfo.getBankCode() + "</value>\n" +//银行标识
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>operation</key>\n" +
|
|
|
+ " <value>SXB007</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ "</headers>\n" +
|
|
|
+ "<plain>" +
|
|
|
+ CryptoUtil.encrypt(payload)+
|
|
|
+ "</plain>" +
|
|
|
+ "</message>";
|
|
|
+ return xml;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * ※ 商家备案验证查询(商铺未备案):一级市场--->银行
|
|
|
+ */
|
|
|
+ public static String SXB008(BankInfo bankInfo) {
|
|
|
+ String date = sdf.format(new Date());
|
|
|
+ String payload =
|
|
|
+ " <payload xsi:type=\"responseDTO\">" +
|
|
|
+ " <code>500</code>\n" + //消息回执代码
|
|
|
+ " <source>" + bankInfo.getSn() + "</source>\n" + //源报文编号
|
|
|
+ " <note>商铺未备案</note>\n" + //回执内容
|
|
|
+ "</payload>";
|
|
|
+ String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
|
|
|
+ "<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"\">\n" +
|
|
|
+ "<headers>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>sn</key>\n" +
|
|
|
+ " <value>" + UUID.randomUUID() + "</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>date</key>\n" +
|
|
|
+ " <value>" + date + "</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>organization</key>\n" +
|
|
|
+ " <value>" + bankInfo.getOrganization() + "</value>\n" +//互市点机构代码
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>bankCode</key>\n" +
|
|
|
+ " <value>" + bankInfo.getBankCode() + "</value>\n" +//银行标识
|
|
|
+ " </item>\n" +
|
|
|
+ " <item>\n" +
|
|
|
+ " <key>operation</key>\n" +
|
|
|
+ " <value>SXB008</value>\n" +
|
|
|
+ " </item>\n" +
|
|
|
+ "</headers>\n" +
|
|
|
+ "<plain>" +
|
|
|
+ CryptoUtil.encrypt(payload)+
|
|
|
+ "</plain>" +
|
|
|
+ "</message>";
|
|
|
+ return xml;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 订单扣款:一级市场--->银行
|
|
|
*/
|
|
|
public static String SXB010(PaymentDto paymentDto) {
|
|
|
String date = sdf.format(new Date());
|
|
|
String payload =
|
|
|
+ "<payload xsi:type=\"orderDTO\">" +
|
|
|
" <sn>" + paymentDto.getTradeNo() + "</sn>\n" + //订单号
|
|
|
" <export>false</export>\n" + //出口标识 true:出口,false:进口
|
|
|
" <organization>" + paymentDto.getFieldCode() + "</organization>\n" + //互市点机构代码
|
|
@@ -30,22 +253,22 @@ public class MessageXML {
|
|
|
" <date>" + paymentDto.getDeclTime() + "</date>\n" + //订单时间 YYYY-MM—DD HH:MM:DD SSS
|
|
|
"<vendee>\n" +
|
|
|
" <name>" + paymentDto.getBorderName() + "</name>\n" + //边民姓名
|
|
|
- " <paperType>0001</paperType>\n" + //证件类型 0001 身份证
|
|
|
- " <paperNo>" + paymentDto.getBorderidno() + "</paperNo>\n" + //边民证件号
|
|
|
- " <nationality>中国</nationality>\n" + //国籍
|
|
|
- " <accountNo>" + paymentDto.getBankCode() + "</accountNo>\n" + //银行账号
|
|
|
- " <bankCode>ICBKCNBJYUN</bankCode>\n" + //开户行代码
|
|
|
+ " <papersType>0001</papersType>\n" + //证件类型 0001 身份证
|
|
|
+ " <papersNo>" + paymentDto.getBorderidno() + "</papersNo>\n" + //边民证件号
|
|
|
+ " <nationality>0001</nationality>\n" + //国籍
|
|
|
+ " <account>" + paymentDto.getBankCode() + "</account>\n" + //银行账号
|
|
|
+ " <bankCode>MRCCCNB1</bankCode>\n" + //开户行代码
|
|
|
" <tel>" + paymentDto.getBorderTel() + "</tel>\n" + //联系电话
|
|
|
"</vendee>\n" +
|
|
|
"<vendor>\n" +
|
|
|
" <name>" + paymentDto.getOwnerName() + "</name>\n" + //商铺所属人姓名
|
|
|
- " <paperType>" + paymentDto.getOwnerIdtype() + "</paperType>\n" + //所属人证件类型
|
|
|
- " <paperNo></paperNo>\n" + //所属人证件号
|
|
|
- " <nationality></nationality>\n" + //国籍
|
|
|
- " <accountNo>" + paymentDto.getBankAccount() + "</accountNo>\n" + //银行账号
|
|
|
- " <bankCode>ICBKCNBJYUN</bankCode>\n" + //开户行代码
|
|
|
+ " <papersType>" + paymentDto.getOwnerIdtype() + "</papersType>\n" + //所属人证件类型
|
|
|
+ " <papersNo>12312312-3</papersNo>\n" + //所属人证件号
|
|
|
+ " <nationality>0001</nationality>\n" + //国籍
|
|
|
+ " <account>" + paymentDto.getBankAccount() + "</account>\n" + //银行账号
|
|
|
+ " <bankCode>MRCCCNB1</bankCode>\n" + //开户行代码
|
|
|
" <tel>" + paymentDto.getOwnerTel() + "</tel>\n" + //联系电话
|
|
|
- "<vendor>\n" +
|
|
|
+ "</vendor>\n" +
|
|
|
"<items>\n" +
|
|
|
" <name>" + paymentDto.getGoodsName() + "</name>\n" + //商品名称
|
|
|
" <unit>" + paymentDto.getGoodsUnit() + "</unit>\n" + //商品单位
|
|
@@ -53,7 +276,8 @@ public class MessageXML {
|
|
|
" <quantity>" + paymentDto.getBuyQty() + "</quantity>\n" + //商品数量
|
|
|
" <weight>" + paymentDto.getGrossWt() + "</weight>\n" + //商品重量
|
|
|
" <amount>" + paymentDto.getTotalPrice() + "</amount>\n" + //金额
|
|
|
- "</items>\n";
|
|
|
+ "</items>\n" +
|
|
|
+ "</payload>";
|
|
|
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
|
|
|
"<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"\">\n" +
|
|
|
"<headers>\n" +
|
|
@@ -71,16 +295,16 @@ public class MessageXML {
|
|
|
" </item>\n" +
|
|
|
" <item>\n" +
|
|
|
" <key>bankCode</key>\n" +
|
|
|
- " <value>ICBKCNBJYUN</value>\n" +//银行标识
|
|
|
+ " <value>MRCCCNB1</value>\n" +//银行标识
|
|
|
" </item>\n" +
|
|
|
" <item>\n" +
|
|
|
" <key>operation</key>\n" +
|
|
|
" <value>SXB010</value>\n" +
|
|
|
" </item>\n" +
|
|
|
"</headers>\n" +
|
|
|
- " <payload xsi:type=\"orderDTO\">" +
|
|
|
+ "<plain>" +
|
|
|
CryptoUtil.encrypt(payload)+
|
|
|
- "</payload>\n" +
|
|
|
+ "</plain>" +
|
|
|
"</message>";
|
|
|
return xml;
|
|
|
}
|
|
@@ -90,7 +314,9 @@ public class MessageXML {
|
|
|
*/
|
|
|
public static String SXB013(PaymentDto paymentDto) {
|
|
|
String date = sdf.format(new Date());
|
|
|
- String payload = " <sn>" + paymentDto.getTradeNo() + "</sn>\n" + //订单号
|
|
|
+ String payload =
|
|
|
+ "<payload xsi:type=\"orderDTO\">" +
|
|
|
+ " <sn>" + paymentDto.getTradeNo() + "</sn>\n" + //订单号
|
|
|
" <organization>" + paymentDto.getFieldCode() + "</organization>\n" + //互市点机构代码
|
|
|
" <currency>" + paymentDto.getCurrCode() + "</currency>\n" + //币种
|
|
|
" <type>02</type>\n" + //业务类型 02代表退款报文
|
|
@@ -99,22 +325,22 @@ public class MessageXML {
|
|
|
" <date>" + paymentDto.getDeclTime() + "</date>\n" + //订单时间 YYYY-MM—DD HH:MM:DD SSS
|
|
|
"<vendee>\n" +
|
|
|
" <name>" + paymentDto.getBorderName() + "</name>\n" + //边民姓名
|
|
|
- " <paperType>0001</paperType>\n" + //证件类型 0001 身份证
|
|
|
- " <paperNo>" + paymentDto.getBorderidno() + "</paperNo>\n" + //边民证件号
|
|
|
- " <nationality>中国</nationality>\n" + //国籍
|
|
|
- " <accountNo>" + paymentDto.getBankCode() + "</accountNo>\n" + //银行账号
|
|
|
- " <bankCode>ICBKCNBJYUN</bankCode>\n" + //开户行代码
|
|
|
+ " <papersType>0001</papersType>\n" + //证件类型 0001 身份证
|
|
|
+ " <papersNo>" + paymentDto.getBorderidno() + "</papersNo>\n" + //边民证件号
|
|
|
+ " <nationality>0001</nationality>\n" + //国籍
|
|
|
+ " <account>" + paymentDto.getBankCode() + "</account>\n" + //银行账号
|
|
|
+ " <bankCode>MRCCCNB1</bankCode>\n" + //开户行代码
|
|
|
" <tel>" + paymentDto.getBorderTel() + "</tel>\n" + //联系电话
|
|
|
"</vendee>\n" +
|
|
|
"<vendor>\n" +
|
|
|
" <name>" + paymentDto.getOwnerName() + "</name>\n" + //商铺所属人姓名
|
|
|
- " <paperType>" + paymentDto.getOwnerIdtype() + "</paperType>\n" + //所属人证件类型
|
|
|
- " <paperNo></paperNo>\n" + //所属人证件号
|
|
|
- " <nationality></nationality>\n" + //国籍
|
|
|
- " <accountNo>" + paymentDto.getBankAccount() + "</accountNo>\n" + //银行账号
|
|
|
- " <bankCode>ICBKCNBJYUN</bankCode>\n" + //开户行代码
|
|
|
+ " <papersType>" + paymentDto.getOwnerIdtype() + "</papersType>\n" + //所属人证件类型
|
|
|
+ " <papersNo>12312312-3</papersNo>\n" + //所属人证件号
|
|
|
+ " <nationality>0001</nationality>\n" + //国籍
|
|
|
+ " <account>" + paymentDto.getBankAccount() + "</account>\n" + //银行账号
|
|
|
+ " <bankCode>MRCCCNB1</bankCode>\n" + //开户行代码
|
|
|
" <tel>" + paymentDto.getOwnerTel() + "</tel>\n" + //联系电话
|
|
|
- "<vendor>\n" +
|
|
|
+ "</vendor>\n" +
|
|
|
"<items>\n" +
|
|
|
" <name>" + paymentDto.getGoodsName() + "</name>\n" + //商品名称
|
|
|
" <unit>" + paymentDto.getGoodsUnit() + "</unit>\n" + //商品单位
|
|
@@ -122,7 +348,8 @@ public class MessageXML {
|
|
|
" <quantity>" + paymentDto.getBuyQty() + "</quantity>\n" + //商品数量
|
|
|
" <weight>" + paymentDto.getGrossWt() + "</weight>\n" + //商品重量
|
|
|
" <amount>" + paymentDto.getTotalPrice() + "</amount>\n" + //金额
|
|
|
- "</items>\n";
|
|
|
+ "</items>\n" +
|
|
|
+ "</payload>";
|
|
|
|
|
|
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
|
|
|
"<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"\">\n" +
|
|
@@ -141,16 +368,16 @@ public class MessageXML {
|
|
|
" </item>\n" +
|
|
|
" <item>\n" +
|
|
|
" <key>bankCode</key>\n" +
|
|
|
- " <value>ICBKCNBJYUN</value>\n" +//银行标识
|
|
|
+ " <value>MRCCCNB1</value>\n" +//银行标识
|
|
|
" </item>\n" +
|
|
|
" <item>\n" +
|
|
|
" <key>operation</key>\n" +
|
|
|
" <value>SXB013</value>\n" +
|
|
|
" </item>\n" +
|
|
|
"</headers>\n" +
|
|
|
- " <payload xsi:type=\"orderDTO\">" +
|
|
|
+ "<plain>" +
|
|
|
CryptoUtil.encrypt(payload)+
|
|
|
- "</payload>\n" +
|
|
|
+ "</plain>" +
|
|
|
"</message>";
|
|
|
return xml;
|
|
|
}
|
|
@@ -160,9 +387,12 @@ public class MessageXML {
|
|
|
*/
|
|
|
public static String SXB023(PaymentDto paymentDto) {
|
|
|
String date = sdf.format(new Date());
|
|
|
- String payload= "<registration>" + paymentDto.getVoyageNo() + "</registration>\n" + //车辆批号
|
|
|
- " <plateNumber>" + paymentDto.getVeNo() + "</plateNumber>\n" + //车牌号
|
|
|
- " <Order>" + paymentDto.getTradeNo() + "</Order>\n" ; //订单号 n个
|
|
|
+ String payload=
|
|
|
+ "<payload xsi:type=\"carDTO\">" +
|
|
|
+ "<registration>" + paymentDto.getVoyageNo() + "</registration>\n" + //车辆批号
|
|
|
+ "<plateNumber>" + paymentDto.getVeNo() + "</plateNumber>\n" + //车牌号
|
|
|
+ "<Order>" + paymentDto.getTradeNo() + "</Order>\n" +//订单号 n个
|
|
|
+ "</payload>";
|
|
|
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
|
|
|
"<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"\">\n" +
|
|
|
"<headers>\n" +
|
|
@@ -180,85 +410,144 @@ public class MessageXML {
|
|
|
" </item>\n" +
|
|
|
" <item>\n" +
|
|
|
" <key>bankCode</key>\n" +
|
|
|
- " <value>ICBKCNBJYUN</value>\n" +//银行标识
|
|
|
+ " <value>MRCCCNB1</value>\n" +//银行标识
|
|
|
" </item>\n" +
|
|
|
" <item>\n" +
|
|
|
- " <key>operation</key>\n" +
|
|
|
+ " <key>operationItem</key>\n" +
|
|
|
" <value>SXB023</value>\n" +
|
|
|
" </item>\n" +
|
|
|
"</headers>\n" +
|
|
|
- " <payload xsi:type=\"carDTO\">" +
|
|
|
+ "<plain>" +
|
|
|
CryptoUtil.encrypt(payload)+
|
|
|
- "</payload>\n" +
|
|
|
+ "</plain>" +
|
|
|
"</message>\n";
|
|
|
return xml;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * ※ 卖家账号认证(边民):二级市场--->银行
|
|
|
+ */
|
|
|
+ public static String MKT002(PaymentTwoDto paymentTwoDto) {
|
|
|
+ String date = sdf.format(new Date());
|
|
|
+ String payload =
|
|
|
+ " <payload xsi:type=\"vendorDTO\"" +
|
|
|
+ " name=\"" + paymentTwoDto.getBorderName() + "\"" + //卖家姓名
|
|
|
+ " papersType=\"0001\"" + //证件类型 0001 身份证
|
|
|
+ " papersNo=\"" + paymentTwoDto.getBorderidno() + "\"" + //证件号
|
|
|
+ " nationality=\"0001\"" + //国籍
|
|
|
+ " accountNo=\"" + paymentTwoDto.getBankCode() + "\"" + //银行账号
|
|
|
+ " bankCode=\"MRCCCNB1\"" + //开户行代码
|
|
|
+ " tel=\"" + paymentTwoDto.getBorderTel() + "\"" + //联系电话
|
|
|
+ "></payload>";
|
|
|
+ String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
|
|
|
+ "<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"\" title=\"二级市场\">\n" +
|
|
|
+ "<headers>\n" +
|
|
|
+ "<item key=\"sn\">" + UUID.randomUUID() + "</item>\n" +
|
|
|
+ "<item key=\"date\">" + date + "</item>\n" +
|
|
|
+ "<item key=\"organization\">" + paymentTwoDto.getFieldCode() + "</item>\n" +
|
|
|
+ "<item key=\"bankCode\">MRCCCNB1</item>\n" +
|
|
|
+ "<item key=\"operation\">MKT002</item>\n" +
|
|
|
+ "</headers>\n" +
|
|
|
+ "<plain>" +
|
|
|
+ CryptoUtil.encrypt(payload)+
|
|
|
+ "</plain>" +
|
|
|
+ "</message>";
|
|
|
+ return xml;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * ※ 买家账号认证(收购商):二级市场--->银行
|
|
|
+ */
|
|
|
+ public static String MKT004(PaymentTwoDto paymentTwoDto) {
|
|
|
+ String date = sdf.format(new Date());
|
|
|
+ String payload =
|
|
|
+ " <payload xsi:type=\"vendorDTO\"" +
|
|
|
+ " name=\"" + paymentTwoDto.getOwnerName() + "\"" + //企业名称
|
|
|
+ " papersType=\"0008\"" + //证件类型 0008 社会统一信用代码(默认)
|
|
|
+ " papersNo=\"12312312-3\"" + //证件号
|
|
|
+ " nationality=\"0001\"" + //国籍
|
|
|
+ " accountNo=\"" + paymentTwoDto.getBankAccount() + "\"" + //银行账号
|
|
|
+ " bankCode=\"MRCCCNB1\"" + //开户行代码
|
|
|
+ " tel=\"" + paymentTwoDto.getOwnerTel() + "\"" + //联系电话
|
|
|
+ "></payload>";
|
|
|
+ String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
|
|
|
+ "<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"\" title=\"二级市场\">\n" +
|
|
|
+ "<headers>\n" +
|
|
|
+ "<item key=\"sn\">" + UUID.randomUUID() + "</item>\n" +
|
|
|
+ "<item key=\"date\">" + date + "</item>\n" +
|
|
|
+ "<item key=\"organization\">" + paymentTwoDto.getFieldCode() + "</item>\n" +
|
|
|
+ "<item key=\"bankCode\">MRCCCNB1</item>\n" +
|
|
|
+ "<item key=\"operation\">MKT004</item>\n" +
|
|
|
+ "</headers>\n" +
|
|
|
+ "<plain>" +
|
|
|
+ CryptoUtil.encrypt(payload)+
|
|
|
+ "</plain>" +
|
|
|
+ "</message>";
|
|
|
+ return xml;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 订单扣款(无手续费):二级市场--->银行
|
|
|
*/
|
|
|
public static String MKT006_NoCommission(PaymentTwoDto paymentTwoDto) {
|
|
|
String date = sdf.format(new Date());
|
|
|
- String payload= " <sn>" + paymentTwoDto.getOrderNo() + "</sn>\n" + //订单号
|
|
|
- " <organization>" + paymentTwoDto.getFieldCode() + "</organization>\n" + //互市点机构代码
|
|
|
- " <currency>" + paymentTwoDto.getCurrCode() + "</currency>\n" + //币种
|
|
|
- " <type>001</type>\n" + //业务类型 001 代表扣款订单
|
|
|
- " <total>" + paymentTwoDto.getResalePrice() + "</total>\n" + //订单总金额 8150.00 【买方总支付金额】(转售金额)
|
|
|
- " <actualTotal></actualTotal>\n" + //扣除手续费边民实际到账金额 actualTotal忽略
|
|
|
- " <dateTime>" + paymentTwoDto.getDeclTime() + "</dateTime>\n" + //订单时间 YYYY-MM—DD HH:MM:DD SSS
|
|
|
-
|
|
|
- "<vendee>\n" +//买方基本信息(采购企业)
|
|
|
- " <name>" + paymentTwoDto.getPcName() + "</name>\n" + //企业名称
|
|
|
- " <paperType>0008</paperType>\n" + //证件类型 0008 社会统一信用代码(默认)
|
|
|
- " <paperNo>" + paymentTwoDto.getBusinessLicense() + "</paperNo>\n" + //证件号
|
|
|
- " <nationality>中国</nationality>\n" + //国籍
|
|
|
- " <accountNo>" + paymentTwoDto.getPcBankAccount() + "</accountNo>\n" + //银行账号
|
|
|
- " <bankCode>KCCBCN2K</bankCode>\n" + //开户行代码
|
|
|
- " <tel>" + paymentTwoDto.getPcContact() + "</tel>\n" + //联系电话
|
|
|
- "</vendee>\n" +
|
|
|
+ String payload=
|
|
|
+ "<payload xsi:type=\"orderDTO\"" +
|
|
|
+ " sn=\"" + paymentTwoDto.getOrderNo() + "\"" + //订单号
|
|
|
+ " organization=\"" + paymentTwoDto.getFieldCode() + "\"" + //互市点机构代码
|
|
|
+ " currency=\"" + paymentTwoDto.getCurrCode() + "\"" + //币种
|
|
|
+ " type=\"001\"" + //业务类型 001 代表扣款订单
|
|
|
+ " total=\"" + paymentTwoDto.getResalePrice() + "\"" + //订单总金额 8150.00 【买方总支付金额】(转售金额)
|
|
|
+ //" actualTotal=\"</actualTotal>\n" + //扣除手续费边民实际到账金额 actualTotal忽略
|
|
|
+ " dateTime=\"" + paymentTwoDto.getDeclTime() + "\"" + //订单时间 YYYY-MM—DD HH:MM:DD SSS
|
|
|
+ ">" +
|
|
|
|
|
|
- "<vendee>\n" +//卖方基础信息(边民)
|
|
|
- " <name>" + paymentTwoDto.getBorderName() + "</name>\n" + //边民姓名
|
|
|
- " <paperType>0001</paperType>\n" + //证件类型 0001 身份证
|
|
|
- " <paperNo>" + paymentTwoDto.getBorderidno() + "</paperNo>\n" + //边民证件号
|
|
|
- " <nationality>中国</nationality>\n" + //国籍
|
|
|
- " <accountNo>" + paymentTwoDto.getBankCode() + "</accountNo>\n" + //银行账号
|
|
|
- " <bankCode>KCCBCN2K</bankCode>\n" + //开户行代码
|
|
|
- " <tel>" + paymentTwoDto.getBorderTel() + "</tel>\n" + //联系电话
|
|
|
- "</vendee>\n" +
|
|
|
+ "<vendee" +//买方基本信息(采购企业)
|
|
|
+ " name=\"" + paymentTwoDto.getPcName() + "\"" + //企业名称
|
|
|
+ " papersType=\"0008\"" + //证件类型 0008 社会统一信用代码(默认)
|
|
|
+ " papersNo=\"" + paymentTwoDto.getBusinessLicense() + "\"" + //证件号
|
|
|
+ " nationality=\"0001\"" + //国籍
|
|
|
+ " accountNo=\"" + paymentTwoDto.getPcBankAccount() + "\"" + //银行账号
|
|
|
+ " bankCode=\"MRCCCNB1\"" + //开户行代码
|
|
|
+ " tel=\"" + paymentTwoDto.getPcContact() + "\"" + //联系电话
|
|
|
+ "/>\n" +
|
|
|
|
|
|
- "<items>\n" +//商品明细
|
|
|
- " <code>" + paymentTwoDto.getCodeTs() + "</code>\n" + //商品编码
|
|
|
- " <name>" + paymentTwoDto.getGoodsName() + "</name>\n" + //商品名称
|
|
|
- " <unit>" + paymentTwoDto.getGoodsUnit() + "</unit>\n" + //商品单位
|
|
|
- " <price>" + paymentTwoDto.getDeclPrice() + "</price>\n" + //商品单价
|
|
|
- " <quantity>" + paymentTwoDto.getBuyQty() + "</quantity>\n" + //商品数量
|
|
|
- " <weight>" + paymentTwoDto.getGrossWt() + "</weight>\n" + //商品重量
|
|
|
- " <amount>" + paymentTwoDto.getResalePrice() + "</amount>\n" + //金额
|
|
|
- "</items>\n" +
|
|
|
- "<items>\n" +
|
|
|
- " <name>" + paymentTwoDto.getGoodsName() + "</name>\n" + //商品名称
|
|
|
- " <unit>" + paymentTwoDto.getGoodsUnit() + "</unit>\n" + //商品单位
|
|
|
- " <price>" + paymentTwoDto.getDeclPrice() + "</price>\n" + //商品单价
|
|
|
- " <quantity>" + paymentTwoDto.getBuyQty() + "</quantity>\n" + //商品数量
|
|
|
- " <weight>" + paymentTwoDto.getGrossWt() + "</weight>\n" + //商品重量
|
|
|
- " <amount>" + paymentTwoDto.getResalePrice() + "</amount>\n" + //金额
|
|
|
- "</items>\n" ;
|
|
|
+ "<vendor" +//卖方基础信息(边民)
|
|
|
+ " name=\"" + paymentTwoDto.getBorderName() + "\"" + //边民姓名
|
|
|
+ " papersType=\"0001\"" + //证件类型 0001 身份证
|
|
|
+ " papersNo=\"" + paymentTwoDto.getBorderidno() + "\"" + //边民证件号
|
|
|
+ " nationality=\"0001\"" + //国籍
|
|
|
+ " accountNo=\"" + paymentTwoDto.getBankCode() + "\"" + //银行账号
|
|
|
+ " bankCode=\"MRCCCNB1\"" + //开户行代码
|
|
|
+ " tel=\"" + paymentTwoDto.getBorderTel() + "\"" + //联系电话
|
|
|
+ "/>\n" +
|
|
|
+
|
|
|
+ "<items" +//商品明细
|
|
|
+ " code=\"" + paymentTwoDto.getCodeTs() + "\"" + //商品编码
|
|
|
+ " name=\"" + paymentTwoDto.getGoodsName() + "\"" + //商品名称
|
|
|
+ " unit=\"" + paymentTwoDto.getGoodsUnit() + "\"" + //商品单位
|
|
|
+ " price=\"" + paymentTwoDto.getDeclPrice() + "\"" + //商品单价
|
|
|
+ " quantity=\"" + paymentTwoDto.getBuyQty() + "\"" + //商品数量
|
|
|
+ " weight=\"" + paymentTwoDto.getGrossWt() + "\"" + //商品重量
|
|
|
+ " amount=\"" + paymentTwoDto.getTotalPrice() + "\"" + //金额
|
|
|
+ "/>\n" +
|
|
|
+
|
|
|
+ "</payload>";
|
|
|
String xml =
|
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
|
|
|
- "<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"\" title=\"二级市场\">\n" +
|
|
|
- "<headers>\n" +
|
|
|
- " <sn>" + UUID.randomUUID() + "</sn>\n" +
|
|
|
- " <date>" + date + "</date> \n" +
|
|
|
- " <organization>" + paymentTwoDto.getFieldCode() + "</organization>\n" +
|
|
|
- " <bankCode>KCCBCN2K</bankCode>\n" +
|
|
|
- " <operation>MKT006</operation>\n" +
|
|
|
- "</headers>\n" +
|
|
|
-
|
|
|
- " <payload xsi:type=\"orderDTO\">" +
|
|
|
- CryptoUtil.encrypt(payload)+
|
|
|
- "</payload>\n" +
|
|
|
- "</message>";
|
|
|
+ "<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"\">\n" +
|
|
|
+ "<headers>\n" +
|
|
|
+ " <item key=\"sn\">" + UUID.randomUUID() + "</item>\n" +
|
|
|
+ " <item key=\"date\">" + date + "</item> \n" +
|
|
|
+ " <item key=\"organization\">" + paymentTwoDto.getFieldCode() + "</item>\n" +
|
|
|
+ " <item key=\"bankCode\">MRCCCNB1</item>\n" +
|
|
|
+ " <item key=\"operation\">MKT006</item>\n" +
|
|
|
+ "</headers>\n" +
|
|
|
+ "<plain>" +
|
|
|
+ CryptoUtil.encrypt(payload)+
|
|
|
+ "</plain>" +
|
|
|
+ "</message>";
|
|
|
return xml;
|
|
|
}
|
|
|
|
|
@@ -268,114 +557,145 @@ public class MessageXML {
|
|
|
public static String MKT006(PaymentTwoDto paymentTwoDto) {
|
|
|
String date = sdf.format(new Date());
|
|
|
String chargesXml = chargesXml(paymentTwoDto.getCompanyDtoList(), paymentTwoDto.getOrderNo());
|
|
|
- String payload= " <sn>" + paymentTwoDto.getOrderNo() + "</sn>\n" + //订单号
|
|
|
- " <organization>" + paymentTwoDto.getFieldCode() + "</organization>\n" + //互市点机构代码
|
|
|
- " <currency>" + paymentTwoDto.getCurrCode() + "</currency>\n" + //币种
|
|
|
- " <type>001</type>\n" + //业务类型 001 代表扣款订单
|
|
|
- " <total>" + paymentTwoDto.getResalePrice() + "</total>\n" + //订单总金额 8150.00 【买方总支付金额】
|
|
|
- " <actualTotal>" + paymentTwoDto.getTotalPrice() + "</actualTotal>\n" + //扣除手续费边民实际到账金额 8050
|
|
|
- " <dateTime>" + paymentTwoDto.getDeclTime() + "</dateTime>\n" + //订单时间 YYYY-MM—DD HH:MM:DD SSS
|
|
|
-
|
|
|
- "<vendee>\n" +//买方基本信息(采购企业)
|
|
|
- " <name>" + paymentTwoDto.getPcName() + "</name>\n" + //企业名称
|
|
|
- " <paperType>0008</paperType>\n" + //证件类型 0008 社会统一信用代码(默认)
|
|
|
- " <paperNo>" + paymentTwoDto.getBusinessLicense() + "</paperNo>\n" + //证件号
|
|
|
- " <nationality>中国</nationality>\n" + //国籍
|
|
|
- " <accountNo>" + paymentTwoDto.getPcBankAccount() + "</accountNo>\n" + //银行账号
|
|
|
- " <bankCode>KCCBCN2K</bankCode>\n" + //开户行代码
|
|
|
- " <tel>" + paymentTwoDto.getPcContact() + "</tel>\n" + //联系电话
|
|
|
- "</vendee>\n" +
|
|
|
+ String payload=
|
|
|
+ "<payload xsi:type=\"orderDTO\"" +
|
|
|
+ " sn=\"" + paymentTwoDto.getOrderNo() + "\"" + //订单号
|
|
|
+ " organization=\"" + paymentTwoDto.getFieldCode() + "\"" + //互市点机构代码
|
|
|
+ " currency=\"" + paymentTwoDto.getCurrCode() + "\"" + //币种
|
|
|
+ " type=\"001\"" + //业务类型 001 代表扣款订单
|
|
|
+ " total=\"" + paymentTwoDto.getResalePrice() + "\"" + //订单总金额 8150.00 【买方总支付金额】(转售金额)
|
|
|
+ " actualTotal=\"" + paymentTwoDto.getTotalPrice() + "\"" + //扣除手续费边民实际到账金额 actualTotal忽略
|
|
|
+ " dateTime=\"" + paymentTwoDto.getDeclTime() + "\"" + //订单时间 YYYY-MM—DD HH:MM:DD SSS
|
|
|
+ ">" +
|
|
|
|
|
|
- "<vendee>\n" +//卖方基础信息(边民)
|
|
|
- " <name>" + paymentTwoDto.getBorderName() + "</name>\n" + //边民姓名
|
|
|
- " <paperType>0001</paperType>\n" + //证件类型 0001 身份证
|
|
|
- " <paperNo>" + paymentTwoDto.getBorderidno() + "</paperNo>\n" + //边民证件号
|
|
|
- " <nationality>中国</nationality>\n" + //国籍
|
|
|
- " <accountNo>" + paymentTwoDto.getBankCode() + "</accountNo>\n" + //银行账号
|
|
|
- " <bankCode>KCCBCN2K</bankCode>\n" + //开户行代码
|
|
|
- " <tel>" + paymentTwoDto.getBorderTel() + "</tel>\n" + //联系电话
|
|
|
- "</vendee>\n" +
|
|
|
+ "<vendee" +//买方基本信息(采购企业)
|
|
|
+ " name=\"" + paymentTwoDto.getPcName() + "\"" + //企业名称
|
|
|
+ " papersType=\"0008\"" + //证件类型 0008 社会统一信用代码(默认)
|
|
|
+ " papersNo=\"" + paymentTwoDto.getBusinessLicense() + "\"" + //证件号
|
|
|
+ " nationality=\"0001\"" + //国籍
|
|
|
+ " accountNo=\"" + paymentTwoDto.getPcBankAccount() + "\"" + //银行账号
|
|
|
+ " bankCode=\"MRCCCNB1\"" + //开户行代码
|
|
|
+ " tel=\"" + paymentTwoDto.getPcContact() + "\"" + //联系电话
|
|
|
+ "/>\n" +
|
|
|
|
|
|
- "<items>\n" +//商品明细
|
|
|
- " <code>" + paymentTwoDto.getCodeTs() + "</code>\n" + //商品编码
|
|
|
- " <name>" + paymentTwoDto.getGoodsName() + "</name>\n" + //商品名称
|
|
|
- " <unit>" + paymentTwoDto.getGoodsUnit() + "</unit>\n" + //商品单位
|
|
|
- " <price>" + paymentTwoDto.getDeclPrice() + "</price>\n" + //商品单价
|
|
|
- " <quantity>" + paymentTwoDto.getBuyQty() + "</quantity>\n" + //商品数量
|
|
|
- " <weight>" + paymentTwoDto.getGrossWt() + "</weight>\n" + //商品重量
|
|
|
- " <amount>" + paymentTwoDto.getResalePrice() + "</amount>\n" + //金额
|
|
|
- "</items>\n" +
|
|
|
- "<items>\n" +
|
|
|
- " <name>" + paymentTwoDto.getGoodsName() + "</name>\n" + //商品名称
|
|
|
- " <unit>" + paymentTwoDto.getGoodsUnit() + "</unit>\n" + //商品单位
|
|
|
- " <price>" + paymentTwoDto.getDeclPrice() + "</price>\n" + //商品单价
|
|
|
- " <quantity>" + paymentTwoDto.getBuyQty() + "</quantity>\n" + //商品数量
|
|
|
- " <weight>" + paymentTwoDto.getGrossWt() + "</weight>\n" + //商品重量
|
|
|
- " <amount>" + paymentTwoDto.getResalePrice() + "</amount>\n" + //金额
|
|
|
- "</items>\n" +
|
|
|
+ "<vendor" +//卖方基础信息(边民)
|
|
|
+ " name=\"" + paymentTwoDto.getBorderName() + "\"" + //边民姓名
|
|
|
+ " papersType=\"0001\"" + //证件类型 0001 身份证
|
|
|
+ " papersNo=\"" + paymentTwoDto.getBorderidno() + "\"" + //边民证件号
|
|
|
+ " nationality=\"0001\"" + //国籍
|
|
|
+ " accountNo=\"" + paymentTwoDto.getBankCode() + "\"" + //银行账号
|
|
|
+ " bankCode=\"MRCCCNB1\"" + //开户行代码
|
|
|
+ " tel=\"" + paymentTwoDto.getBorderTel() + "\"" + //联系电话
|
|
|
+ "/>\n" +
|
|
|
+
|
|
|
+ "<items" +//商品明细
|
|
|
+ " code=\"" + paymentTwoDto.getCodeTs() + "\"" + //商品编码
|
|
|
+ " name=\"" + paymentTwoDto.getGoodsName() + "\"" + //商品名称
|
|
|
+ " unit=\"" + paymentTwoDto.getGoodsUnit() + "\"" + //商品单位
|
|
|
+ " price=\"" + paymentTwoDto.getDeclPrice() + "\"" + //商品单价
|
|
|
+ " quantity=\"" + paymentTwoDto.getBuyQty() + "\"" + //商品数量
|
|
|
+ " weight=\"" + paymentTwoDto.getGrossWt() + "\"" + //商品重量
|
|
|
+ " amount=\"" + paymentTwoDto.getTotalPrice() + "\"" + //金额
|
|
|
+ "/>\n" +
|
|
|
+ chargesXml +//父级手续费(无子级手续费);
|
|
|
+ "</payload>";
|
|
|
+ String xml =
|
|
|
+ "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
|
|
|
+ "<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"\">\n" +
|
|
|
+ "<headers>\n" +
|
|
|
+ " <item key=\"sn\">" + UUID.randomUUID() + "</item>\n" +
|
|
|
+ " <item key=\"date\">" + date + "</item> \n" +
|
|
|
+ " <item key=\"organization\">" + paymentTwoDto.getFieldCode() + "</item>\n" +
|
|
|
+ " <item key=\"bankCode\">MRCCCNB1</item>\n" +
|
|
|
+ " <item key=\"operation\">MKT006</item>\n" +
|
|
|
+ "</headers>\n" +
|
|
|
+ "<plain>" +
|
|
|
+ CryptoUtil.encrypt(payload)+
|
|
|
+ "</plain>" +
|
|
|
+ "</message>";
|
|
|
+ return xml;
|
|
|
+ }
|
|
|
|
|
|
- /*"<charges>\n" +//父级手续费(有子级手续费)
|
|
|
- " <type></type>\n" + //手续费类型 数据字典:ChargeType
|
|
|
- " <sn>"+paymentTwoDto.getOrderNo()+"</sn>\n" + //订单号(一级市场订单号)
|
|
|
- " <name>"+paymentTwoDto.getPcName()+"</name>\n" + //企业名称
|
|
|
- " <paperType>0008</paperType>\n" + //证件类型 0008 社会统一信用代码(默认)
|
|
|
- " <paperNo>"+paymentTwoDto.getBusinessLicense()+"</paperNo>\n" + //证件号
|
|
|
- " <nationality>中国</nationality>\n" + //国籍
|
|
|
- " <accountNo>"+paymentTwoDto.getBankCode()+"</accountNo>\n" + //银行账号
|
|
|
- " <bankCode>KCCBCN2K</bankCode>\n" + //开户行代码
|
|
|
- " <bankNo></bankNo>\n" + //开户行行号 非必填
|
|
|
- " <tel>"+paymentTwoDto.getBorderTel()+"</tel>\n" + //联系电话
|
|
|
- " <total>"+paymentTwoDto.getBorderTel()+"</total>\n" + //手续费金额 70(包含了子级手续费 可多个)
|
|
|
- "<childrenCharges>\n" +//子级手续费
|
|
|
- " <type></type>\n" + //手续费类型 数据字典:ChargeType
|
|
|
- " <sn>"+UUID.randomUUID()+"</sn>\n" + //订单号
|
|
|
- " <name>"+paymentTwoDto.getBorderName()+"</name>\n" + //企业名称
|
|
|
- " <paperType>0008</paperType>\n" + //证件类型 0008 社会统一信用代码(默认)
|
|
|
- " <paperNo>"+paymentTwoDto.getBorderidno()+"</paperNo>\n" + //证件号
|
|
|
- " <nationality>中国</nationality>\n" + //国籍
|
|
|
- " <accountNo>"+paymentTwoDto.getBankCode()+"</accountNo>\n" +//银行账号
|
|
|
- " <bankCode>KCCBCN2K</bankCode>\n" + //开户行代码
|
|
|
- " <bankNo></bankNo>\n" + //开户行行号 非必填
|
|
|
- " <tel>"+paymentTwoDto.getBorderTel()+"</tel>\n" + //联系电话
|
|
|
- " <total>"+paymentTwoDto.getBorderTel()+"</total>\n" + //手续费金额 2
|
|
|
- "</childrenCharges>\n" +
|
|
|
- "</charges>\n" +*/
|
|
|
-
|
|
|
- chargesXml ; //父级手续费(无子级手续费);
|
|
|
+ /**
|
|
|
+ * 订单退款:二级市场--->银行
|
|
|
+ */
|
|
|
+ public static String MKT007_NoCommission(PaymentTwoDto paymentTwoDto) {
|
|
|
+ String date = sdf.format(new Date());
|
|
|
+ String payload=
|
|
|
+ "<payload xsi:type=\"orderDTO\"" +
|
|
|
+ " sn=\"" + paymentTwoDto.getOrderNo() + "\"" + //订单号
|
|
|
+ " organization=\"" + paymentTwoDto.getFieldCode() + "\"" + //互市点机构代码
|
|
|
+ " currency=\"" + paymentTwoDto.getCurrCode() + "\"" + //币种
|
|
|
+ " type=\"002\"" + //业务类型 001 代表扣款订单
|
|
|
+ " total=\"" + paymentTwoDto.getResalePrice() + "\"" + //订单总金额 8150.00 【买方总支付金额】(转售金额)
|
|
|
+ " actualTotal=\"" + paymentTwoDto.getTotalPrice() + "\"" + //扣除手续费边民实际到账金额 actualTotal忽略
|
|
|
+ " dateTime=\"" + paymentTwoDto.getDeclTime() + "\"" + //订单时间 YYYY-MM—DD HH:MM:DD SSS
|
|
|
+ ">" +
|
|
|
+
|
|
|
+ "<vendee" +//买方基本信息(采购企业)
|
|
|
+ " name=\"" + paymentTwoDto.getPcName() + "\"" + //企业名称
|
|
|
+ " papersType=\"0008\"" + //证件类型 0008 社会统一信用代码(默认)
|
|
|
+ " papersNo=\"" + paymentTwoDto.getBusinessLicense() + "\"" + //证件号
|
|
|
+ " nationality=\"0001\"" + //国籍
|
|
|
+ " accountNo=\"" + paymentTwoDto.getPcBankAccount() + "\"" + //银行账号
|
|
|
+ " bankCode=\"MRCCCNB1\"" + //开户行代码
|
|
|
+ " tel=\"" + paymentTwoDto.getPcContact() + "\"" + //联系电话
|
|
|
+ "/>\n" +
|
|
|
+
|
|
|
+ "<vendor" +//卖方基础信息(边民)
|
|
|
+ " name=\"" + paymentTwoDto.getBorderName() + "\"" + //边民姓名
|
|
|
+ " papersType=\"0001\"" + //证件类型 0001 身份证
|
|
|
+ " papersNo=\"" + paymentTwoDto.getBorderidno() + "\"" + //边民证件号
|
|
|
+ " nationality=\"0001\"" + //国籍
|
|
|
+ " accountNo=\"" + paymentTwoDto.getBankCode() + "\"" + //银行账号
|
|
|
+ " bankCode=\"MRCCCNB1\"" + //开户行代码
|
|
|
+ " tel=\"" + paymentTwoDto.getBorderTel() + "\"" + //联系电话
|
|
|
+ "/>\n" +
|
|
|
+
|
|
|
+ "<items" +//商品明细
|
|
|
+ " code=\"" + paymentTwoDto.getCodeTs() + "\"" + //商品编码
|
|
|
+ " name=\"" + paymentTwoDto.getGoodsName() + "\"" + //商品名称
|
|
|
+ " unit=\"" + paymentTwoDto.getGoodsUnit() + "\"" + //商品单位
|
|
|
+ " price=\"" + paymentTwoDto.getDeclPrice() + "\"" + //商品单价
|
|
|
+ " quantity=\"" + paymentTwoDto.getBuyQty() + "\"" + //商品数量
|
|
|
+ " weight=\"" + paymentTwoDto.getGrossWt() + "\"" + //商品重量
|
|
|
+ " amount=\"" + paymentTwoDto.getTotalPrice() + "\"" + //金额
|
|
|
+ "/>\n" +
|
|
|
+ "</payload>";
|
|
|
String xml =
|
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
|
|
|
- "<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"\" title=\"二级市场\">\n" +
|
|
|
+ "<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"\">\n" +
|
|
|
"<headers>\n" +
|
|
|
- " <sn>" + UUID.randomUUID() + "</sn>\n" +
|
|
|
- " <date>" + date + "</date> \n" +
|
|
|
- " <organization>" + paymentTwoDto.getFieldCode() + "</organization>\n" +
|
|
|
- " <bankCode>KCCBCN2K</bankCode>\n" +
|
|
|
- " <operation>MKT006</operation>\n" +
|
|
|
+ " <item key=\"sn\">" + UUID.randomUUID() + "</item>\n" +
|
|
|
+ " <item key=\"date\">" + date + "</item> \n" +
|
|
|
+ " <item key=\"organization\">" + paymentTwoDto.getFieldCode() + "</item>\n" +
|
|
|
+ " <item key=\"bankCode\">MRCCCNB1</item>\n" +
|
|
|
+ " <item key=\"operation\">MKT007</item>\n" +
|
|
|
"</headers>\n" +
|
|
|
-
|
|
|
- " <payload xsi:type=\"orderDTO\">" +
|
|
|
+ "<plain>" +
|
|
|
CryptoUtil.encrypt(payload)+
|
|
|
- "</payload>\n" +
|
|
|
+ "</plain>" +
|
|
|
"</message>";
|
|
|
return xml;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
private static String chargesXml(List<CompanyDto> companyDtoList, String orderNo) {
|
|
|
String xml = "";
|
|
|
for (CompanyDto companyDto : companyDtoList) {
|
|
|
- xml += "<charges>\n" +//父级手续费(无子级手续费)
|
|
|
- " <type></type>\n" + //手续费类型 数据字典:ChargeType
|
|
|
- " <sn>" + orderNo + "</sn>\n" + //订单号
|
|
|
- " <name>" + companyDto.getName() + "</name>\n" + //企业名称
|
|
|
- " <paperType>0008</paperType>\n" + //证件类型 0008 社会统一信用代码(默认)
|
|
|
- " <paperNo>" + companyDto.getUsci() + "</paperNo>\n" + //证件号
|
|
|
- " <nationality>中国</nationality>\n" + //国籍
|
|
|
- " <accountNo>" + companyDto.getBankAccount() + "</accountNo>\n" + //银行账号
|
|
|
- " <bankCode>KCCBCN2K</bankCode>\n" + //开户行代码
|
|
|
- " <bankNo></bankNo>\n" + //开户行行号 非必填
|
|
|
- " <tel>" + companyDto.getContact() + "</tel>\n" + //联系电话
|
|
|
- " <total>" + companyDto.getChargesPrice() + "</total>\n" + //手续费金额
|
|
|
- "</charges>\n";
|
|
|
+ xml += "<charges" +//父级手续费(无子级手续费)
|
|
|
+ " type=\"OPERATING\"" + //手续费类型 数据字典:ChargeType
|
|
|
+ " sn=\"" + orderNo + "\"" + //订单号
|
|
|
+ " name=\"" + companyDto.getName() + "\"" + //企业名称
|
|
|
+ " papersType=\"0008\"" + //证件类型 0008 社会统一信用代码(默认)
|
|
|
+ " papersNo=\"" + companyDto.getUsci() + "\"" + //证件号
|
|
|
+ " nationality=\"0001\"" + //国籍
|
|
|
+ " accountNo=\"" + companyDto.getBankAccount() + "\"" + //银行账号
|
|
|
+ " bankCode=\"MRCCCNB1\"" + //开户行代码
|
|
|
+ " bankNo=\"\"" + //开户行行号 非必填
|
|
|
+ " tel=\"" + companyDto.getContact() + "\"" + //联系电话
|
|
|
+ " total=\"" + companyDto.getChargesPrice() + "\"" + //手续费金额
|
|
|
+ "></charges>\n";
|
|
|
}
|
|
|
return xml;
|
|
|
}
|