“mitao”
2026-04-14 1f173d482408cbeedb84d261898ebd2efb816547
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/upload/UploadProgressService.java
@@ -12,7 +12,7 @@
    private final ConcurrentMap<String, UploadProgressInfo> progressMap = new ConcurrentHashMap<>();
    public void init(String taskId) {
    public void init(String taskId, long totalBytes) {
        if (!StringUtils.hasText(taskId)) {
            return;
        }
@@ -21,7 +21,7 @@
        info.setStatus(UploadProgressInfo.STATUS_UPLOADING);
        info.setPercent(0);
        info.setTransferredBytes(0L);
        info.setTotalBytes(0L);
        info.setTotalBytes(Math.max(totalBytes, 0L));
        progressMap.put(taskId, info);
    }
@@ -33,16 +33,20 @@
        info.setStatus(UploadProgressInfo.STATUS_UPLOADING);
        info.setPercent(status.getTransferPercentage());
        info.setTransferredBytes(status.getTransferredBytes());
        if (status.getTotalBytes() > 0) {
        info.setTotalBytes(status.getTotalBytes());
    }
    }
    public void markSuccess(String taskId, UploadFileResult result) {
    public void markSuccess(String taskId, UploadFileResult result, long totalBytes) {
        if (!StringUtils.hasText(taskId)) {
            return;
        }
        UploadProgressInfo info = progressMap.computeIfAbsent(taskId, this::createUploadingInfo);
        info.setStatus(UploadProgressInfo.STATUS_SUCCESS);
        info.setPercent(100);
        info.setTotalBytes(Math.max(totalBytes, 0L));
        info.setTransferredBytes(Math.max(totalBytes, 0L));
        info.setUrl(result.getUrl());
        info.setFileName(result.getFileName());
    }