From 2e64c232ab6b51b2cecf1ee96e1e9b709234f326 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期六, 21 八月 2021 16:35:14 +0800 Subject: [PATCH] 随手拍改版接口开发 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopGoodsServiceImpl.java | 112 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 68 insertions(+), 44 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..39de643 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 @@ -13,6 +13,7 @@ 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.DifferentLongListUtil; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_community.dao.ComShopGoodsAttrDAO; import com.panzhihua.common.model.vos.shop.ComShopGoodsAttrVO; @@ -31,6 +32,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @auther lyq @@ -55,18 +57,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 +76,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 +102,13 @@ @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(); @@ -121,36 +131,50 @@ 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(); } @@ -184,13 +208,13 @@ * @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); } }); -- Gitblit v1.7.1