gongzuming
2024-10-08 4e7335b58224ce65445ec6c89304546d538a790e
src/main/java/com/mzl/flower/pay/SybPayService.java
@@ -1,9 +1,13 @@
package com.mzl.flower.pay;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.net.URLEncoder;
import java.util.Map;
import java.util.TreeMap;
@Slf4j
public class SybPayService {
@@ -27,27 +31,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 +70,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", "11");
         params.put("trxamt", String.valueOf(trxamt));
         params.put("reqsn", reqsn);
         params.put("oldtrxid", oldtrxid);
         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("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("oldtrxid", oldtrxid);
      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;
   }
   /**
@@ -104,27 +108,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", "11");
         params.put("trxamt", String.valueOf(trxamt));
         params.put("reqsn", reqsn);
         params.put("oldreqsn", oldreqsn);
         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("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("oldreqsn", oldreqsn);
      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;
   }
   /**
@@ -140,25 +144,25 @@
      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("oldreqsn", oldreqsn);
         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("cusid", SybConstants.SYB_CUSID);
      params.put("appid", SybConstants.SYB_APPID);
      params.put("version", "12");
      params.put("oldreqsn", oldreqsn);
      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;
   }
   
   public Map<String,String> query(String reqsn,String trxid) throws Exception{
@@ -190,7 +194,8 @@
   
   
   public static Map<String,String> handleResult(String result) throws Exception{
      System.out.println("ret:"+result);
      System.out.println("通联支付返回结果:"+result);
      log.info("ret:"+result);
      Map map = SybUtil.json2Obj(result, Map.class);
      if(map == null){
         throw new Exception("返回数据错误");