瀏覽代碼

Merge remote-tracking branch 'origin/main'

一条糖醋鱼 1 月之前
父節點
當前提交
81f9e82721
共有 23 個文件被更改,包括 406 次插入61 次删除
  1. 41 0
      edu-travel-adapter/edu-travel-adapter-upload/pom.xml
  2. 39 0
      edu-travel-adapter/edu-travel-adapter-upload/src/main/java/edu/travel/adapter/service/upload/UploadAdapter.java
  3. 22 0
      edu-travel-adapter/pom.xml
  4. 5 10
      edu-travel-api/edu-travel-api-admin/pom.xml
  5. 1 0
      edu-travel-api/edu-travel-api-admin/src/main/java/edu/travel/AdminApplication.java
  6. 104 0
      edu-travel-api/edu-travel-api-admin/src/main/java/edu/travel/controller/UploadController.java
  7. 21 0
      edu-travel-api/edu-travel-api-admin/src/main/resources/bootstrap-dev.yml
  8. 21 0
      edu-travel-api/edu-travel-api-admin/src/main/resources/bootstrap-prod.yml
  9. 9 0
      edu-travel-api/edu-travel-api-admin/src/main/resources/bootstrap.yml
  10. 0 38
      edu-travel-api/edu-travel-api-admin/src/test/java/edu/travel/AppTest.java
  11. 27 0
      edu-travel-common/edu-travel-common-adapter/pom.xml
  12. 10 0
      edu-travel-common/edu-travel-common-adapter/src/main/java/edu/travel/adapter/annotation/AdapterAnnotation.java
  13. 20 0
      edu-travel-common/edu-travel-common-adapter/src/main/java/edu/travel/adapter/aspect/AdapterAspect.java
  14. 1 0
      edu-travel-common/edu-travel-common-cache/pom.xml
  15. 1 0
      edu-travel-common/edu-travel-common-core/pom.xml
  16. 1 1
      edu-travel-common/edu-travel-common-resp/src/main/java/edu/travel/rpc/RPCBaseResponse.java
  17. 1 0
      edu-travel-common/pom.xml
  18. 4 4
      edu-travel-gateway/src/main/resources/bootstrap-dev.yml
  19. 2 2
      edu-travel-service/edu-travel-service-commodity/src/main/resources/bootstrap-dev.yml
  20. 5 5
      edu-travel-service/edu-travel-service-upload/pom.xml
  21. 1 1
      edu-travel-service/edu-travel-service-upload/src/main/java/edu/travel/UploadApplication.java
  22. 69 0
      edu-travel-service/edu-travel-service-upload/src/main/java/edu/travel/web/UploadController.java
  23. 1 0
      pom.xml

+ 41 - 0
edu-travel-adapter/edu-travel-adapter-upload/pom.xml

@@ -0,0 +1,41 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>edu.travel</groupId>
+        <artifactId>edu-travel-adapter</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>edu-travel-adapter-upload</artifactId>
+    <packaging>jar</packaging>
+
+    <name>edu-travel-adapter-upload</name>
+    <url>http://maven.apache.org</url>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-aop</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-remote-upload</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-adapter</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+</project>

+ 39 - 0
edu-travel-adapter/edu-travel-adapter-upload/src/main/java/edu/travel/adapter/service/upload/UploadAdapter.java

