diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/UploadFileToServerUtils.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/UploadFileToServerUtils.java new file mode 100644 index 000000000..b712c1fa7 --- /dev/null +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/UploadFileToServerUtils.java @@ -0,0 +1,17 @@ +package com.elink.esua.epdc.commons.tools.utils; + +import java.io.File; + +/** + * + * 图片上传工具类 + * + * @Author:liuchuang + * @Date:2019/11/22 16:28 + */ +public class UploadFileToServerUtils { + + public static String uploadFile(File file) { + return ""; + } +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiTopicController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiTopicController.java index ae6dcf981..538abda7f 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiTopicController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiTopicController.java @@ -14,6 +14,7 @@ import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO; import com.elink.esua.epdc.service.TopicService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -133,4 +134,18 @@ public class ApiTopicController { ValidatorUtils.validateEntity(formDto); return topicService.changeToIssue(userDetail, formDto); } + + /** + * + * 文件上传 + * + * @params [file] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/11/25 10:45 + */ + @PostMapping("upload") + public Result uploadImage(@RequestParam("file") MultipartFile file) { + return topicService.uploadImage(file); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/OssFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/OssFeignClient.java index a63a19290..30d32c78f 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/OssFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/OssFeignClient.java @@ -2,10 +2,13 @@ package com.elink.esua.epdc.feign; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.UploadDTO; import com.elink.esua.epdc.dto.UploadFormDTO; import com.elink.esua.epdc.feign.fallback.OssFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.multipart.MultipartFile; /** * 文件对象模块 @@ -24,4 +27,16 @@ public interface OssFeignClient { */ @PostMapping(value = "oss/file/uploadBase64") Result upload(UploadFormDTO formDTO); + + /** + * + * 图片上传 + * + * @params [file] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/11/25 10:55 + */ + @PostMapping(value = "oss/file/upload") + Result upload(MultipartFile file); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/OssFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/OssFeignClientFallback.java index 9001dc723..e3c533f8a 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/OssFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/OssFeignClientFallback.java @@ -3,9 +3,11 @@ package com.elink.esua.epdc.feign.fallback; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.UploadDTO; import com.elink.esua.epdc.dto.UploadFormDTO; import com.elink.esua.epdc.feign.OssFeignClient; import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; /** * 文件对象模块 @@ -19,4 +21,9 @@ public class OssFeignClientFallback implements OssFeignClient { public Result upload(UploadFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPDC_OSS_SERVER, "upload", formDTO); } + + @Override + public Result upload(MultipartFile file) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_OSS_SERVER, "upload", file); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/TopicService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/TopicService.java index b674e6400..b3176552c 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/TopicService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/TopicService.java @@ -9,6 +9,7 @@ import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO; import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO; import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO; +import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -97,4 +98,15 @@ public interface TopicService { * @since 2019/11/8 10:37 */ Result changeToIssue(TokenDto userDetail, TopicChangeToIssueFormDTO formDto); + + /** + * + * 文件上传 + * + * @params [file] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/11/25 10:45 + */ + Result uploadImage(MultipartFile file); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java index 86bf60786..5595bf477 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java @@ -3,6 +3,7 @@ package com.elink.esua.epdc.service.impl; import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.CompleteDeptDTO; +import com.elink.esua.epdc.dto.UploadDTO; import com.elink.esua.epdc.dto.enums.TopicStateEnum; import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO; @@ -12,11 +13,12 @@ import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO; import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO; import com.elink.esua.epdc.feign.AdminFeignClient; +import com.elink.esua.epdc.feign.OssFeignClient; import com.elink.esua.epdc.feign.TopicFeignClient; import com.elink.esua.epdc.service.TopicService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - +import org.springframework.web.multipart.MultipartFile; import java.util.List; /** @@ -35,6 +37,9 @@ public class TopicServiceImpl implements TopicService { @Autowired private TopicFeignClient topicFeignClient; + @Autowired + private OssFeignClient ossFeignClient; + @Override public Result saveTopic(TokenDto userDetail, TopicSubmitFormDTO formDto) { if (null == userDetail) { @@ -108,4 +113,14 @@ public class TopicServiceImpl implements TopicService { formDto.setUserId(userDetail.getUserId()); return topicFeignClient.changeToIssue(formDto); } + + @Override + public Result uploadImage(MultipartFile file) { + Result result = ossFeignClient.upload(file); + if (!result.success()) { + return new Result().error(result.getMsg()); + } + + return new Result().ok(result.getData().getUrl()); + } }