Quellcode durchsuchen

addApi:更新sku到中台

chl vor 2 Jahren
Ursprung
Commit
d1d17081a3

+ 2 - 0
huijie-center/src/main/java/com/ruoyi/api/constant/yz/ApiConstant.java

@@ -7,4 +7,6 @@ public class ApiConstant {
     public static final String PUSH_PRODUCT = "/app/product/cloud/pushProduct";
     // 更新商品至中台
     public static final String UPDATE_CLOUD_PRODUCT = "/app/product/cloud/updateCloudProduct";
+    // 更新sku到中台
+    public static final String UPDATE_CLOUD_SKU = "/app/product/cloud/updateCloudSku";
 }

+ 25 - 2
huijie-center/src/main/java/com/ruoyi/api/fake/PushProductFake.java

@@ -3,6 +3,7 @@ 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.api.pojo.bo.ProductsSkusBO;
 import com.ruoyi.common.utils.uuid.IdUtils;
 
 import java.util.ArrayList;
@@ -16,7 +17,7 @@ public class PushProductFake {
      * 推送商品Fake数据
      * @return
      */
-    public static ProductsBO productsBO() {
+    public static ProductsBO pushProduct() {
         ProductsBO productsBO = new ProductsBO();
         productsBO.setTitle("测试商品" + IdUtils.fastUUID().toString());
         productsBO.setDetailImages("<figure class=\"image\"><img src=\"https://img.yunzhonghe.com/image/1570588776975JFmOBwQXph.jpg\"></figure>");
@@ -86,7 +87,7 @@ public class PushProductFake {
      * @return
      */
     public static ProductsBO updateCloudProduct() {
-        ProductsBO productsBO = PushProductFake.productsBO();
+        ProductsBO productsBO = PushProductFake.pushProduct();
         productsBO.setId(397L);
         productsBO.setCode("t0001");
         // 属性
@@ -103,4 +104,26 @@ public class PushProductFake {
         productsBO.setAttrs(attrList);
         return productsBO;
     }
+
+    /**
+     * 更新sku到中台Fake数据
+     * @return
+     */
+    public static ProductsSkusBO updateCloudSku() {
+        ProductsSkusBO productsSkusBO = new ProductsSkusBO();
+        // id,title,stock,price,guide_price,origin_price,cost_price,activity_price,image_url,sn,code,describe
+        productsSkusBO.setId(397L);
+        productsSkusBO.setTitle("新款+微微辣");
+        productsSkusBO.setStock(199L);
+        productsSkusBO.setPrice(2L);
+        productsSkusBO.setGuidePrice(4L);
+        productsSkusBO.setOriginPrice(4L);
+        productsSkusBO.setCostPrice(2L);
+        productsSkusBO.setActivityPrice(1L);
+        productsSkusBO.setImageUrl("https://testzt.yd1518.com/uploads/file/880b9460958a6b0f08564b7d97205d3a_20230524103209.webp");
+        productsSkusBO.setSn("0002");
+        productsSkusBO.setCode("c001");
+        productsSkusBO.setDescribe("sku描述");
+        return productsSkusBO;
+    }
 }

+ 59 - 0
huijie-center/src/main/java/com/ruoyi/api/pojo/bo/ProductsSkusBO.java

@@ -0,0 +1,59 @@
+package com.ruoyi.api.pojo.bo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProductsSkusBO {
+    /**
+     * SKU id
+     */
+    private Long id;
+    /**
+     * 规格属性名称
+     */
+    private String title;
+    /**
+     * 库存
+     */
+    private Long stock;
+    /**
+     * 供货价(分)
+     */
+    private Long price;
+    /**
+     * 指导价(分)
+     */
+    private Long guidePrice;
+    /**
+     * 市场价(分)
+     */
+    private Long originPrice;
+    /**
+     * 成本价(分)
+     */
+    private Long costPrice;
+    /**
+     * 活动价(分)
+     */
+    private Long activityPrice;
+    /**
+     * 主图
+     */
+    private String imageUrl;
+    /**
+     * sku编码
+     */
+    private String sn;
+    /**
+     * 自定义编码
+     */
+    private String code;
+    /**
+     * sku详情
+     */
+    private String describe;
+}

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

@@ -19,4 +19,9 @@ public interface IProductService {
      * 更新商品至中台
      */
     YzResult updateCloudProduct() throws JsonProcessingException;
+
+    /**
+     * 更新sku到中台
+     */
+    YzResult updateCloudSku() throws JsonProcessingException;
 }

+ 14 - 3
huijie-center/src/main/java/com/ruoyi/api/service/impl/ProductServiceImpl.java

@@ -6,8 +6,10 @@ import com.ruoyi.api.constant.yz.ApiConstant;
 import com.ruoyi.api.downstream.YzResult;
 import com.ruoyi.api.fake.PushProductFake;
 import com.ruoyi.api.pojo.bo.ProductsBO;
+import com.ruoyi.api.pojo.bo.ProductsSkusBO;
 import com.ruoyi.api.service.IProductService;
 import com.ruoyi.api.utils.HttpUtils;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
@@ -24,7 +26,7 @@ public class ProductServiceImpl implements IProductService {
         String realUrl = url + ApiConstant.PUSH_PRODUCT;
 
         // TODO:没有第三方供应链,伪造测试数据
-        ProductsBO productsBO = PushProductFake.productsBO();
+        ProductsBO productsBO = PushProductFake.pushProduct();
         return getYzResult(realUrl, productsBO);
     }
 
@@ -37,10 +39,19 @@ public class ProductServiceImpl implements IProductService {
         return getYzResult(realUrl, productsBO);
     }
 
-    private YzResult getYzResult(String realUrl, ProductsBO productsBO) throws JsonProcessingException {
+    @Override
+    public YzResult updateCloudSku() throws JsonProcessingException {
+        String realUrl = url + ApiConstant.UPDATE_CLOUD_SKU;
+
+        // TODO:没有第三方供应链,伪造测试数据
+        ProductsSkusBO productsSkusBO = PushProductFake.updateCloudSku();
+        return getYzResult(realUrl, productsSkusBO);
+    }
+
+    private YzResult getYzResult(String realUrl, Object bo) throws JsonProcessingException {
         objectMapper.setPropertyNamingStrategy(com.fasterxml.jackson.databind.PropertyNamingStrategy.SNAKE_CASE);
 
-        String data = objectMapper.writeValueAsString(productsBO);
+        String data = objectMapper.writeValueAsString(bo);
         System.out.println("data: " + data);
 
         ResponseEntity<String> responseEntity = HttpUtils.sendPostWithHeaders(realUrl, data);

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

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