@@ -0,0 +1,39 @@
+package edu.travel.adapter.service.upload;
+
+import edu.travel.adapter.annotation.AdapterAnnotation;
+import edu.travel.remote.UploadRemoteController;
+import edu.travel.rpc.RPCBaseResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+
+@Component
+public class UploadAdapter  {
+    @Autowired
+    private UploadRemoteController uploadRemoteController;
+    @AdapterAnnotation
+    public RPCBaseResponse exitsFile(String md5) {
+        RPCBaseResponse rpcBaseResponse = uploadRemoteController.exitsFile(md5);
+        return rpcBaseResponse;
+    }
+    @AdapterAnnotation
+    public RPCBaseResponse exitsBlob(String md5) {
+        RPCBaseResponse rpcBaseResponse = uploadRemoteController.exitsBlob(md5);
+        return rpcBaseResponse;
+    }
+    @AdapterAnnotation
+    public RPCBaseResponse uploadBigFile(MultipartFile file) {
+        RPCBaseResponse rpcBaseResponse = uploadRemoteController.uploadBigFile(file);
+        return rpcBaseResponse;
+    }
+    @AdapterAnnotation
+    public RPCBaseResponse mergeFile(String json) {
+        RPCBaseResponse rpcBaseResponse = uploadRemoteController.mergeFile(json);
+        return rpcBaseResponse;
+    }
+    @AdapterAnnotation
+    public RPCBaseResponse uploadFile(MultipartFile file) {
+        RPCBaseResponse rpcBaseResponse = uploadRemoteController.uploadFile(file);
+        return rpcBaseResponse;
+    }
+}

+ 22 - 0
edu-travel-adapter/pom.xml

@@ -0,0 +1,22 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>edu.travel</groupId>
+        <artifactId>EduTravel</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>edu-travel-adapter</artifactId>
+    <packaging>pom</packaging>
+
+    <name>edu-travel-adapter</name>
+    <url>http://maven.apache.org</url>
+    <modules>
+        <module>edu-travel-adapter-upload</module>
+    </modules>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+</project>

+ 5 - 10
edu-travel-api/edu-travel-api-admin/pom.xml

@@ -105,16 +105,6 @@
         </dependency>
         <dependency>
             <groupId>edu.travel</groupId>
-            <artifactId>edu-travel-remote-tenant</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>edu.travel</groupId>
-            <artifactId>edu-travel-remote-upload</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>edu.travel</groupId>
             <artifactId>edu-travel-common-util</artifactId>
             <version>1.0-SNAPSHOT</version>
         </dependency>
@@ -138,5 +128,10 @@
             <artifactId>edu-travel-common-cache</artifactId>
             <version>1.0-SNAPSHOT</version>
         </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-adapter-upload</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
     </dependencies>
 </project>

+ 1 - 0
edu-travel-api/edu-travel-api-admin/src/main/java/edu/travel/AdminApplication.java

