Browse Source

feat 适配器加上性能代码

3 weeks ago
parent
commit
32b3a14544

+ 8 - 1
edu-travel-common/edu-travel-common-core/src/main/java/edu/travel/utils/tree/CustomDeepCopy.java

@@ -6,10 +6,17 @@ import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.beanutils.ConvertUtils;
 import org.apache.commons.beanutils.converters.DateConverter;
 import java.util.Date;
- 
+import java.util.List;
+
 public class CustomDeepCopy {
     public static <T> T toClass(T source, Class<T> targetClass) {
         String jsonString = JSON.toJSONString(source);
         return JSON.parseObject(jsonString, targetClass);
     }
+    public static <T> List<T> toObject(Object source, Class<T> targetClass) {
+        String jsonString = JSON.toJSONString(source);
+        return JSON.parseArray(jsonString, targetClass);
+    }
+
+
 }

+ 1 - 1
edu-travel-common/edu-travel-common-datasource/src/main/java/edu/travel/web/BaseController.java

@@ -25,7 +25,7 @@ public class BaseController<T> {
     @Autowired
     private IService<T> service;
     @GetMapping("/getById")
-    public RPCBaseResponse getById(String id) {
+    public RPCBaseResponse<T> getById(String id) {
         T byId = service.getById(id);
         return new RPCBaseResponse(HttpStatus.OK.value(), HttpStatus.OK.getReasonPhrase(), byId);
     }

+ 9 - 4
edu-travel-remote/edu-travel-remote-base/pom.xml

@@ -19,10 +19,15 @@
 
     <dependencies>
         <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>3.8.1</version>
-            <scope>test</scope>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-common-resp</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <scope>provided</scope>
         </dependency>
     </dependencies>
 </project>

+ 22 - 0
edu-travel-remote/edu-travel-remote-base/src/main/java/edu/travel/remote/base/RemoteBaseController.java

@@ -0,0 +1,22 @@
+package edu.travel.remote.base;
+
+import edu.travel.rpc.RPCBaseResponse;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+public interface RemoteBaseController<V,D> {
+    @GetMapping("/getFormId")
+    public RPCBaseResponse<V> getFormId(String id);
+    @PostMapping("/updateFormId")
+    public RPCBaseResponse<V> updateTargetFormId(@RequestBody D entity);
+    @PostMapping("/saveForm")
+    public RPCBaseResponse<V> saveFormTarget(@RequestBody D entity);
+    @PostMapping("/deleteFormId")
+    public RPCBaseResponse<V> deleteTargetFormId(@RequestBody List<String> ids);
+    @GetMapping("/listForm")
+    public RPCBaseResponse<List<V>> getAllForm();
+
+}

+ 5 - 0
edu-travel-remote/edu-travel-remote-commodity/pom.xml

@@ -56,5 +56,10 @@
             <artifactId>mybatis-plus-extension</artifactId>
             <scope>provided</scope>
         </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-remote-base</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
     </dependencies>
 </project>

+ 2 - 1
edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/commodity/remote/BaseCountryRemoteController.java

@@ -3,6 +3,7 @@ package edu.travel.commodity.remote;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import edu.travel.commodity.dto.BaseCountryDto;
 import edu.travel.commodity.vo.BaseCountryVo;
+import edu.travel.remote.base.RemoteBaseController;
 import edu.travel.rpc.RPCBaseResponse;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -10,7 +11,7 @@ import org.springframework.web.bind.annotation.GetMapping;
 import java.util.List;
 
 @FeignClient(path = "/base_country",name = "commodity")
-public interface BaseCountryRemoteController {
+public interface BaseCountryRemoteController extends RemoteBaseController<BaseCountryVo,BaseCountryDto> {
     //国家树
     @GetMapping("/getCountryTree")
     public RPCBaseResponse<List<BaseCountryVo>> getCountryTree();

+ 1 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/BaseCountryServiceImpl.java

@@ -10,6 +10,7 @@ import edu.travel.commodity.service.BaseCountryService;
 import edu.travel.commodity.vo.BaseCountryVo;
 import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.service.SysServiceImpl;
+import edu.travel.utils.tree.CustomDeepCopy;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 

+ 50 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/BaseCountryController.java

@@ -8,10 +8,9 @@ import edu.travel.commodity.service.BaseCountryService;
 import edu.travel.commodity.vo.BaseCountryVo;
 import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.web.BaseController;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -43,4 +42,52 @@ public class BaseCountryController extends BaseController<BaseCountry> implement
         return baseCountryService.getCountryPage(baseCountryDTO);
     }
 
+    @Override
+    @GetMapping("/getFormId")
+    public RPCBaseResponse<BaseCountryVo> getFormId(String id) {
+        RPCBaseResponse<BaseCountry> countryRPCBaseResponse = super.getById(id);
+        RPCBaseResponse<BaseCountryVo> baseCountryVoRPCBaseResponse = new RPCBaseResponse<>();
+        BeanUtils.copyProperties(countryRPCBaseResponse, baseCountryVoRPCBaseResponse);
+        return baseCountryVoRPCBaseResponse;
+    }
+
+    @Override
+    @PostMapping("/updateFormId")
+    public RPCBaseResponse<BaseCountryVo> updateTargetFormId(@RequestBody BaseCountryDto entity) {
+        BaseCountry baseCountry = new BaseCountry();
+        BeanUtils.copyProperties(entity, baseCountry);
+        RPCBaseResponse<BaseCountry> baseCountryRPCBaseResponse = super.updateTargetById(baseCountry);
+        RPCBaseResponse<BaseCountryVo> baseCountryVoRPCBaseResponse = new RPCBaseResponse<>();
+        BeanUtils.copyProperties(baseCountryRPCBaseResponse, baseCountryVoRPCBaseResponse);
+        return baseCountryVoRPCBaseResponse;
+    }
+
+    @Override
+    @PostMapping("/saveForm")
+    public RPCBaseResponse<BaseCountryVo> saveFormTarget(@RequestBody BaseCountryDto entity) {
+        BaseCountry baseCountry = new BaseCountry();
+        BeanUtils.copyProperties(entity, baseCountry);
+        RPCBaseResponse<BaseCountry> baseCountryRPCBaseResponse = super.saveTarget(baseCountry);
+        RPCBaseResponse<BaseCountryVo> baseCountryVoRPCBaseResponse = new RPCBaseResponse<>();
+        BeanUtils.copyProperties(baseCountryRPCBaseResponse, baseCountryVoRPCBaseResponse);
+        return baseCountryVoRPCBaseResponse;
+    }
+
+    @Override
+    @PostMapping("/deleteFormId")
+    public RPCBaseResponse<BaseCountryVo> deleteTargetFormId(@RequestBody List<String> ids) {
+        RPCBaseResponse<BaseCountry> baseCountryRPCBaseResponse = super.deleteTargetById(ids);
+        RPCBaseResponse<BaseCountryVo> baseCountryVoRPCBaseResponse = new RPCBaseResponse<>();
+        BeanUtils.copyProperties(baseCountryRPCBaseResponse, baseCountryVoRPCBaseResponse);
+        return baseCountryVoRPCBaseResponse;
+    }
+
+    @Override
+    @GetMapping("/listForm")
+    public RPCBaseResponse<List<BaseCountryVo>> getAllForm() {
+        RPCBaseResponse<List<BaseCountry>> listRPCBaseResponse = super.listAll();
+        RPCBaseResponse<List<BaseCountryVo>> baseCountryVoRPCBaseResponse = new RPCBaseResponse<>();
+        BeanUtils.copyProperties(listRPCBaseResponse, baseCountryVoRPCBaseResponse);
+        return baseCountryVoRPCBaseResponse;
+    }
 }