Browse Source

项目发送到第三方平台 上传文件

dev_shibei_match
zhaoqifeng 4 years ago
parent
commit
11e2690ca5
  1. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java
  2. 21
      epmet-module/epmet-third/epmet-third-client/pom.xml
  3. 29
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java
  4. 10
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/EpmetThirdOpenFeignClientFallback.java
  5. 13
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/ProjectController.java
  6. 19
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java

@ -489,7 +489,7 @@ public class HttpClientManager {
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
InputStream is = response.getEntity().getContent();
FileItemFactory factory = new DiskFileItemFactory(16, null);
String textFieldName = "uploadfile";
String textFieldName = "file";
item = factory.createItem(textFieldName, ContentType.APPLICATION_OCTET_STREAM.toString(), false, fileName);
OutputStream os = item.getOutputStream();

21
epmet-module/epmet-third/epmet-third-client/pom.xml

@ -19,6 +19,12 @@
<groupId>com.epmet</groupId>
<artifactId>epmet-commons-tools</artifactId>
<version>2.0.0</version>
<exclusions>
<exclusion>
<artifactId>feign-form-spring</artifactId>
<groupId>io.github.openfeign.form</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.github.binarywang</groupId>
@ -32,6 +38,21 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form</artifactId>
<version>3.8.0</version>
</dependency>
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form-spring</artifactId>
<version>3.8.0</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
</dependencies>
<build>

29
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java

@ -6,8 +6,13 @@ import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.feign.fallback.EpmetThirdOpenFeignClientFallback;
import com.epmet.feign.fallback.GovProjectOpenFeignClientFallback;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import feign.codec.Encoder;
import feign.form.spring.SpringFormEncoder;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.context.annotation.Bean;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -19,8 +24,10 @@ import java.util.List;
* @author zhaoqifeng
* @date 2021/3/18 14:18
*/
// @FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallback = GovProjectOpenFeignClientFallback.class,url = "localhost:8110")
@FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallback = EpmetThirdOpenFeignClientFallback.class)
// @FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallback = EpmetThirdOpenFeignClientFallback.class,configuration =
// EpmetThirdOpenFeignClient.MultipartSupportConfig.class,url = "localhost:8110")
@FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallback = EpmetThirdOpenFeignClientFallback.class, configuration =
EpmetThirdOpenFeignClient.MultipartSupportConfig.class)
public interface EpmetThirdOpenFeignClient {
/**
* 请求项目协助
@ -36,12 +43,22 @@ public interface EpmetThirdOpenFeignClient {
/**
* 上传文件
* @author zhaoqifeng
* @date 2021/3/25 16:10
* @date 2021/3/25 18:36
* @param file
* @param formDTO
* @param customerId
* @param platformId
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.UploadFileResultDTO>
*/
@PostMapping("third/project/uploadfile")
Result<UploadFileResultDTO> uploadFile(@RequestParam("file") MultipartFile file, UploadFileFormDTO formDTO);
@PostMapping(value= "third/project/uploadfile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
Result<UploadFileResultDTO> uploadFile(@RequestPart("file") MultipartFile file, @RequestParam("customerId") String customerId, @RequestParam(
"platformId") String platformId);
class MultipartSupportConfig {
@Bean
public Encoder feignFormEncoder() {
return new SpringFormEncoder();
}
}
}

10
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/EpmetThirdOpenFeignClientFallback.java

@ -38,13 +38,15 @@ public class EpmetThirdOpenFeignClientFallback implements EpmetThirdOpenFeignCli
* 上传文件
*
* @param file
* @param formDTO
* @param customerId
* @param platformId
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.UploadFileResultDTO>
* @author zhaoqifeng
* @date 2021/3/25 16:10
* @date 2021/3/25 18:36
*/
@Override
public Result<UploadFileResultDTO> uploadFile(MultipartFile file, UploadFileFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "uploadFile", formDTO);
public Result<UploadFileResultDTO> uploadFile(MultipartFile file, String customerId, String platformId) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "uploadFile", customerId);
}
}

13
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/ProjectController.java

