Browse Source

卡密商品

cup 2 years ago
parent
commit
fb94b73d2e

+ 25 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/GoodsMgrController.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
 import com.github.xiaoymin.knife4j.annotations.DynamicParameters;
 import com.qs.mp.admin.domain.Goods;
+import com.qs.mp.admin.domain.GoodsCard;
 import com.qs.mp.admin.domain.GoodsSku;
 import com.qs.mp.admin.domain.GoodsTagRel;
 import com.qs.mp.admin.domain.excel.GoodsExcel;
@@ -16,6 +17,7 @@ import com.qs.mp.admin.domain.param.GoodsQueryParam;
 import com.qs.mp.admin.domain.param.GoodsUpdateSortWeightParam;
 import com.qs.mp.admin.domain.vo.GoodsExportVO;
 import com.qs.mp.admin.domain.vo.GoodsVO;
+import com.qs.mp.admin.service.IGoodsCardService;
 import com.qs.mp.admin.service.IGoodsService;
 import com.qs.mp.admin.service.IGoodsSkuService;
 import com.qs.mp.admin.service.IGoodsTagRelService;
@@ -25,6 +27,7 @@ import com.qs.mp.common.core.page.TableDataInfo;
 import com.qs.mp.common.enums.BusinessType;
 import com.qs.mp.common.enums.ErrorCodeEnum;
 import com.qs.mp.common.enums.GoodsStatusEnum;
+import com.qs.mp.common.enums.GoodsTypeEnum;
 import com.qs.mp.common.utils.LogUtil;
 import com.qs.mp.utils.ExcelUtil;
 import com.qs.mp.web.controller.common.BaseApiController;
@@ -73,6 +76,9 @@ public class GoodsMgrController extends BaseApiController {
     @Autowired
     private MapperFacade mapperFacade;
 
+    @Autowired
+    private IGoodsCardService goodsCardService;
+
 
     /**
      * 查询商品列表, 支持翻页
@@ -145,6 +151,13 @@ public class GoodsMgrController extends BaseApiController {
         queryWrapper.orderByAsc("FIELD(`status`, 'init', 'on', 'off')");
         queryWrapper.lambda().orderByDesc(Goods::getGoodsId);
         List<Goods> goodsList = goodsService.list(queryWrapper);
+        for (Goods goods : goodsList) {
+            if (GoodsTypeEnum.CARD_GOODS.getValue().equals(goods.getType())) {
+                goods.setQuantity(goodsCardService.count(new LambdaQueryWrapper<GoodsCard>()
+                    .eq(GoodsCard::getGoodsId, goods.getGoodsId())
+                    .eq(GoodsCard::getIsUse, 0)));
+            }
+        }
         TableDataInfo res = getDataTable(goodsList);
         res.setRows(goodsList);
         return res;
@@ -255,6 +268,12 @@ public class GoodsMgrController extends BaseApiController {
         if (null == goods.getDiscountRate()) {
             goods.setDiscountRate(goodsParam.getDiscountRate());
         }
+
+        if (goodsParam.getType() != null && GoodsTypeEnum.CARD_GOODS.getValue().equals(goodsParam.getType())) {
+            // 卡密商品不控制库存,设置10万
+            goods.setQuantity(100000);
+        }
+
         // 3.插入数据
         try {
             goods.setSkuProp(getSkuProp(skuList));
@@ -321,6 +340,12 @@ public class GoodsMgrController extends BaseApiController {
                 goods.setQuantity(totalQuantity);
             }
         }
+
+        if (goodsParam.getType() != null && GoodsTypeEnum.CARD_GOODS.getValue().equals(goodsParam.getType())) {
+            // 卡密商品不控制库存,设置10万
+            goods.setQuantity(100000);
+        }
+
         // 3.插入数据
         try {
             goods.setSkuProp(getSkuProp(skuList));

+ 39 - 0
mp-common/src/main/java/com/qs/mp/common/enums/GoodsTypeEnum.java

@@ -0,0 +1,39 @@
+package com.qs.mp.common.enums;
+
+import com.baomidou.mybatisplus.annotation.IEnum;
+import io.swagger.annotations.ApiModel;
+import lombok.Getter;
+
+/**
+ * @author Cup
+ * @date 2022/8/3
+ */
+@ApiModel("商品类型枚举")
+public enum GoodsTypeEnum implements IEnum<Integer> {
+
+
+    REAL_GOODS(1,"实物商品"),
+
+    CARD_GOODS(2,"卡密商品");
+
+    @Getter
+    private Integer value;
+
+    @Getter
+    private String description;
+
+
+    @Override
+    public Integer getValue() {
+        return value;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    GoodsTypeEnum(Integer value, String description) {
+        this.value = value;
+        this.description = description;
+    }
+}

+ 6 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/GoodsParam.java

@@ -131,4 +131,10 @@ public class GoodsParam {
 	private String shoppingLink;
 
 
+	@ApiModelProperty("商品类型:1实物,2卡密")
+	private Integer type;
+
+	@ApiModelProperty("使用链接")
+	private String useLink;
+
 }