task-12: 拆分 split 模块 API 至 types/modules/split.ts,java-modules.ts re-export

This commit is contained in:
2026-08-31 19:29:01 +08:00
parent a4ca9d5a19
commit a98efb00f7
3 changed files with 209 additions and 72 deletions
+1 -72
View File
@@ -11,6 +11,7 @@ import { getTaskProgressCacheTtlMs, getTaskProgressTimeoutMs } from "../task-pro
import { createTaskProgressRequestCache } from "../task-progress-request-cache.ts";
export * from "./types/modules/dedupe.ts";
export * from "./types/modules/split.ts";
const JAVA_API_PREFIX = "/newApi/api";
@@ -145,44 +146,6 @@ export async function uploadTempFileToJava(
}
export interface SplitArchiveEntry {
filename: string;
rowCount?: number;
}
export interface SplitResultItem {
resultId?: number;
sourceFilename: string;
outputFilename?: string;
success: boolean;
error?: string;
rowCount?: number;
downloadUrl?: string;
entryCount?: number;
entries?: SplitArchiveEntry[];
}
export interface SplitRunVo {
total: number;
successCount: number;
failedCount: number;
items: SplitResultItem[];
}
export interface SplitHistoryVo {
items: SplitResultItem[];
}
export interface SplitRunRequest {
files: UploadedFileRef[];
selectedColumns: string[];
splitMode: "rows_per_file" | "parts";
rowsPerFile?: number;
parts?: number;
archiveName?: string;
user_id: number;
}
export interface ConvertResultItem {
resultId?: number;
sourceFilename: string;
@@ -390,40 +353,6 @@ export function getExcelInfo(fileKey: string) {
}
export function runSplit(
request: Omit<SplitRunRequest, "user_id"> | SplitRunRequest,
) {
return unwrapJavaResponse(
post<JavaApiResponse<SplitRunVo>, SplitRunRequest>(
`${JAVA_API_PREFIX}/split/run`,
{
...request,
user_id: getCurrentUserId(),
},
),
);
}
export function getSplitHistory() {
return unwrapJavaResponse(
get<JavaApiResponse<SplitHistoryVo>>(`${JAVA_API_PREFIX}/split/history`, {
params: { user_id: getCurrentUserId() },
}),
);
}
export function deleteSplitHistory(resultId: number) {
return unwrapJavaResponse(
del<JavaApiResponse<null>>(`${JAVA_API_PREFIX}/split/history/${resultId}`, {
params: { user_id: getCurrentUserId() },
}),
);
}
export function getSplitResultDownloadUrl(resultId: number) {
return getJavaDownloadUrl(`/split/results/${resultId}/download`);
}
export function getConvertTemplates() {
return unwrapJavaResponse(
get<JavaApiResponse<ConvertTemplateVo[]>>(
@@ -0,0 +1,86 @@
import { get, post, del, type JavaApiResponse, unwrapJavaResponse } from '../../http.ts'
import { buildJavaUrl } from '../../url.ts'
import { getCurrentUserId } from '../../user.ts'
import { getJavaDownloadUrl } from '../../download-url.ts'
import type { UploadedFileRef } from '../upload.ts'
import { API_ENDPOINTS } from '../../endpoints.ts'
export interface SplitArchiveEntry {
filename: string;
rowCount?: number;
}
export interface SplitResultItem {
resultId?: number;
sourceFilename: string;
outputFilename?: string;
success: boolean;
error?: string;
rowCount?: number;
downloadUrl?: string;
entryCount?: number;
entries?: SplitArchiveEntry[];
}
export interface SplitRunVo {
total: number;
successCount: number;
failedCount: number;
items: SplitResultItem[];
}
export interface SplitHistoryVo {
items: SplitResultItem[];
}
export interface SplitRunRequest {
files: UploadedFileRef[];
selectedColumns: string[];
splitMode: "rows_per_file" | "parts";
rowsPerFile?: number;
parts?: number;
archiveName?: string;
user_id: number;
}
export function runSplit(
request: Omit<SplitRunRequest, "user_id"> | SplitRunRequest,
) {
return unwrapJavaResponse(
post<JavaApiResponse<SplitRunVo>, SplitRunRequest>(
buildJavaUrl(API_ENDPOINTS.split.run),
{
...request,
user_id: getCurrentUserId(),
},
),
);
}
export function getSplitHistory() {
return unwrapJavaResponse(
get<JavaApiResponse<SplitHistoryVo>>(
buildJavaUrl(API_ENDPOINTS.split.history),
{
params: { user_id: getCurrentUserId() },
},
),
);
}
export function deleteSplitHistory(resultId: number) {
return unwrapJavaResponse(
del<JavaApiResponse<null>>(
buildJavaUrl(API_ENDPOINTS.split.historyDelete.replace('{resultId}', String(resultId))),
{
params: { user_id: getCurrentUserId() },
},
),
);
}
export function getSplitResultDownloadUrl(resultId: number) {
return getJavaDownloadUrl(
API_ENDPOINTS.split.resultDownload.replace('{resultId}', String(resultId)),
);
}