Selaa lähdekoodia

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

Dev

See merge request quanshu/mp-server!917
jiang hao 2 vuotta sitten
vanhempi
commit
75becea20e

+ 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));

+ 45 - 1
mp-admin/src/test/java/com/qs/mp/task/MyTest.java

@@ -10,7 +10,12 @@ import cn.hutool.crypto.symmetric.DES;
 import cn.hutool.crypto.symmetric.SymmetricAlgorithm;
 import cn.hutool.crypto.symmetric.SymmetricCrypto;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.qs.mp.admin.domain.Coupon;
+import com.qs.mp.admin.domain.CouponTicket;
 import com.qs.mp.admin.domain.Marketing;
+import com.qs.mp.admin.service.ICouponChannelService;
+import com.qs.mp.admin.service.ICouponService;
+import com.qs.mp.admin.service.ICouponTicketService;
 import com.qs.mp.common.core.redis.DistributedLocker;
 import com.qs.mp.common.core.redis.RedisCache;
 import com.qs.mp.common.enums.UserTypeEnum;
@@ -69,6 +74,16 @@ public class MyTest {
     @Autowired
     private DayStatTask dayStatTask;
 
+    @Autowired
+    private ICouponService couponService;
+
+    @Autowired
+    private ICouponChannelService couponChannelService;
+
+    @Autowired
+    private ICouponTicketService couponTicketService;
+
+
 
     public static void main(String[] args) {
         WebhookService.sendAlertDing("mayday,mayday,上上下下,左右左右,BABA");
@@ -78,14 +93,43 @@ public class MyTest {
 
     }
 
+
+    @Test
+    void test12() {
+        Coupon coupon = couponService.getById(56);
+        String description = coupon.getDescription();
+        String s = description.replaceAll("\\n", "<br>");
+        System.out.println("coupon.getDescription() = " + s);
+    }
+
+    @Test
+    void test11() {
+        boolean remove = couponTicketService.remove(
+            new LambdaQueryWrapper<CouponTicket>().eq(CouponTicket::getCouponId, 11));
+        System.out.println("remove = " + remove);
+    }
+
+
+    @Test
+    void test10(){
+        for (int i = 0; i < 1; i++) {
+            couponService.distributeByMarketing(188L,"56");
+        }
+
+    }
+
     @Test
     void test9() {
+        Marketing marketing = new Marketing();
+        marketing.setId(44L);
+        marketing.setTitle("测试测试");
+        wxSubscribeMessage.sendMarketingLottery(187L, marketing);
 
     }
 
     @Test
     void test8(){
-        dayStatTask.stat("20220617");
+        dayStatTask.stat("20220713");
     }
 
 

+ 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;
+    }
+}

+ 24 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/excel/GoodsCardImportExcel.java

@@ -0,0 +1,24 @@
+package com.qs.mp.admin.domain.excel;
+
+import com.qs.mp.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * 商品卡密导入类
+ * @author Cup
+ * @date 2022/8/2
+ */
+@ApiModel("商品卡密导入类")
+@Data
+public class GoodsCardImportExcel {
+
+
+    @Excel(name = "卡号")
+    private String cardNo;
+
+
+    @Excel(name = "卡密")
+    private String cardPwd;
+
+}

+ 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;
+
 }