package org.springblade.mdm.commons.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.springblade.core.mp.support.Condition; import org.springblade.core.oss.OssTemplate; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.mdm.commons.service.OssFileCommonService; import org.springblade.mdm.commons.service.ParamService; import org.springblade.mdm.commons.vo.RemindVO; import org.springblade.mdm.flow.service.FlowBusinessService; import org.springblade.mdm.flow.vo.FlowVO; import org.springblade.mdm.flow.vo.TodoQueryVO; import org.springblade.mdm.program.service.NcProgramApprovedService; import org.springblade.mdm.program.vo.NcProgramExportDncPageVO; import org.springblade.mdm.program.vo.NcProgramExportDncQueryVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.io.IOException; import java.io.InputStream; import java.util.List; @Slf4j @RestController @RequestMapping("/ossfile") @Tag(name = "任务提醒", description = "任务提醒") public class OssFileController { @Autowired private OssFileCommonService ossFileCommonService; @Autowired private OssTemplate ossTemplate; @Autowired private ParamService paramService; /** * 待办任务列表页 */ @GetMapping("file-content") @ApiOperationSupport(order = 3) @Operation(summary = "获取文件文本内容", description = "获取文件文本内容") public R fileContent(String ossFileName) { if(StringUtils.isBlank(ossFileName)){ throw new RuntimeException("文件名为空"); } return R.data(ossFileCommonService.getOssFileContent(ossFileName)); } @GetMapping("file-bytes") @ApiOperationSupport(order = 3) @Operation(summary = "获取文件字节", description = "获取文件字节") public void fileBytes(String ossFileName, HttpServletResponse response) throws IOException { if(StringUtils.isBlank(ossFileName)){ throw new RuntimeException("文件名为空"); } //ossTemplate.fileLink() try(InputStream ins = ossTemplate.statFileStream(ossFileName);){ response.getOutputStream().write(IOUtils.toByteArray(ins)); } } @GetMapping("file-link") @ApiOperationSupport(order = 3) @Operation(summary = "获取文件字节", description = "获取文件字节") public R fileLink(String ossFileName) throws IOException { if(StringUtils.isBlank(ossFileName)){ throw new RuntimeException("文件名为空"); } String link = ossTemplate.fileLink(ossFileName); return R.data(link); } }