package com.atguigu.process.controller; import com.atguigu.common.result.Result; import com.atguigu.model.process.ProcessTemplate; import com.atguigu.process.service.OaProcessTemplateService; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.util.ResourceUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.HashMap; import java.util.Map; /** *
* 审批模板 前端控制器 *
* * @author yovinchen * @since 2023-06-15 */ @Api(value = "审批模板管理", tags = "审批模板管理") @RestController @RequestMapping(value = "/admin/process/processTemplate") public class OaProcessTemplateController { @Autowired private OaProcessTemplateService processTemplateService; /** * 测试文件上传 * * @param args */ public static void main(String[] args) { try { String path = new File(ResourceUtils.getURL("classpath:").getPath()).getAbsolutePath(); System.out.println("path = " + path); //E:\CodeLife\IdeaProject\guigu-oa\guigu-oa-parent\service-oa\target\classes } catch (FileNotFoundException e) { throw new RuntimeException(e); } } /** * 上传文件流程 * * @param file * @return * @throws FileNotFoundException */ @PreAuthorize("hasAuthority('bnt.processTemplate.templateSet')") @ApiOperation(value = "上传流程定义") @PostMapping("/uploadProcessDefinition") public Result uploadProcessDefinition(MultipartFile file) throws FileNotFoundException { // 获取classes目录位置 String path = new File(ResourceUtils.getURL("classpath:").getPath()).getAbsolutePath(); // 设置上传文件夹 File tempFile = new File(path + "/processes/"); if (!tempFile.exists()) { tempFile.mkdirs(); } // 创建空文件,实现文件写入 String filename = file.getOriginalFilename(); File zipFile = new File(path + "/processes/" + filename); // 保存文件 try { file.transferTo(zipFile); } catch (IOException e) { return Result.fail(); } Map