@@ -4,6 +4,7 @@ import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.EnableAspectJAutoProxy;
 
 /**
  * Hello world!

+ 104 - 0
edu-travel-api/edu-travel-api-admin/src/main/java/edu/travel/controller/UploadController.java

@@ -0,0 +1,104 @@
+package edu.travel.controller;
+
+import edu.travel.adapter.service.upload.UploadAdapter;
+import edu.travel.resp.BaseResponse;
+import edu.travel.rpc.RPCBaseResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+@RestController
+@RequestMapping("/upload")
+public class UploadController  {
+    @Autowired
+    private UploadAdapter uploadAdapter;
+    /**
+     * 文件是否存在
+     * @param md5
+     * @return
+     */
+    @GetMapping("/exits/md5")
+    @PreAuthorize("permitAll()")
+    public BaseResponse exitsFile(String md5) {
+        RPCBaseResponse rpcBaseResponse = uploadAdapter.exitsFile(md5);
+        if (rpcBaseResponse != null) {
+            if (rpcBaseResponse.getCode() == 200){
+                return new BaseResponse(200,"success",rpcBaseResponse.getData());
+            }
+            return new BaseResponse(500,"request is error",null);
+        }
+        return new BaseResponse(500,"request is error",null);
+    }
+    /**
+     * 上传过哪些分片
+     * @param md5
+     * @return
+     */
+    @GetMapping("/exits/blob")
+    @PreAuthorize("permitAll()")
+    public BaseResponse exitsBlob(String md5) {
+        RPCBaseResponse rpcBaseResponse = uploadAdapter.exitsBlob(md5);
+        if (rpcBaseResponse != null) {
+            if (rpcBaseResponse.getCode() == 200){
+                return new BaseResponse(200,"success",rpcBaseResponse.getData());
+            }
+            return new BaseResponse(500,"request is error",null);
+        }
+        return new BaseResponse(500,"request is error",null);
+    }
+    /**
+     * 上传大文件分片
+     * @param file
+     * @return
+     */
+    @PostMapping(value = "/uploadBlob")
+    @PreAuthorize("permitAll()")
+    public BaseResponse uploadBigFile(MultipartFile file) {
+        RPCBaseResponse rpcBaseResponse = uploadAdapter.uploadBigFile(file);
+        if (rpcBaseResponse != null) {
+            if (rpcBaseResponse.getCode() == 200){
+                return new BaseResponse(200,"success",rpcBaseResponse.getData());
+            }
+            return new BaseResponse(500,"request is error",null);
+        }
+        return new BaseResponse(500,"request is error",null);
+    }
+    /**
+     * 合并大文件
+     * @param json
+     * @return
+     */
+    @PostMapping(value = "/mergeFile")
+    @PreAuthorize("permitAll()")
+    public BaseResponse mergeFile(String json) {
+        RPCBaseResponse rpcBaseResponse = uploadAdapter.mergeFile(json);
+        if (rpcBaseResponse != null) {
+            if (rpcBaseResponse.getCode() == 200){
+                return new BaseResponse(200,"success",rpcBaseResponse.getData());
+            }
+            return new BaseResponse(500,"request is error",null);
+        }
+        return new BaseResponse(500,"request is error",null);
+    }
+    /**
+     * 上传小文件
+     * @param file
+     * @return
+     */
+    @PostMapping(value = "/upload")
+    @PreAuthorize("permitAll()")
+    public BaseResponse uploadFile(MultipartFile file) {
+        RPCBaseResponse rpcBaseResponse = uploadAdapter.uploadFile(file);
+        if (rpcBaseResponse != null) {
+            if (rpcBaseResponse.getCode() == 200){
+                return new BaseResponse(200,"success",rpcBaseResponse.getData());
+            }
+            return new BaseResponse(500,"request is error",null);
+        }
+        return new BaseResponse(500,"request is error",null);
+    }
+}

+ 21 - 0
edu-travel-api/edu-travel-api-admin/src/main/resources/bootstrap-dev.yml

@@ -0,0 +1,21 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 192.168.1.44:8848,192.168.1.44:8849,192.168.1.44:8858
+        namespace: edu-@env@
+      config:
+        file-extension: yaml
+        server-addr: 192.168.1.44:8848,192.168.1.44:8849,192.168.1.44:8858
+        refresh-enabled: true
+        namespace: edu-@env@
+        shared-configs:
+          - data-id: reids-config-dev.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: system-config-dev.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: zipkin.yml
+            group: DEFAULT_GROUP
+            refresh: true

+ 21 - 0
edu-travel-api/edu-travel-api-admin/src/main/resources/bootstrap-prod.yml

@@ -0,0 +1,21 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        server-addr: 192.168.1.44:8848,192.168.1.44:8849,192.168.1.44:8858
+        namespace: edu-@env@
+      config:
+        file-extension: yaml
+        server-addr: 192.168.1.44:8848,192.168.1.44:8849,192.168.1.44:8858
+        refresh-enabled: true
+        namespace: edu-@env@
+        shared-configs:
+          - data-id: reids-config-dev.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: system-config-dev.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+          - data-id: zipkin.yml
+            group: DEFAULT_GROUP
+            refresh: true

+ 9 - 0
edu-travel-api/edu-travel-api-admin/src/main/resources/bootstrap.yml

@@ -0,0 +1,9 @@
+server:
+  port: 10005
+spring:
+  application:
+    name: admin-api-@env@
+  profiles:
+    active: @env@
+  main:
+    allow-bean-definition-overriding: true

+ 0 - 38
edu-travel-api/edu-travel-api-admin/src/test/java/edu/travel/AppTest.java

