You've already forked FrameTour-BE
feat(videoreview): 添加视频购买状态检查功能
- 在VideoReviewController中新增/check-purchase接口用于检查视频是否被购买 - 扩展OrderMapper接口,增加根据视频ID和模板ID查询订单ID的方法 - 在VideoReviewServiceImpl中实现checkVideoPurchase方法,支持两种购买方式判断 - 完善相关DTO类引入及Mapper XML配置文件的SQL查询逻辑 - 实现直接购买视频和通过模板购买的双重购买状态检测机制 - 添加详细的日志记录便于后续追踪与调试
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package com.ycwl.basic.controller;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.model.pc.videoreview.dto.VideoPurchaseCheckReqDTO;
|
||||
import com.ycwl.basic.model.pc.videoreview.dto.VideoPurchaseCheckRespDTO;
|
||||
import com.ycwl.basic.model.pc.videoreview.dto.VideoReviewAddReqDTO;
|
||||
import com.ycwl.basic.model.pc.videoreview.dto.VideoReviewListReqDTO;
|
||||
import com.ycwl.basic.model.pc.videoreview.dto.VideoReviewRespDTO;
|
||||
@@ -91,4 +93,20 @@ public class VideoReviewController {
|
||||
throw new RuntimeException("导出失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查视频是否已被购买
|
||||
* 购买条件:
|
||||
* 1. 直接购买视频(order_item中goods_type=0且goods_id=视频id)
|
||||
* 2. 购买整个模板(order的face_id与video关联的task的face_id相同,goods_type=-1,goods_id为video的templateId)
|
||||
*
|
||||
* @param reqDTO 查询条件
|
||||
* @return 购买状态及订单ID列表
|
||||
*/
|
||||
@PostMapping("/check-purchase")
|
||||
public ApiResponse<VideoPurchaseCheckRespDTO> checkVideoPurchase(@RequestBody VideoPurchaseCheckReqDTO reqDTO) {
|
||||
log.info("检查视频购买状态,videoId: {}", reqDTO.getVideoId());
|
||||
VideoPurchaseCheckRespDTO respDTO = videoReviewService.checkVideoPurchase(reqDTO);
|
||||
return ApiResponse.success(respDTO);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user