Kirin 2 years ago
parent
commit
80e8a0c1f3
2 changed files with 15 additions and 1 deletions
  1. 13 0
      app/admin/model/store/StoreProductAttr.php
  2. 2 1
      app/models/store/StoreCart.php

+ 13 - 0
app/admin/model/store/StoreProductAttr.php

@@ -55,6 +55,7 @@ class StoreProductAttr extends BaseModel
         }
         $attrCount = count($attrList);
         foreach ($valueList as $index => $value) {
+            $suk = implode(',', $value['detail']);
             if (!isset($value['detail']) || count($value['detail']) != $attrCount) return self::setErrorInfo('请填写正确的商品信息');
             if (!isset($value['price']) || !is_numeric($value['price']) || floatval($value['price']) != $value['price'])
                 return self::setErrorInfo('请填写正确的商品价格');
@@ -62,6 +63,18 @@ class StoreProductAttr extends BaseModel
                 return self::setErrorInfo('请填写正确的商品库存');
             if (!isset($value['cost']) || !is_numeric($value['cost']) || floatval($value['cost']) != $value['cost'])
                 return self::setErrorInfo('请填写正确的商品成本价格');
+            if (isset($value['bar_code']) && !$value['bar_code']) {
+                if (StoreProductAttrValue::where('bar_code', $value['bar_code'])
+                    ->where(function ($query) use ($productId, $suk) {
+                        $query->where('product_id', '<>', $productId)
+                            ->whereOr('suk', '<>', $suk);
+                    })
+                    ->where('type', $type)
+                    ->find()
+                ) {
+                    return self::setErrorInfo('编码已存在');
+                }
+            }
             if (!isset($value['pic']) || empty($value['pic']))
                 return self::setErrorInfo('请上传商品图片');
             foreach ($value['detail'] as $attrName => $attrValue) {

+ 2 - 1
app/models/store/StoreCart.php

@@ -118,8 +118,9 @@ class StoreCart extends BaseModel
             $id = self::getkeytoid('cart_id');
             $is_suit = (!$combination_id && !$seckill_id && !$bargain_id && StoreProduct::where('id', $product_id)->value('is_suit')) ? 1 : 0;
             $is_award = (!$combination_id && !$seckill_id && !$bargain_id && StoreProduct::where('id', $product_id)->value('is_award')) ? 1 : 0;
+//            var_dump(compact('uid', 'is_award', 'product_id', 'cart_num', 'product_attr_unique', 'is_new', 'type', 'combination_id', 'add_time', 'bargain_id', 'seckill_id', 'id', 'is_consumer', 'is_suit', 'store_id'));
             $rs = self::create(compact('uid', 'is_award', 'product_id', 'cart_num', 'product_attr_unique', 'is_new', 'type', 'combination_id', 'add_time', 'bargain_id', 'seckill_id', 'id', 'is_consumer', 'is_suit', 'store_id'));
-            @file_put_contents("cart.txt", self::getlastsql(), 8);
+//            @file_put_contents("cart.txt", self::getlastsql(), 8);
             return $rs;
         }
     }