Przeglądaj źródła

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

Dev

See merge request quanshu/mp-server!901
jiang hao 2 lat temu
rodzic
commit
6ae102a999

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

@@ -4,8 +4,10 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.qs.mp.admin.domain.CouponChannel;
 import com.qs.mp.admin.domain.Ticket;
 import com.qs.mp.admin.domain.vo.TicketListVO;
+import com.qs.mp.admin.service.ICouponChannelService;
 import com.qs.mp.admin.service.IGoodsService;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
@@ -76,6 +78,9 @@ public class UserMineController extends BaseApiController {
     @Autowired
     private IGoodsService goodsService;
 
+    @Autowired
+    private ICouponChannelService couponChannelService;
+
     /**
      * 我的票包
      */
@@ -134,7 +139,11 @@ public class UserMineController extends BaseApiController {
             .eq("t1.id", param.getId())
             .eq("t1.user_id", userId));
         if (!CollectionUtils.isEmpty(userCouponVOList)) {
-            return AjaxResult.success(userCouponVOList.get(0));
+            UserCouponVO userCouponVO = userCouponVOList.get(0);
+            int channelTotal = couponChannelService.count(new LambdaQueryWrapper<CouponChannel>()
+                .eq(CouponChannel::getCouponId, userCouponVO.getCouponId()));
+            userCouponVO.setChannelTotal(channelTotal);
+            return AjaxResult.success(userCouponVO);
         }
         return AjaxResult.error("优惠券不存在");
     }

+ 21 - 2
mp-common/src/main/java/com/qs/mp/common/enums/CouponUseAreaEnum.java

