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/java/com/xzx/gc/shop/service/GoodsService.java |  101 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 78 insertions(+), 23 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 f6c181e..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
@@ -2,6 +2,8 @@
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.convert.Convert;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -11,6 +13,7 @@
 import com.xzx.gc.common.utils.MqUtil;
 import com.xzx.gc.entity.*;
 import com.xzx.gc.model.admin.GoodsCategoryModel;
+import com.xzx.gc.model.order.OrderInfoVo;
 import com.xzx.gc.shop.dto.*;
 import com.xzx.gc.shop.mapper.*;
 import com.xzx.gc.shop.vo.*;
@@ -21,10 +24,7 @@
 import tk.mybatis.mapper.entity.Example;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @Service
 @Transactional
@@ -68,7 +68,7 @@
         scoreGoodsCategory.setParentId(model.getParentId());
         scoreGoodsCategory.setCreatedBy(model.getCreatedBy());
         scoreGoodsCategory.setCreatedTime(model.getCreatedTime());
-        scoreGoodsCategoryMapper.insert(scoreGoodsCategory);
+        scoreGoodsCategoryMapper.insertSelective(scoreGoodsCategory);
         return scoreGoodsCategory.getId();
     }
 
@@ -96,14 +96,11 @@
     }
 
     public Map<String, Object> queryGoodsList(QueryGoodsListDto model) {
-        String name = model.getName();
-        int delFlag = model.getDelFlag();
-        ScoreGoods scoreGoods = new ScoreGoods();
-        scoreGoods.setName(name);
-        scoreGoods.setDelFlag(Convert.toShort(delFlag));
+        String name = model.getName() == null ? "":model.getName();
+        int delFlag = model.getDelFlag() == null ? 2:model.getDelFlag();
         PageHelper.startPage(model.getPage(), model.getLimit());
 
-        List<QueryGoodsListVo> maps = scoreGoodsMapper.queryGoodsList(scoreGoods);
+        List<QueryGoodsListVo> maps = scoreGoodsMapper.queryGoodsList(name,delFlag);
         PageInfo pageInfo = new PageInfo(maps);
         int count = Convert.toInt(pageInfo.getTotal());
         Map<String, Object> map = new HashMap<>();
@@ -119,24 +116,24 @@
         objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
         ScoreGoods scoreGoods = objectMapper.convertValue(model, ScoreGoods.class);
         scoreGoods.setDelFlag(Convert.toShort(Constants.DEL_NOT_FLAG));
-        scoreGoodsMapper.insert(scoreGoods);
+        scoreGoodsMapper.insertSelective(scoreGoods);
         //样式信息
-        List<ScoreGoodsStyleDto> scoreGoodsStyleDtos = model.getScoreGoodsStyleDtos();
+        List<ScoreGoodsStyleDto> scoreGoodsStyleDtos = model.getScoreGoodsStyles();
         if(CollUtil.isNotEmpty(scoreGoodsStyleDtos)){
             for(ScoreGoodsStyleDto scoreGoodsStyleDto : scoreGoodsStyleDtos){
                 ScoreGoodsStyle scoreGoodsStyle = objectMapper.convertValue(scoreGoodsStyleDto, ScoreGoodsStyle.class);
                 scoreGoodsStyle.setGoodsId(scoreGoods.getId());
                 scoreGoodsStyle.setDelFlag(Convert.toShort(Constants.DEL_NOT_FLAG));
-                scoreGoodsStyleMapper.insert(scoreGoodsStyle);
+                scoreGoodsStyleMapper.insertSelective(scoreGoodsStyle);
                 //规格信息
-                List<ScoreGoodsSkuDto> scoreGoodsSkuDtos = scoreGoodsStyleDto.getScoreGoodsSkuDtos();
+                List<ScoreGoodsSkuDto> scoreGoodsSkuDtos = scoreGoodsStyleDto.getScoreGoodsSkus();
                 if(CollUtil.isNotEmpty(scoreGoodsSkuDtos)){
                     for(ScoreGoodsSkuDto scoreGoodsSkuDto : scoreGoodsSkuDtos){
                         ScoreGoodsSku scoreGoodsSku = objectMapper.convertValue(scoreGoodsSkuDto, ScoreGoodsSku.class);
                         scoreGoodsSku.setGoodsId(scoreGoods.getId());
                         scoreGoodsSku.setStyleId(scoreGoodsStyle.getId());
                         scoreGoodsSku.setDelFlag(Convert.toShort(Constants.DEL_NOT_FLAG));
-                        scoreGoodsSkuMapper.insert(scoreGoodsSku);
+                        scoreGoodsSkuMapper.insertSelective(scoreGoodsSku);
                     }
                 }
             }
@@ -187,6 +184,7 @@
             ObjectMapper objectMapper = new ObjectMapper();
             objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
             viewGoodsVo = objectMapper.convertValue(scoreGoods, ViewGoodsVo.class);
+//            viewGoodsVo.setCreateTime(scoreGoods.getCreatedTime().toString());
             //轮播图
             List<String> goodsImages = scoreGoodsImagesMapper.selectScoreGoodsImagesByGoodsId(id);
             viewGoodsVo.setGoodsImages(goodsImages);
@@ -199,11 +197,11 @@
                     //获取规格
                     Long styleId = goodsStyle.getId();
                     List<ScoreGoodsSkuVo> goodsSkus = scoreGoodsSkuMapper.selectScoreGoodsSkuByGoodsIdAndStyleId(id,styleId);
-                    scoreGoodsStyleVo.setScoreGoodsSkuVos(goodsSkus);
+                    scoreGoodsStyleVo.setScoreGoodsSkus(goodsSkus);
                     scoreGoodsStyleVos.add(scoreGoodsStyleVo);
                 }
             }
