فهرست منبع

预购票判断

cup 2 سال پیش
والد
کامیت
77507d486e

+ 5 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketController.java

@@ -232,6 +232,11 @@ public class UserTicketController extends BaseApiController {
     ticketVO.setStatus(ticket.getStatus().getValue());
     ticketVO.setPicUrl(ticketBox.getPicUrl());
 
+    if (ticketPackage.getIsPre() == 1) {
+      // 预付票设置售价为0
+      ticketVO.setSalePrice(0);
+    }
+
     return AjaxResult.success(ticketVO);
   }
 

+ 18 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketOrderController.java

@@ -1,9 +1,12 @@
 package com.qs.mp.web.controller.api.user;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.qs.mp.admin.domain.Ticket;
 import com.qs.mp.admin.domain.TicketBox;
+import com.qs.mp.admin.domain.TicketPackage;
 import com.qs.mp.admin.service.ITicketBoxService;
+import com.qs.mp.admin.service.ITicketPackageService;
 import com.qs.mp.admin.service.ITicketService;
 import com.qs.mp.channel.domain.ChannelOrder;
 import com.qs.mp.channel.domain.param.OrderPayParam;
@@ -34,6 +37,7 @@ import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import java.util.List;
+import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 import javax.validation.Valid;
 
@@ -84,6 +88,9 @@ public class UserTicketOrderController extends BaseApiController {
   @Autowired
   private PulsarClientService pulsarClientService;
 
+  @Autowired
+  private ITicketPackageService ticketPackageService;
+
 
   /**
    * 订单结算,每次更换优惠券时需重新请求此接口
@@ -140,6 +147,17 @@ public class UserTicketOrderController extends BaseApiController {
     orderSettleVO.setTicketId(param.getTicketId());
     orderSettleVO.setPicUrl(ticketBox.getPicUrl());
     orderSettleVO.setTitle(ticketBox.getTitle());
+
+    // 预付票设置金额为0
+    if (StringUtils.isNotBlank(param.getTicketId())) {
+      Ticket ticket = ticketService.getById(param.getTicketId());
+      TicketPackage ticketPackage =  ticketPackageService.getById(ticket.getPkgId());
+      if (ticketPackage.getIsPre() == 1) {
+        orderSettleVO.setPayAmt(0);
+        orderSettleVO.setOrderNum(0);
+      }
+    }
+
     // 缓存订单结算对象
     redisCache.setCacheObject(RedisKey.build(RedisKey.USER_TICKET_ORDER_KEY, userId), orderSettleVO, 10, TimeUnit.MINUTES);
     return AjaxResult.success(orderSettleVO);