Files
FrameTour-BE/src/main/java/com/ycwl/basic/service/VideoReviewService.java
Jerry Yan 93744510ec feat(video): 完善视频评价功能,增加问题机位和标签管理
- 新增VideoReviewSourceEnum枚举,定义评价来源类型(订单、渲染)
- 添加LongListTypeHandler和StringListTypeHandler,处理数据库JSON字段与Java列表转换
- 修改VideoReviewEntity实体类,将机位评价改为问题机位ID列表和问题标签列表
- 创建AdminVideoReviewLogReqDTO和AdminVideoReviewLogRespDTO,实现管理后台评价日志查询
- 在VideoReviewController中增加管理后台分页查询评价日志接口
- 更新视频评价添加逻辑,验证来源参数并记录问题机位和标签信息
- 修改
2026-01-27 21:28:33 +08:00

72 lines
2.2 KiB
Java

package com.ycwl.basic.service;
import com.github.pagehelper.PageInfo;
import com.ycwl.basic.model.pc.videoreview.dto.AdminVideoReviewLogReqDTO;
import com.ycwl.basic.model.pc.videoreview.dto.AdminVideoReviewLogRespDTO;
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;
import com.ycwl.basic.model.pc.videoreview.dto.VideoReviewStatisticsRespDTO;
import java.io.IOException;
import java.io.OutputStream;
/**
* 视频评价Service接口
*/
public interface VideoReviewService {
/**
* 新增视频评价
*
* @param reqDTO 评价信息
* @return 评价ID
*/
Long addReview(VideoReviewAddReqDTO reqDTO);
/**
* 分页查询评价列表
*
* @param reqDTO 查询条件
* @return 分页结果
*/
PageInfo<VideoReviewRespDTO> getReviewList(VideoReviewListReqDTO reqDTO);
/**
* 管理后台分页查询评价日志
*
* @param reqDTO 查询条件
* @return 分页结果
*/
PageInfo<AdminVideoReviewLogRespDTO> getAdminReviewLogList(AdminVideoReviewLogReqDTO reqDTO);
/**
* 获取评价统计数据
*
* @return 统计结果
*/
VideoReviewStatisticsRespDTO getStatistics();
/**
* 导出评价数据到Excel
*
* @param reqDTO 查询条件
* @param outputStream 输出流
* @throws IOException IO异常
*/
void exportReviews(VideoReviewListReqDTO reqDTO, OutputStream outputStream) throws IOException;
/**
* 检查视频是否已被购买
* 购买条件:
* 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列表
*/
VideoPurchaseCheckRespDTO checkVideoPurchase(VideoPurchaseCheckReqDTO reqDTO);
}