Преглед на файлове

fix(backend): 新增findByProductIdAll供管理端SKU列表(无enabled过滤)

管理员编辑SKU时,findByProductId的AND enabled=1过滤导致退出重新进入后SKU消失。新增findByProductIdAll方法不加过滤,管理端/list改用此方法。保留原findByProductId供前端商城使用。

Ultraworked with Sisyphus

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Sisyphus преди 2 месеца
родител
ревизия
da4c3eacbb

+ 1 - 1
cfc-backend/src/main/java/com/etotem/cfc/controller/admin/ProductSkuController.java

@@ -27,7 +27,7 @@ public class ProductSkuController {
         Object productIdObj = params.get("productId");
         if (productIdObj == null) return Result.error("productId不能为空");
         Long productId = Long.parseLong(productIdObj.toString());
-        List<ProductSku> skus = skuService.listByProductId(productId);
+        List<ProductSku> skus = skuService.listByProductIdAll(productId);
         List<ProductSkuDTO> dtos = skus.stream()
             .map(ProductSkuDTO::from)
             .collect(Collectors.toList());

+ 2 - 0
cfc-backend/src/main/java/com/etotem/cfc/mapper/ProductSkuMapper.java

@@ -9,6 +9,8 @@ public interface ProductSkuMapper extends BaseMapper<ProductSku> {
 
     List<ProductSku> findByProductId(@Param("productId") Long productId);
 
+    List<ProductSku> findByProductIdAll(@Param("productId") Long productId);
+
     ProductSku findById(@Param("id") Long id);
 
     int updateStock(@Param("id") Long id, @Param("quantity") Integer quantity);

+ 4 - 0
cfc-backend/src/main/java/com/etotem/cfc/service/ProductSkuService.java

@@ -22,6 +22,10 @@ public class ProductSkuService {
         return skuMapper.findByProductId(productId);
     }
 
+    public List<ProductSku> listByProductIdAll(Long productId) {
+        return skuMapper.findByProductIdAll(productId);
+    }
+
     public ProductSku getById(Long id) {
         return skuMapper.findById(id);
     }

+ 4 - 0
cfc-backend/src/main/resources/mapper/ProductSkuMapper.xml

@@ -20,6 +20,10 @@
         SELECT * FROM product_skus WHERE product_id = #{productId} AND enabled = 1 ORDER BY id ASC
     </select>
 
+    <select id="findByProductIdAll" resultMap="BaseResultMap">
+        SELECT * FROM product_skus WHERE product_id = #{productId} ORDER BY id ASC
+    </select>
+
     <select id="findById" resultMap="BaseResultMap">
         SELECT * FROM product_skus WHERE id = #{id}
     </select>