xiangpei
2025-07-01 2f68e5600f0b60d6f8d170f4536e1fc410662ea7
buyer-api/src/main/java/cn/lili/controller/goods/GoodsBuyerController.java
@@ -1,8 +1,10 @@
package cn.lili.controller.goods;
import cn.lili.base.Result;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.utils.StringUtils;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.goods.entity.dos.Goods;
@@ -11,6 +13,7 @@
import cn.lili.modules.goods.entity.vos.GoodsVO;
import cn.lili.modules.goods.service.GoodsService;
import cn.lili.modules.goods.service.GoodsSkuService;
import cn.lili.modules.lmk.domain.query.VideoGoodsEsQuery;
import cn.lili.modules.search.entity.dos.EsGoodsIndex;
import cn.lili.modules.search.entity.dos.EsGoodsRelatedInfo;
import cn.lili.modules.search.entity.dto.EsGoodsSearchDTO;
@@ -18,6 +21,7 @@
import cn.lili.modules.search.service.HotWordsService;
import cn.lili.modules.statistics.aop.PageViewPoint;
import cn.lili.modules.statistics.aop.enums.PageViewEnum;
import cn.lili.utils.COSUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
@@ -66,6 +70,9 @@
    @Autowired
    private HotWordsService hotWordsService;
    @Autowired
    private COSUtil cosUtil;
    @ApiOperation(value = "通过id获取商品信息")
    @ApiImplicitParam(name = "goodsId", value = "商品ID", required = true, paramType = "path", dataType = "Long")
    @GetMapping(value = "/get/{goodsId}")
@@ -112,7 +119,29 @@
    @GetMapping("/es")
    public ResultMessage<Page<EsGoodsIndex>> getGoodsByPageFromEs(EsGoodsSearchDTO goodsSearchParams, PageVO pageVO) {
        pageVO.setNotConvert(true);
        return ResultUtil.data(goodsSearchService.searchGoodsByPage(goodsSearchParams, pageVO));
        Page<EsGoodsIndex> ePage = goodsSearchService.searchGoodsByPage(goodsSearchParams, pageVO);
        ePage.getRecords().forEach(item -> {
            String small = item.getSmall();
            String thumbnail = item.getThumbnail();
            String goodsVideo = item.getGoodsVideo();
            if (StringUtils.isNotBlank(small) && !small.contains("http")) {
                item.setSmall(cosUtil.getPreviewUrl(small));
            }
            if (StringUtils.isNotBlank(thumbnail) && !thumbnail.contains("http")) {
                item.setThumbnail(cosUtil.getPreviewUrl(thumbnail));
            }
            if (StringUtils.isNotBlank(goodsVideo) && !goodsVideo.contains("http")) {
                item.setGoodsVideo(cosUtil.getPreviewUrl(goodsVideo));
            }
        });
        return ResultUtil.data(ePage);
    }
    @ApiOperation(value = "商品分页-发布视频时关联商品")
    @GetMapping("/video/es")
    public Result videoGoodsEsPage(VideoGoodsEsQuery query) {
        return goodsSearchService.videoGoodsEsPage(query);
    }
    @ApiOperation(value = "从ES中获取相关商品品牌名称,分类名称及属性")