From 16da0ad1fda1dffa3019425a6887d38ed4217f44 Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Sun, 10 Jan 2021 14:26:02 +0800
Subject: [PATCH] Merge branch 'api' into order_reform

---
 zq-erp/src/main/java/com/matrix/component/wechat/externalInterface/weixinUtil/WeixinServiceUtil.java |   62 +++++++++++++++++++++++++------
 1 files changed, 50 insertions(+), 12 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/component/wechat/externalInterface/weixinUtil/WeixinServiceUtil.java b/zq-erp/src/main/java/com/matrix/component/wechat/externalInterface/weixinUtil/WeixinServiceUtil.java
index 771333f..7a00022 100644
--- a/zq-erp/src/main/java/com/matrix/component/wechat/externalInterface/weixinUtil/WeixinServiceUtil.java
+++ b/zq-erp/src/main/java/com/matrix/component/wechat/externalInterface/weixinUtil/WeixinServiceUtil.java
@@ -1,5 +1,6 @@
 package com.matrix.component.wechat.externalInterface.weixinUtil;
 
+import com.matrix.component.wechat.externalInterface.common.HttpsRequest2;
 import com.matrix.core.exception.GlobleException;
 import com.matrix.core.tools.LogUtil;
 import com.matrix.core.tools.StringUtils;
@@ -18,7 +19,10 @@
 import com.matrix.component.wechat.externalInterface.service.JsApiPayComService;
 import com.matrix.component.wechat.externalInterface.service.RefundService;
 import com.matrix.component.wechat.externalInterface.service.ScanPayQueryService;
+import com.matrix.system.common.bean.BusParameterSettings;
 import com.matrix.system.common.constance.AppConstance;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
+import com.matrix.system.common.interceptor.HostInterceptor;
 import com.matrix.system.shopXcx.api.tools.WxShopOrderUtil;
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -43,6 +47,13 @@
 
 	@Autowired
 	private WxShopOrderUtil wxShopOrderUtil;
+
+	@Autowired
+	BusParameterSettingsDao busParameterSettingsDao;
+
+
+
+
 	
 	/**
 	 * 支付"175.9.82.254"
@@ -62,7 +73,20 @@
 		// 创建微信支付预付接口
 		JsApiPayBusiness jsApiPayBusiness = new JsApiPayBusiness();
 		String idAddr = getIpAddr(WebUtil.getRequest());
-		JsApiPayReqData jsApiPayReqData = new JsApiPayReqData(desc, outTradeNo, price, idAddr, openId, attach);
+
+		Long companyId=HostInterceptor.getCompanyId();
+
+		BusParameterSettings mchID = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_APPID, companyId);
+		BusParameterSettings paySecret = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_SECRET, companyId);
+		BusParameterSettings notifyUrl = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_NOTIFYURL, companyId);
+
+		BusParameterSettings appId = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.MINIPROGRAM_APPID, companyId);
+
+		JsApiPayReqData jsApiPayReqData = new JsApiPayReqData(appId.getParamValue(),mchID.getParamValue(),
+				paySecret.getParamValue(),
+				notifyUrl.getParamValue(),
+				desc, outTradeNo, price, idAddr, openId, attach);
+
 		// 创建预付订单并返回请求结果
 		JsApiPayResData result = jsApiPayBusiness.createPrapareOrder(jsApiPayReqData);
 		// 把预付订单的信息存放在request域中
@@ -71,7 +95,7 @@
 		LogUtil.info("#---签名信息:return_msg = {}" , result.getReturn_msg());
 		if (result.getReturn_code().equals("SUCCESS")) {
 			// 请求成功, 构建BrandWCPayRequest发起支付需要的参数
-			BrandWCPayRequestData payData = new BrandWCPayRequestData(result.getPrepay_id());
+			BrandWCPayRequestData payData = new BrandWCPayRequestData(result.getPrepay_id(),appId.getParamValue(),paySecret.getParamValue());
 			WebUtil.getRequest().setAttribute("payData", payData);
 			return payData;
 		}else{
@@ -115,7 +139,6 @@
 	 * @param desc 描述
 	 * @param outTradeNo  提现申请编号
 	 * @param totalFee 提现金额(分)
-	 * @param spBillCreateIP 调用接口的IP
 	 * @param openid
 	 * @return
 	 */
@@ -125,7 +148,12 @@
 		try {
 			JsApiPayBusiness jsApiPayBusiness = new JsApiPayBusiness();
 			// TODO 企业付款
-			JsApiPayComReqData jsApiPayComReqData=new JsApiPayComReqData("","",0,"","","");
+			Long companyId=HostInterceptor.getCompanyId();
+			BusParameterSettings mchID = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_APPID, companyId);
+			BusParameterSettings paySecret = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_SECRET, companyId);
+
+
+			JsApiPayComReqData jsApiPayComReqData=new JsApiPayComReqData(mchID.getParamValue(),paySecret.getParamValue(),"","",0,"","","");
 			JsApiPayComService jsApiPayComService=new JsApiPayComService();
 			result = jsApiPayBusiness.payComOrder(jsApiPayComService, jsApiPayComReqData);
 			LogUtil.info("#提现,企业付款到个人---result:{}",result);
@@ -155,15 +183,25 @@
 			int refundFee, String opUserID){
 		LogUtil.info("#---outTradeNo:{}#---outRefundNo:{}#---totalFee:{}#---refundFee:{}",
 				outTradeNo,outRefundNo,totalFee,refundFee);
+		BusParameterSettings mchID = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_APPID, HostInterceptor.getCompanyId());
 		if(opUserID==null){
-			opUserID=WechatConfigure.mchID;
+			opUserID=mchID.getParamValue();
 		}
 		RefundResData result=null;
 		boolean flag=false;
 		try {
 			JsApiPayBusiness jsApiPayBusiness = new JsApiPayBusiness();
-			RefundReqData refundReqData=new RefundReqData(outTradeNo, outRefundNo, totalFee, refundFee,opUserID);
+			Long companyId=HostInterceptor.getCompanyId();
+			BusParameterSettings paySecret = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_SECRET, companyId);
+			BusParameterSettings appId = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_APPID, companyId);
+			BusParameterSettings certLocalPath = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_CERTLOCAL_PATH, companyId);
+
+			RefundReqData refundReqData=new RefundReqData(mchID.getParamValue(),appId.getParamValue(),paySecret.getParamValue(), outTradeNo, outRefundNo, totalFee, refundFee,opUserID);
 			RefundService refundService=new RefundService();
+			HttpsRequest2 request2= (HttpsRequest2) refundService.getServiceRequest();
+			request2.setCertLocalPath(certLocalPath.getParamValue());
+			request2.setMchId(mchID.getParamValue());
+
 			result = jsApiPayBusiness.refundComOrder(refundService, refundReqData);
 			LogUtil.info("#退款,企业付款到个人---result:{}",result);
 			//如果返回余额不足时
@@ -191,12 +229,12 @@
 	 * @return
 	 */
 	public String getIpAddr(HttpServletRequest request) { 
-	       String ip = request.getHeader("x-forwarded-for"); 
-	      /* if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
-	           ip = request.getHeader("Proxy-Client-IP"); 
-	       } 
-	       if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
-	           ip = request.getHeader("WL-Proxy-Client-IP"); 
+	       String ip = request.getHeader("x-forwarded-for");
+	      /* if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+	           ip = request.getHeader("Proxy-Client-IP");
+	       }
+	       if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+	           ip = request.getHeader("WL-Proxy-Client-IP");
 	       } */
 	       if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
 	           ip = request.getRemoteAddr(); 

--
Gitblit v1.9.1