瀏覽代碼

价格取值

gongfuzhu 1 年之前
父節點
當前提交
ca94cb2f9f

+ 1 - 1
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/dfy/Ticket/response/DetailResponse.java

@@ -116,7 +116,7 @@ public class DetailResponse extends DfyResponseBase {
 
 
         // 单位元,分销价(下单用这个价格)
-        private String salePrice;
+        private BigDecimal salePrice;
 
         // 团期
         private String departDate;

+ 7 - 1
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/service/impl/DfyTicketServiceImpl.java

@@ -27,6 +27,7 @@ import org.springframework.stereotype.Service;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 @Log4j2
@@ -72,7 +73,12 @@ public class DfyTicketServiceImpl implements DfyTicketService {
         createOrderNewRequest.setSourceOrderId(orderNo);
 
         DetailResponse detailResponse = ticketApi.detail(new DetailRequest(createOrderNewRequest.getProductId()));
-        BigDecimal salePrice = detailResponse.getData().getSalePrice();
+        List<DetailResponse.PriceCalendar> priceCalendar = detailResponse.getData().getPriceCalendar();
+        List<DetailResponse.PriceCalendar> collect = priceCalendar.stream().filter(it -> it.getDepartDate().equals(createOrderNewRequest.getStartTime())).collect(Collectors.toList());
+        if (collect.isEmpty()) {
+            return ResultContent.build(ResultState.Fail,"未找到对应的价格日历!");
+        }
+        BigDecimal salePrice = collect.get(0).getSalePrice();
         BigDecimal payAmount = salePrice.subtract(BigDecimal.valueOf(createOrderNewRequest.getBookNumber()));
 
         ShopDetailVo shopDetailVo = shopService.detail(createOrderNewRequest.getEpId()).getContent();