refactor(order):优化订单业务逻辑中的景区信息获取方式

- 移除了对 ScenicEntity 的直接依赖
- 使用 scenicId 替代 scenic 对象以减少数据库查询
- 更新了 VLOG 和普通商品的价格计算逻辑
- 在下载通知任务中使用 ScenicV2DTO 替代 ScenicEntity
- 统一通过 scenicRepository 获取景区基本信息的方法调用
This commit is contained in:
2025-10-31 11:29:48 +08:00
parent 65ae23a956
commit 2ee7e93201
2 changed files with 5 additions and 7 deletions

View File

@@ -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.OrderAppRespVO;
import com.ycwl.basic.model.pc.order.resp.OrderItemVO; 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.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.source.entity.SourceEntity;
import com.ycwl.basic.model.pc.task.entity.TaskEntity; import com.ycwl.basic.model.pc.task.entity.TaskEntity;
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO; import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
@@ -87,7 +86,6 @@ public class OrderBiz {
PriceObj priceObj = new PriceObj(); PriceObj priceObj = new PriceObj();
priceObj.setGoodsType(goodsType); priceObj.setGoodsType(goodsType);
priceObj.setGoodsId(goodsId); priceObj.setGoodsId(goodsId);
ScenicEntity scenic = scenicRepository.getScenic(scenicId);
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId); ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
if (scenicConfig != null) { if (scenicConfig != null) {
if (Boolean.TRUE.equals(scenicConfig.getAllFree())) { if (Boolean.TRUE.equals(scenicConfig.getAllFree())) {
@@ -117,7 +115,7 @@ public class OrderBiz {
vlogProductItem.setProductType(ProductType.VLOG_VIDEO); vlogProductItem.setProductType(ProductType.VLOG_VIDEO);
vlogProductItem.setProductId(template.getId().toString()); vlogProductItem.setProductId(template.getId().toString());
vlogProductItem.setQuantity(videoTaskRepository.getTaskLensNum(video.getTaskId())); vlogProductItem.setQuantity(videoTaskRepository.getTaskLensNum(video.getTaskId()));
vlogProductItem.setScenicId(scenic.getId().toString()); vlogProductItem.setScenicId(scenicId.toString());
vlogCalculationRequest.setProducts(Collections.singletonList(vlogProductItem)); vlogCalculationRequest.setProducts(Collections.singletonList(vlogProductItem));
vlogCalculationRequest.setFaceId(priceObj.getFaceId()); vlogCalculationRequest.setFaceId(priceObj.getFaceId());
PriceCalculationResult vlogCalculationResult = iPriceCalculationService.calculatePrice(vlogCalculationRequest); PriceCalculationResult vlogCalculationResult = iPriceCalculationService.calculatePrice(vlogCalculationRequest);
@@ -132,9 +130,9 @@ public class OrderBiz {
PriceCalculationRequest calculationRequest = new PriceCalculationRequest(); PriceCalculationRequest calculationRequest = new PriceCalculationRequest();
ProductItem productItem = new ProductItem(); ProductItem productItem = new ProductItem();
productItem.setProductType(goodsType == 1 ? ProductType.RECORDING_SET : ProductType.PHOTO_SET); productItem.setProductType(goodsType == 1 ? ProductType.RECORDING_SET : ProductType.PHOTO_SET);
productItem.setProductId(scenic.getId().toString()); productItem.setProductId(scenicId.toString());
productItem.setPurchaseCount(1); productItem.setPurchaseCount(1);
productItem.setScenicId(scenic.getId().toString()); productItem.setScenicId(scenicId.toString());
calculationRequest.setProducts(Collections.singletonList(productItem)); calculationRequest.setProducts(Collections.singletonList(productItem));
if (face != null) { if (face != null) {
calculationRequest.setUserId(face.getMemberId()); calculationRequest.setUserId(face.getMemberId());

View File

@@ -85,7 +85,7 @@ public class DownloadNotificationTasker {
return; return;
} }
ScenicEntity scenic = scenicRepository.getScenic(item.getScenicId()); ScenicV2DTO scenic = scenicRepository.getScenicBasic(item.getScenicId());
ScenicConfigManager configManager = scenicRepository.getScenicConfigManager(item.getScenicId()); ScenicConfigManager configManager = scenicRepository.getScenicConfigManager(item.getScenicId());
String configTitle = configManager.getString("second_notification_title"); String configTitle = configManager.getString("second_notification_title");
String configContent = configManager.getString("second_notification_content"); String configContent = configManager.getString("second_notification_content");
@@ -164,7 +164,7 @@ public class DownloadNotificationTasker {
return; return;
} }
ScenicEntity scenic = scenicRepository.getScenic(item.getScenicId()); ScenicV2DTO scenic = scenicRepository.getScenicBasic(item.getScenicId());
ScenicConfigManager configManager = scenicRepository.getScenicConfigManager(item.getScenicId()); ScenicConfigManager configManager = scenicRepository.getScenicConfigManager(item.getScenicId());
String configTitle = configManager.getString("third_notification_title"); String configTitle = configManager.getString("third_notification_title");
String configContent = configManager.getString("third_notification_content"); String configContent = configManager.getString("third_notification_content");