fix(media): 转码错误信息截断并上报进度
This commit is contained in:
1 parent
f9bc6eee6d
commit
660afaf66d
18 files changed
+469
-34
No files matched your search
+2
@@ -65,6 +65,7 @@ public class EpisodeTranscodeAdminService {
|
||||
result.setProgress(0);
|
||||
result.setRetryCount(0);
|
||||
result.setErrorMsg("");
|
||||
result.setUpdatedAt(episode.getUpdatedAt());
|
||||
return result;
|
||||
}
|
||||
result.setTaskId(idString(task.getId()));
|
||||
@@ -72,6 +73,7 @@ public class EpisodeTranscodeAdminService {
|
||||
result.setProgress(task.getProgress());
|
||||
result.setRetryCount(task.getRetryCount());
|
||||
result.setErrorMsg(task.getErrorMsg());
|
||||
result.setUpdatedAt(task.getUpdatedAt());
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
+2
@@ -7,6 +7,7 @@ import com.fruitshorts.media.vo.MediaThumbnailRespVO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/** 后台剧集编辑页一次性获取的转码状态。 */
|
||||
@@ -21,6 +22,7 @@ public class EpisodeTranscodeRespVO {
|
||||
private Integer progress;
|
||||
private Integer retryCount;
|
||||
private String errorMsg;
|
||||
private LocalDateTime updatedAt;
|
||||
private List<MediaRenditionRespVO> renditions = List.of();
|
||||
private MediaThumbnailRespVO thumbnails;
|
||||
}
|
||||
+5
-1
@@ -9,6 +9,8 @@ import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
||||
@@ -38,6 +40,7 @@ class EpisodeTranscodeContractTest {
|
||||
vo.setTaskId(taskId);
|
||||
vo.setStatus("SUCCESS");
|
||||
vo.setProgress(100);
|
||||
vo.setUpdatedAt(LocalDateTime.of(2026, 10, 22, 15, 10));
|
||||
given(service.detail(Long.parseLong(episodeId))).willReturn(vo);
|
||||
|
||||
mockMvc.perform(get("/admin/episodes/" + episodeId + "/transcode"))
|
||||
@@ -47,7 +50,8 @@ class EpisodeTranscodeContractTest {
|
||||
.andExpect(jsonPath("$.data.mediaAssetId").value(mediaAssetId))
|
||||
.andExpect(jsonPath("$.data.taskId").value(taskId))
|
||||
.andExpect(jsonPath("$.data.status").value("SUCCESS"))
|
||||
.andExpect(jsonPath("$.data.progress").value(100));
|
||||
.andExpect(jsonPath("$.data.progress").value(100))
|
||||
.andExpect(jsonPath("$.data.updatedAt").value("2026-10-22T15:10:00"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+3
@@ -11,6 +11,7 @@ import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.List;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
@@ -77,6 +78,7 @@ class EpisodeTranscodeAdminServiceTest {
|
||||
task.setMediaAssetId(MEDIA_ASSET_ID);
|
||||
task.setStatus("SUCCESS");
|
||||
task.setProgress(100);
|
||||
task.setUpdatedAt(LocalDateTime.of(2026, 10, 22, 15, 10));
|
||||
given(outputService.latestTask(MEDIA_ASSET_ID)).willReturn(task);
|
||||
|
||||
var result = service.detail(EPISODE_ID);
|
||||
@@ -84,6 +86,7 @@ class EpisodeTranscodeAdminServiceTest {
|
||||
assertThat(result.getEpisodeId()).isEqualTo("2113150431755636737");
|
||||
assertThat(result.getMediaAssetId()).isEqualTo("2113150398670966786");
|
||||
assertThat(result.getTaskId()).isEqualTo("2113150398935207938");
|
||||
assertThat(result.getUpdatedAt()).isEqualTo(task.getUpdatedAt());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in new issue
Block a user