@@ -1,38 +0,0 @@
-package edu.travel;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-/**
- * Unit test for simple App.
- */
-public class AppTest 
-    extends TestCase
-{
-    /**
-     * Create the test case
-     *
-     * @param testName name of the test case
-     */
-    public AppTest( String testName )
-    {
-        super( testName );
-    }
-
-    /**
-     * @return the suite of tests being tested
-     */
-    public static Test suite()
-    {
-        return new TestSuite( AppTest.class );
-    }
-
-    /**
-     * Rigourous Test :-)
-     */
-    public void testApp()
-    {
-        assertTrue( true );
-    }
-}

+ 27 - 0
edu-travel-common/edu-travel-common-adapter/pom.xml

@@ -0,0 +1,27 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>edu.travel</groupId>
+        <artifactId>edu-travel-common</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>edu-travel-common-adapter</artifactId>
+    <packaging>jar</packaging>
+
+    <name>edu-travel-common-adapter</name>
+    <url>http://maven.apache.org</url>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-aop</artifactId>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+</project>

+ 10 - 0
edu-travel-common/edu-travel-common-adapter/src/main/java/edu/travel/adapter/annotation/AdapterAnnotation.java

@@ -0,0 +1,10 @@
+package edu.travel.adapter.annotation;
+
+import java.lang.annotation.*;
+
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.METHOD, ElementType.TYPE})
+@Inherited
+public @interface AdapterAnnotation {
+}

+ 20 - 0
edu-travel-common/edu-travel-common-adapter/src/main/java/edu/travel/adapter/aspect/AdapterAspect.java

@@ -0,0 +1,20 @@
+package edu.travel.adapter.aspect;
+
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.stereotype.Component;
+
+@Aspect
+@Component
+public class AdapterAspect {
+    @Pointcut("@annotation(edu.travel.adapter.annotation.AdapterAnnotation)")
+    public void pointcut() {}
+
+    @Around("pointcut()")
+    public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
+        Object proceed = joinPoint.proceed(joinPoint.getArgs());
+        return proceed;
+    }
+}

+ 1 - 0
edu-travel-common/edu-travel-common-cache/pom.xml

@@ -54,6 +54,7 @@
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-aop</artifactId>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>

+ 1 - 0
edu-travel-common/edu-travel-common-core/pom.xml

@@ -37,6 +37,7 @@
             <groupId>edu.travel</groupId>
             <artifactId>edu-travel-common-resp</artifactId>
             <version>1.0-SNAPSHOT</version>
+            <scope>provided</scope>
         </dependency>
     </dependencies>
 </project>

+ 1 - 1
edu-travel-common/edu-travel-common-resp/src/main/java/edu/travel/rpc/RPCBaseResponse.java

@@ -10,7 +10,7 @@ import java.io.Serializable;
 @AllArgsConstructor
 @NoArgsConstructor
 public class RPCBaseResponse<T> implements Serializable {
-    private int code;
+    private Integer code;
     private String msg;
     private T data;
 }

+ 1 - 0
edu-travel-common/pom.xml

@@ -25,6 +25,7 @@
         <module>edu-travel-common-upload</module>
         <module>edu-travel-common-elastic</module>
         <module>edu-travel-common-debezium</module>
+        <module>edu-travel-common-adapter</module>
     </modules>
 
     <properties>

+ 4 - 4
edu-travel-gateway/src/main/resources/bootstrap-dev.yml

@@ -2,13 +2,13 @@ spring:
   cloud:
     nacos:
       discovery:
-        server-addr: localhost:8848,localhost:8849,localhost:8858
-        namespace: edu-@env@
+        server-addr: 192.168.1.44:8848,192.168.1.44:8849,192.168.1.44:8858
+        namespace: yangzheng-@env@
       config:
         file-extension: yaml
-        server-addr: localhost:8848,localhost:8849,localhost:8858
+        server-addr: 192.168.1.44:8848,192.168.1.44:8849,192.168.1.44:8858
         refresh-enabled: true
-        namespace: edu-@env@
+        namespace: yangzheng-@env@
         shared-configs:
           - data-id: system-config-dev.yaml
             group: DEFAULT_GROUP

