diff --git a/pom.xml b/pom.xml
index 8ba66956..73137127 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,7 +51,7 @@
5.7.1
0.7.5
2.2.0.RELEASE
- 7.2.0
+ 7.12.1
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/RemoteSearchFeign.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/RemoteSearchFeign.java
new file mode 100644
index 00000000..8dc64fe0
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/RemoteSearchFeign.java
@@ -0,0 +1,24 @@
+package com.xjs.mall;
+
+import com.ruoyi.common.core.constant.ServiceNameConstants;
+import com.xjs.mall.other.R;
+import com.xjs.mall.to.es.SkuEsModel;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+/**
+ * 检索服务feign
+ * @author xiejs
+ * @since 2022-04-06
+ */
+@FeignClient(contextId = "remoteSearchFeign",
+ value = ServiceNameConstants.MALL_SEARCH_SERVICE)
+public interface RemoteSearchFeign {
+
+ @PostMapping("/search/product")
+ R productStatusUp(@RequestBody List skuEsModelList);
+
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/RemoteWareFeign.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/RemoteWareFeign.java
new file mode 100644
index 00000000..f862854f
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/RemoteWareFeign.java
@@ -0,0 +1,22 @@
+package com.xjs.mall;
+
+import com.ruoyi.common.core.constant.ServiceNameConstants;
+import com.xjs.mall.to.SkuHasStockVo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+/**
+ * 仓库服务feign
+ * @author xiejs
+ * @since 2022-04-06
+ */
+@FeignClient(contextId = "remoteWareFeign",
+ value = ServiceNameConstants.MALL_WARE_SERVICE)
+public interface RemoteWareFeign {
+
+ @PostMapping("/ware/waresku/hasStock")
+ List getSkuHasStock(@RequestBody List skuIds);
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/to/SkuHasStockVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/to/SkuHasStockVo.java
new file mode 100644
index 00000000..a21d8599
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/to/SkuHasStockVo.java
@@ -0,0 +1,21 @@
+package com.xjs.mall.to;
+
+import lombok.Data;
+
+/**
+ * sku库存查询vo
+ * @author xiejs
+ * @since 2022-04-06
+ */
+@Data
+public class SkuHasStockVo {
+ /**
+ * sku id
+ */
+ private Long skuId;
+
+ /**
+ * 是否有库存
+ */
+ private Boolean hasStock;
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/to/es/SkuEsModel.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/to/es/SkuEsModel.java
new file mode 100644
index 00000000..6c64c096
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/mall/to/es/SkuEsModel.java
@@ -0,0 +1,104 @@
+package com.xjs.mall.to.es;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * spu es 模型
+ * @author xiejs
+ * @since 2022-04-06
+ */
+@Data
+public class SkuEsModel {
+
+ /**
+ * 商品sku id
+ */
+ private Long skuId;
+
+ /**
+ * 商品spu id
+ */
+ private Long spuId;
+
+ /**
+ * sku标题
+ */
+ private String skuTitle;
+
+ /**
+ * sku价格
+ */
+ private BigDecimal skuPrice;
+
+ /**
+ * sku默认图片
+ */
+ private String skuImg;
+
+ /**
+ * 销量
+ */
+ private Long saleCount;
+
+ /**
+ * 是否拥有库存
+ */
+ private Boolean hasStock;
+
+ /**
+ * 热度评分
+ */
+ private Long hotScore;
+
+ /**
+ * 品牌id
+ */
+ private Long brandId;
+
+ /**
+ * 分类id
+ */
+ private Long catalogId;
+
+ /**
+ * 品牌名
+ */
+ private String brandName;
+
+ /**
+ * 品牌logo
+ */
+ private String brandImg;
+
+ /**
+ * 分类名
+ */
+ private String catalogName;
+
+
+ private List attrs;
+
+
+ @Data
+ public static class Attrs{
+ /**
+ * 属性id
+ */
+ private Long attrId;
+
+ /**
+ * 属性名
+ */
+ private String attrName;
+
+ /**
+ * 属性值
+ */
+ private String attrValue;
+ }
+
+
+}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
index 65fa1c72..4e695fb1 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
@@ -52,5 +52,17 @@ public class ServiceNameConstants {
*/
public static final String MALL_PRODUCT_SERVICE = "xjs-mall-product";
+ /**
+ * 仓库服务的serviceid
+ */
+ public static final String MALL_WARE_SERVICE = "xjs-mall-ware";
+
+ /**
+ * 检索服务的serviceid
+ */
+ public static final String MALL_SEARCH_SERVICE = "xjs-mall-search";
+
+
+
}
diff --git a/ruoyi-ui/src/api/mall/product/spu-info.js b/ruoyi-ui/src/api/mall/product/spu-info.js
index 8dd9e35f..1fb3507c 100644
--- a/ruoyi-ui/src/api/mall/product/spu-info.js
+++ b/ruoyi-ui/src/api/mall/product/spu-info.js
@@ -18,3 +18,12 @@ export function getSpuList(data) {
})
}
+
+// 商品上架
+export function spuUp(spuId) {
+ return request({
+ url: `/mall-product/product/spuinfo/${spuId}/up`,
+ method: 'post',
+ })
+}
+
diff --git a/ruoyi-ui/src/views/mall/product/maintain/spuinfo.vue b/ruoyi-ui/src/views/mall/product/maintain/spuinfo.vue
index 1cb89152..a26cf1bf 100644
--- a/ruoyi-ui/src/views/mall/product/maintain/spuinfo.vue
+++ b/ruoyi-ui/src/views/mall/product/maintain/spuinfo.vue
@@ -8,28 +8,38 @@
style="width: 100%;"
>
-
-
-
-
-
-
+
+
+
+
+
+
新建
已上架
已下架
-
-
-
+
+
+
上架
+ >上架
+
规格
@@ -48,7 +58,7 @@