feat(AppOrderV2Controller):兼容旧版本 faceId 参数缺失处理

- 在 faceId 参数缺失时,增加兼容旧版本的处理逻辑
- 根据产品类型和产品 ID 获取 faceId,确保系统能够正常计算价格
This commit is contained in:
2025-09-08 21:37:23 +08:00
parent ad0888ccc7
commit 948bd0d2e2

View File

@@ -9,8 +9,10 @@ import com.ycwl.basic.model.pc.source.entity.MemberSourceEntity;
import com.ycwl.basic.model.pc.source.req.SourceReqQuery;
import com.ycwl.basic.model.pc.task.entity.TaskEntity;
import com.ycwl.basic.model.pc.video.entity.MemberVideoEntity;
import com.ycwl.basic.model.pc.video.entity.VideoEntity;
import com.ycwl.basic.pricing.enums.ProductType;
import com.ycwl.basic.repository.TemplateRepository;
import com.ycwl.basic.repository.VideoRepository;
import com.ycwl.basic.repository.VideoTaskRepository;
import com.ycwl.basic.service.pc.OrderService;
import com.ycwl.basic.utils.ApiResponse;
@@ -58,6 +60,7 @@ public class AppOrderV2Controller {
private final VideoMapper videoMapper;
private final VideoTaskRepository videoTaskRepository;
private final TemplateRepository templateRepository;
private final VideoRepository videoRepository;
/**
* 移动端价格计算
@@ -80,7 +83,17 @@ public class AppOrderV2Controller {
// 验证faceId参数
if (request.getFaceId() == null) {
log.warn("移动端价格计算:faceId参数缺失");
return ApiResponse.fail("faceId参数不能为空");
// return ApiResponse.fail("faceId参数不能为空");
// 兼容:兼容旧版本
ProductItem productItem = request.getProducts().getFirst();
switch (productItem.getProductType()) {
case VLOG_VIDEO -> {
VideoEntity video = videoRepository.getVideo(Long.valueOf(productItem.getProductId()));
TaskEntity task = videoTaskRepository.getTaskById(video.getTaskId());
request.setFaceId(task.getFaceId());
}
case RECORDING_SET, PHOTO_SET -> request.setFaceId(Long.valueOf(productItem.getProductId()));
}
}
// 查询人脸信息进行权限验证