Browse Source

【功能优化】添加商品属性时允许选择已有的属性值

YunaiV 7 months ago
parent
commit
664abe7062

+ 11 - 0
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/ProductPropertyController.java

@@ -17,7 +17,10 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
+import java.util.List;
+
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
 
 
 @Tag(name = "管理后台 - 商品属性项")
 @Tag(name = "管理后台 - 商品属性项")
 @RestController
 @RestController
@@ -69,4 +72,12 @@ public class ProductPropertyController {
         return success(BeanUtils.toBean(pageResult, ProductPropertyRespVO.class));
         return success(BeanUtils.toBean(pageResult, ProductPropertyRespVO.class));
     }
     }
 
 
+    @GetMapping("/simple-list")
+    @Operation(summary = "获得属性项精简列表")
+    public CommonResult<List<ProductPropertyRespVO>> getPropertySimpleList() {
+        List<ProductPropertyDO> list = productPropertyService.getPropertyList();
+        return success(convertList(list, property -> new ProductPropertyRespVO() // 只返回 id、name 属性
+                .setId(property.getId()).setName(property.getName())));
+    }
+
 }
 }

+ 13 - 0
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/ProductPropertyValueController.java

@@ -17,7 +17,11 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
+import java.util.List;
+
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.singleton;
 
 
 @Tag(name = "管理后台 - 商品属性值")
 @Tag(name = "管理后台 - 商品属性值")
 @RestController
 @RestController
@@ -69,4 +73,13 @@ public class ProductPropertyValueController {
         return success(BeanUtils.toBean(pageResult, ProductPropertyValueRespVO.class));
         return success(BeanUtils.toBean(pageResult, ProductPropertyValueRespVO.class));
     }
     }
 
 
+    @GetMapping("/simple-list")
+    @Operation(summary = "获得属性值精简列表")
+    @Parameter(name = "propertyId", description = "属性项编号", required = true, example = "1024")
+    public CommonResult<List<ProductPropertyValueRespVO>> getPropertyValueSimpleList(@RequestParam("propertyId") Long propertyId) {
+        List<ProductPropertyValueDO> list = productPropertyValueService.getPropertyValueListByPropertyId(singleton(propertyId));
+        return success(convertList(list, value -> new ProductPropertyValueRespVO() // 只返回 id、name 属性
+                .setId(value.getId()).setName(value.getName())));
+    }
+
 }
 }

+ 0 - 4
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/property/ProductPropertyDO.java

@@ -39,10 +39,6 @@ public class ProductPropertyDO extends BaseDO {
      * 名称
      * 名称
      */
      */
     private String name;
     private String name;
-    /**
-     * 状态
-     */
-    private Integer status;
     /**
     /**
      * 备注
      * 备注
      */
      */

+ 7 - 0
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/property/ProductPropertyService.java

@@ -62,4 +62,11 @@ public interface ProductPropertyService {
      */
      */
     List<ProductPropertyDO> getPropertyList(Collection<Long> ids);
     List<ProductPropertyDO> getPropertyList(Collection<Long> ids);
 
 
+    /**
+     * 获得指定状态的属性项列表
+     *
+     * @return 属性项列表
+     */
+    List<ProductPropertyDO> getPropertyList();
+
 }
 }

+ 5 - 0
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/property/ProductPropertyServiceImpl.java

@@ -109,4 +109,9 @@ public class ProductPropertyServiceImpl implements ProductPropertyService {
         return productPropertyMapper.selectBatchIds(ids);
         return productPropertyMapper.selectBatchIds(ids);
     }
     }
 
 
+    @Override
+    public List<ProductPropertyDO> getPropertyList() {
+        return productPropertyMapper.selectList();
+    }
+
 }
 }