Bläddra i källkod

fix: sku.getSpecs() 返回非String类型时类型转换保护

Xiaogang Liao 2 månader sedan
förälder
incheckning
2e4262ca58

+ 1 - 1
cfc-backend/src/main/java/com/etotem/cfc/controller/product/ProductController.java

@@ -105,7 +105,7 @@ public class ProductController {
             for (ProductSku sku : skus) {
             for (ProductSku sku : skus) {
                 if (sku.getSpecs() == null) continue;
                 if (sku.getSpecs() == null) continue;
                 try {
                 try {
-                    com.alibaba.fastjson.JSONArray arr = JSON.parseArray(sku.getSpecs());
+                    com.alibaba.fastjson.JSONArray arr = JSON.parseArray(sku.getSpecs().toString());
                     if (arr == null) continue;
                     if (arr == null) continue;
                     for (int i = 0; i < arr.size(); i++) {
                     for (int i = 0; i < arr.size(); i++) {
                         com.alibaba.fastjson.JSONObject specObj = arr.getJSONObject(i);
                         com.alibaba.fastjson.JSONObject specObj = arr.getJSONObject(i);

+ 1 - 1
cfc-backend/src/main/java/com/etotem/cfc/service/CartService.java

@@ -152,7 +152,7 @@ public class CartService {
             ProductSku sku = productSkuService.getById(cart.getSkuId());
             ProductSku sku = productSkuService.getById(cart.getSkuId());
             if (sku != null && sku.getSpecs() != null) {
             if (sku != null && sku.getSpecs() != null) {
                 try {
                 try {
-                    JSONArray specsArr = JSON.parseArray(sku.getSpecs());
+                    JSONArray specsArr = JSON.parseArray(sku.getSpecs().toString());
                     if (specsArr != null) {
                     if (specsArr != null) {
                         StringBuilder specDesc = new StringBuilder();
                         StringBuilder specDesc = new StringBuilder();
                         for (int i = 0; i < specsArr.size(); i++) {
                         for (int i = 0; i < specsArr.size(); i++) {

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

@@ -28,7 +28,7 @@ public class ProductSkuService {
 
 
     @Transactional
     @Transactional
     public ProductSku create(ProductSku sku) {
     public ProductSku create(ProductSku sku) {
-        sku.setSpecs(normalizeSpecsToJson(sku.getSpecs()));
+        sku.setSpecs(normalizeSpecsToJson(String.valueOf(sku.getSpecs())));
         sku.setCreateTime(new Date());
         sku.setCreateTime(new Date());
         sku.setUpdateTime(new Date());
         sku.setUpdateTime(new Date());
         if (sku.getEnabled() == null) {
         if (sku.getEnabled() == null) {
@@ -44,7 +44,7 @@ public class ProductSkuService {
     @Transactional
     @Transactional
     public void update(ProductSku sku) {
     public void update(ProductSku sku) {
         if (sku.getSpecs() != null) {
         if (sku.getSpecs() != null) {
-            sku.setSpecs(normalizeSpecsToJson(sku.getSpecs()));
+            sku.setSpecs(normalizeSpecsToJson(String.valueOf(sku.getSpecs())));
         }
         }
         sku.setUpdateTime(new Date());
         sku.setUpdateTime(new Date());
         skuMapper.updateById(sku);
         skuMapper.updateById(sku);