From 077cedddebbfae2d740e259e9e16b0eb363f3a02 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Mon, 19 Jan 2026 15:23:10 +0800
Subject: [PATCH] 巡查任务

---
 drone-ops/drone-resource/src/main/java/org/sxkj/resource/endpoint/OssEndpoint.java |  457 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 230 insertions(+), 227 deletions(-)

diff --git a/drone-ops/drone-resource/src/main/java/org/sxkj/resource/endpoint/OssEndpoint.java b/drone-ops/drone-resource/src/main/java/org/sxkj/resource/endpoint/OssEndpoint.java
index 90bf860..25f9640 100644
--- a/drone-ops/drone-resource/src/main/java/org/sxkj/resource/endpoint/OssEndpoint.java
+++ b/drone-ops/drone-resource/src/main/java/org/sxkj/resource/endpoint/OssEndpoint.java
@@ -1,22 +1,7 @@
-/*
- *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions are met:
- *
- *  Redistributions of source code must retain the above copyright notice,
- *  this list of conditions and the following disclaimer.
- *  Redistributions in binary form must reproduce the above copyright
- *  notice, this list of conditions and the following disclaimer in the
- *  documentation and/or other materials provided with the distribution.
- *  Neither the name of the dreamlu.net developer nor the names of its
- *  contributors may be used to endorse or promote products derived from
- *  this software without specific prior written permission.
- *  Author: Chill 庄骞 (smallchill@163.com)
- */
 package org.sxkj.resource.endpoint;
 
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.SneakyThrows;
 import org.jetbrains.annotations.NotNull;
@@ -28,12 +13,13 @@
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.utils.FileUtil;
 import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 import org.sxkj.resource.builder.OssBuilder;
 import org.sxkj.resource.entity.Attach;
 import org.sxkj.resource.service.IAttachService;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
 import org.sxkj.resource.util.ImageCompressorUtil;
+import springfox.documentation.annotations.ApiIgnore;
 
 import java.io.IOException;
 import java.util.HashMap;
@@ -48,234 +34,251 @@
 @RestController
 @AllArgsConstructor
 @RequestMapping("/oss/endpoint")
