From a61ecf76468b8edc8263b680bec75886cc6ce628 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Tue, 16 Sep 2025 14:39:43 +0800 Subject: [PATCH] =?UTF-8?q?refactor(mobile):=20=E9=87=8D=E6=9E=84=E5=95=86?= =?UTF-8?q?=E5=93=81=E9=A1=B5=E9=9D=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入 ScenicConfigManager 接口以更好地处理景点配置 - 优化源素材查询和处理逻辑 -改进商品类型的处理方式,增加未知商品类型处理 - 优化商品封面图的获取逻辑,优先使用景点配置中的封面图 --- .../service/mobile/impl/GoodsServiceImpl.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/ycwl/basic/service/mobile/impl/GoodsServiceImpl.java b/src/main/java/com/ycwl/basic/service/mobile/impl/GoodsServiceImpl.java index 51f5130f..a851c88b 100644 --- a/src/main/java/com/ycwl/basic/service/mobile/impl/GoodsServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/mobile/impl/GoodsServiceImpl.java @@ -2,6 +2,7 @@ package com.ycwl.basic.service.mobile.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.http.HttpUtil; +import com.ycwl.basic.integration.common.manager.ScenicConfigManager; import com.ycwl.basic.integration.scenic.dto.scenic.ScenicV2DTO; import com.ycwl.basic.utils.JacksonUtil; import com.ycwl.basic.biz.CouponBiz; @@ -147,27 +148,32 @@ public class GoodsServiceImpl implements GoodsService { sourceReqQuery.setMemberId(Long.valueOf(BaseContextHandler.getUserId())); //查询源素材 List sourceList = sourceMapper.queryByRelation(sourceReqQuery); - ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId); + ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId); List sourceGoods = sourceList.stream().collect(Collectors.groupingBy(SourceRespVO::getFaceId)).entrySet().stream().flatMap((faceEntry) -> { Long faceId = faceEntry.getKey(); List goods = faceEntry.getValue(); return goods.stream().collect(Collectors.groupingBy(SourceRespVO::getType)).keySet().stream().filter(type -> { if (Integer.valueOf(1).equals(type)) { - return !Boolean.TRUE.equals(scenicConfig.getDisableSourceVideo()); + return !Boolean.TRUE.equals(scenicConfig.getBoolean("disable_source_video")); } else if (Integer.valueOf(2).equals(type)) { - return !Boolean.TRUE.equals(scenicConfig.getDisableSourceImage()); + return !Boolean.TRUE.equals(scenicConfig.getBoolean("disable_source_image")); } return true; }).map(type -> { GoodsPageVO goodsPageVO = new GoodsPageVO(); - goodsPageVO.setTemplateCoverUrl(goods.getFirst().getUrl()); goodsPageVO.setFaceId(faceId); + goodsPageVO.setGoodsType(type); if (type == 1) { goodsPageVO.setGoodsName("录像集"); - goodsPageVO.setGoodsType(1); - } else { + goodsPageVO.setTemplateCoverUrl(scenicConfig.getString("video_cover_url")); + } else if (type == 2) { goodsPageVO.setGoodsName("照片集"); - goodsPageVO.setGoodsType(2); + goodsPageVO.setTemplateCoverUrl(scenicConfig.getString("photo_cover_url")); + } else { + goodsPageVO.setGoodsName("未知商品"); + } + if (StringUtils.isBlank(goodsPageVO.getTemplateCoverUrl())) { + goodsPageVO.setTemplateCoverUrl(goods.getFirst().getUrl()); } goodsPageVO.setScenicId(query.getScenicId()); return goodsPageVO;