|
|
@@ -1,11 +1,17 @@
|
|
|
package com.izouma.nineth.web;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
|
|
|
import com.github.binarywang.wxpay.constant.WxPayConstants;
|
|
|
import com.github.binarywang.wxpay.exception.WxPayException;
|
|
|
import com.izouma.nineth.service.AssetService;
|
|
|
import com.izouma.nineth.service.OrderService;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import me.chanjar.weixin.common.error.WxErrorException;
|
|
|
+import me.chanjar.weixin.mp.api.WxMpService;
|
|
|
+import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
|
|
|
+import me.chanjar.weixin.mp.bean.result.WxMpUser;
|
|
|
import org.apache.commons.codec.EncoderException;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.ui.Model;
|
|
|
@@ -20,6 +26,7 @@ import java.util.regex.Pattern;
|
|
|
public class OrderPayController {
|
|
|
private final OrderService orderService;
|
|
|
private final AssetService assetService;
|
|
|
+ private final WxMpService wxMpService;
|
|
|
|
|
|
@RequestMapping(value = "/alipay", method = RequestMethod.GET)
|
|
|
public String payOrderAlipay(Long id, Model model, @RequestHeader(value = "User-Agent") String userAgent) {
|
|
|
@@ -41,6 +48,15 @@ public class OrderPayController {
|
|
|
return orderService.payOrderWeixin(id, WxPayConstants.TradeType.JSAPI, openId);
|
|
|
}
|
|
|
|
|
|
+ @RequestMapping(value = "/weixin_pc")
|
|
|
+ public String payOrderWeixinPC(@RequestParam Long id, @RequestParam String code, Model model) throws WxPayException, EncoderException, WxErrorException {
|
|
|
+ WxMpOAuth2AccessToken accessToken = wxMpService.oauth2getAccessToken(code);
|
|
|
+ WxMpUser user = wxMpService.oauth2getUserInfo(accessToken, null);
|
|
|
+ WxPayMpOrderResult payParams = (WxPayMpOrderResult) orderService.payOrderWeixin(id, WxPayConstants.TradeType.JSAPI, user.getOpenId());
|
|
|
+ model.addAttribute("payParams", JSON.toJSONString(payParams));
|
|
|
+ return "PayOrderPC";
|
|
|
+ }
|
|
|
+
|
|
|
@RequestMapping(value = "/gift/alipay", method = RequestMethod.GET)
|
|
|
public String payGiftOrderAlipay(Long id, Model model, @RequestHeader(value = "User-Agent") String userAgent) {
|
|
|
detectUA(userAgent, model);
|