zhangkaikai 1 år sedan
förälder
incheckning
eaaa9cb5e6

+ 13 - 11
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/CdKeyMgrController.java

@@ -19,6 +19,8 @@ import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
 import com.qs.mp.common.enums.CdKeyGroupStatusEnum;
 import com.qs.mp.common.enums.CdKeyStatusEnum;
+import com.qs.mp.common.enums.ValidityPeriodEnum;
+import com.qs.mp.common.utils.DateUtils;
 import com.qs.mp.common.utils.StringUtils;
 import com.qs.mp.common.utils.bean.BeanUtils;
 import com.qs.mp.utils.ExcelUtil;
@@ -30,10 +32,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.Arrays;
 import java.util.stream.Collectors;
 
 /**
@@ -138,7 +138,7 @@ public class CdKeyMgrController extends BaseController {
         if (!CdKeyGroupStatusEnum.NONACTIVATED.getValue().equals(cdKeyGroup.getStatus().getValue())) {
             return AjaxResult.error("只有未激活的兑换码组才能激活");
         }
-        cdKeyGroup.setStatus(CdKeyGroupStatusEnum.ACTIVATED);
+        cdKeyGroup.setStatus(param.getIsActive() == 1 ? CdKeyGroupStatusEnum.ACTIVATED : CdKeyGroupStatusEnum.NONACTIVATED);
         cdKeyGroup.setActivationTime(new Date());
         return AjaxResult.success(cdKeyGroupService.updateById(cdKeyGroup));
     }
@@ -150,16 +150,18 @@ public class CdKeyMgrController extends BaseController {
             @ApiResponse(code = 200, message = "查询成功", response = CdKeyExchangeVO.class)
     )
     public TableDataInfo exchangeDetail(@PathVariable String groupId) {
-        CdKeyExchangeVO exchangeVO = new CdKeyExchangeVO();
         startPage();
         List<CdKey> cdKeyList = cdKeyService.list(new QueryWrapper<CdKey>().eq("group_id", groupId));
         long unCashedCount = cdKeyList.stream().filter(cdKey -> CdKeyStatusEnum.UNCASHED.getValue().equals(cdKey.getStatus())).count();
         long cashedCount = cdKeyList.stream().filter(cdKey -> CdKeyStatusEnum.CASHED.getValue().equals(cdKey.getStatus())).count();
-        exchangeVO.setRemainQty((int) unCashedCount);
-        exchangeVO.setCashedQty((int) cashedCount);
-        List<CdKey> list = (List<CdKey>) getDataTable(cdKeyList).getRows();
-        exchangeVO.setCdKeyExchangeList(list);
-        return null;
+        List<CdKeyExchangeVO> exchangeVOList = mapperFacade.mapAsList(cdKeyList, CdKeyExchangeVO.class);
+        exchangeVOList.forEach(cdKeyExchangeVO -> {
+                    cdKeyExchangeVO.setRemainQty((int) unCashedCount);
+                    cdKeyExchangeVO.setCashedQty((int) cashedCount);
+                });
+        TableDataInfo resp = getDataTable(cdKeyList);
+        resp.setRows(exchangeVOList);
+        return resp;
     }
 
     @ApiOperation("导出兑换码订单")

+ 27 - 18
mp-service/src/main/java/com/qs/mp/admin/domain/CdKey.java

@@ -11,6 +11,7 @@ import java.io.Serializable;
 import com.baomidou.mybatisplus.annotation.*;
 import com.qs.mp.common.enums.CdKeyGroupGoodsTypeEnum;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -24,53 +25,61 @@ import lombok.Data;
 public class CdKey implements Serializable {
     private static final long serialVersionUID = 1L;
 
-        /**
+    /**
      * 主键
      */
-         @TableId(value = "key_id", type = IdType.INPUT)
+    @ApiModelProperty("主键")
+    @TableId(value = "key_id", type = IdType.INPUT)
     private String keyId;
 
-        /**
+    /**
      * 兑换码组id
      */
-         @TableField("group_id")
+    @ApiModelProperty("兑换码组id")
+    @TableField("group_id")
     private String groupId;
 
-        /**
+    /**
      * 关联商品id
      */
-         @TableField("ref_id")
+    @ApiModelProperty("关联商品id")
+    @TableField("ref_id")
     private String refId;
 
-        /**
+    /**
      * 商品类型 goods 实物商品 coupon优惠券 coin平台代币 coupon_pkg券包
      */
-         @TableField("type")
-         @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
-         private CdKeyGroupGoodsTypeEnum type;
+    @ApiModelProperty("商品类型 goods 实物商品 coupon优惠券 coin平台代币 coupon_pkg券包")
+    @TableField("type")
+    @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+    private CdKeyGroupGoodsTypeEnum type;
 
-        /**
+    /**
      * 商品图片
      */
-         @TableField("pic_url")
+    @ApiModelProperty("商品图片")
+    @TableField("pic_url")
     private String picUrl;
 
-        /**
+    /**
      * 兑换码状态 0未兑,1已兑
      */
-         @TableField("status")
+    @ApiModelProperty("兑换码状态 0未兑,1已兑")
+    @TableField("status")
     private Integer status;
 
-        /**
+    /**
      * 兑换码
      */
-         @TableField("cd_key")
+    @ApiModelProperty("兑换码")
+    @TableField("cd_key")
     private String cdKey;
 
-        /**
+    /**
      * 创建时间
      */
-         @TableField("create_time")
+    @ApiModelProperty("创建时间")
+    @TableField("create_time")
     private Date createTime;
 
 

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

@@ -16,6 +16,6 @@ public class CdKeyActivateParam {
     @ApiModelProperty(value = "兑换码组id")
     private String groupId;
 
-    @ApiModelProperty("状态,待生成waiting/未激活nonactivated/已激活activated/已失效invalid")
-    private CdKeyGroupStatusEnum status;
+    @ApiModelProperty("是否激活 0不激活 1 激活")
+    private Integer isActive;
 }

+ 1 - 4
mp-service/src/main/java/com/qs/mp/admin/domain/vo/CdKeyExchangeVO.java

@@ -16,14 +16,11 @@ import java.util.List;
  **/
 @ApiModel("兑换码兑换详情")
 @Data
-public class CdKeyExchangeVO {
+public class CdKeyExchangeVO extends CdKey{
 
     @ApiModelProperty("已兑数量")
     private Integer cashedQty;
 
     @ApiModelProperty("未兑数量")
     private Integer remainQty;
-
-    @ApiModelProperty("兑换码兑换详情")
-    List<CdKey> cdKeyExchangeList;
 }