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