From 3868b706ee3ee115a400d77abc3b69b83ea448c7 Mon Sep 17 00:00:00 2001 From: jyy <jyy> Date: Fri, 03 Sep 2021 14:15:36 +0800 Subject: [PATCH] bug123 --- zq-erp/src/main/java/com/matrix/component/wechat/externalInterface/weixinUtil/WeixinServiceUtil.java | 53 ++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 40 insertions(+), 13 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 7a00022..82d2c05 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 @@ -69,16 +69,33 @@ * @return 预支付订单返回的结果对象(该结果对象已封装),在H5页面使用该对象信息 * @throws Exception */ - public BrandWCPayRequestData createOrder(String desc,String outTradeNo, int price, String openId,String attach) throws Exception { + public BrandWCPayRequestData createOrder(String desc, String outTradeNo, int price, String openId, String attach) throws Exception { + Long companyId=HostInterceptor.getCompanyId(); + BusParameterSettings notifyUrl = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_NOTIFYURL, companyId); + return buildBrandWCPayRequestData(desc, outTradeNo, price, openId, attach, notifyUrl); + } + + /** + * 创建充值订单 + */ + public BrandWCPayRequestData createRechargeOrder(String desc, String outTradeNo, int price, String openId, String attach) throws Exception { + Long companyId=HostInterceptor.getCompanyId(); + BusParameterSettings notifyUrl = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_RECHARGE_NOTIFYURL, companyId); + return buildBrandWCPayRequestData(desc, outTradeNo, price, openId, attach, notifyUrl); + } + + + + private BrandWCPayRequestData buildBrandWCPayRequestData(String desc, String outTradeNo, int price, String openId, String attach, BusParameterSettings notifyUrl) throws Exception { // 创建微信支付预付接口 JsApiPayBusiness jsApiPayBusiness = new JsApiPayBusiness(); String idAddr = getIpAddr(WebUtil.getRequest()); Long companyId=HostInterceptor.getCompanyId(); - BusParameterSettings mchID = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_APPID, companyId); + BusParameterSettings mchID = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_MCHID, 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); @@ -102,10 +119,9 @@ LogUtil.error("创建微信支付订单失败msg={}",result.getReturn_msg()); throw new GlobleException("创建微信支付订单失败,请检查程序配置"); } - } - - + + /**@Description 支付后,向微信发送请求、查询订单,看订单是否真的支付成功了 @date 2017年6月27日 @atuhor jiangyouyao @@ -142,20 +158,31 @@ * @param openid * @return */ - public JsApiPayComResData comPay(String desc, String outTradeNo,int totalFee, String openid){ + public JsApiPayComResData comPay(String desc, String outTradeNo,int totalFee, String openid,Long companyId){ JsApiPayComResData result=null; - //boolean flag=false; try { JsApiPayBusiness jsApiPayBusiness = new JsApiPayBusiness(); // TODO 企业付款 - Long companyId=HostInterceptor.getCompanyId(); - BusParameterSettings mchID = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_APPID, companyId); + + BusParameterSettings mchID = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_MCHID, companyId); + BusParameterSettings appId = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.MINIPROGRAM_APPID, companyId); BusParameterSettings paySecret = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_SECRET, companyId); + BusParameterSettings certLocalPath = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_CERTLOCAL_PATH, companyId); - JsApiPayComReqData jsApiPayComReqData=new JsApiPayComReqData(mchID.getParamValue(),paySecret.getParamValue(),"","",0,"","",""); + JsApiPayComReqData jsApiPayComReqData=new JsApiPayComReqData(mchID.getParamValue(), + appId.getParamValue(), + paySecret.getParamValue(), + desc,outTradeNo,totalFee,openid,"NO_CHECK",""); JsApiPayComService jsApiPayComService=new JsApiPayComService(); + + HttpsRequest2 request2= (HttpsRequest2) jsApiPayComService.getServiceRequest(); + request2.setCertLocalPath(certLocalPath.getParamValue()); + request2.setMchId(mchID.getParamValue()); + + result = jsApiPayBusiness.payComOrder(jsApiPayComService, jsApiPayComReqData); + LogUtil.info("#提现,企业付款到个人---result:{}",result); if (result.getResult_code().equals("SUCCESS")) { return result; @@ -183,7 +210,7 @@ int refundFee, String opUserID){ LogUtil.info("#---outTradeNo:{}#---outRefundNo:{}#---totalFee:{}#---refundFee:{}", outTradeNo,outRefundNo,totalFee,refundFee); - BusParameterSettings mchID = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_APPID, HostInterceptor.getCompanyId()); + BusParameterSettings mchID = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_MCHID, HostInterceptor.getCompanyId()); if(opUserID==null){ opUserID=mchID.getParamValue(); } @@ -193,7 +220,7 @@ JsApiPayBusiness jsApiPayBusiness = new JsApiPayBusiness(); Long companyId=HostInterceptor.getCompanyId(); BusParameterSettings paySecret = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_SECRET, companyId); - BusParameterSettings appId = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.WECHARPAY_APPID, companyId); + BusParameterSettings appId = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.MINIPROGRAM_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); -- Gitblit v1.9.1