-@Api(value = "对象存储端点", tags = "对象存储端点")
+@Api(value = "对象存储端点", tags = "文件上传接口")
 public class OssEndpoint {
 
-	/**
-	 * 对象存储构建类
-	 */
-	private final OssBuilder ossBuilder;
+    /**
+     * 对象存储构建类
+     */
+    private final OssBuilder ossBuilder;
 
-	/**
-	 * 附件表服务
-	 */
-	private final IAttachService attachService;
+    /**
+     * 附件表服务
+     */
+    private final IAttachService attachService;
 
-	/**
-	 * 创建存储桶
-	 *
-	 * @param bucketName 存储桶名称
-	 * @return Bucket
-	 */
-	@SneakyThrows
-	@PostMapping("/make-bucket")
-	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
-	public R makeBucket(@RequestParam String bucketName) {
-		ossBuilder.template().makeBucket(bucketName);
-		return R.success("创建成功");
-	}
+    /**
+     * 创建存储桶
+     *
+     * @param bucketName 存储桶名称
+     * @return Bucket
+     */
+    @SneakyThrows
+    @PostMapping("/make-bucket")
+    @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+    @ApiIgnore
+    public R makeBucket(@RequestParam String bucketName) {
+        ossBuilder.template().makeBucket(bucketName);
+        return R.success("创建成功");
+    }
 
-	/**
-	 * 创建存储桶
-	 *
-	 * @param bucketName 存储桶名称
-	 * @return R
-	 */
-	@SneakyThrows
-	@PostMapping("/remove-bucket")
-	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
-	public R removeBucket(@RequestParam String bucketName) {
-		ossBuilder.template().removeBucket(bucketName);
-		return R.success("删除成功");
-	}
+    /**
+     * 创建存储桶
+     *
+     * @param bucketName 存储桶名称
+     * @return R
+     */
+    @SneakyThrows
+    @PostMapping("/remove-bucket")
+    @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+    @ApiIgnore
+    public R removeBucket(@RequestParam String bucketName) {
+        ossBuilder.template().removeBucket(bucketName);
+        return R.success("删除成功");
+    }
 
-	/**
-	 * 拷贝文件
-	 *
-	 * @param fileName       存储桶对象名称
-	 * @param destBucketName 目标存储桶名称
-	 * @param destFileName   目标存储桶对象名称
-	 * @return R
-	 */
-	@SneakyThrows
-	@PostMapping("/copy-file")
-	public R copyFile(@RequestParam String fileName, @RequestParam String destBucketName, String destFileName) {
-		ossBuilder.template().copyFile(fileName, destBucketName, destFileName);
-		return R.success("操作成功");
-	}
+    /**
+     * 拷贝文件
+     *
+     * @param fileName       存储桶对象名称
+     * @param destBucketName 目标存储桶名称
+     * @param destFileName   目标存储桶对象名称
+     * @return R
+     */
+    @SneakyThrows
+    @PostMapping("/copy-file")
+    @ApiOperation(value = "拷贝文件", notes = "拷贝文件")
+    public R copyFile(@RequestParam String fileName, @RequestParam String destBucketName, String destFileName) {
+        ossBuilder.template().copyFile(fileName, destBucketName, destFileName);
+        return R.success("操作成功");
+    }
 
-	/**
-	 * 获取文件信息
-	 *
-	 * @param fileName 存储桶对象名称
-	 * @return InputStream
-	 */
-	@SneakyThrows
-	@GetMapping("/stat-file")
-	public R<OssFile> statFile(@RequestParam String fileName) {
-		return R.data(ossBuilder.template().statFile(fileName));
-	}
+    /**
+     * 获取文件信息
+     *
+     * @param fileName 存储桶对象名称
+     * @return InputStream
+     */
+    @SneakyThrows
+    @GetMapping("/stat-file")
+    @ApiOperation(value = "获取文件信息", notes = "获取文件信息")
+    public R<OssFile> statFile(@RequestParam String fileName) {
+        return R.data(ossBuilder.template().statFile(fileName));
+    }
 
-	/**
-	 * 获取文件相对路径
-	 *
-	 * @param fileName 存储桶对象名称
-	 * @return String
-	 */
-	@SneakyThrows
-	@GetMapping("/file-path")
-	public R<String> filePath(@RequestParam String fileName) {
-		return R.data(ossBuilder.template().filePath(fileName));
-	}
+    /**
+     * 获取文件相对路径
+     *
+     * @param fileName 存储桶对象名称
+     * @return String
+     */
+    @SneakyThrows
+    @GetMapping("/file-path")
+    @ApiOperation(value = "获取文件相对路径", notes = "获取文件相对路径")
+    public R<String> filePath(@RequestParam String fileName) {
+        return R.data(ossBuilder.template().filePath(fileName));
+    }
 
 
-	/**
-	 * 获取文件外链
-	 *
-	 * @param fileName 存储桶对象名称
-	 * @return String
-	 */
-	@SneakyThrows
-	@GetMapping("/file-link")
-	public R<String> fileLink(@RequestParam String fileName) {
-		return R.data(ossBuilder.template().fileLink(fileName));
-	}
+    /**
+     * 获取文件外链
+     *
+     * @param fileName 存储桶对象名称
+     * @return String
+     */
+    @SneakyThrows
+    @GetMapping("/file-link")
+    @ApiOperation(value = "获取文件外链", notes = "获取文件外链")
+    public R<String> fileLink(@RequestParam String fileName) {
+        return R.data(ossBuilder.template().fileLink(fileName));
+    }
 
-	/**
-	 * 上传文件
-	 *
-	 * @param file 文件
-	 * @return ObjectStat
-	 */
-	@SneakyThrows
-	@PostMapping("/put-file")
-	public R<BladeFile> putFile(@RequestParam MultipartFile file) {
-		BladeFile bladeFile = ossBuilder.template().putFile(file.getOriginalFilename(), file.getInputStream());
-		return R.data(bladeFile);
-	}
+    /**
+     * 上传文件
+     *
+     * @param file 文件
+     * @return ObjectStat
+     */
+    @SneakyThrows
+    @PostMapping("/put-file")
+    @ApiOperation(value = "上传文件", notes = "上传文件")
+    public R<BladeFile> putFile(@RequestParam MultipartFile file) {
+        BladeFile bladeFile = ossBuilder.template().putFile(file.getOriginalFilename(), file.getInputStream());
+        return R.data(bladeFile);
+    }
 
-	/**
-	 * 上传文件
-	 *
-	 * @param fileName 存储桶对象名称
-	 * @param file     文件
-	 * @return ObjectStat
-	 */
-	@SneakyThrows
-	@PostMapping("/put-file-by-name")
-	public R<BladeFile> putFile(@RequestParam String fileName, @RequestParam MultipartFile file) {
-		BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream());
-		return R.data(bladeFile);
-	}
+    /**
+     * 上传文件
+     *
+     * @param fileName 存储桶对象名称
+     * @param file     文件
+     * @return ObjectStat
+     */
+    @SneakyThrows
+    @PostMapping("/put-file-by-name")
+    @ApiOperation(value = "上传文件", notes = "上传文件-存储桶对象名称")
+    public R<BladeFile> putFile(@RequestParam String fileName, @RequestParam MultipartFile file) {
+        BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream());
+        return R.data(bladeFile);
+    }
 