@@ -13,11 +13,30 @@ import com.qs.mp.common.json.EnumValueDeserializer;
 @JSONType(deserializer = EnumValueDeserializer.class)
 public enum CouponUseAreaEnum implements IEnum<Integer> {
 
+  /**
+   * 通用
+   */
   COMMON(0, "通用"),
-  ONLINE_SOME(1, "指定线上盲票"), // 盲票购买类优惠券,指定线上盲票
-  POST_SCOPE(2, "指定范围"), // 门店消费类优惠券,发放的时候动态设定使用范围
+
+  /**
+   * 指定范围,盲票购买和门店消费的时候指定范围
+   */
+  PRE_SCOPE(1, "指定范围"),
+  /**
+   * 门店消费类优惠券,发放的时候动态设定使用范围
+   */
+  POST_SCOPE(2, "门店消费"), // 门店消费类优惠券,发放的时候动态设定使用范围
+  /**
+   * 所有线上盲票
+   */
   ONLINE_SCOPE(3, "所有线上盲票"), // 盲票购买类优惠券,仅限线上盲票
+  /**
+   * 所有线下盲票
+   */
   OFFLINE_SCOPE(4, "所有线下盲票"), // 盲票购买类优惠券,仅限线下盲票
+  /**
+   * 指定线下盲票
+   */
   OFFLINE_SOME(5, "指定线下盲票"); // 盲票购买类优惠券,指定线下盲票
 
 

+ 70 - 65
mp-service/src/main/java/com/qs/mp/user/domain/vo/UserCouponVO.java

@@ -29,71 +29,76 @@ import lombok.Data;
 @Data
 @ApiModel("用户的优惠券出参类")
 public class UserCouponVO extends UserCoupon {
-  /**
-   * 标题
-   */
-  @ApiModelProperty("标题")
-  private String title;
-
-  /**
-   * 类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券
-   */
-  @ApiModelProperty("类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券")
-  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
-  private CouponTypeEnum type;
-
-  /**
-   * 图片
-   */
-  @ApiModelProperty("图片")
-  private String picUrl;
-
-  /**
-   * 使用说明
-   */
-  @ApiModelProperty("使用说明")
-  private String description;
-
-  /**
-   * 优惠类型;1代金券、2折扣券、3兑换券
-   */
-  @ApiModelProperty("优惠类型;1代金券、2折扣券、3兑换券")
-  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
-  private CouponDiscountTypeEnum discountType;
-
-  /**
-   * 优惠金额(比例)
-   */
-  @ApiModelProperty("优惠金额(比例)")
-  private Integer discount;
-
-  /**
-   * 最低消费金额
-   */
-  @ApiModelProperty("最低消费金额")
-  private Integer minOrderAmt;
-
-  /**
-   * 使用范围;0通用 1生成券时指定范围 2发放时动态指定范围
-   */
-  @ApiModelProperty("使用范围;0通用 1生成券时指定范围 2发放时动态指定范围")
-  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
-  private CouponUseAreaEnum useArea;
-
-  @ApiModelProperty("指定票组列表,type为1,useArea为1时才有值")
-  private List<String> boxIds;
-
-  /**
-   * 叠加使用;0不允许 1允许
-   */
-  @ApiModelProperty("叠加使用;0不允许 1允许")
-  private Integer compositeUse;
-
-  /**
-   * 是否选中
-   */
-  @ApiModelProperty("是否选中")
-  private boolean checked = false;
+
+    /**
+     * 标题
+     */
+    @ApiModelProperty("标题")
+    private String title;
+
+    /**
+     * 类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券
+     */
+    @ApiModelProperty("类型;1用户盲票购买优惠券、2用户门店消费优惠券、3经销商盲票采购优惠券")
+    @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+    private CouponTypeEnum type;
+
+    /**
+     * 图片
+     */
+    @ApiModelProperty("图片")
+    private String picUrl;
+
+    /**
+     * 使用说明
+     */
+    @ApiModelProperty("使用说明")
+    private String description;
+
+    /**
+     * 优惠类型;1代金券、2折扣券、3兑换券
+     */
+    @ApiModelProperty("优惠类型;1代金券、2折扣券、3兑换券")
+    @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+    private CouponDiscountTypeEnum discountType;
+
+    /**
+     * 优惠金额(比例)
+     */
+    @ApiModelProperty("优惠金额(比例)")
+    private Integer discount;
+
+    /**
+     * 最低消费金额
+     */
+    @ApiModelProperty("最低消费金额")
+    private Integer minOrderAmt;
+
+    /**
+     * 使用范围;0通用 1生成券时指定范围 2发放时动态指定范围
+     */
+    @ApiModelProperty("使用范围;0通用 1生成券时指定范围 2发放时动态指定范围")
+    @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+    private CouponUseAreaEnum useArea;
+
+    @ApiModelProperty("指定票组列表,type为1,useArea为1时才有值")
+    private List<String> boxIds;
+
+    /**
+     * 叠加使用;0不允许 1允许
+     */
+    @ApiModelProperty("叠加使用;0不允许 1允许")
+    private Integer compositeUse;
+
+    /**
+     * 是否选中
+     */
+    @ApiModelProperty("是否选中")
+    private boolean checked = false;
+
+
+    @ApiModelProperty("关联门店总数")
+    private Integer channelTotal;
 
 
 }

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

@@ -63,7 +63,7 @@ public class UserCouponServiceImpl extends ServiceImpl<UserCouponMapper, UserCou
     List<UserCouponVO> userCouponVOList = getBaseMapper().listUserCouponVO(queryWrapper);
     for (UserCouponVO couponVO : userCouponVOList) {
       // 指定盲票购买的优惠券
-      if (couponVO.getType() == CouponTypeEnum.TICKET_ORDER && couponVO.getUseArea() == CouponUseAreaEnum.ONLINE_SOME) {
+      if (couponVO.getType() == CouponTypeEnum.TICKET_ORDER && couponVO.getUseArea() == CouponUseAreaEnum.PRE_SCOPE) {
         List<CouponTicket> couponTicketList = couponTicketService.list(new LambdaQueryWrapper<CouponTicket>()
             .eq(CouponTicket::getCouponId, couponVO.getCouponId()));
         List<String> boxIds = couponTicketList.stream().map(couponTicket -> {
@@ -90,7 +90,7 @@ public class UserCouponServiceImpl extends ServiceImpl<UserCouponMapper, UserCou
     while (iterator.hasNext()) {
       UserCouponVO userCouponVO = iterator.next();
       // 校验使用范围
-      if (userCouponVO.getUseArea() == CouponUseAreaEnum.ONLINE_SOME) {
+      if (userCouponVO.getUseArea() == CouponUseAreaEnum.PRE_SCOPE) {
         // 指定盲票
         List<CouponTicket> couponTicketList = couponTicketService.list(
             new LambdaQueryWrapper<CouponTicket>()