From 4df9680361c2a615d4845d5230faf5fd7314fee0 Mon Sep 17 00:00:00 2001 From: none Date: Tue, 7 Mar 2023 11:17:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=B5=84=E6=BA=90=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E5=92=8C=E8=AE=B0=E5=BD=95=E5=AD=98=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../playedu/api/constant/BackendConstant.java | 3 +++ .../backend/DepartmentController.java | 8 ++++-- .../backend/ResourceController.java | 6 +---- .../controller/backend/UploadController.java | 26 +++++++------------ 4 files changed, 20 insertions(+), 23 deletions(-) diff --git a/src/main/java/xyz/playedu/api/constant/BackendConstant.java b/src/main/java/xyz/playedu/api/constant/BackendConstant.java index 93826d3..c3c4d2e 100644 --- a/src/main/java/xyz/playedu/api/constant/BackendConstant.java +++ b/src/main/java/xyz/playedu/api/constant/BackendConstant.java @@ -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"; diff --git a/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java b/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java index cd218fa..ef9e91b 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java @@ -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 data = departmentService.listByParentId(parentId); + public JsonResponse create() { + Map> departments = departmentService.all().stream().collect(Collectors.groupingBy(Department::getParentId)); + + HashMap data = new HashMap<>(); + data.put("departments", departments); + return JsonResponse.data(data); } diff --git a/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java b/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java index 40663cb..9eb5f70 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java @@ -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); diff --git a/src/main/java/xyz/playedu/api/controller/backend/UploadController.java b/src/main/java/xyz/playedu/api/controller/backend/UploadController.java index eb78773..207a0a1 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/UploadController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/UploadController.java @@ -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 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 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 data = new HashMap<>(); + data.put("url", minioConfig.getDomain() + minioConfig.getBucket() + "/" + filename); + + return JsonResponse.data(data); } }