فهرست منبع

支付返回

(cherry picked from commit ef894a4431df332c8ee289c94fb1aabe740cbc25)
xiongzhu 4 سال پیش
والد
کامیت
5fad5f98b0
1فایلهای تغییر یافته به همراه9 افزوده شده و 0 حذف شده
  1. 9 0
      src/main/java/com/izouma/nineth/web/OrderPayController.java

+ 9 - 0
src/main/java/com/izouma/nineth/web/OrderPayController.java

@@ -5,6 +5,10 @@ import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
 import com.github.binarywang.wxpay.constant.WxPayConstants;
 import com.github.binarywang.wxpay.exception.WxPayException;
 import com.huifu.adapay.core.exception.BaseAdaPayException;
+import com.izouma.nineth.domain.Order;
+import com.izouma.nineth.enums.OrderStatus;
+import com.izouma.nineth.exception.BusinessException;
+import com.izouma.nineth.repo.OrderRepo;
 import com.izouma.nineth.service.AssetService;
 import com.izouma.nineth.service.GiftOrderService;
 import com.izouma.nineth.service.OrderService;
@@ -30,6 +34,7 @@ public class OrderPayController {
     private final AssetService     assetService;
     private final WxMpService      wxMpService;
     private final GiftOrderService giftOrderService;
+    private final OrderRepo        orderRepo;
 
     @RequestMapping(value = "/alipay_h5", method = RequestMethod.GET)
     @ResponseBody
@@ -39,6 +44,10 @@ public class OrderPayController {
 
     @RequestMapping(value = "/alipay_wx", method = RequestMethod.GET)
     public String payOrderAlipayWx(Long id, Model model) throws BaseAdaPayException {
+        Order order = orderRepo.findById(id).orElseThrow(new BusinessException("订单不存在"));
+        if (order.getStatus() != OrderStatus.NOT_PAID) {
+            return "redirect:/9th/store";
+        }
         String payUrl = (String) orderService.payAdapay(id, "alipay_wap", null);
         model.addAttribute("payUrl", payUrl);
         model.addAttribute("orderId", id);