Просмотр исходного кода

feat(backend): ProductSkuService 创建/更新支持 linked SKU,跳过 specs 校验

asus 1 месяц назад
Родитель
Сommit
5696c01e2f

+ 11 - 6
cfc-backend/src/main/java/com/etotem/cfc/service/ProductSkuService.java

@@ -36,10 +36,12 @@ public class ProductSkuService {
 
     @Transactional
     public ProductSku create(ProductSku sku) {
-        log.info("[SKU-CREATE] productId={}, specsRaw={} (type={})", sku.getProductId(), sku.getSpecs(),
-                sku.getSpecs() == null ? "null" : sku.getSpecs().getClass().getName());
-        if (sku.getSpecs() == null || sku.getSpecs().trim().isEmpty()) {
-            sku.setSpecs("[]");
+        log.info("[SKU-CREATE] productId={}, linkedProductId={}", sku.getProductId(), sku.getLinkedProductId());
+        if (sku.getLinkedProductId() == null) {
+            // Legacy SKU: 需要 specs
+            if (sku.getSpecs() == null || sku.getSpecs().trim().isEmpty()) {
+                sku.setSpecs("[]");
+            }
         }
         sku.setCreateTime(new Date());
         sku.setUpdateTime(new Date());
@@ -55,8 +57,11 @@ public class ProductSkuService {
 
     @Transactional
     public void update(ProductSku sku) {
-        if (sku.getSpecs() == null || sku.getSpecs().trim().isEmpty()) {
-            sku.setSpecs("[]");
+        if (sku.getLinkedProductId() == null) {
+            // Legacy SKU: 需要 specs
+            if (sku.getSpecs() == null || sku.getSpecs().trim().isEmpty()) {
+                sku.setSpecs("[]");
+            }
         }
         sku.setUpdateTime(new Date());
         skuMapper.updateById(sku);