测试
This commit is contained in:
parent
3435428b71
commit
a3deee09fa
@ -414,6 +414,61 @@ public class ArchiveMessageController {
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 历史数据刷新
|
||||
*/
|
||||
@GetMapping("/messages/recent-two-days")
|
||||
public Result getRecentTwoDaysMessages() {
|
||||
long twoDaysAgo = System.currentTimeMillis() - 2 * 24 * 60 * 60 * 1000L;
|
||||
|
||||
LambdaQueryWrapper<ArchiveMessage> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.ge(ArchiveMessage::getMsgtime, twoDaysAgo);
|
||||
wrapper.orderByDesc(ArchiveMessage::getMsgtime);
|
||||
|
||||
List<ArchiveMessage> messages = archiveMessageMapper.selectList(wrapper);
|
||||
log.info("历史刷新数据总数:{}", messages.size());
|
||||
for (int i = 0; i < messages.size(); i++) {
|
||||
ArchiveMessage message = messages.get(i);
|
||||
log.info("刷新第:{}个, {}",i, message.getId());
|
||||
String msgtype = message.getMsgtype();
|
||||
String mediaData = message.getMediaData();
|
||||
if (mediaData == null || mediaData.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 从 mediaData 解析 sdkfileid
|
||||
String sdkfileid = null;
|
||||
try {
|
||||
Map<String, Object> mediaMap = JsonUtils.fromJsonMap(mediaData);
|
||||
if (mediaMap != null) {
|
||||
sdkfileid = (String) mediaMap.get("sdkfileid");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("解析 mediaData 失败: id={}, mediaData={}", message.getId(), mediaData);
|
||||
}
|
||||
if (sdkfileid == null || sdkfileid.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 构建缓存路径
|
||||
String ext = getMediaExtension(msgtype);
|
||||
String cacheFileName = message.getMsgid().replaceAll("[^a-zA-Z0-9_-]", "_") + ext;
|
||||
File cacheFile = new File(MEDIA_CACHE_DIR, cacheFileName);
|
||||
|
||||
// 如果缓存不存在,下载媒体
|
||||
if (!cacheFile.exists()) {
|
||||
boolean success = archivePullService.downloadMedia(sdkfileid, cacheFile.getAbsolutePath());
|
||||
if (!success) {
|
||||
log.error("下载媒体 失败: id={}, mediaData={}", message.getId(), mediaData);
|
||||
}else{
|
||||
log.info("下载媒体 成功: id={}, 文件地址={}", message.getId(), cacheFile.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@lombok.Data
|
||||
public static class ArchiveStatsVO {
|
||||
private Long totalCount;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user