mirror of
https://github.com/PlayEdu/PlayEdu
synced 2025-07-26 03:49:31 +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_CONTENT_TYPE_WL = {"image/png", "image/jpg", "image/jpeg", "image/gif"};
|
||||||
public final static String UPLOAD_IMAGE_DIR = "images/";
|
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_EMAIL = "email";
|
||||||
public final static String PRIVACY_FIELD_TYPE_PHONE = "phone";
|
public final static String PRIVACY_FIELD_TYPE_PHONE = "phone";
|
||||||
public final static String PRIVACY_FIELD_TYPE_NAME = "name";
|
public final static String PRIVACY_FIELD_TYPE_NAME = "name";
|
||||||
|
@ -45,8 +45,12 @@ public class DepartmentController {
|
|||||||
|
|
||||||
@BackendPermissionMiddleware(slug = BPermissionConstant.DEPARTMENT_STORE)
|
@BackendPermissionMiddleware(slug = BPermissionConstant.DEPARTMENT_STORE)
|
||||||
@GetMapping("/create")
|
@GetMapping("/create")
|
||||||
public JsonResponse create(@RequestParam(name = "parent_id", defaultValue = "0") Integer parentId) {
|
public JsonResponse create() {
|
||||||
List<Department> data = departmentService.listByParentId(parentId);
|
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);
|
return JsonResponse.data(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,10 +79,6 @@ public class ResourceController {
|
|||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
@Transactional
|
@Transactional
|
||||||
public JsonResponse store(@RequestBody @Validated ResourceRequest req) {
|
public JsonResponse store(@RequestBody @Validated ResourceRequest req) {
|
||||||
Integer categoryId = req.getCategoryId();
|
|
||||||
if (categoryService.getById(categoryId) == null) {
|
|
||||||
return JsonResponse.error("资源分类不存在");
|
|
||||||
}
|
|
||||||
String disk = req.getDisk();
|
String disk = req.getDisk();
|
||||||
if (!Arrays.asList(BackendConstant.RESOURCE_DISK_WHITELIST).contains(disk)) {
|
if (!Arrays.asList(BackendConstant.RESOURCE_DISK_WHITELIST).contains(disk)) {
|
||||||
return JsonResponse.error("存储磁盘参数错误");
|
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) {
|
if (isVideoType) {
|
||||||
resourceVideoService.create(res.getId(), duration);
|
resourceVideoService.create(res.getId(), duration);
|
||||||
|
@ -73,12 +73,7 @@ public class UploadController {
|
|||||||
String savePath = BackendConstant.UPLOAD_IMAGE_DIR + newFilename;
|
String savePath = BackendConstant.UPLOAD_IMAGE_DIR + newFilename;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
PutObjectArgs objectArgs = PutObjectArgs.builder()
|
PutObjectArgs objectArgs = PutObjectArgs.builder().bucket(minioConfig.getBucket()).object(savePath).stream(file.getInputStream(), file.getSize(), -1).contentType(contentType).build();
|
||||||
.bucket(minioConfig.getBucket())
|
|
||||||
.object(savePath)
|
|
||||||
.stream(file.getInputStream(), file.getSize(), -1)
|
|
||||||
.contentType(contentType)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
minioClient.putObject(objectArgs);
|
minioClient.putObject(objectArgs);
|
||||||
|
|
||||||
@ -105,12 +100,13 @@ public class UploadController {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
String filename = HelperUtil.randomString(32) + "." + extension;
|
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<>();
|
HashMap<String, String> data = new HashMap<>();
|
||||||
data.put("resource_type", resourceType);
|
data.put("resource_type", resourceType);
|
||||||
data.put("upload_id", uploadId);
|
data.put("upload_id", uploadId);
|
||||||
data.put("filename", filename);
|
data.put("filename", path);
|
||||||
|
|
||||||
return JsonResponse.data(data);
|
return JsonResponse.data(data);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -130,13 +126,7 @@ public class UploadController {
|
|||||||
extraQueryParams.put("partNumber", partNumber + "");
|
extraQueryParams.put("partNumber", partNumber + "");
|
||||||
extraQueryParams.put("uploadId", uploadId);
|
extraQueryParams.put("uploadId", uploadId);
|
||||||
|
|
||||||
String url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
|
String url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder().bucket(minioConfig.getBucket()).object(filename).method(Method.PUT).expiry(60 * 60 * 24).extraQueryParams(extraQueryParams).build());
|
||||||
.bucket(minioConfig.getBucket())
|
|
||||||
.object(filename)
|
|
||||||
.method(Method.PUT)
|
|
||||||
.expiry(60 * 60 * 24)
|
|
||||||
.extraQueryParams(extraQueryParams)
|
|
||||||
.build());
|
|
||||||
|
|
||||||
HashMap<String, String> data = new HashMap<>();
|
HashMap<String, String> data = new HashMap<>();
|
||||||
data.put("url", url);
|
data.put("url", url);
|
||||||
@ -159,7 +149,11 @@ public class UploadController {
|
|||||||
return JsonResponse.error("uploadId必填");
|
return JsonResponse.error("uploadId必填");
|
||||||
}
|
}
|
||||||
playEduMinioClient.merge(minioConfig.getBucket(), filename, 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