zhangkaikai 1 سال پیش
والد
کامیت
18fa7ea786

+ 40 - 16
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/CdKeyMgrController.java

@@ -2,10 +2,7 @@ package com.qs.mp.web.controller.api.admin;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.qs.mp.admin.domain.CdKey;
-import com.qs.mp.admin.domain.CdKeyGroup;
-import com.qs.mp.admin.domain.CdKeyGroupGoods;
-import com.qs.mp.admin.domain.Goods;
+import com.qs.mp.admin.domain.*;
 import com.qs.mp.admin.domain.excel.CdKeyOrderExcel;
 import com.qs.mp.admin.domain.param.CdKeyActivateParam;
 import com.qs.mp.admin.domain.param.CdKeyCreateParam;
@@ -14,10 +11,7 @@ import com.qs.mp.admin.domain.param.CdKeyQueryParam;
 import com.qs.mp.admin.domain.vo.CdKeyExchangeVO;
 import com.qs.mp.admin.domain.vo.CdKeyGroupListVO;
 import com.qs.mp.admin.domain.vo.CdKeyGroupVO;
-import com.qs.mp.admin.service.ICdKeyGroupGoodsService;
-import com.qs.mp.admin.service.ICdKeyGroupService;
-import com.qs.mp.admin.service.ICdKeyService;
-import com.qs.mp.admin.service.IGoodsService;
+import com.qs.mp.admin.service.*;
 import com.qs.mp.channel.domain.Channel;
 import com.qs.mp.channel.service.IChannelService;
 import com.qs.mp.common.core.domain.AjaxResult;
@@ -68,6 +62,12 @@ public class CdKeyMgrController extends BaseController {
     @Autowired
     private IGoodsService goodsService;
 
+    @Autowired
+    private ICouponService couponService;
+
+    @Autowired
+    private ICouponPkgService couponPkgService;
+
     @Value("${cloud.public-bucket-name}")
     private String publicBucketName;
 
@@ -116,8 +116,11 @@ public class CdKeyMgrController extends BaseController {
             queryWrapper.eq("status", param.getStatus());
         }
 
-        queryWrapper.orderByDesc("FIELD(`status`,'waiting','noactive','activated','invalid')");
+        if (Objects.nonNull(param.getTitle())) {
+            queryWrapper.eq("title", param.getTitle());
+        }
         queryWrapper.orderByDesc("created_time");
+        queryWrapper.orderByDesc("FIELD(`status`,'waiting','noactive','activated','invalid')");
 
         startPage();
         List<CdKeyGroupVO> cdKeyGroupList = cdKeyGroupService.listCdKeyGroupListVO(queryWrapper);
@@ -164,9 +167,20 @@ public class CdKeyMgrController extends BaseController {
         List<CdKeyGroupGoods> goodsList = cdKeyGroupGoodsService.list(new QueryWrapper<CdKeyGroupGoods>().eq("group_id", groupId));
         goodsList.forEach(g ->{
             if (StringUtils.isNotEmpty(g.getRefId())) {
-                Goods goods = goodsService.getById(g.getRefId());
-                g.setTitle(goods.getTitle());
-                g.setPicUrl(goods.getPicUrl());
+                if (CdKeyGroupGoodsTypeEnum.GOODS.equals(g.getType())) {
+                    Goods goods = goodsService.getById(g.getRefId());
+                    g.setTitle(goods.getTitle());
+                    g.setPicUrl(goods.getPicUrl());
+                } else if (CdKeyGroupGoodsTypeEnum.COUPON.equals(g.getType())) {
+                    Coupon coupon = couponService.getById(g.getRefId());
+                    g.setTitle(coupon.getTitle());
+                    g.setPicUrl(coupon.getPicUrl());
+                } else if (CdKeyGroupGoodsTypeEnum.COUPON_PKG.equals(g.getType())) {
+                    CouponPkg couponPkg = couponPkgService.getById(g.getRefId());
+                    g.setTitle(couponPkg.getTitle());
+                    g.setPicUrl(couponPkg.getPicUrl());
+                }
+
             }
         });
         cdKeyGroupVO.setGoodsList(goodsList);
@@ -202,9 +216,19 @@ public class CdKeyMgrController extends BaseController {
             cdKeyExchangeVO.setRemainQty((int) unCashedCount);
             cdKeyExchangeVO.setCashedQty((int) cashedCount);
             if (StringUtils.isNotEmpty(cdKeyExchangeVO.getRefId())) {
-                Goods goods = goodsService.getById(cdKeyExchangeVO.getRefId());
-                cdKeyExchangeVO.setGoodsName(goods.getTitle());
-                cdKeyExchangeVO.setPicUrl(goods.getPicUrl());
+                if (CdKeyGroupGoodsTypeEnum.GOODS.equals(cdKeyExchangeVO.getType())) {
+                    Goods goods = goodsService.getById(cdKeyExchangeVO.getRefId());
+                    cdKeyExchangeVO.setGoodsName(goods.getTitle());
+                    cdKeyExchangeVO.setPicUrl(goods.getPicUrl());
+                } else if (CdKeyGroupGoodsTypeEnum.COUPON.equals(cdKeyExchangeVO.getType())) {
+                    Coupon coupon = couponService.getById(cdKeyExchangeVO.getRefId());
+                    cdKeyExchangeVO.setGoodsName(coupon.getTitle());
+                    cdKeyExchangeVO.setPicUrl(coupon.getPicUrl());
+                } else if (CdKeyGroupGoodsTypeEnum.COUPON_PKG.equals(cdKeyExchangeVO.getType())) {
+                    CouponPkg couponPkg = couponPkgService.getById(cdKeyExchangeVO.getRefId());
+                    cdKeyExchangeVO.setGoodsName(couponPkg.getTitle());
+                    cdKeyExchangeVO.setPicUrl(couponPkg.getPicUrl());
+                }
             }
         });
         return getDataTable(cdKeyExchangeVOList);
@@ -231,6 +255,6 @@ public class CdKeyMgrController extends BaseController {
         });
 
         ExcelUtil<CdKeyOrderExcel> excelUtil = new ExcelUtil<>(CdKeyOrderExcel.class);
-        return excelUtil.exportExcel(excelList, "兑换码订单导出", false);
+        return excelUtil.exportExcel(excelList, cdKeyExportList.get(0) + "兑换码订单导出", false);
     }
 }

+ 1 - 1
mp-common/src/main/java/com/qs/mp/common/enums/CdKeyGroupStatusEnum.java

@@ -13,7 +13,7 @@ import com.qs.mp.common.json.EnumValueDeserializer;
 public enum CdKeyGroupStatusEnum implements IEnum<String> {
 
     WAITING("waiting", "待生成"),
-    NO_ACTIVE("noactive", "激活"),
+    NO_ACTIVE("noactive", "激活"),
 
     ACTIVATED("activated", "已生效"),
 

+ 2 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/CdKeyQueryParam.java

@@ -17,6 +17,8 @@ import java.util.Date;
 @Data
 public class CdKeyQueryParam {
 
+    @ApiModelProperty("兑换码名称")
+    private String title;
     @ApiModelProperty("创建开始时间")
     private Date createTimeStart;
     @ApiModelProperty("创建结束时间")