package com.qianwen.smartman.modules.dnc.controller; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.qianwen.smartman.common.cache.RegionCache; import com.qianwen.core.scanner.modular.annotation.DeleteResource; import com.qianwen.core.scanner.modular.annotation.GetResource; import com.qianwen.core.scanner.modular.annotation.PostResource; import com.qianwen.core.scanner.modular.annotation.PutResource; import com.qianwen.core.scanner.modular.stereotype.ApiResource; import com.qianwen.core.tool.api.R; import com.qianwen.core.tool.api.ResultCode; import com.qianwen.core.tool.utils.Func; import com.qianwen.smartman.modules.dnc.service.IDockingFtpService; import com.qianwen.smartman.modules.dnc.vo.EntityInfoVO; import com.qianwen.smartman.modules.dnc.vo.FtpDirectoryVO; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @Api(value = "ftp接口", tags = {"ftp接口controller"}) @ApiResource({"blade-dnc/ftp"}) @RestController /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/dnc/controller/DockingFtpController.class */ public class DockingFtpController { private static final Logger log = LoggerFactory.getLogger(DockingFtpController.class); private final IDockingFtpService dockingFtpService; private final HttpServletResponse servletResponse; public DockingFtpController(final IDockingFtpService dockingFtpService, final HttpServletResponse servletResponse) { this.dockingFtpService = dockingFtpService; this.servletResponse = servletResponse; } @GetResource({"/cwd"}) @ApiOperation("cwd命令接口") public R getOrderCwd(@RequestParam("path") String path) { Integer code = this.dockingFtpService.getOrderCwd(path); R r = new R<>(); r.setCode(code.intValue()); this.servletResponse.setStatus(code.intValue()); return r; } @ApiOperationSupport(order = 1) @GetResource({"/directory/read"}) @ApiOperation("获取目录下所有的当前版本的加工文件") public R readDirectory(@RequestParam(value = "path", required = false) String path) { Integer orderCwd = this.dockingFtpService.getOrderCwd(path); if (Func.isEmpty(path) || "".equals(path) || ResultCode.SUCCESS.getCode() == orderCwd.intValue()) { return R.data(this.dockingFtpService.readDirectory(path)); } R r = new R<>(); r.setCode(ResultCode.NOT_FOUND.getCode()); return r; } @ApiOperationSupport(order = 2) @GetResource({"/file/read"}) @ApiOperation("下载文件") public R readFile(@RequestParam("path") String path) { return R.data(this.dockingFtpService.readFile(path)); } @ApiOperationSupport(order = 3) @GetResource({"/entries/info"}) @ApiOperation("根据路径读取信息") public R entriesInfo(@RequestParam String path) { return R.data(this.dockingFtpService.getByPath(path)); } @ApiOperationSupport(order = 4) @PostResource({"/file/create"}) @ApiOperation("在根目录下创建当前版本的加工文件") public R createFile(@RequestParam("path") String path, HttpServletRequest request) { return R.data(this.dockingFtpService.createFile(path, request)); } @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL) @PutResource({"/file/rename"}) @ApiOperation("修改文件名称") public R renameFile(@RequestParam("oldFileName") String oldFileName, @RequestParam("newFileName") String newFileName) { return R.data(Boolean.valueOf(this.dockingFtpService.renameFile(oldFileName, newFileName))); } @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL) @DeleteResource({"/file/delete"}) @ApiOperation("删除文件") public R deleteFile(@RequestParam("filename") String filename) { return R.data(Boolean.valueOf(this.dockingFtpService.deleteFile(filename))); } }