From 4d71eb3e557791ff4e2261b0a0b94694cd9c045e Mon Sep 17 00:00:00 2001 From: xuwenbo <717567226@qq.com> Date: Wed, 5 May 2021 12:15:06 +0800 Subject: [PATCH] =?UTF-8?q?--=E6=B7=BB=E5=8A=A0=E6=89=AB=E7=A0=81=E6=94=AF?= =?UTF-8?q?=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yixiang/modules/services/OrderSupplyService.java | 12 +++++++++++- .../src/main/java/co/yixiang/enums/AppFromEnum.java | 1 + .../yixiang/modules/mp/service/WeixinPayService.java | 4 +++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/yshop-app/src/main/java/co/yixiang/modules/services/OrderSupplyService.java b/yshop-app/src/main/java/co/yixiang/modules/services/OrderSupplyService.java index 231f6412..e8370454 100644 --- a/yshop-app/src/main/java/co/yixiang/modules/services/OrderSupplyService.java +++ b/yshop-app/src/main/java/co/yixiang/modules/services/OrderSupplyService.java @@ -36,6 +36,7 @@ import com.alibaba.fastjson.JSONObject; import com.github.binarywang.wxpay.bean.order.WxPayAppOrderResult; import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult; import com.github.binarywang.wxpay.bean.order.WxPayMwebOrderResult; +import com.github.binarywang.wxpay.bean.order.WxPayNativeOrderResult; import com.google.common.collect.Maps; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -217,7 +218,16 @@ public class OrderSupplyService { map.put("result",orderDTO); map.put("payMsg","订单创建成功"); return map; - }else{//公众号 + }else if(AppFromEnum.PC.getValue().equals(from)){ //扫码支付 + map.put("status","WECHAT_PC_PAY"); + WxPayNativeOrderResult wxPayNativeOrderResult = (WxPayNativeOrderResult)weixinPayService + .unifyPay(orderId,from, BillDetailEnum.TYPE_3.getValue(),"APP商品购买"); + jsConfig.put("codeUrl",wxPayNativeOrderResult.getCodeUrl()); + orderDTO.setJsConfig(jsConfig); + map.put("result",orderDTO); + map.put("payMsg","订单创建成功"); + } + else{//公众号 map.put("status","WECHAT_PAY"); WxPayMpOrderResult wxPayMpOrderResult = (WxPayMpOrderResult)weixinPayService .unifyPay(orderId,from, BillDetailEnum.TYPE_3.getValue(),"公众号商品购买"); diff --git a/yshop-common/src/main/java/co/yixiang/enums/AppFromEnum.java b/yshop-common/src/main/java/co/yixiang/enums/AppFromEnum.java index bbb5e8bc..aa176d71 100644 --- a/yshop-common/src/main/java/co/yixiang/enums/AppFromEnum.java +++ b/yshop-common/src/main/java/co/yixiang/enums/AppFromEnum.java @@ -20,6 +20,7 @@ public enum AppFromEnum { H5("h5","H5"), WECHAT("wechat","公众号"), APP("app","APP"), + PC("pc","PC"), ROUNTINE("routine","小程序"), UNIAPPH5("uniappH5","uniappH5"); diff --git a/yshop-weixin/src/main/java/co/yixiang/modules/mp/service/WeixinPayService.java b/yshop-weixin/src/main/java/co/yixiang/modules/mp/service/WeixinPayService.java index 83560090..5490d755 100644 --- a/yshop-weixin/src/main/java/co/yixiang/modules/mp/service/WeixinPayService.java +++ b/yshop-weixin/src/main/java/co/yixiang/modules/mp/service/WeixinPayService.java @@ -116,7 +116,7 @@ public class WeixinPayService { WxPayService wxPayService = null; if(AppFromEnum.ROUNTINE.getValue().equals(from)){ wxPayService = WxPayConfiguration.getPayService(PayMethodEnum.WXAPP); - }else if(AppFromEnum.APP.getValue().equals(from)){ + }else if(AppFromEnum.APP.getValue().equals(from) || AppFromEnum.PC.getValue().equals(from)){ wxPayService = WxPayConfiguration.getPayService(PayMethodEnum.APP); }else{ wxPayService = WxPayConfiguration.getPayService(PayMethodEnum.WECHAT); @@ -133,6 +133,8 @@ public class WeixinPayService { orderRequest.setTradeType("MWEB"); }else if(AppFromEnum.APP.getValue().equals(from)){ orderRequest.setTradeType("APP"); + }else if(AppFromEnum.PC.getValue().equals(from)){ + orderRequest.setTradeType("NATIVE"); } else{ orderRequest.setTradeType("JSAPI"); if(AppFromEnum.ROUNTINE.getValue().equals(from)){