From 58a8acceb63d52377da4b837e859f2e03d2bce1b Mon Sep 17 00:00:00 2001
From: gongzuming <gongzuming>
Date: 星期一, 14 十月 2024 08:44:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master-v3' into master-v2

---
 src/main/java/com/mzl/flower/pay/SybPayService.java |  175 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 97 insertions(+), 78 deletions(-)

diff --git a/src/main/java/com/mzl/flower/pay/SybPayService.java b/src/main/java/com/mzl/flower/pay/SybPayService.java
index 8dc5e9e..0de4250 100644
--- a/src/main/java/com/mzl/flower/pay/SybPayService.java
+++ b/src/main/java/com/mzl/flower/pay/SybPayService.java
@@ -1,9 +1,14 @@
 package com.mzl.flower.pay;
 
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
 import java.net.URLEncoder;
 import java.util.Map;
 import java.util.TreeMap;
 
+@Slf4j
 public class SybPayService {
 
 
@@ -27,27 +32,27 @@
 		TreeMap<String,String> params = new TreeMap<String,String>();
 		if(!SybUtil.isEmpty(SybConstants.SYB_ORGID))
 			params.put("orgid", SybConstants.SYB_ORGID);
-			params.put("cusid", SybConstants.SYB_CUSID);
-			params.put("appid", SybConstants.SYB_APPID);
-			params.put("version", "12");
-			params.put("trxamt", String.valueOf(trxamt));
-			params.put("reqsn", reqsn);
-			params.put("unireqsn", unireqsn);
-			params.put("notify_url", notifyUrl);
-			params.put("body", body);
-			params.put("remark", remark);
-			params.put("paytype", "W06");
-			params.put("randomstr", SybUtil.getValidatecode(8));
-			params.put("signtype", SybConstants.SIGN_TYPE);
-			String appkey = "";
-			if(SybConstants.SIGN_TYPE.equals("RSA"))
-				appkey = SybConstants.SYB_RSACUSPRIKEY;
-			else if(SybConstants.SIGN_TYPE.equals("SM2"))
-				appkey = SybConstants.SYB_SM2PPRIVATEKEY;
-			else
-				appkey = SybConstants.SYB_MD5_APPKEY;
-			params.put("sign", SybUtil.unionSign(params,appkey,SybConstants.SIGN_TYPE));
-			return params;
+		params.put("cusid", SybConstants.SYB_CUSID);
+		params.put("appid", SybConstants.SYB_APPID);
+		params.put("version", "12");
+		params.put("trxamt", String.valueOf(trxamt));
+		params.put("reqsn", reqsn);
+		params.put("unireqsn", unireqsn);
+		params.put("notify_url", notifyUrl);
+		params.put("body", body);
+		params.put("remark", remark);
+		params.put("paytype", "W06");
+		params.put("randomstr", SybUtil.getValidatecode(8));
+		params.put("signtype", SybConstants.SIGN_TYPE);
+		String appkey = "";
+		if(SybConstants.SIGN_TYPE.equals("RSA"))
+			appkey = SybConstants.SYB_RSACUSPRIKEY;
+		else if(SybConstants.SIGN_TYPE.equals("SM2"))
+			appkey = SybConstants.SYB_SM2PPRIVATEKEY;
+		else
+			appkey = SybConstants.SYB_MD5_APPKEY;
+		params.put("sign", SybUtil.unionSign(params,appkey,SybConstants.SIGN_TYPE));
+		return params;
 	}
 
 
@@ -66,27 +71,31 @@
 		TreeMap<String,String> params = new TreeMap<String,String>();
 		if(!SybUtil.isEmpty(SybConstants.SYB_ORGID))
 			params.put("orgid", SybConstants.SYB_ORGID);
