diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/domain/vo/ProductVO.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/domain/vo/ProductVO.java index 8e973abea..a41d18746 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/domain/vo/ProductVO.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/domain/vo/ProductVO.java @@ -1,6 +1,5 @@ package com.wzj.soopin.goods.domain.vo; -import com.wzj.soopin.goods.domain.entity.Sku; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.dromara.common.core.domain.model.BaseAudit; @@ -104,7 +103,7 @@ public class ProductVO extends BaseAudit { private String productAttr; @Schema(description = "SKU列表") - private List skuList; + private List skuList; @Schema(description = "联系人") private String contactUserName; diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/domain/vo/SkuVO.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/domain/vo/SkuVO.java index ddd8fa629..bb0a6ae68 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/domain/vo/SkuVO.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/domain/vo/SkuVO.java @@ -51,4 +51,7 @@ public class SkuVO extends BaseAudit { @Schema(description = "商品名称") @Excel(name = "商品名称") private String productName; + + @Schema(description = "商品属性") + private String attributes; } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/impl/ProductServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/impl/ProductServiceImpl.java index 699820658..f0b4adaa6 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/impl/ProductServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/impl/ProductServiceImpl.java @@ -2,6 +2,7 @@ package com.wzj.soopin.goods.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -9,6 +10,7 @@ import com.wzj.soopin.goods.domain.bo.ProductBo; import com.wzj.soopin.goods.domain.entity.Product; import com.wzj.soopin.goods.domain.entity.ProductCategory; import com.wzj.soopin.goods.domain.vo.ProductVO; +import com.wzj.soopin.goods.domain.vo.SkuVO; import com.wzj.soopin.goods.mapper.ProductCategoryMapper; import com.wzj.soopin.goods.mapper.ProductMapper; import com.wzj.soopin.goods.service.ProductService; @@ -20,6 +22,8 @@ import org.dromara.system.service.ISysTenantService; import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; /** * 商品信息Service业务层处理 @@ -65,6 +69,13 @@ public class ProductServiceImpl extends ServiceImpl impl ProductVO productVO = TenantHelper.ignore(() -> productMapper.selectProductWithSkus(id)); SysTenantVo sysTenantVo = sysTenantService.queryByTenantId(productVO.getTenantId()); productVO.setCanOrder(StrUtil.isNotBlank(sysTenantVo.getMchtCode())); + List skuList = productVO.getSkuList(); + skuList.forEach(sku -> { + JSONObject jsonObject = JSONObject.parseObject(sku.getSpData()); + sku.setAttributes(jsonObject.values().stream() + .map(Object::toString) + .collect(Collectors.joining(","))); + }); return productVO; }