From d7064002eea6b2bc49e1a4f74f8b6b45d91f0026 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 25 Jun 2021 17:51:32 +0800
Subject: [PATCH] modify

---
 gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml     |    3 +++
 gc-shop/src/main/java/com/xzx/gc/shop/dto/XcxGoodsListDto.java  |    3 +++
 gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java |   11 +++++++++++
 gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java |    9 +++++++--
 gc-shop/src/main/java/com/xzx/gc/shop/vo/XcxGoodsDetailVo.java  |    3 +++
 5 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/dto/XcxGoodsListDto.java b/gc-shop/src/main/java/com/xzx/gc/shop/dto/XcxGoodsListDto.java
index 3dd8626..d3be1d6 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/dto/XcxGoodsListDto.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/dto/XcxGoodsListDto.java
@@ -23,6 +23,9 @@
     @ApiModelProperty(value = "分类ID")
     private Long cateId;
 
+    @ApiModelProperty(value = "是否抢购 1-是 2-否")
+    private Integer isQg;
+
     @ApiModelProperty(value="页码")
     private int pageNo=1;
 
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java
index 9e9985a..1942e9b 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java
@@ -325,8 +325,13 @@
         }
 
         if (ScoreGoods.ISQG_YES.equals(data.getIsQg())) {
-            Long remain = DateUtil.between(new Date(), data.getQgEndTime(), DateUnit.SECOND, false);
-            data.setRemainTime(remain);
+            if (new Date().before(data.getQgStartTime())) {
+                data.setIsStartQg(2);
+            } else {
+                data.setIsStartQg(1);
+                Long remain = DateUtil.between(new Date(), data.getQgEndTime(), DateUnit.SECOND, false);
+                data.setRemainTime(remain);
+            }
         }
         return data;
     }
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
index 99e165e..8cb02dd 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java
@@ -160,6 +160,17 @@
         if (goods == null || ScoreGoods.ISSALE_NO.equals(goods.getIsSale())) {
             throw new RestException(-3, "商品不存在或已下架");
         }
+
+        if (ScoreGoods.ISQG_YES.equals(goods.getIsQg())) {
+            if (new Date().before(goods.getQgStartTime())) {
+                throw new RestException(-3, "抢购未开始");
+            }
+
+            if (new Date().after(goods.getQgEndTime())) {
+                throw new RestException(-3, "抢购已结束");
+            }
+        }
+
         AccountInfo accountInfo = accountInfoMapper.selectAccountInfoByUserId(addGoodsOrderDto.getUserId());
 
         if (accountInfo.getCollectScore() == null) {
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/vo/XcxGoodsDetailVo.java b/gc-shop/src/main/java/com/xzx/gc/shop/vo/XcxGoodsDetailVo.java
index 22df6b0..934c2e6 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/vo/XcxGoodsDetailVo.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/vo/XcxGoodsDetailVo.java
@@ -45,6 +45,9 @@
     @ApiModelProperty(value = "是否抢购 1-是 2-否")
     private Integer isQg;
 
+    @ApiModelProperty(value = "是否开始抢购 1-是 2-否")
+    private Integer isStartQg;
+
     @ApiModelProperty(value = "抢购开始时间")
     private Date qgStartTime;
 
diff --git a/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml b/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml
index 2c3ba2f..2f578ee 100644
--- a/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml
+++ b/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml
@@ -51,6 +51,9 @@
             <if test="record.id != null and record.id != ''">
                 and a.id=#{record.id}
             </if>
+            <if test="record.isQg != null and record.isQg != ''">
+                and a.is_qg=#{record.isQg} and now() > a.qg_end_time
+            </if>
             <if test="record.cateId != null and record.cateId != ''">
                 and (a.category_id = #{record.cateId} or a.category in (select id from xzx_score_goods_category where parent_id=#{record.cateId}))
             </if>

--
Gitblit v1.9.1