与银行对接的编码等问题修改
diff --git a/ynrcc-agent/src/main/java/com/supwisdom/agent/Util/DlpayUtil.java b/ynrcc-agent/src/main/java/com/supwisdom/agent/Util/DlpayUtil.java
index 4dbd2bb..45b2ac5 100644
--- a/ynrcc-agent/src/main/java/com/supwisdom/agent/Util/DlpayUtil.java
+++ b/ynrcc-agent/src/main/java/com/supwisdom/agent/Util/DlpayUtil.java
@@ -26,13 +26,13 @@
public static String send(String ip, int port, int timeout, String data) throws UnknownHostException, IOException {
Socket client = new Socket(ip, port);
client.setSoTimeout(timeout * 1000); //timeout秒
- PrintWriter printWriter = new PrintWriter(client.getOutputStream());
+ PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(client.getOutputStream(),"GBK"));
// 发送消息
printWriter.println(data);
printWriter.flush();
// 读取返回信息
- InputStreamReader streamReader = new InputStreamReader(client.getInputStream());
+ InputStreamReader streamReader = new InputStreamReader(client.getInputStream(), "GBK");
BufferedReader reader = new BufferedReader(streamReader);
StringBuffer content = new StringBuffer(); //存返回信息
int ch;
diff --git a/ynrcc-agent/src/main/java/com/supwisdom/agent/api/bean/DlpayReq.java b/ynrcc-agent/src/main/java/com/supwisdom/agent/api/bean/DlpayReq.java
index 03f957f..7fae31a 100644
--- a/ynrcc-agent/src/main/java/com/supwisdom/agent/api/bean/DlpayReq.java
+++ b/ynrcc-agent/src/main/java/com/supwisdom/agent/api/bean/DlpayReq.java
@@ -2,6 +2,8 @@
import com.supwisdom.agent.Util.MD5;
+import java.io.UnsupportedEncodingException;
+
public class DlpayReq {
private static final String prefix = "<?xml version=\"1.0\" encoding=\"GBK\"?>";
private static final String BANKCARD_BIND_TRANSCODE = "BC5510";
@@ -36,8 +38,8 @@
/**
* 市民卡绑定请求XML
- * */
- public String getBindCardXml() {
+ */
+ public String getBindCardXml() throws UnsupportedEncodingException {
StringBuffer xml = new StringBuffer();
xml.append(prefix)
.append("<root>")
@@ -52,14 +54,13 @@
.append("<ID_NO>").append(idNo).append("</ID_NO>")
.append("<PHONE>").append(phone).append("</PHONE>")
.append("</root>");
- return String.format("%08d", xml.toString().length()) + xml.toString();
+ return String.format("%08d", xml.toString().getBytes("GBK").length) + xml.toString();
}
-
/**
* 市民卡签约/解约请求XML
- * */
- public String getSignXml(){
+ */
+ public String getSignXml() throws UnsupportedEncodingException {
StringBuffer xml = new StringBuffer();
xml.append(prefix)
.append("<root>")
@@ -75,13 +76,13 @@
.append("<PHONE>").append(phone).append("</PHONE>")
.append("<TRANS_TYPE>").append(transType).append("</TRANS_TYPE>")
.append("</root>");
- return String.format("%08d", xml.toString().length()) + xml.toString();
+ return String.format("%08d", xml.toString().getBytes("GBK").length) + xml.toString();
}
/**
* 市民卡代扣消费接口请求报文
- * */
- public String getCardpayXml(){
+ */
+ public String getCardpayXml() throws UnsupportedEncodingException {
StringBuffer xml = new StringBuffer();
xml.append(prefix)
.append("<root>")
@@ -100,13 +101,13 @@
.append("<DESCRIPTION>").append(description).append("</DESCRIPTION>")
.append("<MAC>").append(MD5.encodeByMD5ForYnrcc(merchantBcno + bcNo + amount)).append("</MAC>")
.append("</root>");
- return String.format("%08d", xml.toString().length()) + xml.toString();
+ return String.format("%08d", xml.toString().getBytes("GBK").length) + xml.toString();
}
/**
* 市民卡退款接口请求报文
- * */
- public String getPayRefundXml(){
+ */
+ public String getPayRefundXml() throws UnsupportedEncodingException {
StringBuffer xml = new StringBuffer();
xml.append(prefix)
.append("<root>")
@@ -118,13 +119,13 @@
.append("<AMOUNT>").append(amount).append("</AMOUNT>")
.append("<DESCRIPTION>").append(description).append("</DESCRIPTION>")
.append("</root>");
- return String.format("%08d", xml.toString().length()) + xml.toString();
+ return String.format("%08d", xml.toString().getBytes("GBK").length) + xml.toString();
}
/**
* 市民卡交易查询接口请求报文
- * */
- public String getQueryResultXml(){
+ */
+ public String getQueryResultXml() throws UnsupportedEncodingException {
StringBuffer xml = new StringBuffer();
xml.append(prefix)
.append("<root>")
@@ -134,13 +135,13 @@
.append("<SN>").append(sn).append("</SN>")
.append("<ORI_SN>").append(oriSn).append("</ORI_SN>")
.append("</root>");
- return String.format("%08d", xml.toString().length()) + xml.toString();
+ return String.format("%08d", xml.toString().getBytes("GBK").length) + xml.toString();
}
/**
* 市民卡对账接口请求报文
- * */
- public String getChkfileXml(){
+ */
+ public String getChkfileXml() throws UnsupportedEncodingException {
StringBuffer xml = new StringBuffer();
xml.append(prefix)
.append("<root>")
@@ -151,7 +152,7 @@
.append("<DZDATE>").append(chkdate).append("</DZDATE>")
.append("<MERCHANT_BCNO>").append("</MERCHANT_BCNO>")
.append("</root>");
- return String.format("%08d", xml.toString().length()) + xml.toString();
+ return String.format("%08d", xml.toString().getBytes("GBK").length) + xml.toString();
}
public String getTransdate() {
diff --git a/ynrcc-agent/src/main/java/com/supwisdom/agent/api/service/impl/YnrccApiServiceImpl.java b/ynrcc-agent/src/main/java/com/supwisdom/agent/api/service/impl/YnrccApiServiceImpl.java
index 4ae422e..1d492e0 100644
--- a/ynrcc-agent/src/main/java/com/supwisdom/agent/api/service/impl/YnrccApiServiceImpl.java
+++ b/ynrcc-agent/src/main/java/com/supwisdom/agent/api/service/impl/YnrccApiServiceImpl.java
@@ -1,5 +1,6 @@
package com.supwisdom.agent.api.service.impl;
+import com.google.gson.Gson;
import com.supwisdom.agent.Util.BussinessException;
import com.supwisdom.agent.Util.DlpayUtil;
import com.supwisdom.agent.Util.StringUtil;
@@ -76,6 +77,7 @@
try {
DlpayResp resp = XmlUtils.getXmlToObject(returnXml.substring(8), "GBK", DlpayResp.class);
+ logger.info("==========refno=[" + req.getSn() + "]成功返回:" + new Gson().toJson(resp));
return resp;
} catch (Exception e) {
throw new BussinessException("返回报文解析异常!");
diff --git a/ynrcc-agent/src/main/java/com/supwisdom/agent/api/service/impl/YnrccParamCheckServiceImpl.java b/ynrcc-agent/src/main/java/com/supwisdom/agent/api/service/impl/YnrccParamCheckServiceImpl.java
index 52009b1..52c3228 100644
--- a/ynrcc-agent/src/main/java/com/supwisdom/agent/api/service/impl/YnrccParamCheckServiceImpl.java
+++ b/ynrcc-agent/src/main/java/com/supwisdom/agent/api/service/impl/YnrccParamCheckServiceImpl.java
@@ -221,7 +221,7 @@
return false;
}
- if (StringUtil.checkDatetimeValid(checkdate,"yyyyMMdd")) {
+ if (!StringUtil.checkDatetimeValid(checkdate,"yyyyMMdd")) {
resp.setCode(ErrorCode.REQ_PARAM_ERROR);
resp.setMessage("请求参数错误[对账日期]");
return false;