Merge branch 'master' of https://gitea.nxsir.cn/nanxun/IM_NEW
This commit is contained in:
@@ -44,6 +44,8 @@ namespace FileService.Application.UploadFileTask
|
||||
|
||||
var res = mapper.Map<TaskInitResponse>(initRes);
|
||||
res.TaskId = task.Id;
|
||||
|
||||
task.StartUpload();
|
||||
reposity.Create(task);
|
||||
|
||||
await redis.SetAsync(new StorageContracts.UploadRuntimeCache(
|
||||
@@ -83,9 +85,31 @@ namespace FileService.Application.UploadFileTask
|
||||
return Result.Success(presignUrl);
|
||||
}
|
||||
|
||||
//public async Task<Result<UploadTaskResponse>> CompleteTaskAsync()
|
||||
//{
|
||||
// var taskCache = await redis.GetAsync()
|
||||
//}
|
||||
public async Task<Result<UploadTaskResponse>> CompleteTaskAsync(UploadTaskCompleteCommand command, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var taskCache = await redis.GetAsync(command.UploadSessionId);
|
||||
|
||||
if(taskCache is null)
|
||||
{
|
||||
return Result.Fail<UploadTaskResponse>(ResultCode.CHUNK_NOT_FOUND);
|
||||
}
|
||||
|
||||
var task = await reposity.FindByIdAsync(Guid.Parse(taskCache.TaskId));
|
||||
var res = await storage.CompleteUploadAsync(new CompleteUploadCommand(
|
||||
ProviderCode: taskCache.ProviderCode,
|
||||
Bucket: taskCache.Bucket,
|
||||
Region: taskCache.Region,
|
||||
ObjectKey: taskCache.ObjectKey,
|
||||
UploadSessionId: taskCache.UploadSessionId,
|
||||
Parts: command.Parts
|
||||
), cancellationToken);
|
||||
|
||||
task.CompleteUpload(new Domain.ValueObjects.StorageLocation(
|
||||
taskCache.ProviderCode, taskCache.Bucket,
|
||||
taskCache.ObjectKey, taskCache.Region
|
||||
));
|
||||
|
||||
return Result.Success(mapper.Map<UploadTaskResponse>(task));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user