From 38efbb4a62ccdd98e4122fc879dd230795ef8ce3 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 19 Nov 2021 15:51:30 +0800
Subject: [PATCH] 20211119

---
 gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java |   32 ++++++++++++++++++++++++++++++--
 1 files changed, 30 insertions(+), 2 deletions(-)

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 69b6199..741452c 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
@@ -46,6 +46,8 @@
     ScoreGoodsStyleMapper scoreGoodsStyleMapper;
     @Resource
     ScoreGoodsSearchMapper scoreGoodsSearchMapper;
+    @Resource
+    ScoreOrderMapper scoreOrderMapper;
 
     @Autowired
     private MqUtil mqUtil;
@@ -327,6 +329,19 @@
 
         PageHelper.startPage(xcxGoodsListDto.getPageNo(), xcxGoodsListDto.getPageSize());
         List<XcxGoodsListVo> data = scoreGoodsMapper.selectXcxGoodsList(xcxGoodsListDto);
+        if(StrUtil.isNotEmpty(xcxGoodsListDto.getUserId())){
+            if(CollUtil.isNotEmpty(data)){
+                for(XcxGoodsListVo xcxGoodsListVo : data){
+                    if(ScoreGoods.ISQG_YES == xcxGoodsListVo.getIsQg()){
+                        //抢购时间内,用户购买该商品的数量
+                        Integer sumCnt = scoreOrderMapper.selectGoodsQuotaTime(xcxGoodsListDto.getUserId(),xcxGoodsListVo.getId(),xcxGoodsListVo.getQgStartTime(),xcxGoodsListVo.getQgEndTime());
+                        xcxGoodsListVo.setAvaQuotaTime(
+                                ((xcxGoodsListVo.getQuotaTime() == null?0:xcxGoodsListVo.getQuotaTime()) - sumCnt) > 0?((xcxGoodsListVo.getQuotaTime() == null?0:xcxGoodsListVo.getQuotaTime()) - sumCnt):0
+                                );
+                    }
+                }
+            }
+        }
         if(StrUtil.isNotEmpty(xcxGoodsListDto.getName())){
             Example exampleSearch = new Example(ScoreGoodsSearch.class);
             Example.Criteria criteriaSearch = exampleSearch.createCriteria();
@@ -344,12 +359,25 @@
         return new PageInfo<>(data);
     }
 
-    public XcxGoodsDetailVo findGoodsDetails(Long id) {
+    public XcxGoodsDetailVo findGoodsDetails(Long id, String userId) {
         XcxGoodsDetailVo data = scoreGoodsMapper.selectGoodsDetailsById(id);
+        data.setQuotaTime(data.getQuotaTime() == null ? 0:data.getQuotaTime());
         XcxGoodsListDto dto = new XcxGoodsListDto();
         dto.setId(id);
         List<XcxGoodsListVo> list = scoreGoodsMapper.selectXcxGoodsList(dto);
-
+        if(StrUtil.isNotEmpty(userId)){
+            if(CollUtil.isNotEmpty(list)){
+                for(XcxGoodsListVo xcxGoodsListVo : list){
+                    if(ScoreGoods.ISQG_YES == xcxGoodsListVo.getIsQg()){
+                        //抢购时间内,用户购买该商品的数量
+                        Integer sumCnt = scoreOrderMapper.selectGoodsQuotaTime(userId,xcxGoodsListVo.getId(),xcxGoodsListVo.getQgStartTime(),xcxGoodsListVo.getQgEndTime());
+                        data.setAvaQuotaTime(
+                                ((xcxGoodsListVo.getQuotaTime() == null?0:xcxGoodsListVo.getQuotaTime()) - sumCnt) > 0?((xcxGoodsListVo.getQuotaTime() == null?0:xcxGoodsListVo.getQuotaTime()) - sumCnt):0
+                        );
+                    }
+                }
+            }
+        }
         List<String> images = scoreGoodsImagesMapper.selectScoreGoodsImagesByGoodsId(id);
         data.setImages(images);
         if (CollUtil.isNotEmpty(list)) {

--
Gitblit v1.9.1