瀏覽代碼

addApi:推送商品至中台

chl 2 年之前
父節點
當前提交
74082cf51a

+ 26 - 0
huijie-center/src/main/java/com/ruoyi/api/fake/PushProductFake.java

@@ -1,11 +1,14 @@
 package com.ruoyi.api.fake;
 
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONUtil;
 import com.ruoyi.api.pojo.bo.ProductsBO;
 import com.ruoyi.common.utils.uuid.IdUtils;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 
 public class PushProductFake {
 
@@ -77,4 +80,27 @@ public class PushProductFake {
         productsBO.setCode("");
         return productsBO;
     }
+
+    /**
+     * 更新商品Fake数据
+     * @return
+     */
+    public static ProductsBO updateCloudProduct() {
+        ProductsBO productsBO = PushProductFake.productsBO();
+        productsBO.setId(397L);
+        productsBO.setCode("t0001");
+        // 属性
+        List<ProductsBO.ProductsAttrsBO> attrList = new ArrayList<>();
+        String jsonStr = "[{\"name\":\"颜色\", \"value\":\"粉\"},{\"name\":\"颜色\", \"value\":\"紫色\"}]";
+        JSONArray jsonArray = JSONUtil.parseArray(jsonStr);
+        for (Object o: jsonArray) {
+            ProductsBO.ProductsAttrsBO productsAttrsBO = productsBO.new ProductsAttrsBO();
+            Map<String, String> map = (Map<String, String>) o;
+            productsAttrsBO.setName(map.get("name"));
+            productsAttrsBO.setValue(map.get("value"));
+            attrList.add(productsAttrsBO);
+        }
+        productsBO.setAttrs(attrList);
+        return productsBO;
+    }
 }

+ 1 - 1
huijie-center/src/main/java/com/ruoyi/api/service/IProductService.java

@@ -18,5 +18,5 @@ public interface IProductService {
     /**
      * 更新商品至中台
      */
-    YzResult updateCloudProduct();
+    YzResult updateCloudProduct() throws JsonProcessingException;
 }

+ 12 - 32
huijie-center/src/main/java/com/ruoyi/api/service/impl/ProductServiceImpl.java

@@ -1,7 +1,5 @@
 package com.ruoyi.api.service.impl;
 
-import cn.hutool.json.JSONArray;
-import cn.hutool.json.JSONUtil;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ruoyi.api.constant.yz.ApiConstant;
@@ -14,11 +12,6 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
 @Service
 public class ProductServiceImpl implements IProductService {
     @Value("${downstream.url}")
@@ -32,38 +25,25 @@ public class ProductServiceImpl implements IProductService {
 
         // TODO:没有第三方供应链,伪造测试数据
         ProductsBO productsBO = PushProductFake.productsBO();
-        objectMapper.setPropertyNamingStrategy(com.fasterxml.jackson.databind.PropertyNamingStrategy.SNAKE_CASE);
-
-        String data = objectMapper.writeValueAsString(productsBO);
-        System.out.println("data: " + data);
-
-        ResponseEntity<String> responseEntity = HttpUtils.sendPostWithHeaders(realUrl, data);
-        return objectMapper.readValue(responseEntity.getBody(), YzResult.class);
+        return getYzResult(realUrl, productsBO);
     }
 
     @Override
-    public YzResult updateCloudProduct() {
+    public YzResult updateCloudProduct() throws JsonProcessingException {
         String realUrl = url + ApiConstant.UPDATE_CLOUD_PRODUCT;
 
         // TODO:没有第三方供应链,伪造测试数据
-        ProductsBO productsBO = PushProductFake.productsBO();
-        productsBO.setId(397L);
-        productsBO.setCode("t0001");
+        ProductsBO productsBO = PushProductFake.updateCloudProduct();
+        return getYzResult(realUrl, productsBO);
+    }
+
+    private YzResult getYzResult(String realUrl, ProductsBO productsBO) throws JsonProcessingException {
+        objectMapper.setPropertyNamingStrategy(com.fasterxml.jackson.databind.PropertyNamingStrategy.SNAKE_CASE);
 
-        // 属性
-        List<ProductsBO.ProductsAttrsBO> attrList = new ArrayList<>();
-        String jsonStr = "[{\"name\":\"颜色\", \"value\":\"粉\"},{\"name\":\"颜色\", \"value\":\"紫色\"}]";
-        JSONArray jsonArray = JSONUtil.parseArray(jsonStr);
-        for (Object o: jsonArray) {
-            ProductsBO.ProductsAttrsBO productsAttrsBO = productsBO.new ProductsAttrsBO();
-            Map<String, String> map = (Map<String, String>) o;
-            productsAttrsBO.setName(map.get("name"));
-            productsAttrsBO.setValue(map.get("value"));
-            attrList.add(productsAttrsBO);
-        }
+        String data = objectMapper.writeValueAsString(productsBO);
+        System.out.println("data: " + data);
 
-        productsBO.setAttrs(attrList);
-        System.out.println(productsBO);
-        return null;
+        ResponseEntity<String> responseEntity = HttpUtils.sendPostWithHeaders(realUrl, data);
+        return objectMapper.readValue(responseEntity.getBody(), YzResult.class);
     }
 }

+ 7 - 0
pom.xml

@@ -172,6 +172,13 @@
                 <version>${ruoyi.version}</version>
             </dependency>
 
+            <!-- 中台入口 -->
+            <dependency>
+                <groupId>com.ruoyi</groupId>
+                <artifactId>huijie-center</artifactId>
+                <version>${ruoyi.version}</version>
+            </dependency>
+
             <!--mybatis-plus-->
             <dependency>
                 <groupId>com.baomidou</groupId>

+ 5 - 0
ruoyi-admin/pom.xml

@@ -47,6 +47,11 @@
             <groupId>com.ruoyi</groupId>
             <artifactId>huijie-center</artifactId>
         </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
 
     </dependencies>
 

+ 6 - 0
ruoyi-admin/src/test/java/com/ruoyi/api/ProductsTests.java

@@ -21,4 +21,10 @@ public class ProductsTests {
         YzResult yzResult = productService.pushProduct();
         System.out.println(yzResult);
     }
+
+    @Test
+    public void testUpdateCloudProduct() throws JsonProcessingException {
+        YzResult yzResult = productService.updateCloudProduct();
+        System.out.println(yzResult);
+    }
 }