@ -9,6 +9,7 @@ import com.epmet.dto.form.TPFDemoFormDTO;
import com.epmet.dto.result.UploadFileResultDTO;
import com.epmet.service.ProjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -55,13 +56,17 @@ public class ProjectController {
* @author zhaoqifeng
* @date 2021/3/25 11:13
* @param file
* @param formDTO
* @param customerId
* @param platformId
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.UploadFileResultDTO>
*/
@PostMapping("uploadfile")
public Result<UploadFileResultDTO> uploadFile(@RequestParam("file") MultipartFile file, UploadFileFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
@PostMapping(value= "uploadfile" , consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public Result<UploadFileResultDTO> uploadFile(@RequestPart("file") MultipartFile file, @RequestParam("customerId") String customerId, @RequestParam("platformId") String platformId) {
UploadFileFormDTO formDTO = new UploadFileFormDTO();
formDTO.setFile(file);
formDTO.setPlatformId(platformId);
formDTO.setCustomerId(customerId);
ValidatorUtils.validateEntity(formDTO);
UploadFileResultDTO result = projectService.uploadFile(formDTO);
return new Result<UploadFileResultDTO>().ok(result);
}

19
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java

@ -2091,7 +2091,8 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
if (!multipartFileResult.success()) {
throw new RenException(multipartFileResult.getCode(), multipartFileResult.getMsg());
}
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(), uploadFileFormDTO);
uploadFileFormDTO.setFile(multipartFileResult.getData());
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(),projectStaff.getCustomerId(), formDTO.getPlatformId());
if (!uploadResult.success()) {
throw new RenException(uploadResult.getCode(), uploadResult.getMsg());
}
@ -2112,7 +2113,7 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
if (!multipartFileResult.success()) {
throw new RenException(multipartFileResult.getCode(), multipartFileResult.getMsg());
}
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(), uploadFileFormDTO);
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(),projectStaff.getCustomerId(), formDTO.getPlatformId());
if (!uploadResult.success()) {
throw new RenException(uploadResult.getCode(), uploadResult.getMsg());
}
@ -2133,7 +2134,7 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
if (!multipartFileResult.success()) {
throw new RenException(multipartFileResult.getCode(), multipartFileResult.getMsg());
}
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(), uploadFileFormDTO);
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(),projectStaff.getCustomerId(), formDTO.getPlatformId());
if (!uploadResult.success()) {
throw new RenException(uploadResult.getCode(), uploadResult.getMsg());
}
@ -2152,7 +2153,7 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
if (!multipartFileResult.success()) {
throw new RenException(multipartFileResult.getCode(), multipartFileResult.getMsg());
}
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(), uploadFileFormDTO);
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(),projectStaff.getCustomerId(), formDTO.getPlatformId());
if (!uploadResult.success()) {
throw new RenException(uploadResult.getCode(), uploadResult.getMsg());
}
@ -2207,7 +2208,8 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
if (!multipartFileResult.success()) {
throw new RenException(multipartFileResult.getCode(), multipartFileResult.getMsg());
}
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(), uploadFileFormDTO);
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(),
projectStaff.getCustomerId(), formDTO.getPlatformId());
if (!uploadResult.success()) {
throw new RenException(uploadResult.getCode(), uploadResult.getMsg());
}
@ -2226,7 +2228,7 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
if (!multipartFileResult.success()) {
throw new RenException(multipartFileResult.getCode(), multipartFileResult.getMsg());
}
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(), uploadFileFormDTO);
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(),projectStaff.getCustomerId(), formDTO.getPlatformId());
if (!uploadResult.success()) {
throw new RenException(uploadResult.getCode(), uploadResult.getMsg());
}
@ -2245,7 +2247,7 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
if (!multipartFileResult.success()) {
throw new RenException(multipartFileResult.getCode(), multipartFileResult.getMsg());
}
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(), uploadFileFormDTO);
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(),projectStaff.getCustomerId(), formDTO.getPlatformId());
if (!uploadResult.success()) {
throw new RenException(uploadResult.getCode(), uploadResult.getMsg());
}
@ -2264,7 +2266,7 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
if (!multipartFileResult.success()) {
throw new RenException(multipartFileResult.getCode(), multipartFileResult.getMsg());
}
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(), uploadFileFormDTO);
Result<UploadFileResultDTO> uploadResult = epmetThirdOpenFeignClient.uploadFile(multipartFileResult.getData(),projectStaff.getCustomerId(), formDTO.getPlatformId());
if (!uploadResult.success()) {
throw new RenException(uploadResult.getCode(), uploadResult.getMsg());
}
@ -2440,6 +2442,7 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
detail = detail + process;
}
System.out.println(detail);
log.debug(detail);
return detail;
}

Loading…
Cancel
Save