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