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<Void> getOrderCwd(@RequestParam("path") String path) {
|
Integer code = this.dockingFtpService.getOrderCwd(path);
|
R<Void> r = new R<>();
|
r.setCode(code.intValue());
|
this.servletResponse.setStatus(code.intValue());
|
return r;
|
}
|
|
@ApiOperationSupport(order = 1)
|
@GetResource({"/directory/read"})
|
@ApiOperation("获取目录下所有的当前版本的加工文件")
|
public R<FtpDirectoryVO> 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<FtpDirectoryVO> r = new R<>();
|
r.setCode(ResultCode.NOT_FOUND.getCode());
|
return r;
|
}
|
|
@ApiOperationSupport(order = 2)
|
@GetResource({"/file/read"})
|
@ApiOperation("下载文件")
|
public R<String> readFile(@RequestParam("path") String path) {
|
return R.data(this.dockingFtpService.readFile(path));
|
}
|
|
@ApiOperationSupport(order = 3)
|
@GetResource({"/entries/info"})
|
@ApiOperation("根据路径读取信息")
|
public R<EntityInfoVO> entriesInfo(@RequestParam String path) {
|
return R.data(this.dockingFtpService.getByPath(path));
|
}
|
|
@ApiOperationSupport(order = 4)
|
@PostResource({"/file/create"})
|
@ApiOperation("在根目录下创建当前版本的加工文件")
|
public R<EntityInfoVO> 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<Boolean> 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<Boolean> deleteFile(@RequestParam("filename") String filename) {
|
return R.data(Boolean.valueOf(this.dockingFtpService.deleteFile(filename)));
|
}
|
}
|