+ 2 - 2
edu-travel-service/edu-travel-service-commodity/src/main/resources/bootstrap-dev.yml

@@ -3,12 +3,12 @@ spring:
     nacos:
       discovery:
         server-addr: 192.168.1.44:8848,192.168.1.44:8849,192.168.1.44:8858
-        namespace: zhangwei-@env@
+        namespace: yangzheng-@env@
       config:
         file-extension: yaml
         server-addr: 192.168.1.44:8848,192.168.1.44:8849,192.168.1.44:8858
         refresh-enabled: true
-        namespace: zhangwei-@env@
+        namespace: yangzheng-@env@
         shared-configs:
           - data-id: mybatis-config-dev.yaml
             group: DEFAULT_GROUP

+ 5 - 5
edu-travel-service/edu-travel-service-upload/pom.xml

@@ -101,11 +101,6 @@
         </dependency>
         <dependency>
             <groupId>edu.travel</groupId>
-            <artifactId>edu-travel-remote-tenant</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>edu.travel</groupId>
             <artifactId>edu-travel-common-upload</artifactId>
             <version>1.0-SNAPSHOT</version>
         </dependency>
@@ -145,6 +140,11 @@
             <version>1.2.6</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-remote-upload</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
         <!--        <dependency>-->
         <!--            <groupId>jakarta.validation</groupId>-->
         <!--            <artifactId>jakarta.validation-api</artifactId>-->

+ 1 - 1
edu-travel-service/edu-travel-service-upload/src/main/java/edu/travel/UploadApplication.java

@@ -11,7 +11,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
 @EnableDiscoveryClient
 @EnableFeignClients
 @EnableRedisCache
-@MapperScan
+@MapperScan("edu.travel.mapper")
 public class UploadApplication
 {
     public static void main( String[] args )

+ 69 - 0
edu-travel-service/edu-travel-service-upload/src/main/java/edu/travel/web/UploadController.java

@@ -0,0 +1,69 @@
+package edu.travel.web;
+
+import edu.travel.remote.UploadRemoteController;
+import edu.travel.rpc.RPCBaseResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+@RestController
+@RequestMapping("/upload")
+public class UploadController implements UploadRemoteController {
+    /**
+     * 文件是否存在
+     * @param md5
+     * @return
+     */
+    @Override
+    @GetMapping("/exits/md5")
+    @PreAuthorize("permitAll()")
+    public RPCBaseResponse exitsFile(String md5) {
+        return null;
+    }
+    /**
+     * 上传过哪些分片
+     * @param md5
+     * @return
+     */
+    @Override
+    @GetMapping("/exits/blob")
+    @PreAuthorize("permitAll()")
+    public RPCBaseResponse exitsBlob(String md5) {
+        return null;
+    }
+    /**
+     * 上传大文件分片
+     * @param file
+     * @return
+     */
+    @Override
+    @PostMapping(value = "/uploadBlob",headers = {"content-type=multipart/form-data"})
+    @PreAuthorize("permitAll()")
+    public RPCBaseResponse uploadBigFile(MultipartFile file) {
+        return null;
+    }
+    /**
+     * 合并大文件
+     * @param json
+     * @return
+     */
+    @Override
+    @PostMapping(value = "/mergeFile")
+    @PreAuthorize("permitAll()")
+    public RPCBaseResponse mergeFile(String json) {
+        return null;
+    }
+    /**
+     * 上传小文件
+     * @param file
+     * @return
+     */
+    @Override
+    @PostMapping(value = "/upload",headers = {"content-type=multipart/form-data"})
+    @PreAuthorize("permitAll()")
+    public RPCBaseResponse uploadFile(MultipartFile file) {
+        return null;
+    }
+}

+ 1 - 0
pom.xml

@@ -14,6 +14,7 @@
     <module>edu-travel-oauth</module>
     <module>edu-travel-model</module>
       <module>edu-travel-api</module>
+      <module>edu-travel-adapter</module>
   </modules>
   <parent>
     <groupId>org.springframework.boot</groupId>