提交 1cda0f73 作者: 洪东保

meetingRecordId;

父级 1167fa1d
...@@ -254,6 +254,7 @@ public class MeetingInfoController { ...@@ -254,6 +254,7 @@ public class MeetingInfoController {
EmailPush emailPushBuilder = EmailPush.builder() EmailPush emailPushBuilder = EmailPush.builder()
.toEmail(meetingInfo.getEmail()) .toEmail(meetingInfo.getEmail())
.meetingId(meetingInfo.getMeetingId()) .meetingId(meetingInfo.getMeetingId())
.meetingRecordId(meetingInfo.getMeetingRecordId())
.attachments(attachments) .attachments(attachments)
.subject(meetingInfo.getSubject()) .subject(meetingInfo.getSubject())
.meetingInstanceId(meetingInfo.getId()) .meetingInstanceId(meetingInfo.getId())
......
...@@ -81,6 +81,7 @@ public class EmailSender { ...@@ -81,6 +81,7 @@ public class EmailSender {
Boolean isSent = false; Boolean isSent = false;
String toEmail = "test".equals(environment) ? testReceiver : emailPushBuilder.getToEmail(); String toEmail = "test".equals(environment) ? testReceiver : emailPushBuilder.getToEmail();
String subject = emailPushBuilder.getSubject(); String subject = emailPushBuilder.getSubject();
String meetingRecordId = emailPushBuilder.getMeetingRecordId();
String meetingId = emailPushBuilder.getMeetingId(); String meetingId = emailPushBuilder.getMeetingId();
String subMeetingId = emailPushBuilder.getSubMeetingId(); String subMeetingId = emailPushBuilder.getSubMeetingId();
Integer meetingInstanceId = emailPushBuilder.getMeetingInstanceId(); Integer meetingInstanceId = emailPushBuilder.getMeetingInstanceId();
...@@ -174,7 +175,7 @@ public class EmailSender { ...@@ -174,7 +175,7 @@ public class EmailSender {
.buildRequest() .buildRequest()
.post(); .post();
log.info("邮件已成功发送: meetingId->{}, subMeetingId->{}", meetingId, subMeetingId); log.info("邮件已成功发送: meetingRecordId->{}", meetingRecordId);
isSent = true; isSent = true;
}catch (Exception e) { }catch (Exception e) {
retryCount.getAndIncrement(); retryCount.getAndIncrement();
......
...@@ -35,7 +35,7 @@ import java.util.concurrent.atomic.AtomicInteger; ...@@ -35,7 +35,7 @@ import java.util.concurrent.atomic.AtomicInteger;
@Slf4j @Slf4j
@Service @Service
public class EmailPushTask { public class EmailPushTask {
private List<String> recordFileIdList; private String meetingRecordId;
private String meetingId; private String meetingId;
private String subMeetingId; private String subMeetingId;
private String savePath; private String savePath;
...@@ -54,8 +54,7 @@ public class EmailPushTask { ...@@ -54,8 +54,7 @@ public class EmailPushTask {
// 实际处理逻辑 // 实际处理逻辑
public void process() { public void process() {
String join = String.join(",", recordFileIdList); String key = "meet_process-" + meetingRecordId;
String key = "meet_process" + meetingId + "_" + (subMeetingId == null ? "" : subMeetingId) + "_" + join;
if (!redisUtils.setnx(key, 1, 120)) { if (!redisUtils.setnx(key, 1, 120)) {
log.warn("key already exists in redis!, key: {}", key); log.warn("key already exists in redis!, key: {}", key);
return; return;
...@@ -65,9 +64,7 @@ public class EmailPushTask { ...@@ -65,9 +64,7 @@ public class EmailPushTask {
Boolean isSuccess = false; Boolean isSuccess = false;
AtomicInteger retryCount = new AtomicInteger(0); AtomicInteger retryCount = new AtomicInteger(0);
MeetingInfo meetingInfo = meetingInfoMapper.selectOne(new LambdaQueryWrapper<MeetingInfo>() MeetingInfo meetingInfo = meetingInfoMapper.selectOne(new LambdaQueryWrapper<MeetingInfo>()
.eq(MeetingInfo::getMeetingId,meetingId) .eq(MeetingInfo::getMeetingRecordId, meetingRecordId));
.eq(subMeetingId != null, MeetingInfo::getSubMeetingId, subMeetingId)
.eq(MeetingInfo::getRecordFileId, join));
if (meetingInfo.getIsPushed()) { if (meetingInfo.getIsPushed()) {
log.warn("邮件已推送, meetingId: {}", meetingId); log.warn("邮件已推送, meetingId: {}", meetingId);
return; return;
...@@ -127,6 +124,7 @@ public class EmailPushTask { ...@@ -127,6 +124,7 @@ public class EmailPushTask {
EmailPush emailPushBuilder = EmailPush.builder() EmailPush emailPushBuilder = EmailPush.builder()
.toEmail(meetingInfo.getEmail()) .toEmail(meetingInfo.getEmail())
.meetingId(meetingId) .meetingId(meetingId)
.meetingRecordId(meetingRecordId)
.attachments(attachments) .attachments(attachments)
.subject(meetingInfo.getSubject()) .subject(meetingInfo.getSubject())
.meetingInstanceId(meetingInfo.getId()) .meetingInstanceId(meetingInfo.getId())
...@@ -157,9 +155,7 @@ public class EmailPushTask { ...@@ -157,9 +155,7 @@ public class EmailPushTask {
if (isSuccess != null) { if (isSuccess != null) {
meetingInfoMapper.update(meetingInfo, meetingInfoMapper.update(meetingInfo,
new LambdaUpdateWrapper<MeetingInfo>() new LambdaUpdateWrapper<MeetingInfo>()
.eq(MeetingInfo::getMeetingId,meetingId) .eq(MeetingInfo::getMeetingRecordId, meetingRecordId)
.eq(subMeetingId != null, MeetingInfo::getSubMeetingId, subMeetingId)
.eq(MeetingInfo::getRecordFileId, join)
.set(MeetingInfo::getIsPushed,isSuccess) .set(MeetingInfo::getIsPushed,isSuccess)
.set(MeetingInfo::getStatus, isSuccess ? MeetingState.PUSH_SUCCESS.getCode() : MeetingState.PUSH_ERROR.getCode()) .set(MeetingInfo::getStatus, isSuccess ? MeetingState.PUSH_SUCCESS.getCode() : MeetingState.PUSH_ERROR.getCode())
.set(MeetingInfo::getPushRetry, Boolean.TRUE) .set(MeetingInfo::getPushRetry, Boolean.TRUE)
...@@ -206,12 +202,12 @@ public class EmailPushTask { ...@@ -206,12 +202,12 @@ public class EmailPushTask {
} }
public EmailPushTask(List<String> recordFileIdList, String meetingId, String subMeetingId, String savePath, Map<String, Object> metadata, public EmailPushTask(String meetingRecordId, String meetingId, String subMeetingId, String savePath, Map<String, Object> metadata,
MeetingInfoMapper meetingInfoMapper, MinioUtils minioUtils, RedisUtils redisUtils, EmailSender emailSender, MeetingInfoMapper meetingInfoMapper, MinioUtils minioUtils, RedisUtils redisUtils, EmailSender emailSender,
MeetingRecordTemplateMapper meetingRecordTemplateMapper, Map<String,String> tidWidRelations, String aesKey) { MeetingRecordTemplateMapper meetingRecordTemplateMapper, Map<String,String> tidWidRelations, String aesKey) {
this.recordFileIdList = recordFileIdList;
this.savePath = savePath; this.savePath = savePath;
this.metadata = metadata; this.metadata = metadata;
this.meetingRecordId = meetingRecordId;
this.meetingId = meetingId; this.meetingId = meetingId;
this.subMeetingId = subMeetingId; this.subMeetingId = subMeetingId;
this.meetingInfoMapper = meetingInfoMapper; this.meetingInfoMapper = meetingInfoMapper;
......
...@@ -72,6 +72,7 @@ import java.util.stream.Collectors; ...@@ -72,6 +72,7 @@ import java.util.stream.Collectors;
@Service @Service
public class FileProcessTask { public class FileProcessTask {
private List<String> recordFileIdList; private List<String> recordFileIdList;
private String meetingRecordId;
private String meetingId; private String meetingId;
private String subMeetingId; private String subMeetingId;
private String savePath; private String savePath;
...@@ -114,8 +115,7 @@ public class FileProcessTask { ...@@ -114,8 +115,7 @@ public class FileProcessTask {
// 实际处理逻辑 // 实际处理逻辑
public void process() { public void process() {
boolean isSuccess = false; boolean isSuccess = false;
String join = String.join(",", recordFileIdList); String key = "meet_process-" + meetingRecordId;
String key = "meet_process" + meetingId + "_" + (subMeetingId == null ? "" : subMeetingId) + "_" + join;
if (!redisUtils.setnx(key, 1, 240)) { if (!redisUtils.setnx(key, 1, 240)) {
log.warn("key already exists in redis!, key: {}", key); log.warn("key already exists in redis!, key: {}", key);
return; return;
...@@ -131,9 +131,7 @@ public class FileProcessTask { ...@@ -131,9 +131,7 @@ public class FileProcessTask {
try { try {
//已保存的会议信息 //已保存的会议信息
MeetingInfo meetingInfo = meetingInfoMapper.selectOne(new LambdaQueryWrapper<MeetingInfo>() MeetingInfo meetingInfo = meetingInfoMapper.selectOne(new LambdaQueryWrapper<MeetingInfo>()
.eq(MeetingInfo::getMeetingId,meetingId) .eq(MeetingInfo::getMeetingRecordId, meetingRecordId));
.eq(MeetingInfo::getRecordFileId, join)
.eq(subMeetingId != null, MeetingInfo::getSubMeetingId, subMeetingId));
if (meetingInfo.getIsGenerated()) { if (meetingInfo.getIsGenerated()) {
log.warn("Generating is down, meetingId: {}, subMeetingId: {}", meetingInfo.getMeetingId(), meetingInfo.getSubMeetingId()); log.warn("Generating is down, meetingId: {}, subMeetingId: {}", meetingInfo.getMeetingId(), meetingInfo.getSubMeetingId());
return; return;
...@@ -227,7 +225,7 @@ public class FileProcessTask { ...@@ -227,7 +225,7 @@ public class FileProcessTask {
//每场会议可能会分段录制,查出每个文件的转录记录后拼接 //每场会议可能会分段录制,查出每个文件的转录记录后拼接
StringBuffer recordTextBuffer = new StringBuffer(); StringBuffer recordTextBuffer = new StringBuffer();
for (String recordFileId : recordFileIdList) { for (String recordFileId : recordFileIdList) {
log.info("下载转录文件, recordFileId: {}", recordFileId); log.info("下载转录文件, meetingRecordId:{}, recordFileId: {}", meetingRecordId, recordFileId);
//查询录制转写详情 //查询录制转写详情
RecordsApi.ApiV1AddressesRecordFileIdGetRequest addressRequest = RecordsApi.ApiV1AddressesRecordFileIdGetRequest addressRequest =
new RecordsApi.ApiV1AddressesRecordFileIdGetRequest.Builder(recordFileId) new RecordsApi.ApiV1AddressesRecordFileIdGetRequest.Builder(recordFileId)
...@@ -248,8 +246,7 @@ public class FileProcessTask { ...@@ -248,8 +246,7 @@ public class FileProcessTask {
addressData.getAiMeetingTranscripts(); addressData.getAiMeetingTranscripts();
if (transcripts != null && !transcripts.isEmpty()) { if (transcripts != null && !transcripts.isEmpty()) {
log.info("Found {} AI meeting transcripts for record file {}", log.info("Found {} AI meeting transcripts for record file {}", transcripts.size(), recordFileId);
transcripts.size(), recordFileId);
// 处理每个转录文件 // 处理每个转录文件
for (V1AddressesRecordFileIdGet200ResponseAiMeetingTranscriptsInner transcript : transcripts) { for (V1AddressesRecordFileIdGet200ResponseAiMeetingTranscriptsInner transcript : transcripts) {
...@@ -345,6 +342,7 @@ public class FileProcessTask { ...@@ -345,6 +342,7 @@ public class FileProcessTask {
EmailPush emailPushBuilder = EmailPush.builder() EmailPush emailPushBuilder = EmailPush.builder()
.toEmail(meetingInfo.getEmail()) .toEmail(meetingInfo.getEmail())
.meetingId(meetingId) .meetingId(meetingId)
.meetingRecordId(meetingRecordId)
.attachments(attachments) .attachments(attachments)
.subject(meetingInfo.getSubject()) .subject(meetingInfo.getSubject())
.meetingInstanceId(meetingInfo.getId()) .meetingInstanceId(meetingInfo.getId())
...@@ -368,16 +366,12 @@ public class FileProcessTask { ...@@ -368,16 +366,12 @@ public class FileProcessTask {
if(finalRetry){ if(finalRetry){
meetingInfoMapper.update(null, meetingInfoMapper.update(null,
new LambdaUpdateWrapper<MeetingInfo>() new LambdaUpdateWrapper<MeetingInfo>()
.eq(MeetingInfo::getMeetingId,meetingId) .eq(MeetingInfo::getMeetingRecordId, meetingRecordId)
.eq(MeetingInfo::getRecordFileId,join)
.eq(subMeetingId != null,MeetingInfo::getSubMeetingId,subMeetingId)
.set(MeetingInfo::getGenerateRetry,Boolean.TRUE)); .set(MeetingInfo::getGenerateRetry,Boolean.TRUE));
} else { } else {
meetingInfoMapper.update(null, meetingInfoMapper.update(null,
new LambdaUpdateWrapper<MeetingInfo>() new LambdaUpdateWrapper<MeetingInfo>()
.eq(MeetingInfo::getMeetingId,meetingId) .eq(MeetingInfo::getMeetingRecordId, meetingRecordId)
.eq(MeetingInfo::getRecordFileId,join)
.eq(subMeetingId != null,MeetingInfo::getSubMeetingId,subMeetingId)
.set(MeetingInfo::getStatus, status != null ? status : MeetingState.GENERATE_ERROR.getCode()) .set(MeetingInfo::getStatus, status != null ? status : MeetingState.GENERATE_ERROR.getCode())
); );
} }
...@@ -590,8 +584,7 @@ public class FileProcessTask { ...@@ -590,8 +584,7 @@ public class FileProcessTask {
} finally { } finally {
meetingInfoMapper.update(meetingInfo, meetingInfoMapper.update(meetingInfo,
new LambdaUpdateWrapper<MeetingInfo>() new LambdaUpdateWrapper<MeetingInfo>()
.eq(MeetingInfo::getMeetingId,meetingId) .eq(MeetingInfo::getMeetingRecordId, meetingInfo.getMeetingRecordId())
.eq(subMeetingId != null,MeetingInfo::getSubMeetingId,subMeetingId)
.set(MeetingInfo::getRecordContent,recordContentPath) .set(MeetingInfo::getRecordContent,recordContentPath)
.set(MeetingInfo::getRecordXml,recordXmlPath) .set(MeetingInfo::getRecordXml,recordXmlPath)
.set(MeetingInfo::getParticipantUsers,meetingInfo.getParticipantUsers()) .set(MeetingInfo::getParticipantUsers,meetingInfo.getParticipantUsers())
...@@ -626,8 +619,7 @@ public class FileProcessTask { ...@@ -626,8 +619,7 @@ public class FileProcessTask {
meetingInfoMapper.update(null, meetingInfoMapper.update(null,
new LambdaUpdateWrapper<MeetingInfo>() new LambdaUpdateWrapper<MeetingInfo>()
.eq(MeetingInfo::getMeetingId, meetingId) .eq(MeetingInfo::getMeetingRecordId, meetingRecordId)
.eq(subMeetingId != null,MeetingInfo::getSubMeetingId,subMeetingId)
.set(MeetingInfo::getIsPushed, isPushed) .set(MeetingInfo::getIsPushed, isPushed)
.set(MeetingInfo::getStatus, isPushed ? MeetingState.PUSH_SUCCESS.getCode() : MeetingState.PUSH_ERROR.getCode()) .set(MeetingInfo::getStatus, isPushed ? MeetingState.PUSH_SUCCESS.getCode() : MeetingState.PUSH_ERROR.getCode())
); );
...@@ -742,7 +734,7 @@ public class FileProcessTask { ...@@ -742,7 +734,7 @@ public class FileProcessTask {
} }
public FileProcessTask(List<String> recordFileIdList, String meetingId, String subMeetingId, String savePath, Map<String, Object> metadata, String tencentAppId, public FileProcessTask(List<String> recordFileIdList, String meetingRecordId, String meetingId, String subMeetingId, String savePath, Map<String, Object> metadata, String tencentAppId,
String tencentSdkId, String tencentSecretId, String tencentSecretKey, String tencentAdminUserId, String tencentSdkId, String tencentSecretId, String tencentSecretKey, String tencentAdminUserId,
MeetingInfoMapper meetingInfoMapper, MinioUtils minioUtils, RedisUtils redisUtils, EmailSender emailSender, MeetingRecordTemplateMapper meetingRecordTemplateMapper, MeetingInfoMapper meetingInfoMapper, MinioUtils minioUtils, RedisUtils redisUtils, EmailSender emailSender, MeetingRecordTemplateMapper meetingRecordTemplateMapper,
String llmApiAddr, String llmApiModel, String llmApiToken, Integer llmApiMaxTokens, Boolean finalRetry, ProcessLogService processLogService,List<UserDTO.TemplateAuthorizedUserDTO> authorizedUsers,Map<String,String> tidWidRelations, String llmApiAddr, String llmApiModel, String llmApiToken, Integer llmApiMaxTokens, Boolean finalRetry, ProcessLogService processLogService,List<UserDTO.TemplateAuthorizedUserDTO> authorizedUsers,Map<String,String> tidWidRelations,
...@@ -756,6 +748,7 @@ public class FileProcessTask { ...@@ -756,6 +748,7 @@ public class FileProcessTask {
this.tencentSecretId = tencentSecretId; this.tencentSecretId = tencentSecretId;
this.tencentSecretKey = tencentSecretKey; this.tencentSecretKey = tencentSecretKey;
this.tencentAdminUserId = tencentAdminUserId; this.tencentAdminUserId = tencentAdminUserId;
this.meetingRecordId = meetingRecordId;
this.meetingId = meetingId; this.meetingId = meetingId;
this.subMeetingId = subMeetingId; this.subMeetingId = subMeetingId;
this.meetingInfoMapper = meetingInfoMapper; this.meetingInfoMapper = meetingInfoMapper;
......
...@@ -96,6 +96,7 @@ public class FileProcessProducer { ...@@ -96,6 +96,7 @@ public class FileProcessProducer {
// 为每个URL创建任务 // 为每个URL创建任务
FileProcessTask task = new FileProcessTask( FileProcessTask task = new FileProcessTask(
recordFile.getRecordFileIdList(), recordFile.getRecordFileIdList(),
recordFile.getMeetingRecordId(),
recordFile.getMeetingId(), recordFile.getMeetingId(),
recordFile.getSubMeetingId(), recordFile.getSubMeetingId(),
baseSavePath, baseSavePath,
...@@ -144,7 +145,7 @@ public class FileProcessProducer { ...@@ -144,7 +145,7 @@ public class FileProcessProducer {
for (TencentMeetingVO.RecordFile recordFile : recordFiles) { for (TencentMeetingVO.RecordFile recordFile : recordFiles) {
// 为每个URL创建任务 // 为每个URL创建任务
EmailPushTask task = new EmailPushTask( EmailPushTask task = new EmailPushTask(
recordFile.getRecordFileIdList(), recordFile.getMeetingRecordId(),
recordFile.getMeetingId(), recordFile.getMeetingId(),
recordFile.getSubMeetingId(), recordFile.getSubMeetingId(),
baseSavePath, baseSavePath,
......
...@@ -237,7 +237,7 @@ public class MeetingInfoServiceImpl extends ServiceImpl<MeetingInfoMapper, Meeti ...@@ -237,7 +237,7 @@ public class MeetingInfoServiceImpl extends ServiceImpl<MeetingInfoMapper, Meeti
saveResult(processedResult, recordTextBuffer.toString().getBytes(StandardCharsets.UTF_8), meetingInfo, meetingRecordTemplate); saveResult(processedResult, recordTextBuffer.toString().getBytes(StandardCharsets.UTF_8), meetingInfo, meetingRecordTemplate);
meetingInfoMapper.update(null, meetingInfoMapper.update(null,
new LambdaUpdateWrapper<MeetingInfo>() new LambdaUpdateWrapper<MeetingInfo>()
.eq(MeetingInfo::getMeetingId,meetingId) .eq(MeetingInfo::getMeetingRecordId, meetingInfo.getMeetingRecordId())
.eq(subMeetingId != null,MeetingInfo::getSubMeetingId,subMeetingId) .eq(subMeetingId != null,MeetingInfo::getSubMeetingId,subMeetingId)
.set(MeetingInfo::getRecordXml,meetingInfo.getRecordXml())); .set(MeetingInfo::getRecordXml,meetingInfo.getRecordXml()));
return true; return true;
......
...@@ -175,12 +175,12 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,T ...@@ -175,12 +175,12 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,T
} }
//查询会议详情 //查询会议详情
String meetingId = meeting.getMeetingId(); String meetingId = meeting.getMeetingId();
String meetingRecordId = meeting.getMeetingRecordId();
String subMeetingId = null; String subMeetingId = null;
LocalDateTime mediaStartTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(Long.valueOf(meeting.getMediaStartTime())), ZoneId.systemDefault()); LocalDateTime mediaStartTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(Long.valueOf(meeting.getMediaStartTime())), ZoneId.systemDefault());
try { try {
String userid = meeting.getUserid(); String userid = meeting.getUserid();
log.info("【会议检索】转录文件的meetingId->{},meetingRecordId->{}",meeting.getMeetingId(),meeting.getMeetingRecordId()); log.info("【会议检索】转录文件的meetingRecordId->{}, meetingId->{}",meetingRecordId, meetingId);
log.info("【周期会议扫描】:查询用户的已结束会议列表...meetingCode->{},userId->{}",meeting.getMeetingCode(), userid);
//获取子会议id //获取子会议id
MeetingsApi.ApiV1HistoryMeetingsUseridGetRequest historyMeetingRequest = MeetingsApi.ApiV1HistoryMeetingsUseridGetRequest historyMeetingRequest =
new MeetingsApi.ApiV1HistoryMeetingsUseridGetRequest.Builder(userid) new MeetingsApi.ApiV1HistoryMeetingsUseridGetRequest.Builder(userid)
...@@ -213,15 +213,8 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,T ...@@ -213,15 +213,8 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,T
Set<String> set1 = new HashSet<>(recordFileIdList); Set<String> set1 = new HashSet<>(recordFileIdList);
//如果数据库中已有相同会议id的记录,跳过同步 //如果数据库中已有相同会议id的记录,跳过同步
String finalSubMeetingId = subMeetingId; if(meetingIds.stream().noneMatch(item->Objects.equals(item.getMeetingRecordId(), meetingRecordId))){
if(meetingIds.stream().noneMatch log.info("【会议检索】新的会议记录MeetingRecordId->:{}, meetingId->{}, recordIds: {}", meetingRecordId,meeting.getMeetingId(), String.join(",", recordFileIdList));
(
item->item.getMeetingId().equals(meetingId)
&& Objects.equals(item.getSubMeetingId(), finalSubMeetingId)
&& new HashSet<>(Arrays.asList(item.getRecordFileId().split(","))).containsAll(set1)
)
){
log.info("【会议检索】新的会议记录meetingId->{}, subId: {} ,recordIds: {}",meeting.getMeetingId(), finalSubMeetingId, String.join(",", recordFileIdList));
String hostId; String hostId;
String hostName; String hostName;
...@@ -302,7 +295,10 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,T ...@@ -302,7 +295,10 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,T
? weComUserMap.get(userDTO.getWid()).getEmailPushAccess() : Boolean.FALSE; ? weComUserMap.get(userDTO.getWid()).getEmailPushAccess() : Boolean.FALSE;
//会议基本信息保存 //会议基本信息保存
MeetingInfo meetingItem = MeetingInfo.builder().meetingId(meetingId).meetingCode(meeting.getMeetingCode()) MeetingInfo meetingItem = MeetingInfo.builder()
.meetingRecordId(meetingRecordId)
.meetingId(meetingId)
.meetingCode(meeting.getMeetingCode())
.subject(meeting.getSubject()) .subject(meeting.getSubject())
.startTime(mediaStartTime) .startTime(mediaStartTime)
// .endTime(LocalDateTime.ofInstant(Instant.ofEpochSecond(Long.valueOf(meeting.getEndTime())), ZoneId.systemDefault())) // .endTime(LocalDateTime.ofInstant(Instant.ofEpochSecond(Long.valueOf(meeting.getEndTime())), ZoneId.systemDefault()))
......
...@@ -34,6 +34,7 @@ public class EmailPush { ...@@ -34,6 +34,7 @@ public class EmailPush {
/** /**
* 会议id号 * 会议id号
*/ */
private String meetingRecordId;
private String meetingId; private String meetingId;
private String subMeetingId; private String subMeetingId;
......
...@@ -32,6 +32,6 @@ ...@@ -32,6 +32,6 @@
</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,record_file_id from cmt_meeting_info select meeting_id,meeting_record_id,sub_meeting_id,record_file_id from cmt_meeting_info order by sync_time limit 10000;
</select> </select>
</mapper> </mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论