|
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.qmth.boot.api.annotation.Aac;
|
|
|
import com.qmth.boot.api.annotation.BOOL;
|
|
|
import com.qmth.boot.api.constant.ApiConstant;
|
|
|
+import com.qmth.boot.api.exception.ApiException;
|
|
|
import com.qmth.boot.core.enums.Platform;
|
|
|
import com.qmth.boot.tools.signature.SignatureType;
|
|
|
import com.qmth.distributed.print.business.bean.auth.AuthBean;
|
|
@@ -12,10 +13,10 @@ import com.qmth.distributed.print.business.bean.query.LoginParam;
|
|
|
import com.qmth.distributed.print.business.bean.result.EditResult;
|
|
|
import com.qmth.distributed.print.business.bean.result.LoginResult;
|
|
|
import com.qmth.distributed.print.business.config.DictionaryConfig;
|
|
|
-import com.qmth.distributed.print.business.entity.BasicSchool;
|
|
|
-import com.qmth.distributed.print.business.entity.SysUser;
|
|
|
-import com.qmth.distributed.print.business.entity.TBSession;
|
|
|
+import com.qmth.distributed.print.business.entity.*;
|
|
|
+import com.qmth.distributed.print.business.enums.DownloadFileEnum;
|
|
|
import com.qmth.distributed.print.business.enums.RoleTypeEnum;
|
|
|
+import com.qmth.distributed.print.business.enums.UploadFileEnum;
|
|
|
import com.qmth.distributed.print.business.service.*;
|
|
|
import com.qmth.distributed.print.business.util.AuthUtil;
|
|
|
import com.qmth.distributed.print.business.util.RedisUtil;
|
|
@@ -28,9 +29,13 @@ import com.qmth.distributed.print.common.util.Result;
|
|
|
import com.qmth.distributed.print.common.util.ResultUtil;
|
|
|
import com.qmth.distributed.print.common.util.SessionUtil;
|
|
|
import io.swagger.annotations.*;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.validation.BindingResult;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.validation.Valid;
|
|
@@ -49,6 +54,7 @@ import java.util.stream.Collectors;
|
|
|
@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.common}")
|
|
|
@Aac(strict = BOOL.TRUE, platform = Platform.WEB)
|
|
|
public class SysController {
|
|
|
+ private final static Logger log = LoggerFactory.getLogger(SysController.class);
|
|
|
|
|
|
@Autowired
|
|
|
private SysUserService sysUserService;
|
|
@@ -74,6 +80,12 @@ public class SysController {
|
|
|
@Resource
|
|
|
CommonService commonService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ TBTaskService tbTaskService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ BasicAttachmentService basicAttachmentService;
|
|
|
+
|
|
|
|
|
|
* 登录
|
|
|
*
|
|
@@ -250,4 +262,65 @@ public class SysController {
|
|
|
return ResultUtil.ok(Collections.singletonMap(SystemConstant.LOGO, dictionaryConfig.sysDomain().getAdminLogoUrl()));
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @ApiOperation(value = "文件上传接口")
|
|
|
+ @RequestMapping(value = "/file/upload", method = RequestMethod.POST)
|
|
|
+ @Transactional
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
|
|
|
+ public Result fileUpload(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file,
|
|
|
+ @ApiParam(value = "上传文件类型", required = true) @RequestParam UploadFileEnum type) {
|
|
|
+ BasicAttachment basicAttachment = null;
|
|
|
+ try {
|
|
|
+ basicAttachment = basicAttachmentService.saveAttachment(file, ServletUtil.getRequestMd5(), type);
|
|
|
+ if (Objects.isNull(basicAttachment)) {
|
|
|
+ throw ExceptionResultEnum.ATTACHMENT_ERROR.exception();
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("请求出错", e);
|
|
|
+ if (Objects.nonNull(basicAttachment)) {
|
|
|
+ basicAttachmentService.deleteAttachment(basicAttachment);
|
|
|
+ }
|
|
|
+ if (e instanceof ApiException) {
|
|
|
+ ResultUtil.error((ApiException) e, e.getMessage());
|
|
|
+ } else {
|
|
|
+ ResultUtil.error(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ResultUtil.ok(new EditResult(basicAttachment.getId(), commonService.filePreview(basicAttachment.getPath())));
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation(value = "文件下载接口")
|
|
|
+ @RequestMapping(value = "/file/download", method = RequestMethod.POST)
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
|
|
|
+ public Result fileDownload(@ApiParam(value = "任务id", required = true) @RequestParam String id,
|
|
|
+ @ApiParam(value = "下载文件类型", required = true) @RequestParam DownloadFileEnum type) {
|
|
|
+ TBTask tbTask = tbTaskService.getById(Long.parseLong(id));
|
|
|
+ if (Objects.isNull(tbTask)) {
|
|
|
+ throw ExceptionResultEnum.TASK_NO_DATA.exception();
|
|
|
+ }
|
|
|
+ String path = null;
|
|
|
+ switch (type.ordinal()) {
|
|
|
+ case 0:
|
|
|
+ path = tbTask.getImportFilePath();
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ path = tbTask.getReportFilePath();
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ path = tbTask.getResultFilePath();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (Objects.isNull(path)) {
|
|
|
+ throw ExceptionResultEnum.PATH_NO_DATA.exception();
|
|
|
+ }
|
|
|
+ return ResultUtil.ok(new EditResult(commonService.filePreview(path)));
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation(value = "文件预览接口")
|
|
|
+ @RequestMapping(value = "/file/preview", method = RequestMethod.POST)
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
|
|
|
+ public Result filePreview(@ApiParam(value = "附件id", required = true) @RequestParam String id) {
|
|
|
+ BasicAttachment basicAttachment = basicAttachmentService.getById(Long.parseLong(id));
|
|
|
+ return ResultUtil.ok(new EditResult(commonService.filePreview(basicAttachment.getPath())));
|
|
|
+ }
|
|
|
}
|