Browse Source

盲票购买订单优惠券属性

chunping 3 years ago
parent
commit
891f329312

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

@@ -26,6 +26,7 @@ import com.qs.mp.system.service.ISysUserService;
 import com.qs.mp.user.domain.UserTicketOrder;
 import com.qs.mp.user.domain.param.TicketOrderParam;
 import com.qs.mp.user.domain.vo.TicketOrderSettleVO;
+import com.qs.mp.user.domain.vo.UserCoupon4OrderVO;
 import com.qs.mp.user.domain.vo.UserCouponVO;
 import com.qs.mp.user.domain.vo.UserShareVO;
 import com.qs.mp.user.service.IUserCouponService;
@@ -115,12 +116,18 @@ public class UserTicketOrderController extends BaseApiController {
     if (param.getAutoCoupon() == 1) {
       List<UserCouponVO> userCouponVOList = userCouponService.queryUserCouponList(userId, orderAmt, ticketBox);
       if (!CollectionUtils.isEmpty(userCouponVOList)) {
-        orderSettleVO.getCouponList().add(userCouponVOList.get(0));
+        // 只考虑使用单张券
+        orderSettleVO.getCouponList().add(mapperFacade.map(userCouponVOList.get(0), UserCoupon4OrderVO.class));
         discountAmt = userCouponVOList.get(0).getDiscount();
       }
     } else if (!CollectionUtils.isEmpty(param.getUserCouponIds())){
       // 查询指定券
-      orderSettleVO.setCouponList(userCouponService.listTicketOrderCouponByIds(param.getUserCouponIds()));
+      List<UserCouponVO> userCouponVOList = userCouponService.listTicketOrderCouponByIds(param.getUserCouponIds());
+      if (!CollectionUtils.isEmpty(userCouponVOList)) {
+        // 只考虑使用单张券
+        orderSettleVO.getCouponList().add(mapperFacade.map(userCouponVOList.get(0), UserCoupon4OrderVO.class));
+        discountAmt = userCouponVOList.get(0).getDiscount();
+      }
     }
 
     orderSettleVO.setOrderAmt(orderAmt);

+ 1 - 1
mp-service/src/main/java/com/qs/mp/user/domain/vo/TicketOrderSettleVO.java

@@ -54,6 +54,6 @@ public class TicketOrderSettleVO {
   /**
    * 使用优惠券列表
    */
-  List<UserCouponVO> couponList = new ArrayList<>();
+  List<UserCoupon4OrderVO> couponList = new ArrayList<>();
 
 }

+ 33 - 0
mp-service/src/main/java/com/qs/mp/user/domain/vo/UserCoupon4OrderVO.java

@@ -0,0 +1,33 @@
+package com.qs.mp.user.domain.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.qs.mp.common.enums.CouponDiscountTypeEnum;
+import com.qs.mp.common.enums.CouponTypeEnum;
+import com.qs.mp.common.enums.CouponUseAreaEnum;
+import com.qs.mp.user.domain.UserCoupon;
+import lombok.Data;
+
+/**
+ * @describe 盲票购买时的优惠券
+ * @auther zhongcp
+ * @create 2022-03-07 20:45:43
+ */
+@Data
+public class UserCoupon4OrderVO {
+  private String id;
+
+  private String title;
+
+  /**
+   * 图片
+   */
+  private String picUrl;
+
+  /**
+   * 优惠金额(比例)
+   */
+  private Integer discount;
+
+
+}

+ 5 - 4
mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderServiceImpl.java

@@ -41,6 +41,7 @@ import com.qs.mp.user.domain.UserDeliverOrder;
 import com.qs.mp.user.domain.UserTicketOrder;
 import com.qs.mp.user.domain.UserTicketOrderItem;
 import com.qs.mp.user.domain.vo.TicketOrderSettleVO;
+import com.qs.mp.user.domain.vo.UserCoupon4OrderVO;
 import com.qs.mp.user.domain.vo.UserCouponVO;
 import com.qs.mp.user.domain.vo.UserShareVO;
 import com.qs.mp.user.mapper.UserTicketOrderMapper;
@@ -249,9 +250,9 @@ public class UserTicketOrderServiceImpl extends
     return ticketOrder.getOrderId();
   }
 
-  private String verifyUserCoupon(List<UserCouponVO> userCouponVOList) {
+  private String verifyUserCoupon(List<UserCoupon4OrderVO> userCouponVOList) {
     StringBuilder sb = new StringBuilder();
-    for (UserCouponVO userCouponVO : userCouponVOList) {
+    for (UserCoupon4OrderVO userCouponVO : userCouponVOList) {
       UserCoupon userCoupon = userCouponService.getById(userCouponVO.getId());
       userCoupon.setVerifyTime(new Date());
       userCoupon.setStatus(UserCouponStatusEnum.USED);
@@ -476,7 +477,7 @@ public class UserTicketOrderServiceImpl extends
 	public List<IndexVO> selectIndexPayAmtList(Wrapper<UserTicketOrder> wrapper) {
 		return getBaseMapper().selectIndexPayAmtList(wrapper);
 	}
-	
+
 	@Override
 	public List<IndexVO> selectIndexPayUserCntList(Wrapper<UserTicketOrder> wrapper) {
 		return getBaseMapper().selectIndexPayUserCntList(wrapper);
@@ -501,7 +502,7 @@ public class UserTicketOrderServiceImpl extends
 	public int getChannelTotalTicketNumCnt(String channelNo) {
 		return getBaseMapper().getChannelTotalTicketNumCnt(channelNo);
 	}
-	
+
 	@Override
 	public int getSaleSiteTotalTicketNumCnt(Long channelId) {
 		return getBaseMapper().getSaleSiteTotalTicketNumCnt(channelId);