mirror of
https://github.com/PlayEdu/PlayEdu
synced 2025-06-08 02:04:04 +08:00
优化资源上传和记录存储
This commit is contained in:
parent
0db709cb3e
commit
4df9680361
@ -49,6 +49,9 @@ public class BackendConstant {
|
||||
public final static String[] UPLOAD_IMAGE_CONTENT_TYPE_WL = {"image/png", "image/jpg", "image/jpeg", "image/gif"};
|
||||
public final static String UPLOAD_IMAGE_DIR = "images/";
|
||||
|
||||
// 视频上传配置
|
||||
public final static String UPLOAD_VIDEO_DIR = "videos/";
|
||||
|
||||
public final static String PRIVACY_FIELD_TYPE_EMAIL = "email";
|
||||
public final static String PRIVACY_FIELD_TYPE_PHONE = "phone";
|
||||
public final static String PRIVACY_FIELD_TYPE_NAME = "name";
|
||||
|
@ -45,8 +45,12 @@ public class DepartmentController {
|
||||
|
||||
@BackendPermissionMiddleware(slug = BPermissionConstant.DEPARTMENT_STORE)
|
||||
@GetMapping("/create")
|
||||
public JsonResponse create(@RequestParam(name = "parent_id", defaultValue = "0") Integer parentId) {
|
||||
List<Department> data = departmentService.listByParentId(parentId);
|
||||
public JsonResponse create() {
|
||||
Map<Integer, List<Department>> departments = departmentService.all().stream().collect(Collectors.groupingBy(Department::getParentId));
|
||||
|
||||
HashMap<String, Object> data = new HashMap<>();
|
||||
data.put("departments", departments);
|
||||
|
||||
return JsonResponse.data(data);
|
||||
}
|
||||
|
||||
|
@ -79,10 +79,6 @@ public class ResourceController {
|
||||
@PostMapping("/create")
|
||||
@Transactional
|
||||
public JsonResponse store(@RequestBody @Validated ResourceRequest req) {
|
||||
Integer categoryId = req.getCategoryId();
|
||||
if (categoryService.getById(categoryId) == null) {
|
||||
return JsonResponse.error("资源分类不存在");
|
||||
}
|
||||
String disk = req.getDisk();
|
||||
if (!Arrays.asList(BackendConstant.RESOURCE_DISK_WHITELIST).contains(disk)) {
|
||||
return JsonResponse.error("存储磁盘参数错误");
|
||||
@ -102,7 +98,7 @@ public class ResourceController {
|
||||
}
|
||||
}
|
||||
|
||||
Resource res = resourceService.create(categoryId, type, req.getName(), extension, req.getSize(), disk, req.getFileId(), req.getPath(), req.getUrl());
|
||||
Resource res = resourceService.create(req.getCategoryId(), type, req.getName(), extension, req.getSize(), disk, req.getFileId(), req.getPath(), req.getUrl());
|
||||
|
||||
if (isVideoType) {
|
||||
resourceVideoService.create(res.getId(), duration);
|
||||
|
@ -73,12 +73,7 @@ public class UploadController {
|
||||
String savePath = BackendConstant.UPLOAD_IMAGE_DIR + newFilename;
|
||||
|
||||
try {
|
||||
PutObjectArgs objectArgs = PutObjectArgs.builder()
|
||||
.bucket(minioConfig.getBucket())
|
||||
.object(savePath)
|
||||
.stream(file.getInputStream(), file.getSize(), -1)
|
||||
.contentType(contentType)
|
||||
.build();
|
||||
PutObjectArgs objectArgs = PutObjectArgs.builder().bucket(minioConfig.getBucket()).object(savePath).stream(file.getInputStream(), file.getSize(), -1).contentType(contentType).build();
|
||||
|
||||
minioClient.putObject(objectArgs);
|
||||
|
||||
@ -105,12 +100,13 @@ public class UploadController {
|
||||
|
||||
try {
|
||||
String filename = HelperUtil.randomString(32) + "." + extension;
|
||||
String uploadId = playEduMinioClient.uploadId(minioConfig.getBucket(), filename);
|
||||
String path = BackendConstant.UPLOAD_VIDEO_DIR + filename;
|
||||
String uploadId = playEduMinioClient.uploadId(minioConfig.getBucket(), path);
|
||||
|
||||
HashMap<String, String> data = new HashMap<>();
|
||||
data.put("resource_type", resourceType);
|
||||
data.put("upload_id", uploadId);
|
||||
data.put("filename", filename);
|
||||
data.put("filename", path);
|
||||
|
||||
return JsonResponse.data(data);
|
||||
} catch (Exception e) {
|
||||
@ -130,13 +126,7 @@ public class UploadController {
|
||||
extraQueryParams.put("partNumber", partNumber + "");
|
||||
extraQueryParams.put("uploadId", uploadId);
|
||||
|
||||
String url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
|
||||
.bucket(minioConfig.getBucket())
|
||||
.object(filename)
|
||||
.method(Method.PUT)
|
||||
.expiry(60 * 60 * 24)
|
||||
.extraQueryParams(extraQueryParams)
|
||||
.build());
|
||||
String url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder().bucket(minioConfig.getBucket()).object(filename).method(Method.PUT).expiry(60 * 60 * 24).extraQueryParams(extraQueryParams).build());
|
||||
|
||||
HashMap<String, String> data = new HashMap<>();
|
||||
data.put("url", url);
|
||||
@ -159,7 +149,11 @@ public class UploadController {
|
||||
return JsonResponse.error("uploadId必填");
|
||||
}
|
||||
playEduMinioClient.merge(minioConfig.getBucket(), filename, uploadId);
|
||||
return JsonResponse.success();
|
||||
|
||||
HashMap<String, Object> data = new HashMap<>();
|
||||
data.put("url", minioConfig.getDomain() + minioConfig.getBucket() + "/" + filename);
|
||||
|
||||
return JsonResponse.data(data);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user