From 2ee7e9320114017ac6b2d712f6bd5746dc04574b Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Fri, 31 Oct 2025 11:29:48 +0800 Subject: [PATCH] =?UTF-8?q?refactor(order):=E4=BC=98=E5=8C=96=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E4=B8=9A=E5=8A=A1=E9=80=BB=E8=BE=91=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E6=99=AF=E5=8C=BA=E4=BF=A1=E6=81=AF=E8=8E=B7=E5=8F=96=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除了对 ScenicEntity 的直接依赖 - 使用 scenicId 替代 scenic 对象以减少数据库查询 - 更新了 VLOG 和普通商品的价格计算逻辑 - 在下载通知任务中使用 ScenicV2DTO 替代 ScenicEntity - 统一通过 scenicRepository 获取景区基本信息的方法调用 --- src/main/java/com/ycwl/basic/biz/OrderBiz.java | 8 +++----- .../com/ycwl/basic/task/DownloadNotificationTasker.java | 4 ++-- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/ycwl/basic/biz/OrderBiz.java b/src/main/java/com/ycwl/basic/biz/OrderBiz.java index d0f1054b..d5acfbe1 100644 --- a/src/main/java/com/ycwl/basic/biz/OrderBiz.java +++ b/src/main/java/com/ycwl/basic/biz/OrderBiz.java @@ -16,7 +16,6 @@ import com.ycwl.basic.model.pc.order.entity.OrderItemEntity; import com.ycwl.basic.model.pc.order.resp.OrderAppRespVO; import com.ycwl.basic.model.pc.order.resp.OrderItemVO; import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity; -import com.ycwl.basic.model.pc.scenic.entity.ScenicEntity; import com.ycwl.basic.model.pc.source.entity.SourceEntity; import com.ycwl.basic.model.pc.task.entity.TaskEntity; import com.ycwl.basic.model.pc.template.resp.TemplateRespVO; @@ -87,7 +86,6 @@ public class OrderBiz { PriceObj priceObj = new PriceObj(); priceObj.setGoodsType(goodsType); priceObj.setGoodsId(goodsId); - ScenicEntity scenic = scenicRepository.getScenic(scenicId); ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId); if (scenicConfig != null) { if (Boolean.TRUE.equals(scenicConfig.getAllFree())) { @@ -117,7 +115,7 @@ public class OrderBiz { vlogProductItem.setProductType(ProductType.VLOG_VIDEO); vlogProductItem.setProductId(template.getId().toString()); vlogProductItem.setQuantity(videoTaskRepository.getTaskLensNum(video.getTaskId())); - vlogProductItem.setScenicId(scenic.getId().toString()); + vlogProductItem.setScenicId(scenicId.toString()); vlogCalculationRequest.setProducts(Collections.singletonList(vlogProductItem)); vlogCalculationRequest.setFaceId(priceObj.getFaceId()); PriceCalculationResult vlogCalculationResult = iPriceCalculationService.calculatePrice(vlogCalculationRequest); @@ -132,9 +130,9 @@ public class OrderBiz { PriceCalculationRequest calculationRequest = new PriceCalculationRequest(); ProductItem productItem = new ProductItem(); productItem.setProductType(goodsType == 1 ? ProductType.RECORDING_SET : ProductType.PHOTO_SET); - productItem.setProductId(scenic.getId().toString()); + productItem.setProductId(scenicId.toString()); productItem.setPurchaseCount(1); - productItem.setScenicId(scenic.getId().toString()); + productItem.setScenicId(scenicId.toString()); calculationRequest.setProducts(Collections.singletonList(productItem)); if (face != null) { calculationRequest.setUserId(face.getMemberId()); diff --git a/src/main/java/com/ycwl/basic/task/DownloadNotificationTasker.java b/src/main/java/com/ycwl/basic/task/DownloadNotificationTasker.java index 78e25ec9..92cd4c42 100644 --- a/src/main/java/com/ycwl/basic/task/DownloadNotificationTasker.java +++ b/src/main/java/com/ycwl/basic/task/DownloadNotificationTasker.java @@ -85,7 +85,7 @@ public class DownloadNotificationTasker { return; } - ScenicEntity scenic = scenicRepository.getScenic(item.getScenicId()); + ScenicV2DTO scenic = scenicRepository.getScenicBasic(item.getScenicId()); ScenicConfigManager configManager = scenicRepository.getScenicConfigManager(item.getScenicId()); String configTitle = configManager.getString("second_notification_title"); String configContent = configManager.getString("second_notification_content"); @@ -164,7 +164,7 @@ public class DownloadNotificationTasker { return; } - ScenicEntity scenic = scenicRepository.getScenic(item.getScenicId()); + ScenicV2DTO scenic = scenicRepository.getScenicBasic(item.getScenicId()); ScenicConfigManager configManager = scenicRepository.getScenicConfigManager(item.getScenicId()); String configTitle = configManager.getString("third_notification_title"); String configContent = configManager.getString("third_notification_content");