peng
3 天以前 ef98f72cee0a50564724adee879b0849776ba997
framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java
@@ -18,6 +18,7 @@
import cn.lili.modules.goods.entity.dto.GoodsOperationDTO;
import cn.lili.modules.goods.entity.dto.GoodsParamsDTO;
import cn.lili.modules.goods.entity.dto.GoodsSearchParams;
import cn.lili.modules.goods.entity.dto.GoodsSortDTO;
import cn.lili.modules.goods.entity.enums.GoodsAuthEnum;
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
import cn.lili.modules.goods.entity.vos.GoodsSkuVO;
@@ -41,6 +42,7 @@
import cn.lili.mybatis.util.PageUtil;
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.rocketmq.tags.GoodsTagsEnum;
import cn.lili.utils.COSUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -121,6 +123,9 @@
    @Autowired
    private Cache<GoodsVO> cache;
    @Autowired
    private COSUtil cosUtil;
    @Override
    public List<Goods> getByBrandIds(List<String> brandIds) {
        LambdaQueryWrapper<Goods> lambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -172,7 +177,7 @@
        //检查商品
        this.checkGoods(goods);
        //向goods加入图片
        if (goodsOperationDTO.getGoodsGalleryList().size() > 0) {
        if (goodsOperationDTO.getGoodsGalleryList()!=null&& !goodsOperationDTO.getGoodsGalleryList().isEmpty()) {
            this.setGoodsGalleryParam(goodsOperationDTO.getGoodsGalleryList().get(0), goods);
        }
        //添加商品参数
@@ -201,15 +206,23 @@
        //检查商品信息
        this.checkGoods(goods);
        //向goods加入图片
        this.setGoodsGalleryParam(goodsOperationDTO.getGoodsGalleryList().get(0), goods);
        if (goodsOperationDTO.getGoodsGalleryList() != null&& !goodsOperationDTO.getGoodsGalleryList().isEmpty()) {
            this.setGoodsGalleryParam(goodsOperationDTO.getGoodsGalleryList().get(0), goods);
        }else {
            goods.setOriginal(null);
            goods.setSmall(null);
            goods.setThumbnail(null);
            goodsGalleryService.removeByGoodsId(goodsId);
        }
        //添加商品参数
        if (goodsOperationDTO.getGoodsParamsDTOList() != null && !goodsOperationDTO.getGoodsParamsDTOList().isEmpty()) {
            goods.setParams(JSONUtil.toJsonStr(goodsOperationDTO.getGoodsParamsDTOList()));
        }
        Goods previousGoods = this.getById(goodsId);
        //修改商品
        this.updateById(goods);
        //修改商品sku信息
        this.goodsSkuService.update(goods, goodsOperationDTO);
        this.goodsSkuService.update(goods, goodsOperationDTO,previousGoods);
        //添加相册
        if (goodsOperationDTO.getGoodsGalleryList() != null && !goodsOperationDTO.getGoodsGalleryList().isEmpty()) {
            this.goodsGalleryService.add(goodsOperationDTO.getGoodsGalleryList(), goods.getId());
@@ -227,6 +240,17 @@
        //缓存获取,如果没有则读取缓存
        GoodsVO goodsVO = cache.get(CachePrefix.GOODS.getPrefix() + goodsId);
        if (goodsVO != null) {
//            List<String> goodsGalleryList = goodsVO.getGoodsGalleryList();
//            if (goodsGalleryList != null && !goodsGalleryList.isEmpty()) {
//                List<String> galleryList = goodsGalleryList.stream().map(item -> {
//                    if (StringUtils.isNotBlank(item)&&!item.contains("http")) {
//                        return cosUtil.getPreviewUrl(item);
//                    }else {
//                        return item;
//                    }
//                }).collect(Collectors.toList());
//                goodsVO.setGoodsGalleryList(galleryList);
//            }
            return goodsVO;
        }
        //查询商品信息
@@ -245,6 +269,12 @@
        List<GoodsGallery> galleryList = goodsGalleryService.goodsGalleryList(goodsId);
        for (GoodsGallery goodsGallery : galleryList) {
            images.add(goodsGallery.getOriginal());
//            String original = goodsGallery.getOriginal();
//            if (StringUtils.isNotBlank(original)&&!original.contains("http")) {
//                images.add(cosUtil.getPreviewUrl(original));
//            }else {
//                images.add(goodsGallery.getOriginal());
//            }
        }
        goodsVO.setGoodsGalleryList(images);
        //商品sku赋值
@@ -394,6 +424,22 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Boolean goodsSort(GoodsSortDTO req) {
        boolean result;
        //检测管理员权限
        this.checkManagerAuthority();
        LambdaUpdateWrapper<Goods> updateWrapper = new LambdaUpdateWrapper<>();
        updateWrapper.set(Goods::getGoodsSort,req.getSort());
        updateWrapper.eq(Goods::getId, req.getGoodsId());
        result = this.update(updateWrapper);
        List<String> goodsIds = new ArrayList<>();
        goodsIds.add(req.getGoodsId());
        this.updateEsGoods(goodsIds);
        return result;
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    @SystemLogPoint(description = "删除商品", customerLog = "'操作对象:['+#goodsIds+']'")
    public Boolean deleteGoods(List<String> goodsIds) {