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 | 71 ++++++++++++++++++++++------------- 1 files changed, 45 insertions(+), 26 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 ac3daff..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,6 +57,7 @@ String[] images = addShopGoodsVO.getGoodsPic().split(","); ComShopGoodsDO shopGoodsDO = new ComShopGoodsDO(); BeanUtils.copyProperties(addShopGoodsVO, shopGoodsDO); + shopGoodsDO.setOriginalPrice(addShopGoodsVO.getPrice()); if (images.length > 1) { shopGoodsDO.setGoodsPic(images[0]); } @@ -99,7 +102,9 @@ @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()) { comShopStoreVOIPage.getRecords().forEach(shopGoods -> { @@ -126,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("默认"); - } else { - shopGoodsAttrDO.setGoodsAttr(goodsAttr.getGoodsAttr()); - } - 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(); } -- Gitblit v1.7.1