From c1e48a47b39dbd6919bfd9cf2e7023e9f3d6fee8 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期五, 05 十一月 2021 10:24:21 +0800 Subject: [PATCH] 1105测试代码修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopGoodsServiceImpl.java | 197 ++++++++++++++++++++++++++++-------------------- 1 files changed, 115 insertions(+), 82 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopGoodsServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopGoodsServiceImpl.java index 6433941..2c1a459 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopGoodsServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopGoodsServiceImpl.java @@ -1,36 +1,35 @@ package com.panzhihua.service_community.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.google.common.collect.Lists; -import com.panzhihua.common.exceptions.ServiceException; -import com.panzhihua.common.model.dtos.shop.PageComShopGoodsDTO; -import com.panzhihua.common.model.dtos.shop.ComShopGoodsDTO; -import com.panzhihua.common.model.vos.R; -import com.panzhihua.common.model.vos.shop.AddShopGoodsAttrVO; -import com.panzhihua.common.model.vos.shop.PageShopGoodsVO; -import com.panzhihua.common.model.vos.shop.AddShopGoodsVO; -import com.panzhihua.common.utlis.StringUtils; -import com.panzhihua.service_community.dao.ComShopGoodsAttrDAO; -import com.panzhihua.common.model.vos.shop.ComShopGoodsAttrVO; -import com.panzhihua.common.model.vos.shop.ComShopGoodsVO; -import com.panzhihua.common.model.vos.shop.PageShopStoreVO; -import com.panzhihua.service_community.dao.ComShopGoodsDAO; -import com.panzhihua.service_community.model.dos.ComShopGoodsAttrDO; -import com.panzhihua.service_community.dao.ComShopStoreDAO; -import com.panzhihua.service_community.model.dos.ComShopGoodsDO; -import com.panzhihua.service_community.model.dos.ComShopStoreDO; -import com.panzhihua.service_community.service.ComShopGoodsService; -import lombok.extern.slf4j.Slf4j; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import javax.annotation.Resource; + import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Lists; +import com.panzhihua.common.exceptions.ServiceException; +import com.panzhihua.common.model.dtos.shop.ComShopGoodsDTO; +import com.panzhihua.common.model.dtos.shop.PageComShopGoodsDTO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.shop.*; +import com.panzhihua.common.utlis.DifferentLongListUtil; +import com.panzhihua.service_community.dao.ComShopGoodsAttrDAO; +import com.panzhihua.service_community.dao.ComShopGoodsDAO; +import com.panzhihua.service_community.dao.ComShopStoreDAO; +import com.panzhihua.service_community.model.dos.ComShopGoodsAttrDO; +import com.panzhihua.service_community.model.dos.ComShopGoodsDO; +import com.panzhihua.service_community.model.dos.ComShopStoreDO; +import com.panzhihua.service_community.service.ComShopGoodsService; + +import lombok.extern.slf4j.Slf4j; /** * @auther lyq @@ -39,7 +38,8 @@ */ @Slf4j @Service -public class ComShopGoodsServiceImpl extends ServiceImpl<ComShopGoodsDAO, ComShopGoodsDO> implements ComShopGoodsService { +public class ComShopGoodsServiceImpl extends ServiceImpl<ComShopGoodsDAO, ComShopGoodsDO> + implements ComShopGoodsService { @Resource private ComShopGoodsAttrServiceImpl goodsAttrService; @Resource @@ -55,18 +55,18 @@ String[] images = addShopGoodsVO.getGoodsPic().split(","); ComShopGoodsDO shopGoodsDO = new ComShopGoodsDO(); BeanUtils.copyProperties(addShopGoodsVO, shopGoodsDO); - if(images.length>1){ + shopGoodsDO.setOriginalPrice(addShopGoodsVO.getPrice()); + if (images.length > 1) { shopGoodsDO.setGoodsPic(images[0]); } shopGoodsDO.setImages(addShopGoodsVO.getGoodsPic()); shopGoodsDO.setSale(0); - shopGoodsDO.setDetails(addShopGoodsVO.getGoodsDescribe()); + shopGoodsDO.setDetails(addShopGoodsVO.getDetails()); int goodsId = this.baseMapper.insert(shopGoodsDO); if (goodsId > 0) { ArrayList<ComShopGoodsAttrDO> goodsAttrDOS = Lists.newArrayList(); - addShopGoodsVO.getGoodsAttrVOList().forEach(goodsAttr -> { - ComShopGoodsDO goodDO = this.baseMapper.selectById(shopGoodsDO.getId()); - //维护商品规格表 + ComShopGoodsDO goodDO = this.baseMapper.selectById(shopGoodsDO.getId()); + addShopGoodsVO.getGoodsAttrVOList().forEach(goodsAttr -> {// 维护商品规格表 if (goodDO == null) { throw new ServiceException("商家id不存在!"); } @@ -74,17 +74,23 @@ shopGoodsAttrDO.setGoodsId(shopGoodsDO.getId()); shopGoodsAttrDO.setStoreId(goodDO.getStoreId()); shopGoodsAttrDO.setGoodsName(goodDO.getName()); - //如果没有规格加默认 - if(StringUtils.isNotEmpty(goodsAttr.getGoodsAttr())){ - shopGoodsAttrDO.setGoodsAttr("默认"); - }else{ - shopGoodsAttrDO.setGoodsAttr(goodsAttr.getGoodsAttr()); - } + shopGoodsAttrDO.setGoodsAttr(goodsAttr.getGoodsAttr()); shopGoodsAttrDO.setIsDefault(1); shopGoodsAttrDO.setPrice(goodsAttr.getAttrPrice()); shopGoodsAttrDO.setAttrPic(images[0]); goodsAttrDOS.add(shopGoodsAttrDO); }); + if (addShopGoodsVO.getGoodsAttrVOList().size() < 1) {// 如果没有规格参数加默认 + ComShopGoodsAttrDO shopGoodsAttrDO = new ComShopGoodsAttrDO(); + shopGoodsAttrDO.setGoodsId(shopGoodsDO.getId()); + shopGoodsAttrDO.setStoreId(goodDO.getStoreId()); + shopGoodsAttrDO.setGoodsName(goodDO.getName()); + shopGoodsAttrDO.setGoodsAttr("默认"); + shopGoodsAttrDO.setIsDefault(1); + shopGoodsAttrDO.setPrice(goodDO.getPrice()); + shopGoodsAttrDO.setAttrPic(images[0]); + goodsAttrService.save(shopGoodsAttrDO); + } if (goodsAttrDOS.size() > 0) { goodsAttrService.saveBatch(goodsAttrDOS); } @@ -94,11 +100,15 @@ @Override public R pageGoodsList(PageComShopGoodsDTO pageComShopGoodsDTO) { - Page page = new Page<>(pageComShopGoodsDTO.getPageNum(), pageComShopGoodsDTO.getPageSize()); + long pageNum = pageComShopGoodsDTO.getPageNum() != null ? pageComShopGoodsDTO.getPageNum() : 1; + long pageSize = pageComShopGoodsDTO.getPageSize() != null ? pageComShopGoodsDTO.getPageSize() : 10; + Page page = new Page<>(pageNum, pageSize); IPage<PageShopGoodsVO> comShopStoreVOIPage = this.baseMapper.pageShopGoods(page, pageComShopGoodsDTO); - if(!comShopStoreVOIPage.getRecords().isEmpty()){ + if (!comShopStoreVOIPage.getRecords().isEmpty()) { comShopStoreVOIPage.getRecords().forEach(shopGoods -> { - List<ComShopGoodsAttrDO> goodsAttrDOs = shopGoodsAttrDAO.selectList(new QueryWrapper<ComShopGoodsAttrDO>().lambda().eq(ComShopGoodsAttrDO::getGoodsId,shopGoods.getId())); + List<ComShopGoodsAttrDO> goodsAttrDOs = + shopGoodsAttrDAO.selectList(new QueryWrapper<ComShopGoodsAttrDO>().lambda() + .eq(ComShopGoodsAttrDO::getGoodsId, shopGoods.getId())); ArrayList<AddShopGoodsAttrVO> goodsAttrVOList = Lists.newArrayList(); for (ComShopGoodsAttrDO oneGoodsAttrDO : goodsAttrDOs) { AddShopGoodsAttrVO goodsAttrVO = new AddShopGoodsAttrVO(); @@ -118,46 +128,66 @@ if (addShopGoodsVO == null) { return R.ok("500", "数据为空!"); } - LambdaQueryWrapper<ComShopGoodsDO> query = new LambdaQueryWrapper<ComShopGoodsDO>().eq(ComShopGoodsDO::getId, id); + LambdaQueryWrapper<ComShopGoodsDO> query = + new LambdaQueryWrapper<ComShopGoodsDO>().eq(ComShopGoodsDO::getId, id); ComShopGoodsDO shopGoodsDO = new ComShopGoodsDO(); BeanUtils.copyProperties(addShopGoodsVO, shopGoodsDO); + shopGoodsDO.setOriginalPrice(addShopGoodsVO.getPrice()); int update = this.baseMapper.update(shopGoodsDO, query); if (update < 1) { throw new ServiceException("修改失败"); } - ArrayList<ComShopGoodsAttrDO> goodsAttrDOS = Lists.newArrayList(); - addShopGoodsVO.getGoodsAttrVOList().forEach(goodsAttr -> { - if (goodsAttr.getGoodsAttrId() == null) { - throw new ServiceException("规格Id为空"); + // 修改规格表 + List<ComShopGoodsAttrDO> comShopGoodsAttrDOS = shopGoodsAttrDAO + .selectList(new LambdaQueryWrapper<ComShopGoodsAttrDO>().eq(ComShopGoodsAttrDO::getGoodsId, id)); + if (addShopGoodsVO.getGoodsAttrVOList().size() == 0) { + shopGoodsAttrDAO + .delete(new LambdaQueryWrapper<ComShopGoodsAttrDO>().eq(ComShopGoodsAttrDO::getGoodsId, id)); + ComShopGoodsAttrDO comShopGoodsAttrDO = new ComShopGoodsAttrDO(); + comShopGoodsAttrDO.setGoodsId(id); + comShopGoodsAttrDO.setStoreId(addShopGoodsVO.getStoreId()); + comShopGoodsAttrDO.setGoodsName(addShopGoodsVO.getName()); + comShopGoodsAttrDO.setGoodsAttr("默认"); + comShopGoodsAttrDO.setAttrPic(addShopGoodsVO.getGoodsPic()); + comShopGoodsAttrDO.setIsDefault(1); + comShopGoodsAttrDO.setPrice(addShopGoodsVO.getPrice()); + shopGoodsAttrDAO.insert(comShopGoodsAttrDO); + } else { + List<Long> attrIds = + comShopGoodsAttrDOS.stream().map(ComShopGoodsAttrDO::getId).collect(Collectors.toList()); + List<Long> voAttrIds = addShopGoodsVO.getGoodsAttrVOList().stream().map(AddShopGoodsAttrVO::getGoodsAttrId) + .collect(Collectors.toList()); + // 需要删除的规格ID——针对编辑时删除了规格的情况 + List<Long> deleteIds = DifferentLongListUtil.getDiffrent(attrIds, voAttrIds); + if (deleteIds.size() != 0) { + shopGoodsAttrDAO.deleteBatchIds(deleteIds); } - //先删除 - ComShopGoodsAttrDO goodsAttrDO = goodsAttrService.getBaseMapper().selectById(goodsAttr.getGoodsAttrId()); - ComShopGoodsAttrDO shopGoodsAttrDO = new ComShopGoodsAttrDO(); - shopGoodsAttrDO.setGoodsId(id); - shopGoodsAttrDO.setStoreId(shopGoodsDO.getStoreId()); - shopGoodsAttrDO.setGoodsName(shopGoodsDO.getName()); - if (goodsAttrDO == null) { - //如果没有规格加默认 - shopGoodsAttrDO.setGoodsAttr(goodsAttr.getGoodsAttr()); - }else{ - shopGoodsAttrDO.setGoodsAttr("默认"); - } - shopGoodsAttrDO.setIsDefault(1); - shopGoodsAttrDO.setPrice(goodsAttr.getAttrPrice()); - goodsAttrDOS.add(shopGoodsAttrDO); - }); - if (goodsAttrDOS.size() > 0) { - LambdaQueryWrapper<ComShopGoodsAttrDO> oldGoodsAttrQuery = new LambdaQueryWrapper<ComShopGoodsAttrDO>().eq(ComShopGoodsAttrDO::getGoodsId, id); - //删除旧商品规格,再行添加 - goodsAttrService.getBaseMapper().delete(oldGoodsAttrQuery); - goodsAttrService.saveBatch(goodsAttrDOS); + addShopGoodsVO.getGoodsAttrVOList().forEach(goodsAttr -> { + ComShopGoodsAttrDO comShopGoodsAttrDO = shopGoodsAttrDAO.selectById(goodsAttr.getGoodsAttrId()); + if (comShopGoodsAttrDO != null) { + comShopGoodsAttrDO.setPrice(goodsAttr.getAttrPrice()); + comShopGoodsAttrDO.setGoodsAttr(goodsAttr.getGoodsAttr()); + shopGoodsAttrDAO.updateById(comShopGoodsAttrDO); + } else { + comShopGoodsAttrDO = new ComShopGoodsAttrDO(); + comShopGoodsAttrDO.setGoodsId(id); + comShopGoodsAttrDO.setStoreId(addShopGoodsVO.getStoreId()); + comShopGoodsAttrDO.setGoodsName(addShopGoodsVO.getName()); + comShopGoodsAttrDO.setGoodsAttr(goodsAttr.getGoodsAttr()); + comShopGoodsAttrDO.setAttrPic(addShopGoodsVO.getGoodsPic()); + comShopGoodsAttrDO.setIsDefault(1); + comShopGoodsAttrDO.setPrice(goodsAttr.getAttrPrice()); + shopGoodsAttrDAO.insert(comShopGoodsAttrDO); + } + }); } return R.ok(); } @Override public R deleteShopGoods(Long[] id) { - LambdaQueryWrapper<ComShopGoodsDO> query = new LambdaQueryWrapper<ComShopGoodsDO>().in(ComShopGoodsDO::getId, id); + LambdaQueryWrapper<ComShopGoodsDO> query = + new LambdaQueryWrapper<ComShopGoodsDO>().in(ComShopGoodsDO::getId, id); List<ComShopGoodsDO> comShopGoodsDOS = this.baseMapper.selectList(query); for (ComShopGoodsDO one : comShopGoodsDOS) { one.setDeleteStatus(2); @@ -180,17 +210,18 @@ /** * 分页查询商品列表 * - * @param comShopGoodsDTO 请求参数 + * @param comShopGoodsDTO + * 请求参数 * @return 商品列表 */ @Override - public R pageShopGoods(ComShopGoodsDTO comShopGoodsDTO){ - Page page = new Page<>(comShopGoodsDTO.getPageNum(),comShopGoodsDTO.getPageSize()); - IPage<ComShopGoodsVO> goodsVOIPage = this.baseMapper.pageShopGoodByApps(page,comShopGoodsDTO); - if(!goodsVOIPage.getRecords().isEmpty()){ + public R pageShopGoods(ComShopGoodsDTO comShopGoodsDTO) { + Page page = new Page<>(comShopGoodsDTO.getPageNum(), comShopGoodsDTO.getPageSize()); + IPage<ComShopGoodsVO> goodsVOIPage = this.baseMapper.pageShopGoodByApps(page, comShopGoodsDTO); + if (!goodsVOIPage.getRecords().isEmpty()) { goodsVOIPage.getRecords().forEach(goodsVo -> { List<ComShopGoodsAttrVO> goodsAttrList = shopGoodsAttrDAO.getGoodsAttr(goodsVo.getId()); - if(!goodsAttrList.isEmpty()){ + if (!goodsAttrList.isEmpty()) { goodsVo.setGoodsAttrList(goodsAttrList); } }); @@ -201,13 +232,14 @@ /** * 根据商品id查询商品信息 * - * @param goodsId 商品id + * @param goodsId + * 商品id * @return 商品信息 */ @Override public R shopGoodsDetail(Long goodsId) { - //根据id查询商品信息 + // 根据id查询商品信息 ComShopGoodsDO goodsDO = this.baseMapper.selectById(goodsId); if (goodsDO == null || goodsDO.getDeleteStatus().equals(ComShopGoodsDO.deleteStatus.yes)) { return R.fail(403, "商品不存在"); @@ -216,21 +248,22 @@ return R.fail(405, "商品已下架"); } - //根据商品id查询商品规格信息 + // 根据商品id查询商品规格信息 List<ComShopGoodsAttrVO> goodsAttrList = new ArrayList<>(); - List<ComShopGoodsAttrDO> goodsAttrDOS = shopGoodsAttrDAO.selectList(new QueryWrapper<ComShopGoodsAttrDO>().eq("goods_id", goodsId)); + List<ComShopGoodsAttrDO> goodsAttrDOS = + shopGoodsAttrDAO.selectList(new QueryWrapper<ComShopGoodsAttrDO>().eq("goods_id", goodsId)); goodsAttrDOS.forEach(attrDO -> { ComShopGoodsAttrVO goodsAttrVO = new ComShopGoodsAttrVO(); BeanUtils.copyProperties(attrDO, goodsAttrVO); goodsAttrList.add(goodsAttrVO); }); - //查询商品店铺信息 + // 查询商品店铺信息 ComShopStoreDO shopStoreDO = shopStoreDAO.selectById(goodsDO.getStoreId()); PageShopStoreVO shopStoreVO = new PageShopStoreVO(); BeanUtils.copyProperties(shopStoreDO, shopStoreVO); - //设置值 + // 设置值 ComShopGoodsVO shopGoods = new ComShopGoodsVO(); BeanUtils.copyProperties(goodsDO, shopGoods); shopGoods.setGoodsAttrList(goodsAttrList); -- Gitblit v1.7.1