wangqifan 3 лет назад
Родитель
Сommit
026dddc4d8
1 измененных файлов с 7 добавлено и 0 удалено
  1. 7 0
      src/main/java/com/izouma/nineth/service/SandPayService.java

+ 7 - 0
src/main/java/com/izouma/nineth/service/SandPayService.java

@@ -10,6 +10,7 @@ import com.izouma.nineth.domain.Order;
 import com.izouma.nineth.enums.CollectionSource;
 import com.izouma.nineth.enums.MintOrderStatus;
 import com.izouma.nineth.enums.OrderStatus;
+import com.izouma.nineth.enums.PayMethod;
 import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.repo.GiftOrderRepo;
 import com.izouma.nineth.repo.MintOrderRepo;
@@ -19,6 +20,7 @@ import com.izouma.nineth.utils.SnowflakeIdWorker;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.collections.MapUtils;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
@@ -44,6 +46,7 @@ public class SandPayService {
     private final MintOrderRepo     mintOrderRepo;
     private final SnowflakeIdWorker snowflakeIdWorker;
     private final GeneralProperties generalProperties;
+    private final GiftOrderService  giftOrderService;
 
     public String paddingOrderId(String orderId) {
         if (orderId != null && orderId.length() < 12) {
@@ -381,6 +384,10 @@ public class SandPayService {
         if (order.getStatus() != OrderStatus.NOT_PAID) {
             throw new BusinessException("订单状态错误");
         }
+        if (order.getGasPrice().compareTo(BigDecimal.ZERO) == 0) {
+            giftOrderService.giftNotify(orderId, PayMethod.ALIPAY, order.getId().toString());
+            return "nopay";
+        }
         JSONObject extend = new JSONObject();
         extend.put("type", "gift");
         extend.put("id", orderId);