jisti-meet服务开启
This commit is contained in:
@@ -34,6 +34,9 @@ public class TbVideoMeetingDTO extends BaseDTO {
|
||||
@Schema(description = "会议密码")
|
||||
private String meetingPassword;
|
||||
|
||||
@Schema(description = "会议模式")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "JWT Token")
|
||||
private String jwtToken;
|
||||
|
||||
@@ -46,9 +49,6 @@ public class TbVideoMeetingDTO extends BaseDTO {
|
||||
@Schema(description = "状态:scheduled-已安排 ongoing-进行中 ended-已结束 cancelled-已取消")
|
||||
private String status;
|
||||
|
||||
@Schema(description = "创建者ID")
|
||||
private String creatorId;
|
||||
|
||||
@Schema(description = "创建者类型:guest-来客 agent-客服")
|
||||
private String creatorType;
|
||||
|
||||
@@ -61,6 +61,15 @@ public class TbVideoMeetingDTO extends BaseDTO {
|
||||
@Schema(description = "最大参与人数")
|
||||
private Integer maxParticipants;
|
||||
|
||||
@Schema(description = "定义会议开始时间")
|
||||
private Date startTime;
|
||||
|
||||
@Schema(description = "定义会议结束时间")
|
||||
private Date endTime;
|
||||
|
||||
@Schema(description = "提前入会时间(分钟)")
|
||||
private Integer advance;
|
||||
|
||||
@Schema(description = "实际开始时间")
|
||||
private Date actualStartTime;
|
||||
|
||||
|
||||
@@ -1,186 +0,0 @@
|
||||
package org.xyzh.api.workcase.service;
|
||||
|
||||
import org.xyzh.api.workcase.dto.TbVideoMeetingDTO;
|
||||
import org.xyzh.api.workcase.dto.TbMeetingParticipantDTO;
|
||||
import org.xyzh.api.workcase.dto.TbMeetingTranscriptionDTO;
|
||||
import org.xyzh.api.workcase.vo.VideoMeetingVO;
|
||||
import org.xyzh.api.workcase.vo.MeetingParticipantVO;
|
||||
import org.xyzh.api.workcase.vo.MeetingTranscriptionVO;
|
||||
import org.xyzh.common.core.domain.ResultDomain;
|
||||
import org.xyzh.common.core.page.PageRequest;
|
||||
|
||||
/**
|
||||
* @description 视频会议服务接口,管理Jitsi Meet会议、参与者和转录
|
||||
* @filename MeetService.java
|
||||
* @author cascade
|
||||
* @copyright xyzh
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
public interface MeetService {
|
||||
|
||||
// ========================= 会议管理 ==========================
|
||||
|
||||
/**
|
||||
* @description 创建视频会议
|
||||
* @param meeting 会议信息
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<TbVideoMeetingDTO> createMeeting(TbVideoMeetingDTO meeting);
|
||||
|
||||
/**
|
||||
* @description 更新会议信息
|
||||
* @param meeting 会议信息
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<TbVideoMeetingDTO> updateMeeting(TbVideoMeetingDTO meeting);
|
||||
|
||||
/**
|
||||
* @description 开始会议
|
||||
* @param meetingId 会议ID
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<TbVideoMeetingDTO> startMeeting(String meetingId);
|
||||
|
||||
/**
|
||||
* @description 结束会议
|
||||
* @param meetingId 会议ID
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<TbVideoMeetingDTO> endMeeting(String meetingId);
|
||||
|
||||
/**
|
||||
* @description 删除会议
|
||||
* @param meetingId 会议ID
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<Boolean> deleteMeeting(String meetingId);
|
||||
|
||||
/**
|
||||
* @description 根据ID获取会议
|
||||
* @param meetingId 会议ID
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<TbVideoMeetingDTO> getMeetingById(String meetingId);
|
||||
|
||||
/**
|
||||
* @description 获取会议列表/分页
|
||||
* @param pageRequest 分页请求
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<VideoMeetingVO> getMeetingPage(PageRequest<TbVideoMeetingDTO> pageRequest);
|
||||
|
||||
/**
|
||||
* @description 生成会议加入链接/iframe URL
|
||||
* @param meetingId 会议ID
|
||||
* @param userId 用户ID
|
||||
* @param userName 用户名称
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<String> generateMeetingJoinUrl(String meetingId, String userId, String userName);
|
||||
|
||||
/**
|
||||
* @description 生成会议JWT Token
|
||||
* @param meetingId 会议ID
|
||||
* @param userId 用户ID
|
||||
* @param isModerator 是否主持人
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<String> generateMeetingToken(String meetingId, String userId, boolean isModerator);
|
||||
|
||||
// ========================= 参与者管理 ==========================
|
||||
|
||||
/**
|
||||
* @description 参与者加入会议
|
||||
* @param participant 参与者信息
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<TbMeetingParticipantDTO> joinMeeting(TbMeetingParticipantDTO participant);
|
||||
|
||||
/**
|
||||
* @description 参与者离开会议
|
||||
* @param participantId 参与者ID
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<Boolean> leaveMeeting(String participantId);
|
||||
|
||||
/**
|
||||
* @description 获取会议参与者列表
|
||||
* @param meetingId 会议ID
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<MeetingParticipantVO> getMeetingParticipantList(String meetingId);
|
||||
|
||||
/**
|
||||
* @description 更新参与者信息
|
||||
* @param participant 参与者信息
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<TbMeetingParticipantDTO> updateParticipant(TbMeetingParticipantDTO participant);
|
||||
|
||||
/**
|
||||
* @description 设置参与者为主持人
|
||||
* @param participantId 参与者ID
|
||||
* @param isModerator 是否主持人
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<Boolean> setModerator(String participantId, boolean isModerator);
|
||||
|
||||
// ========================= 转录管理 ==========================
|
||||
|
||||
/**
|
||||
* @description 添加转录记录
|
||||
* @param transcription 转录内容
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<TbMeetingTranscriptionDTO> addTranscription(TbMeetingTranscriptionDTO transcription);
|
||||
|
||||
/**
|
||||
* @description 获取会议转录列表/分页
|
||||
* @param pageRequest 分页请求
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<MeetingTranscriptionVO> getTranscriptionPage(PageRequest<TbMeetingTranscriptionDTO> pageRequest);
|
||||
|
||||
/**
|
||||
* @description 获取会议完整转录文本
|
||||
* @param meetingId 会议ID
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<String> getFullTranscriptionText(String meetingId);
|
||||
|
||||
/**
|
||||
* @description 删除转录记录
|
||||
* @param transcriptionId 转录ID
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<Boolean> deleteTranscription(String transcriptionId);
|
||||
|
||||
// ========================= 会议统计 ==========================
|
||||
|
||||
/**
|
||||
* @description 获取会议统计信息(参与人数、时长等)
|
||||
* @param meetingId 会议ID
|
||||
* @author cascade
|
||||
* @since 2025-12-22
|
||||
*/
|
||||
ResultDomain<VideoMeetingVO> getMeetingStatistics(String meetingId);
|
||||
|
||||
}
|
||||
@@ -33,6 +33,10 @@ public class VideoMeetingVO extends BaseVO {
|
||||
@Schema(description = "会议密码")
|
||||
private String meetingPassword;
|
||||
|
||||
@Schema(description = "会议模式")
|
||||
private String description;
|
||||
|
||||
|
||||
@Schema(description = "JWT Token(用于身份验证)")
|
||||
private String jwtToken;
|
||||
|
||||
@@ -45,9 +49,6 @@ public class VideoMeetingVO extends BaseVO {
|
||||
@Schema(description = "状态:scheduled-已安排 ongoing-进行中 ended-已结束 cancelled-已取消")
|
||||
private String status;
|
||||
|
||||
@Schema(description = "创建者ID")
|
||||
private String creatorId;
|
||||
|
||||
@Schema(description = "创建者类型:guest-来客 agent-客服")
|
||||
private String creatorType;
|
||||
|
||||
@@ -59,6 +60,17 @@ public class VideoMeetingVO extends BaseVO {
|
||||
|
||||
@Schema(description = "最大参与人数")
|
||||
private Integer maxParticipants;
|
||||
|
||||
@Schema(description = "定义会议开始时间", format = "date-time")
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date startTime;
|
||||
|
||||
@Schema(description = "定义会议结束时间", format = "date-time")
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date endTime;
|
||||
|
||||
@Schema(description = "提前入会时间(分钟)")
|
||||
private Integer advance;
|
||||
|
||||
@Schema(description = "实际开始时间", format = "date-time")
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
|
||||
Reference in New Issue
Block a user