测试
This commit is contained in:
parent
3435428b71
commit
a3deee09fa
@ -414,6 +414,61 @@ public class ArchiveMessageController {
|
|||||||
return vo;
|
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
|
@lombok.Data
|
||||||
public static class ArchiveStatsVO {
|
public static class ArchiveStatsVO {
|
||||||
private Long totalCount;
|
private Long totalCount;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user