Ver código fonte

Merge branch 'dev' into 'mp-server-test'

优惠券返回指定票的票组ID

See merge request quanshu/mp-server!814
zhong chunping 2 anos atrás
pai
commit
3a3cc86a8e

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

@@ -99,7 +99,7 @@ public class UserTicketController extends BaseApiController {
   private IChannelService channelService;
 
   /**
-   * 盲票进货列表
+   * 盲票列表
    */
   @PostMapping("/mall/ticket/list")
   @ApiOperation(value = "盲票组列表", notes = "获取所有盲票信息")
@@ -110,6 +110,7 @@ public class UserTicketController extends BaseApiController {
         new LambdaQueryWrapper<TicketBox>().eq(TicketBox::getType, param.getType())
             .eq(null != param.getCategoryId() && 0 != param.getCategoryId(),
                 TicketBox::getCategoryId, param.getCategoryId())
+            .in(CollectionUtils.isNotEmpty(param.getBoxIds()), TicketBox::getBoxId, param.getBoxIds())
             .eq(TicketBox::getStatus, TicketBoxStatusEnum.PUT_ON)
             .orderByDesc(TicketBox::getSortWeight)
     );

+ 4 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/TicketBoxParam.java

@@ -4,6 +4,7 @@ import com.qs.mp.common.enums.TicketTypeEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import java.math.BigDecimal;
+import java.util.List;
 import javax.validation.constraints.NotNull;
 import lombok.Data;
 
@@ -14,6 +15,9 @@ public class TicketBoxParam {
 	@ApiModelProperty(value = "盲票组ID",required=false)
 	private String boxId;
 
+	@ApiModelProperty(value = "盲票组ID列表",required=false)
+	private List<String> boxIds;
+
 	@ApiModelProperty(value = "分类ID",required=false)
 	private Long categoryId;
 

+ 4 - 0
mp-service/src/main/java/com/qs/mp/user/domain/vo/UserCouponVO.java

@@ -18,6 +18,7 @@ import java.util.Date;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import java.util.List;
 import lombok.Data;
 
 /**
@@ -79,6 +80,9 @@ public class UserCouponVO extends UserCoupon {
   @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
   private CouponUseAreaEnum useArea;
 
+  @ApiModelProperty("指定票组列表,type为1,useArea为1时才有值")
+  private List<String> boxIds;
+
   /**
    * 叠加使用;0不允许 1允许
    */

+ 13 - 0
mp-service/src/main/java/com/qs/mp/user/service/impl/UserCouponServiceImpl.java

@@ -18,6 +18,7 @@ import com.qs.mp.user.mapper.UserCouponMapper;
 import com.qs.mp.user.service.IUserCouponService;
 import java.util.Iterator;
 import java.util.List;
+import java.util.stream.Collectors;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -60,6 +61,18 @@ public class UserCouponServiceImpl extends ServiceImpl<UserCouponMapper, UserCou
       queryWrapper.eq("t1.status", UserCouponStatusEnum.USED);
     }
     List<UserCouponVO> userCouponVOList = getBaseMapper().listUserCouponVO(queryWrapper);
+    for (UserCouponVO couponVO : userCouponVOList) {
+      // 指定盲票购买的优惠券
+      if (couponVO.getType() == CouponTypeEnum.TICKET_ORDER && couponVO.getUseArea() == CouponUseAreaEnum.POST_SCOPE) {
+        List<CouponTicket> couponTicketList = couponTicketService.list(new LambdaQueryWrapper<CouponTicket>()
+            .eq(CouponTicket::getCouponId, couponVO.getCouponId()));
+        List<String> boxIds = couponTicketList.stream().map(couponTicket -> {
+          return couponTicket.getBoxId();
+        }).collect(Collectors.toList());
+        couponVO.setBoxIds(boxIds);
+      }
+    }
+
     return userCouponVOList;
   }