-	/**
-	 * 上传文件并保存至附件表
-	 *
-	 * @param file 文件
-	 * @return ObjectStat
-	 */
-	@SneakyThrows
-	@PostMapping("/put-file-attach")
-	public R<BladeFile> putFileAttach(@RequestParam MultipartFile file) {
-		BladeFile bladeFile = getBladeFile(file);
-		return R.data(bladeFile);
-	}
+    /**
+     * 上传文件并保存至附件表
+     *
+     * @param file 文件
+     * @return ObjectStat
+     */
+    @SneakyThrows
+    @PostMapping("/put-file-attach")
+    @ApiOperation(value = "上传文件并保存至附件表", notes = "上传文件并保存至附件表")
+    public R<BladeFile> putFileAttach(@RequestParam MultipartFile file) {
+        BladeFile bladeFile = getBladeFile(file);
+        return R.data(bladeFile);
+    }
 
-	/**
-	 * 上传文件并保存至附件表
-	 *
-	 * @param fileName 存储桶对象名称
-	 * @param file     文件
-	 * @return ObjectStat
-	 */
-	@SneakyThrows
-	@PostMapping("/put-file-attach-by-name")
-	public R<BladeFile> putFileAttach(@RequestParam String fileName, @RequestParam MultipartFile file) {
-		BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream());
-		Long attachId = buildAttach(fileName, file.getSize(), bladeFile);
-		bladeFile.setAttachId(attachId);
-		return R.data(bladeFile);
-	}
+    /**
+     * 上传文件并保存至附件表
+     *
+     * @param fileName   存储桶对象名称
+     * @param resultType 结果类型
+     * @param file       上传文件
+     * @return BladeFile
+     */
+    @SneakyThrows
+    @PostMapping("/put-file-attach-by-name")
+    @ApiOperation(value = "上传文件并保存至附件表", notes = "上传文件并保存至附件表-存储桶对象名称")
+    public R<BladeFile> putFileAttach(@RequestParam String fileName,
+                                      @RequestParam Integer resultType,
+                                      @RequestParam MultipartFile file) {
+        BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream());
+        Long attachId = buildAttach(fileName, resultType, file.getSize(), bladeFile);
+        bladeFile.setAttachId(attachId);
+        return R.data(bladeFile);
+    }
 
 
-	/**
-	 * 上传原图和压缩图并保存至附件表
-	 *
-	 * @param file 文件
-	 * @return ObjectStat
-	 */
-	@SneakyThrows
-	@PostMapping("/put-file-cop-attach")
-	public R putFileCopAttach(@RequestParam MultipartFile file) {
-		// 上传之前先压缩
-		MultipartFile compressImage = ImageCompressorUtil.compressImage(file,null);
-		// 上传
-		BladeFile bladeFile = getBladeFile(file);
-		BladeFile compressFile = getBladeFile(compressImage);
-		//
-		Map<String, Object> map = new HashMap<>(2);
-		map.put("yt",bladeFile);
-		map.put("yst",compressFile);
-		// 返回
-		return R.data(bladeFile);
-	}
+    /**
+     * 上传原图和压缩图并保存至附件表
+     *
+     * @param file 文件
+     * @return ObjectStat
+     */
+    @SneakyThrows
+    @PostMapping("/put-file-cop-attach")
+    @ApiOperation(value = "上传原图和压缩图并保存至附件表", notes = "上传原图和压缩图并保存至附件表")
+    public R putFileCopAttach(@RequestParam MultipartFile file) {
+        // 上传之前先压缩
+        MultipartFile compressImage = ImageCompressorUtil.compressImage(file, null);
+        // 上传
+        BladeFile bladeFile = getBladeFile(file);
+        BladeFile compressFile = getBladeFile(compressImage);
+        //
+        Map<String, Object> map = new HashMap<>(2);
+        map.put("yt", bladeFile);
+        map.put("yst", compressFile);
+        // 返回
+        return R.data(bladeFile);
+    }
 
