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 @@