From 24762e244ce37f966f58af7549733c43fbfa865b Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Thu, 29 Oct 2020 10:11:55 +0800 Subject: [PATCH] 20201029v1.1 --- .../com/ccsens/mt/api/DebugController.java | 13 ++++++++ .../com/ccsens/mt/api/FileController.java | 33 +++++++++++++++++++ .../com/ccsens/mt/service/FileService.java | 1 + mt/src/main/resources/application.yml | 4 +-- .../main/java/com/ccsens/util/CodeEnum.java | 1 + 5 files changed, 50 insertions(+), 2 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/DebugController.java b/mt/src/main/java/com/ccsens/mt/api/DebugController.java index 54b5366b..eb2fca5f 100644 --- a/mt/src/main/java/com/ccsens/mt/api/DebugController.java +++ b/mt/src/main/java/com/ccsens/mt/api/DebugController.java @@ -11,10 +11,13 @@ import io.swagger.annotations.ApiOperation; import org.springframework.data.redis.core.ZSetOperations; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.Part; +import java.util.List; import java.util.Objects; import java.util.Set; @@ -59,4 +62,14 @@ public class DebugController { return JsonResponse.newInstance().ok("OK"); } + + @ApiOperation(value = "/测试",notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value="file",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) + public JsonResponse debug(HttpServletRequest request, @RequestParam() Part files) throws Exception { + System.out.println(files.getSize()); + return JsonResponse.newInstance().ok("测试"); + } + } diff --git a/mt/src/main/java/com/ccsens/mt/api/FileController.java b/mt/src/main/java/com/ccsens/mt/api/FileController.java index 6f711826..d1a8a56c 100644 --- a/mt/src/main/java/com/ccsens/mt/api/FileController.java +++ b/mt/src/main/java/com/ccsens/mt/api/FileController.java @@ -1,5 +1,6 @@ package com.ccsens.mt.api; +import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ccsens.cloudutil.feign.TallFeignClient; @@ -19,6 +20,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; +import java.util.ArrayList; import java.util.List; /** @@ -81,4 +83,35 @@ public class FileController { log.info("文件下载结束"); } + + @ApiOperation(value = "上传图片证明文件(不大于2M)") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/upload/photo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse upload(HttpServletRequest request, @RequestParam() Part file) throws Exception { + log.info("文件上传:{}", file); + //限制文件大小 2M + if(file.getSize() > 2097152){ + throw new BaseException(CodeEnum.PHOTO_FILE_EXCEED_2M); + } + String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); + JsonResponse tokenRes = tallFeignClient.getUserIdByToken(authHeader); + log.info("{}查询userId返回:{}", authHeader, tokenRes); + if (tokenRes.getCode().intValue() != CodeEnum.SUCCESS.getCode().intValue()) { + return tokenRes; + } + JSONObject json = JSON.parseObject(JSON.toJSONString(tokenRes.getData())); + Long userId = json.getLong("id"); + String dir = PropUtil.path + Constant.File.UPLOAD_URL; + List files = new ArrayList<>(); + files.add(file); + List fileVos = fileService.saveFile(dir, files, userId); + List vos = FileVo.Upload.transFilePo(fileVos); + log.info("文件上传返回:{}", vos); + FileVo.Upload vo = new FileVo.Upload(); + if(CollectionUtil.isNotEmpty(vos)){ + vo = vos.get(0); + } + return JsonResponse.newInstance().ok(vo); + } } diff --git a/mt/src/main/java/com/ccsens/mt/service/FileService.java b/mt/src/main/java/com/ccsens/mt/service/FileService.java index aaa34977..b322a75b 100644 --- a/mt/src/main/java/com/ccsens/mt/service/FileService.java +++ b/mt/src/main/java/com/ccsens/mt/service/FileService.java @@ -41,6 +41,7 @@ public class FileService implements IFileService { List fileList = new ArrayList<>(); String allowedExt = WebConstant.IMG_TYPE + "," + WebConstant.Wps.FILE_TYPE_ALL; for (Part file: files) { + log.info("文件名:{}", file.getSubmittedFileName()); String path = UploadFileUtil_Servlet3.uploadFile(file, allowedExt, dir); CommonFile fileDo = new CommonFile(); diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5c2cd5c4..5889ff7f 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: dev - include: common, util-dev \ No newline at end of file + active: test + include: common, util-test \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index f54770df..880a3c59 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -162,6 +162,7 @@ public enum CodeEnum { DINGDING_EXCEPTION(132,"钉钉接口调用异常。",true), URL_ERROR(133, "请求路径转换异常", true), JOIN_PROJECT_NUM_FULL(134, "可参赛次数已满", true), + PHOTO_FILE_EXCEED_2M(134, "图片大小不能超过2M", true), ;