-	@NotNull
-	private BladeFile getBladeFile(@RequestParam MultipartFile file) throws IOException {
-		String fileName = file.getOriginalFilename();
-		BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream());
-		Long attachId = buildAttach(fileName, file.getSize(), bladeFile);
-		bladeFile.setAttachId(attachId);
-		return bladeFile;
-	}
+    @NotNull
+    private BladeFile getBladeFile(@RequestParam MultipartFile file) throws IOException {
+        String fileName = file.getOriginalFilename();
+        BladeFile bladeFile = ossBuilder.template().putFile(fileName, file.getInputStream());
+        Long attachId = buildAttach(fileName, null, file.getSize(), bladeFile);
+        bladeFile.setAttachId(attachId);
+        return bladeFile;
+    }
 
-	/**
-	 * 构建附件表
-	 *
-	 * @param fileName  文件名
-	 * @param fileSize  文件大小
-	 * @param bladeFile 对象存储文件
-	 * @return attachId
-	 */
-	private Long buildAttach(String fileName, Long fileSize, BladeFile bladeFile) {
-		String fileExtension = FileUtil.getFileExtension(fileName);
-		Attach attach = new Attach();
-		attach.setDomainUrl(bladeFile.getDomain());
-		attach.setLink(bladeFile.getLink());
-		attach.setName(bladeFile.getName());
-		attach.setOriginalName(bladeFile.getOriginalName());
-		attach.setAttachSize(fileSize);
-		attach.setExtension(fileExtension);
-		attachService.save(attach);
-		return attach.getId();
-	}
+    /**
+     * 构建附件表
+     *
+     * @param fileName  文件名
+     * @param fileSize  文件大小
+     * @param bladeFile 对象存储文件
+     * @return attachId
+     */
+    private Long buildAttach(String fileName, Integer resultType, Long fileSize, BladeFile bladeFile) {
+        String fileExtension = FileUtil.getFileExtension(fileName);
+        Attach attach = new Attach();
+        attach.setDomainUrl(bladeFile.getDomain());
+        attach.setLink(bladeFile.getLink());
+        attach.setName(bladeFile.getName());
+        attach.setResultType(resultType);
+        attach.setOriginalName(bladeFile.getOriginalName());
+        attach.setAttachSize(fileSize);
+        attach.setExtension(fileExtension);
+        attachService.save(attach);
+        return attach.getId();
+    }
 
-	/**
-	 * 删除文件
-	 *
-	 * @param fileName 存储桶对象名称
-	 * @return R
-	 */
-	@SneakyThrows
-	@PostMapping("/remove-file")
-	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
-	public R removeFile(@RequestParam String fileName) {
-		ossBuilder.template().removeFile(fileName);
-		return R.success("操作成功");
-	}
+    /**
+     * 删除文件
+     *
+     * @param fileName 存储桶对象名称
+     * @return R
+     */
+    @SneakyThrows
+    @PostMapping("/remove-file")
+    @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+    @ApiOperation(value = "删除文件", notes = "删除文件")
+    public R removeFile(@RequestParam String fileName) {
+        ossBuilder.template().removeFile(fileName);
+        return R.success("操作成功");
+    }
 
-	/**
-	 * 批量删除文件
-	 *
-	 * @param fileNames 存储桶对象名称集合
-	 * @return R
-	 */
-	@SneakyThrows
-	@PostMapping("/remove-files")
-	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
-	public R removeFiles(@RequestParam String fileNames) {
-		ossBuilder.template().removeFiles(Func.toStrList(fileNames));
-		return R.success("操作成功");
-	}
+    /**
+     * 批量删除文件
+     *
+     * @param fileNames 存储桶对象名称集合
+     * @return R
+     */
+    @SneakyThrows
+    @PostMapping("/remove-files")
+    @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+    @ApiOperation(value = "批量删除文件", notes = "批量删除文件")
+    public R removeFiles(@RequestParam String fileNames) {
+        ossBuilder.template().removeFiles(Func.toStrList(fileNames));
+        return R.success("操作成功");
+    }
 
 }

--
Gitblit v1.9.3