-            viewGoodsVo.setScoreGoodsStyleVos(scoreGoodsStyleVos);
+            viewGoodsVo.setScoreGoodsStyles(scoreGoodsStyleVos);
         }
         return viewGoodsVo;
     }
@@ -226,24 +224,34 @@
                 scoreGoodsImages.setImageUrl(goodImage);
                 scoreGoodsImages.setGoodsId(scoreGoods.getId());
                 scoreGoodsImages.setDelFlag(Convert.toShort(Constants.DEL_NOT_FLAG));
-                scoreGoodsImagesMapper.insert(scoreGoodsImages);
+                scoreGoodsImagesMapper.insertSelective(scoreGoodsImages);
             }
         }
 
-        List<ScoreGoodsStyleDto> scoreGoodsStyleDtos = model.getScoreGoodsStyleDtos();
+        List<ScoreGoodsStyleDto> scoreGoodsStyleDtos = model.getScoreGoodsStyles();
         if(CollUtil.isNotEmpty(scoreGoodsStyleDtos)){
+            Example exampleStyle = new Example(ScoreGoodsStyle.class);
+            Example.Criteria criteriaStyle = exampleStyle.createCriteria();
+            criteriaStyle.andEqualTo("goodsId",scoreGoods.getId());
+            scoreGoodsStyleMapper.deleteByExample(exampleImages);
+
+            Example exampleSku = new Example(ScoreGoodsSku.class);
+            Example.Criteria criteriaSku = exampleSku.createCriteria();
+            criteriaSku.andEqualTo("goodsId",scoreGoods.getId());
+            scoreGoodsSkuMapper.deleteByExample(exampleImages);
+
             for(ScoreGoodsStyleDto scoreGoodsStyleDto : scoreGoodsStyleDtos){
                 ScoreGoodsStyle scoreGoodsStyle = new ScoreGoodsStyle();
                 scoreGoodsStyle.setId(scoreGoodsStyleDto.getId());
                 scoreGoodsStyle.setName(scoreGoodsStyleDto.getName());
                 scoreGoodsStyle.setGoodsId(scoreGoods.getId());
-                scoreGoodsStyleMapper.updateByPrimaryKeySelective(scoreGoodsStyle);
+                scoreGoodsStyleMapper.insertSelective(scoreGoodsStyle);
                 //规格
-                List<ScoreGoodsSkuDto> scoreGoodsSkuDtos = scoreGoodsStyleDto.getScoreGoodsSkuDtos();
+                List<ScoreGoodsSkuDto> scoreGoodsSkuDtos = scoreGoodsStyleDto.getScoreGoodsSkus();
                 if(CollUtil.isNotEmpty(scoreGoodsSkuDtos)){
                     for(ScoreGoodsSkuDto scoreGoodsSkuDto : scoreGoodsSkuDtos){
                         ScoreGoodsSku scoreGoodsSku = objectMapper.convertValue(scoreGoodsSkuDto, ScoreGoodsSku.class);
-                        scoreGoodsSkuMapper.updateByPrimaryKey(scoreGoodsSku);
+                        scoreGoodsSkuMapper.insertSelective(scoreGoodsSku);
                     }
                 }
             }
@@ -280,4 +288,51 @@
             scoreGoodsMapper.updateByExampleSelective(scoreGoods,exampleGoods);
         }
     }
+
+    public List<ViewGoodsCategoryListVo> viewGoodsCategoryList(ViewGoodsCategoryListDto viewGoodsCategoryListDto) {
+        List<ViewGoodsCategoryListVo> maps = new ArrayList<>();
+        if(viewGoodsCategoryListDto.getParentId() == 0L){
+            maps = scoreGoodsCategoryMapper.viewGoodsCategoryOneList(viewGoodsCategoryListDto.getParentId());
+        }else{
+            maps = scoreGoodsCategoryMapper.viewGoodsCategoryList();
+        }
+        return maps;
+    }
+
+    public List<GoodsCategoryVo> findCategoryWithChildren() {
+        return scoreGoodsCategoryMapper.selectCategoryWithChildren();
+    }
+
+    public PageInfo<XcxGoodsListVo> findGoodsListInPage(XcxGoodsListDto xcxGoodsListDto) {
+
+        PageHelper.startPage(xcxGoodsListDto.getPageNo(), xcxGoodsListDto.getPageSize());
+        List<XcxGoodsListVo> data = scoreGoodsMapper.selectXcxGoodsList(xcxGoodsListDto);
+
+        return new PageInfo<>(data);
+    }
+
+    public XcxGoodsDetailVo findGoodsDetails(Long id) {
+        XcxGoodsDetailVo data = scoreGoodsMapper.selectGoodsDetailsById(id);
+        XcxGoodsListDto dto = new XcxGoodsListDto();
+        dto.setId(id);
+        List<XcxGoodsListVo> list = scoreGoodsMapper.selectXcxGoodsList(dto);
+
+        List<String> images = scoreGoodsImagesMapper.selectScoreGoodsImagesByGoodsId(id);
+        data.setImages(images);
+        if (CollUtil.isNotEmpty(list)) {
+            data.setQuantity(list.get(0).getQuantity());
+            data.setStock(list.get(0).getStock());
+        }
+
+        if (ScoreGoods.ISQG_YES.equals(data.getIsQg())) {
+            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;
+    }
 }

--
Gitblit v1.9.1