|
|
@@ -60,6 +60,12 @@ class BookItemClass extends BaseClass
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ $cacheKey = 'change_book_item_num_' . $itemId;
|
|
|
+ $noLock = util::lock($cacheKey);
|
|
|
+ if (!$noLock) {
|
|
|
+ util::fail("系统繁忙,1秒后再提交");
|
|
|
+ }
|
|
|
+
|
|
|
$bookItemCustomRes = BookItemCustomClass::getByCondition(['bookSn' => $bookSn, 'customId' => $customId, 'itemId' => $itemId], true);
|
|
|
if (empty($bookItemCustomRes)) {
|
|
|
$currentData = [
|
|
|
@@ -77,10 +83,9 @@ class BookItemClass extends BaseClass
|
|
|
];
|
|
|
$bookItemCustomRes = BookItemCustomClass::add($currentData, true);
|
|
|
}
|
|
|
- $hasId = $bookItemCustomRes->id ?? 0;
|
|
|
- $bookItemCustomRes = BookItemCustomClass::getLockById($hasId);
|
|
|
$thisNum = bcsub($bookItemCustomRes->bookNum, $num);
|
|
|
if ($thisNum < 0) {
|
|
|
+ util::unlock($cacheKey);
|
|
|
util::fail($customName . '预订的' . $name . '不够减 bookItemCustom');
|
|
|
}
|
|
|
$bookItemCustomRes->bookNum = $thisNum;
|
|
|
@@ -99,10 +104,9 @@ class BookItemClass extends BaseClass
|
|
|
];
|
|
|
$bookItemRes = self::add($statData, true);
|
|
|
}
|
|
|
- $id = $bookItemRes->id;
|
|
|
- $bookItemRes = self::getLockById($id);
|
|
|
$currentNum = bcsub($bookItemRes->bookNum, $num);
|
|
|
if ($currentNum < 0) {
|
|
|
+ util::unlock($cacheKey);
|
|
|
util::fail($customName . '预订的' . $name . '不够减哦 bookItem');
|
|
|
}
|
|
|
$bookItemRes->bookNum = $currentNum;
|
|
|
@@ -118,10 +122,9 @@ class BookItemClass extends BaseClass
|
|
|
];
|
|
|
$bookCustomRes = BookCustomClass::add($currentData, true);
|
|
|
}
|
|
|
- $hasId = $bookCustomRes->id ?? 0;
|
|
|
- $bookCustomRes = BookCustomClass::getLockById($hasId);
|
|
|
$nowNum = bcsub($bookCustomRes->bookNum, $num);
|
|
|
if ($nowNum < 0) {
|
|
|
+ util::unlock($cacheKey);
|
|
|
util::fail($customName . '预订的' . $name . '不够减哈 bookCustom');
|
|
|
}
|
|
|
$bookCustomRes->bookNum = $nowNum;
|
|
|
@@ -142,6 +145,7 @@ class BookItemClass extends BaseClass
|
|
|
$bookItemCustomRes->save();
|
|
|
$bookItemRes->save();
|
|
|
$bookCustomRes->save();
|
|
|
+ util::unlock($cacheKey);
|
|
|
continue;
|
|
|
}
|
|
|
$secondRemainSubNum = 0;
|
|
|
@@ -164,6 +168,7 @@ class BookItemClass extends BaseClass
|
|
|
$bookItemCustomRes->save();
|
|
|
$bookItemRes->save();
|
|
|
$bookCustomRes->save();
|
|
|
+ util::unlock($cacheKey);
|
|
|
continue;
|
|
|
}
|
|
|
$thirdRemainSubNum = 0;
|
|
|
@@ -186,12 +191,14 @@ class BookItemClass extends BaseClass
|
|
|
$bookItemCustomRes->save();
|
|
|
$bookItemRes->save();
|
|
|
$bookCustomRes->save();
|
|
|
+ util::unlock($cacheKey);
|
|
|
continue;
|
|
|
}
|
|
|
//还有不够扣在库存里,不用任何处理
|
|
|
$bookItemCustomRes->save();
|
|
|
$bookItemRes->save();
|
|
|
$bookCustomRes->save();
|
|
|
+ util::unlock($cacheKey);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -244,7 +251,7 @@ class BookItemClass extends BaseClass
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- $cacheKey = 'add_need_cg_num_' . $itemId;
|
|
|
+ $cacheKey = 'change_book_item_num_' . $itemId;
|
|
|
$noLock = util::lock($cacheKey);
|
|
|
if (!$noLock) {
|
|
|
util::fail("系统繁忙,1秒后再提交");
|
|
|
@@ -264,8 +271,6 @@ class BookItemClass extends BaseClass
|
|
|
];
|
|
|
$bookItemRes = self::add($statData, true);
|
|
|
}
|
|
|
- $bookItemResId = $bookItemRes->id;
|
|
|
- $bookItemRes = self::getLockById($bookItemResId);
|
|
|
$currentStock = $product->stock;
|
|
|
$totalHasNum = bcadd($currentStock, $bookItemRes->roadNum);
|
|
|
$overNum = $bookItemRes->bookNum > $totalHasNum ? 0 : bcsub($totalHasNum, $bookItemRes->bookNum);
|
|
|
@@ -293,8 +298,6 @@ class BookItemClass extends BaseClass
|
|
|
];
|
|
|
$bookItemCustomRes = BookItemCustomClass::add($currentData, true);
|
|
|
}
|
|
|
- $bookItemCustomResId = $bookItemCustomRes->id ?? 0;
|
|
|
- $bookItemCustomRes = BookItemCustomClass::getLockById($bookItemCustomResId);
|
|
|
$bookItemCustomRes = BookItemCustomClass::addBookNum($bookItemCustomRes,$num,$order,$shop,$product,$params);
|
|
|
BookItemCustomClass::addNeedCgNum($bookItemCustomRes,$addNeedCgNum,$num,$order,$shop,$product,$params);
|
|
|
|
|
|
@@ -310,8 +313,6 @@ class BookItemClass extends BaseClass
|
|
|
];
|
|
|
$bookCustomRes = BookCustomClass::add($currentData, true);
|
|
|
}
|
|
|
- $bookCustomResId = $bookCustomRes->id ?? 0;
|
|
|
- $bookCustomRes = BookCustomClass::getLockById($bookCustomResId);
|
|
|
$bookCustomRes->bookNum = bcadd($bookCustomRes->bookNum, $num);
|
|
|
$bookCustomRes->needCgNum = bcadd($bookCustomRes->needCgNum, $addNeedCgNum);
|
|
|
$bookCustomRes->save();
|