From f599f44d22f5134991cfd340178f2b3ceb392d73 Mon Sep 17 00:00:00 2001 From: egan Date: Thu, 22 Feb 2018 17:25:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E7=A0=81=E4=BB=98=E7=AE=80=E5=8D=95?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/demo/controller/PayController.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/PayController.java b/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/PayController.java index e330472..35250d9 100644 --- a/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/PayController.java +++ b/pay-java-demo/src/main/java/com/egzosn/pay/demo/controller/PayController.java @@ -2,11 +2,14 @@ package com.egzosn.pay.demo.controller; +import com.alibaba.fastjson.JSONObject; +import com.egzosn.pay.ali.api.AliPayService; import com.egzosn.pay.ali.bean.AliTransactionType; import com.egzosn.pay.common.api.Callback; import com.egzosn.pay.common.api.PayConfigStorage; import com.egzosn.pay.common.api.PayService; import com.egzosn.pay.common.bean.*; +import com.egzosn.pay.common.http.UriVariables; import com.egzosn.pay.common.util.MatrixToImageWriter; import com.egzosn.pay.common.util.str.StringUtils; import com.egzosn.pay.demo.entity.ApyAccount; @@ -31,6 +34,7 @@ import javax.servlet.http.HttpServletRequest; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.math.BigDecimal; +import java.net.URLEncoder; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; @@ -241,7 +245,7 @@ public class PayController { * @return 支付宝与微信平台的判断 */ @RequestMapping(value = "toWxAliPay.html", produces = "text/html;charset=UTF-8") - public ModelAndView toWxAliPay(Integer wxPayId,Integer aliPayId, BigDecimal price, HttpServletRequest request) throws IOException { + public String toWxAliPay(Integer wxPayId,Integer aliPayId, BigDecimal price, HttpServletRequest request) throws IOException { StringBuilder html = new StringBuilder(); //订单 @@ -250,15 +254,17 @@ public class PayController { if(ua.contains("MicroMessenger")){ payOrder.setTransactionType(WxTransactionType.NATIVE); PayService service = this.service.getPayResponse(wxPayId).getService(); - return new ModelAndView(new RedirectView((String) service.orderInfo(payOrder).get("code_url"))); + return String.format("",(String) service.orderInfo(payOrder).get("code_url")); } if(ua.contains("AlipayClient")){ payOrder.setTransactionType(AliTransactionType.SWEEPPAY); - PayService service = this.service.getPayResponse(aliPayId).getService(); - return new ModelAndView(new RedirectView((String) service.orderInfo(payOrder).get("qr_code"))); + AliPayService service = (AliPayService)this.service.getPayResponse(aliPayId).getService(); + JSONObject result = service.getHttpRequestTemplate().postForObject(service.getReqUrl() + "?" + UriVariables.getMapToParameters(service.orderInfo(payOrder)), null, JSONObject.class); + result = result.getJSONObject("alipay_trade_precreate_response"); + return String.format("", result.getString("qr_code")); } - return new ModelAndView(""); + return String.format("", ua); }