|
|
@@ -842,14 +842,6 @@ class PurchaseOrderClass extends BaseClass
|
|
|
//数据结构 [{itemId:0,bigNum:0,smallNum:0,productId:12,itemPrice:1,weight:1}]
|
|
|
$ghsItemInfo = $data['itemInfo'];
|
|
|
$ghsItemInfo = self::mergeItemInfo($ghsItemInfo);
|
|
|
- usort($ghsItemInfo, function ($left, $right) {
|
|
|
- $leftId = isset($left['productId']) ? intval($left['productId']) : 0;
|
|
|
- $rightId = isset($right['productId']) ? intval($right['productId']) : 0;
|
|
|
- if ($leftId == $rightId) {
|
|
|
- return 0;
|
|
|
- }
|
|
|
- return $leftId < $rightId ? -1 : 1;
|
|
|
- });
|
|
|
//总共多少扎
|
|
|
$totalBigNum = 0;
|
|
|
//总共多少支
|
|
|
@@ -1858,4 +1850,20 @@ class PurchaseOrderClass extends BaseClass
|
|
|
util::success(['file' => $fileUrl, 'shortFile' => $file]);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 按 productId 升序排列,用于库存行锁顺序(降低多商品并发死锁)
|
|
|
+ * @param array $list
|
|
|
+ */
|
|
|
+ private static function sortRowsByProductIdAsc(&$list)
|
|
|
+ {
|
|
|
+ usort($list, function ($left, $right) {
|
|
|
+ $leftId = isset($left['productId']) ? intval($left['productId']) : 0;
|
|
|
+ $rightId = isset($right['productId']) ? intval($right['productId']) : 0;
|
|
|
+ if ($leftId == $rightId) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ return $leftId < $rightId ? -1 : 1;
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
}
|