-			params.put("cusid", SybConstants.SYB_CUSID);
-			params.put("appid", SybConstants.SYB_APPID);
-			params.put("version", "11");
-			params.put("trxamt", String.valueOf(trxamt));
-			params.put("reqsn", reqsn);
+		params.put("cusid", SybConstants.SYB_CUSID);
+		params.put("appid", SybConstants.SYB_APPID);
+		params.put("version", "11");
+		params.put("trxamt", String.valueOf(trxamt));
+		params.put("reqsn", reqsn);
+		if (StringUtils.isNotBlank(oldtrxid))  {
 			params.put("oldtrxid", oldtrxid);
+		}
+		if(StringUtils.isNotBlank(oldreqsn)){
 			params.put("oldreqsn", oldreqsn);
-			params.put("randomstr", SybUtil.getValidatecode(8));
-			params.put("signtype", SybConstants.SIGN_TYPE);
-			String appkey = "";
-			if(SybConstants.SIGN_TYPE.equals("RSA"))
-				appkey = SybConstants.SYB_RSACUSPRIKEY;
-			else if(SybConstants.SIGN_TYPE.equals("SM2"))
-				appkey = SybConstants.SYB_SM2PPRIVATEKEY;
-			else
-				appkey = SybConstants.SYB_MD5_APPKEY;
-			params.put("sign", SybUtil.unionSign(params,appkey,SybConstants.SIGN_TYPE));
-			byte[] bys = http.postParams(params, true);
-			String result = new String(bys,"UTF-8");
-			Map<String,String> map = handleResult(result);
-			return map;
+		}
+		params.put("randomstr", SybUtil.getValidatecode(8));
+		params.put("signtype", SybConstants.SIGN_TYPE);
+		String appkey = "";
+		if(SybConstants.SIGN_TYPE.equals("RSA"))
+			appkey = SybConstants.SYB_RSACUSPRIKEY;
+		else if(SybConstants.SIGN_TYPE.equals("SM2"))
+			appkey = SybConstants.SYB_SM2PPRIVATEKEY;
+		else
+			appkey = SybConstants.SYB_MD5_APPKEY;
+		params.put("sign", SybUtil.unionSign(params,appkey,SybConstants.SIGN_TYPE));
+		byte[] bys = http.postParams(params, true);
+		String result = new String(bys,"UTF-8");
+		Map<String,String> map = handleResult(result);
+		return map;
 	}
 
 	/**
@@ -104,27 +113,31 @@
 		TreeMap<String,String> params = new TreeMap<String,String>();
 		if(!SybUtil.isEmpty(SybConstants.SYB_ORGID))
 			params.put("orgid", SybConstants.SYB_ORGID);
-			params.put("cusid", SybConstants.SYB_CUSID);
-			params.put("appid", SybConstants.SYB_APPID);
-			params.put("version", "11");
-			params.put("trxamt", String.valueOf(trxamt));
-			params.put("reqsn", reqsn);
+		params.put("cusid", SybConstants.SYB_CUSID);
+		params.put("appid", SybConstants.SYB_APPID);
+		params.put("version", "11");
+		params.put("trxamt", String.valueOf(trxamt));
+		params.put("reqsn", reqsn);
+		if(StringUtils.isNotBlank(oldreqsn)){
 			params.put("oldreqsn", oldreqsn);
+		}
+		if (StringUtils.isNotBlank(oldtrxid))  {
 			params.put("oldtrxid", oldtrxid);
-			params.put("randomstr", SybUtil.getValidatecode(8));
-			params.put("signtype", SybConstants.SIGN_TYPE);
-			String appkey = "";
-			if(SybConstants.SIGN_TYPE.equals("RSA"))
-				appkey = SybConstants.SYB_RSACUSPRIKEY;
-			else if(SybConstants.SIGN_TYPE.equals("SM2"))
-				appkey = SybConstants.SYB_SM2PPRIVATEKEY;
-			else
-				appkey = SybConstants.SYB_MD5_APPKEY;
-			params.put("sign", SybUtil.unionSign(params,appkey,SybConstants.SIGN_TYPE));
-			byte[] bys = http.postParams(params, true);
-			String result = new String(bys,"UTF-8");
-			Map<String,String> map = handleResult(result);
-			return map;
+		}
+		params.put("randomstr", SybUtil.getValidatecode(8));
+		params.put("signtype", SybConstants.SIGN_TYPE);
+		String appkey = "";
+		if(SybConstants.SIGN_TYPE.equals("RSA"))
+			appkey = SybConstants.SYB_RSACUSPRIKEY;
+		else if(SybConstants.SIGN_TYPE.equals("SM2"))
+			appkey = SybConstants.SYB_SM2PPRIVATEKEY;
+		else
+			appkey = SybConstants.SYB_MD5_APPKEY;
+		params.put("sign", SybUtil.unionSign(params,appkey,SybConstants.SIGN_TYPE));
+		byte[] bys = http.postParams(params, true);
+		String result = new String(bys,"UTF-8");
+		Map<String,String> map = handleResult(result);
+		return map;
 	}
 
 	/**
@@ -140,25 +153,29 @@
 		TreeMap<String,String> params = new TreeMap<String,String>();
 		if(!SybUtil.isEmpty(SybConstants.SYB_ORGID))
 			params.put("orgid", SybConstants.SYB_ORGID);
-			params.put("cusid", SybConstants.SYB_CUSID);
-			params.put("appid", SybConstants.SYB_APPID);
-			params.put("version", "12");
+		params.put("cusid", SybConstants.SYB_CUSID);
+		params.put("appid", SybConstants.SYB_APPID);
+		params.put("version", "12");
+		if(StringUtils.isNotBlank(oldreqsn)){
 			params.put("oldreqsn", oldreqsn);
+		}
+		if (StringUtils.isNotBlank(oldtrxid))  {
 			params.put("oldtrxid", oldtrxid);
-			params.put("randomstr", SybUtil.getValidatecode(8));
-			params.put("signtype", SybConstants.SIGN_TYPE);
-			String appkey = "";
-			if(SybConstants.SIGN_TYPE.equals("RSA"))
-				appkey = SybConstants.SYB_RSACUSPRIKEY;
-			else if(SybConstants.SIGN_TYPE.equals("SM2"))
-				appkey = SybConstants.SYB_SM2PPRIVATEKEY;
-			else
-				appkey = SybConstants.SYB_MD5_APPKEY;
-			params.put("sign", SybUtil.unionSign(params,appkey,SybConstants.SIGN_TYPE));
-			byte[] bys = http.postParams(params, true);
-			String result = new String(bys,"UTF-8");
-			Map<String,String> map = handleResult(result);
-			return map;
+		}
+		params.put("randomstr", SybUtil.getValidatecode(8));
+		params.put("signtype", SybConstants.SIGN_TYPE);
+		String appkey = "";
+		if(SybConstants.SIGN_TYPE.equals("RSA"))
+			appkey = SybConstants.SYB_RSACUSPRIKEY;
+		else if(SybConstants.SIGN_TYPE.equals("SM2"))
+			appkey = SybConstants.SYB_SM2PPRIVATEKEY;
+		else
+			appkey = SybConstants.SYB_MD5_APPKEY;
+		params.put("sign", SybUtil.unionSign(params,appkey,SybConstants.SIGN_TYPE));
+		byte[] bys = http.postParams(params, true);
+		String result = new String(bys,"UTF-8");
+		Map<String,String> map = handleResult(result);
+		return map;
 	}
 	
 	public Map<String,String> query(String reqsn,String trxid) throws Exception{
@@ -171,7 +188,9 @@
 		params.put("appid", SybConstants.SYB_APPID);
 		params.put("version", "11");
 		params.put("reqsn", reqsn);
-		params.put("trxid", trxid);
+		if(StringUtils.isNotBlank(trxid)){
+			params.put("trxid", trxid);
+		}
 		params.put("randomstr", SybUtil.getValidatecode(8));
 		params.put("signtype", SybConstants.SIGN_TYPE);
 		String appkey = "";
@@ -190,7 +209,7 @@
 	
 	
 	public static Map<String,String> handleResult(String result) throws Exception{
-		System.out.println("ret:"+result);
+		log.info("通联支付返回结果:"+result);
 		Map map = SybUtil.json2Obj(result, Map.class);
 		if(map == null){
 			throw new Exception("返回数据错误");

--
Gitblit v1.9.3