新银行前置版本修改
authorkaixiang.xia <kaixiang.xia@supwisdom.com>
Fri, 26 Mar 2021 02:13:29 +0000 (10:13 +0800)
committerkaixiang.xia <kaixiang.xia@supwisdom.com>
Fri, 26 Mar 2021 02:13:29 +0000 (10:13 +0800)
payapi-common/src/main/java/com/supwisdom/dlpay/api/agent/Constant.java
ynrcc-agent/src/main/java/com/supwisdom/agent/api/bean/CheckFileLine.java
ynrcc-agent/src/main/java/com/supwisdom/agent/api/bean/DlpayReq.java
ynrcc-agent/src/main/java/com/supwisdom/agent/api/controller/YnrccApiController.java

index 7f572da..39169ac 100644 (file)
@@ -20,4 +20,5 @@ public class Constant {
   public static final String COL_STATUS = "status";
   public static final String COL_FLAG = "flag";
   public static final String COL_RECORDNO = "recordno"; //记录号
+  public static final String COL_BANKSEQNO = "payeeno"; //商户银行序号
 }
index e3d9b69..3e6cad5 100644 (file)
@@ -1,10 +1,10 @@
 package com.supwisdom.agent.api.bean;
 
 /**
- * * 第二行及以后:交易日期|交易时间|报文业务类型|业务系统流水号|银行流水号|付款银行卡号|收款商户银行卡号|核心记账日期|交易金额|交易摘要|
+ * * 第二行及以后:交易日期|交易时间|报文业务类型|业务系统流水号|银行流水号|付款银行卡号|收款商户银行卡号|[账号序号]|核心记账日期|交易金额|交易摘要|
  * <p>
  * private static final String[]chkFileColumnList=new String[]{"transdate","transtime","flag","refno","agentrefno",
- * "payerid","payeeid","agentdate","amount","summary"};
+ * "payerid","payeeid",["payeeno"],"agentdate","amount","summary"};
  */
 public class CheckFileLine {
   private String transdate;
@@ -14,6 +14,7 @@ public class CheckFileLine {
   private String agentrefno;
   private String payerid;
   private String payeeid;
+  private String payeeno; //fixme: 银行测试环境修改对账单新增账号序号 2020.11.27
   private String agentdate;
   private Integer amount;
   private String summary;
@@ -97,4 +98,12 @@ public class CheckFileLine {
   public void setSummary(String summary) {
     this.summary = summary;
   }
+
+  public String getPayeeno() {
+    return payeeno;
+  }
+
+  public void setPayeeno(String payeeno) {
+    this.payeeno = payeeno;
+  }
 }
index e1e28e9..eb0f31b 100644 (file)
@@ -106,12 +106,12 @@ public class DlpayReq {
         .append("<ID_NO>").append(idNo).append("</ID_NO>")
         .append("<MERCHANT_BCNO>").append(merchantBcno).append("</MERCHANT_BCNO>")
         .append("<MERCHANT_NAME>").append(merchantName).append("</MERCHANT_NAME>")
-//        .append("<MERCHANT_BCNOSEQ>").append(merchantBcnoSeqno).append("</MERCHANT_BCNOSEQ>")   //fixme: 银行测试环境新加 2020.11.27
+        .append("<MERCHANT_BCNOSEQ>").append(merchantBcnoSeqno).append("</MERCHANT_BCNOSEQ>")   //fixme: 银行测试环境新加 2020.11.27
         .append("<AMOUNT>").append(amount).append("</AMOUNT>")
-//        .append("<SCENARIO>").append(scenario).append("</SCENARIO>")  //fixme: 银行测试环境新加字段 2020.11.27
+        .append("<SCENARIO>").append(scenario).append("</SCENARIO>")  //fixme: 银行测试环境新加字段 2020.11.27
         .append("<DESCRIPTION>").append(description).append("</DESCRIPTION>")
-        .append("<MAC>").append(MD5.encodeByMD5ForYnrcc(merchantBcno + bcNo + amount)).append("</MAC>")
-//        .append("<MAC>").append(MD5.encodeByMD5ForYnrcc(merchantBcno + bcNo + amount + "ynnx@2020|dlsmk" + sn)).append("</MAC>")  //fixme: 银行测试环境修改MAC算法 2020.11.27
+//        .append("<MAC>").append(MD5.encodeByMD5ForYnrcc(merchantBcno + bcNo + amount)).append("</MAC>")
+        .append("<MAC>").append(MD5.encodeByMD5ForYnrcc(merchantBcno + bcNo + amount + "ynnx@2020|dlsmk" + sn)).append("</MAC>")  //fixme: 银行测试环境修改MAC算法 2020.11.27
         .append("</root>");
     return String.format("%08d", xml.toString().getBytes("GBK").length) + xml.toString();
   }
@@ -163,7 +163,7 @@ public class DlpayReq {
         .append("<SN>").append(sn).append("</SN>")
         .append("<DZDATE>").append(chkdate).append("</DZDATE>")
         .append("<MERCHANT_BCNO>").append("</MERCHANT_BCNO>")
-//        .append("<MERCHANT_BCNOSEQ>").append("</MERCHANT_BCNOSEQ>")   //fixme: 银行测试环境新加商户银行卡序号字段 2020.11.27
+        .append("<MERCHANT_BCNOSEQ>").append("</MERCHANT_BCNOSEQ>")   //fixme: 银行测试环境新加商户银行卡序号字段 2020.11.27
         .append("</root>");
     return String.format("%08d", xml.toString().getBytes("GBK").length) + xml.toString();
   }
@@ -179,8 +179,8 @@ public class DlpayReq {
         .append("<TRANSDATE>").append(transdate).append("</TRANSDATE>")
         .append("<TRANSTIME>").append(transtime).append("</TRANSTIME>")
         .append("<SN>").append(sn).append("</SN>")
-        .append("<STLTRXDATE>").append(stltrxdate).append("</STLTRXDATE>")
-//        .append("<STLSNDATE>").append(stltrxdate).append("</STLSNDATE>")  //fixme: 银行测试环境改了字段名(STLTRXDATE 改为 STLSNDATE) 2020.11.27
+//        .append("<STLTRXDATE>").append(stltrxdate).append("</STLTRXDATE>")
+        .append("<STLSNDATE>").append(stltrxdate).append("</STLSNDATE>")  //fixme: 银行测试环境改了字段名(STLTRXDATE 改为 STLSNDATE) 2020.11.27
         .append("<STLAMT>").append(stlamt).append("</STLAMT>")
         .append("<JNLCOUNT>").append(jnlcount).append("</JNLCOUNT>")
         .append("</root>");
index e3f9ea1..f445df7 100644 (file)
@@ -40,10 +40,10 @@ public class YnrccApiController {
 
   /**
    * 第一行:总笔数|总金额|代扣总笔数|代扣总金额|退款总笔数|退款总金额|
-   * 第二行及以后:交易日期|交易时间|报文业务类型|业务系统流水号|银行流水号|付款银行卡号|收款商户银行卡号|核心记账日期|交易金额|交易摘要|
+   * 第二行及以后:交易日期|交易时间|报文业务类型|业务系统流水号|银行流水号|付款银行卡号|收款商户银行卡号|[账号序号]|核心记账日期|交易金额|交易摘要|
    */
   private static final String[] chkFileColumnList = new String[]{"transdate", "transtime", Constant.COL_FLAG,
-      Constant.COL_REFNO, Constant.COL_AGENT_REFNO, Constant.COL_PAYERID, Constant.COL_PAYEEID,
+      Constant.COL_REFNO, Constant.COL_AGENT_REFNO, Constant.COL_PAYERID, Constant.COL_PAYEEID, Constant.COL_BANKSEQNO,
       Constant.COL_AGENT_DATE, Constant.COL_AMOUNT, Constant.COL_SUMMARY};
 
   private static final String chkFileDelimiter = "\\|";
@@ -483,16 +483,18 @@ public class YnrccApiController {
           flag = Constant.FLAG_PAY;
           fileHeader.setPayCount(fileHeader.getPayCount() - 1);
           fileHeader.setPayAmount(fileHeader.getPayAmount() - record.getAmount());
+          fileHeader.setTotalAmount(fileHeader.getTotalAmount() - record.getAmount());
         } else if (FLAG_REFUND.equals(record.getFlag())) {
           amount = record.getAmount();
           flag = Constant.FLAG_REFUND;
           fileHeader.setRefundCount(fileHeader.getRefundCount() - 1);
           fileHeader.setRefundAmount(fileHeader.getRefundAmount() - record.getAmount());
+          fileHeader.setTotalAmount(fileHeader.getTotalAmount() + record.getAmount());
         } else {
           throw new IllegalArgumentException("对账文件【报文业务类型】错误,行数 " + lineno + " 。");
         }
         fileHeader.setTotalCount(fileHeader.getTotalCount() - 1);
-        fileHeader.setTotalAmount(fileHeader.getTotalAmount() - record.getAmount());
+//        fileHeader.setTotalAmount(fileHeader.getTotalAmount() - record.getAmount());
         writeLine(output, record.getRefno(), record.getAgentrefno(), record.getAgentdate(),
             flag, record.getPayerid(), record.getPayeeid(), Constant.STATUS_SUCCESS,
             amount, record.getSummary(), lineno - 1);