| | |
| | | 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; |
| | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @auther lyq |
| | |
| | | if (update < 1) { |
| | | throw new ServiceException("修改失败"); |
| | | } |
| | | addShopGoodsVO.getGoodsAttrVOList().forEach(goodsAttr -> { |
| | | ComShopGoodsAttrDO comShopGoodsAttrDO = shopGoodsAttrDAO.selectById(goodsAttr.getGoodsAttrId()); |
| | | comShopGoodsAttrDO.setPrice(goodsAttr.getAttrPrice()); |
| | | comShopGoodsAttrDO.setGoodsAttr(goodsAttr.getGoodsAttr()); |
| | | shopGoodsAttrDAO.updateById(comShopGoodsAttrDO); |
| | | }); |
| | | //修改规格表 |
| | | 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.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); |
| | | } |
| | | addShopGoodsVO.getGoodsAttrVOList().forEach(goodsAttr -> { |
| | | ComShopGoodsAttrDO comShopGoodsAttrDO = shopGoodsAttrDAO.selectById(goodsAttr.getGoodsAttrId()); |
| | | comShopGoodsAttrDO.setPrice(goodsAttr.getAttrPrice()); |
| | | comShopGoodsAttrDO.setGoodsAttr(goodsAttr.getGoodsAttr()); |
| | | shopGoodsAttrDAO.updateById(comShopGoodsAttrDO); |
| | | }); |
| | | } |
| | | return R.ok(); |
| | | } |