提交 d783f347 作者: 洪东保

相同会议id、子会议id会有不同的recordId

父级 f35e50be
...@@ -192,13 +192,25 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper, ...@@ -192,13 +192,25 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,
subMeetingId = historyMeeting.getSubMeetingId(); subMeetingId = historyMeeting.getSubMeetingId();
} }
List<CorpRecordsVO.RecordFile> recordFiles = meeting.getRecordFiles();
//按转录文件时间升序,便于后续的内容拼接
List<String> recordFileIdList = recordFiles.stream().sorted(Comparator.comparingLong(CorpRecordsVO.RecordFile::getRecordStartTime))
.map(CorpRecordsVO.RecordFile::getRecordFileId).collect(Collectors.toList());
Set<String> set1 = new HashSet<>(recordFileIdList);
//如果数据库中已有相同会议id的记录,跳过同步 //如果数据库中已有相同会议id的记录,跳过同步
String finalSubMeetingId = subMeetingId; String finalSubMeetingId = subMeetingId;
if (meetingIds.stream().noneMatch(item -> item.getMeetingId().equals(meetingId) && Objects.equals(item.getSubMeetingId(), finalSubMeetingId))) { if(meetingIds.stream().noneMatch
List<CorpRecordsVO.RecordFile> recordFiles = meeting.getRecordFiles(); (
//按转录文件时间升序,便于后续的内容拼接 item->item.getMeetingId().equals(meetingId)
List<String> recordFileIdList = recordFiles.stream().sorted(Comparator.comparingLong(CorpRecordsVO.RecordFile::getRecordStartTime)) && Objects.equals(item.getSubMeetingId(), finalSubMeetingId)
.map(CorpRecordsVO.RecordFile::getRecordFileId).collect(Collectors.toList()); && set1.equals(new HashSet<>(Arrays.asList(item.getRecordFileId().split(","))))
)
){
log.info("【会议检索】新的会议meetingId->{}, subId: {} ,recordIds: {}",meeting.getMeetingId(), finalSubMeetingId, String.join(",", recordFileIdList));
String hostId;
String hostName; String hostName;
//优先使用会议列表中已有的主持人字段 //优先使用会议列表中已有的主持人字段
if (StringUtils.isNotEmpty(meeting.getHostUserId())) { if (StringUtils.isNotEmpty(meeting.getHostUserId())) {
...@@ -218,7 +230,7 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper, ...@@ -218,7 +230,7 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,
if (!CollectionUtils.isEmpty(meetingInfo.getCurrentHosts())) { if (!CollectionUtils.isEmpty(meetingInfo.getCurrentHosts())) {
log.info("尝试从会议详情中获取主持人信息"); log.info("尝试从会议详情中获取主持人信息");
hostId = meetingInfo.getCurrentHosts().get(0).getUserid(); hostId = meetingInfo.getCurrentHosts().get(0).getUserid();
hostName = meetingMap.getOrDefault(hostId, null); hostName = meetingMap.containsKey(hostId) ? meetingMap.get(hostId) :null;
} else { } else {
// 用户角色 // 用户角色
// 0:普通成员角色 1:创建者角色 2:主持人 3:创建者+主持人 4:游客 5:游客+主持人 6:联席主持人 7:创建者+联席主持人 // 0:普通成员角色 1:创建者角色 2:主持人 3:创建者+主持人 4:游客 5:游客+主持人 6:联席主持人 7:创建者+联席主持人
...@@ -235,7 +247,6 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper, ...@@ -235,7 +247,6 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,
hostName = new String(Base64.getDecoder().decode(host.get().getUserName())); hostName = new String(Base64.getDecoder().decode(host.get().getUserName()));
}else{ }else{
log.error("未找到主持人,默认没有生成纪要权限, meetId: {}, subId: {}", meetingId, subMeetingId); log.error("未找到主持人,默认没有生成纪要权限, meetId: {}, subId: {}", meetingId, subMeetingId);
// processLogService.log(meeting.getMeetingId(),subMeetingId,"未找到主持人,默认没有生成纪要权限");
continue; continue;
} }
} }
......
...@@ -42,5 +42,7 @@ public class TencentMeetingVO { ...@@ -42,5 +42,7 @@ public class TencentMeetingVO {
public static class SimpleMeetingInfo{ public static class SimpleMeetingInfo{
private String meetingId;//如果是周期会议,这个id表示主会议 private String meetingId;//如果是周期会议,这个id表示主会议
private String subMeetingId;//如果是周期会议,这个id表示子会议 private String subMeetingId;//如果是周期会议,这个id表示子会议
private String recordFileId;// 会议记录id,多个以","分隔
} }
} }
\ No newline at end of file
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
</foreach> </foreach>
</insert> </insert>
<select id="getAllMeetingIds" resultType="com.cmeeting.vo.TencentMeetingVO$SimpleMeetingInfo"> <select id="getAllMeetingIds" resultType="com.cmeeting.vo.TencentMeetingVO$SimpleMeetingInfo">
select meeting_id,sub_meeting_id from cmt_meeting_info select meeting_id,sub_meeting_id,record_file_id from cmt_meeting_info
</select> </select>
<select id="statistics" resultType="java.util.LinkedHashMap"> <select id="statistics" resultType="java.util.LinkedHashMap">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论