xiongzhu 4 лет назад
Родитель
Сommit
aa8397134b

+ 1 - 1
src/main/java/com/izouma/nineth/service/AssetService.java

@@ -396,7 +396,6 @@ public class AssetService {
         }
     }
 
-
     public Object payOrderWeixin(Long id, String tradeType, String openId) throws WxPayException, EncoderException {
         GiftOrder order = giftOrderRepo.findById(id).orElseThrow(new BusinessException("订单不存在"));
         if (order.getStatus() != OrderStatus.NOT_PAID) {
@@ -437,6 +436,7 @@ public class AssetService {
         Asset asset = assetRepo.findById(giftOrder.getAssetId()).orElseThrow(new BusinessException("资产不存在"));
         User newOwner = userRepo.findById(giftOrder.getToUserId()).orElseThrow(new BusinessException("用户不存在"));
 
+        giftOrder.setPayMethod(payMethod);
         giftOrder.setStatus(OrderStatus.FINISH);
         giftOrder.setTransactionId(transactionId);
         giftOrder.setPayTime(LocalDateTime.now());

+ 0 - 1
src/main/java/com/izouma/nineth/service/OrderService.java

@@ -215,7 +215,6 @@ public class OrderService {
             if (order.getType() == CollectionType.BLIND_BOX) {
                 List<BlindBoxItem> items = blindBoxItemRepo.findByBlindBoxId(order.getCollectionId());
 
-
                 Map<BlindBoxItem, Range<Integer>> randomRange = new HashMap<>();
                 int c = 0, sum = 0;
                 for (BlindBoxItem item : items) {

+ 16 - 2
src/main/java/com/izouma/nineth/web/OrderNotifyController.java

@@ -10,6 +10,7 @@ import com.github.binarywang.wxpay.exception.WxPayException;
 import com.github.binarywang.wxpay.service.WxPayService;
 import com.izouma.nineth.config.AlipayProperties;
 import com.izouma.nineth.enums.PayMethod;
+import com.izouma.nineth.service.AssetService;
 import com.izouma.nineth.service.OrderService;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -36,6 +37,7 @@ public class OrderNotifyController {
     private final AlipayProperties alipayProperties;
     private final OrderService     orderService;
     private final WxPayService     wxPayService;
+    private final AssetService     assetService;
 
     @PostMapping("/order/alipay")
     @ResponseBody
@@ -65,10 +67,16 @@ public class OrderNotifyController {
             JSONObject body = JSON.parseObject(params.get("body"));
             String action = body.getString("action");
             switch (action) {
-                case "payOrder":
+                case "payOrder": {
                     Long orderId = body.getLong("orderId");
                     orderService.notifyAlipay(orderId, PayMethod.ALIPAY, MapUtils.getString(params, "trade_no"));
                     break;
+                }
+                case "payGiftOrder": {
+                    Long orderId = body.getLong("orderId");
+                    assetService.giftNotify(orderId, PayMethod.ALIPAY, MapUtils.getString(params, "trade_no"));
+                    break;
+                }
             }
             return "success";
         }
@@ -84,10 +92,16 @@ public class OrderNotifyController {
         JSONObject attach = JSONObject.parseObject(notifyResult.getAttach());
         String action = attach.getString("action");
         switch (action) {
-            case "payOrder":
+            case "payOrder": {
                 Long orderId = attach.getLong("orderId");
                 orderService.notifyAlipay(orderId, PayMethod.WEIXIN, notifyResult.getTransactionId());
                 break;
+            }
+            case "payGiftOrder": {
+                Long orderId = attach.getLong("orderId");
+                assetService.giftNotify(orderId, PayMethod.WEIXIN, notifyResult.getTransactionId());
+                break;
+            }
         }
         return WxPayNotifyResponse.success("OK");
     }

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

@@ -44,7 +44,7 @@ public class OrderPayController {
     @RequestMapping(value = "/gift/alipay", method = RequestMethod.GET)
     public String payGiftOrderAlipay(Long id, Model model, @RequestHeader(value = "User-Agent") String userAgent) {
         detectUA(userAgent, model);
-        orderService.payOrderAlipay(id, model);
+        assetService.payOrderAlipay(id, model);
         return "AlipayHtml";
     }