Commit b80360db authored by luhongguang's avatar luhongguang

update: tcc sql调整

parent 01ecb999
...@@ -78,8 +78,8 @@ class Tcc2Service ...@@ -78,8 +78,8 @@ class Tcc2Service
if ($sku["online_status"] == GoodsSku::ONLINE_STATUS_ONLINE) { if ($sku["online_status"] == GoodsSku::ONLINE_STATUS_ONLINE) {
//条件加上乐观锁 //条件加上乐观锁
$rowCount = GoodsSku::save([ $rowCount = GoodsSku::save([
"inventory_lock" => $sku["inventory_lock"] + $num, "inventory_lock[+]" => $num,
"inventory_rest" => $sku["inventory_rest"] - $num, "inventory_rest[-]" => $num,
], ["goods_sku_id" => $goodsSkuId, "inventory_rest[>=]" => $num]); ], ["goods_sku_id" => $goodsSkuId, "inventory_rest[>=]" => $num]);
if ($rowCount <= 0) { if ($rowCount <= 0) {
GoodsSku::rollback(); GoodsSku::rollback();
...@@ -125,8 +125,8 @@ class Tcc2Service ...@@ -125,8 +125,8 @@ class Tcc2Service
if ($sku["online_status"] == PindanGoodsSku::ONLINE_STATUS_ONLINE) { if ($sku["online_status"] == PindanGoodsSku::ONLINE_STATUS_ONLINE) {
//条件加上乐观锁 //条件加上乐观锁
$rowCount = PindanGoodsSku::save([ $rowCount = PindanGoodsSku::save([
"inventory_lock" => $sku["inventory_lock"] + $num, "inventory_lock[+]" => $num,
"inventory_rest" => $sku["inventory_rest"] - $num, "inventory_rest[-]" => $num,
], ["goods_sku_id" => $goodsSkuId, "inventory_rest[>=]" => $num]); ], ["goods_sku_id" => $goodsSkuId, "inventory_rest[>=]" => $num]);
if ($rowCount <= 0) { if ($rowCount <= 0) {
PindanGoodsSku::rollback(); PindanGoodsSku::rollback();
...@@ -220,8 +220,8 @@ class Tcc2Service ...@@ -220,8 +220,8 @@ class Tcc2Service
//条件加上乐观锁 //条件加上乐观锁
$rowCount = GoodsSku::save([ $rowCount = GoodsSku::save([
"inventory_lock" => $sku["inventory_lock"] - $num, "inventory_lock[-]" => $num,
"total_amount_order" => $sku["total_amount_order"] + $num, "total_amount_order[+]" => $num,
], ["goods_sku_id" => $goodsSkuId, "inventory_lock[>=]" => $num]); ], ["goods_sku_id" => $goodsSkuId, "inventory_lock[>=]" => $num]);
if ($rowCount <= 0) { if ($rowCount <= 0) {
GoodsSku::rollback(); GoodsSku::rollback();
...@@ -263,8 +263,8 @@ class Tcc2Service ...@@ -263,8 +263,8 @@ class Tcc2Service
if (!empty($sku["inventory_lock"]) && $sku["online_status"] == PindanGoodsSku::ONLINE_STATUS_ONLINE) { if (!empty($sku["inventory_lock"]) && $sku["online_status"] == PindanGoodsSku::ONLINE_STATUS_ONLINE) {
//条件加上乐观锁 //条件加上乐观锁
$rowCount = PindanGoodsSku::save([ $rowCount = PindanGoodsSku::save([
"inventory_lock" => $sku["inventory_lock"] - $num, "inventory_lock[-]" => $num,
"total_amount_order" => $sku["total_amount_order"] + $num, "total_amount_order[+]" => $num,
], ["goods_sku_id" => $goodsSkuId, "inventory_lock[>=]" => $num]); ], ["goods_sku_id" => $goodsSkuId, "inventory_lock[>=]" => $num]);
if ($rowCount <= 0) { if ($rowCount <= 0) {
PindanGoodsSku::rollback(); PindanGoodsSku::rollback();
...@@ -303,11 +303,10 @@ class Tcc2Service ...@@ -303,11 +303,10 @@ class Tcc2Service
if (!empty($marketing) && $marketing["marketing_type"] == Marketing::MARKETING_TYPE_PINDAN) { if (!empty($marketing) && $marketing["marketing_type"] == Marketing::MARKETING_TYPE_PINDAN) {
$marketingPindan = MarketingPindan::getRecord(["marketing_id" => $marketingId]); $marketingPindan = MarketingPindan::getRecord(["marketing_id" => $marketingId]);
if (!empty($marketingPindan)) { if (!empty($marketingPindan)) {
MarketingPindan::save(["participate_number" => $marketingPindan["participate_number"] + $num] MarketingPindan::save(["participate_number[+]" => $num], ["marketing_pindan_id" => $marketingPindan["marketing_pindan_id"]]);
, ["marketing_pindan_id" => $marketingPindan["marketing_pindan_id"]]);
} }
PindanGoodsSku::save(["total_amount_sold" => $goodsSku["total_amount_sold"] + $num], ["goods_sku_id" => $goodsSkuId]); PindanGoodsSku::save(["total_amount_sold[+]" => $num], ["goods_sku_id" => $goodsSkuId]);
} }
} }
...@@ -380,8 +379,8 @@ class Tcc2Service ...@@ -380,8 +379,8 @@ class Tcc2Service
//T时候执行C2,条件加上乐观锁 //T时候执行C2,条件加上乐观锁
if ($tccInfo["status"] == Tcc::STATUS_T_SUCCESS) { if ($tccInfo["status"] == Tcc::STATUS_T_SUCCESS) {
$rowCount = GoodsSku::save([ $rowCount = GoodsSku::save([
"inventory_lock" => $sku["inventory_lock"] - $num, "inventory_lock[-]" => $num,
"inventory_rest" => $sku["inventory_rest"] + $num, "inventory_rest[+]" => $num,
], ["goods_sku_id" => $goodsSkuId, "inventory_lock[>=]" => $num]); ], ["goods_sku_id" => $goodsSkuId, "inventory_lock[>=]" => $num]);
if ($rowCount <= 0) { if ($rowCount <= 0) {
GoodsSku::rollback(); GoodsSku::rollback();
...@@ -392,8 +391,8 @@ class Tcc2Service ...@@ -392,8 +391,8 @@ class Tcc2Service
//T时候执行C2,条件加上乐观锁 //T时候执行C2,条件加上乐观锁
if ($tccInfo["status"] == Tcc::STATUS_C1_SUCCESS) { if ($tccInfo["status"] == Tcc::STATUS_C1_SUCCESS) {
$rowCount = GoodsSku::save([ $rowCount = GoodsSku::save([
"total_amount_order" => $sku["total_amount_order"] - $num, "total_amount_order[-]" => $num,
"inventory_rest" => $sku["inventory_rest"] + $num, "inventory_rest[+]" => $num,
], ["goods_sku_id" => $goodsSkuId, "total_amount_order[>=]" => $num]); ], ["goods_sku_id" => $goodsSkuId, "total_amount_order[>=]" => $num]);
if ($rowCount <= 0) { if ($rowCount <= 0) {
GoodsSku::rollback(); GoodsSku::rollback();
...@@ -434,8 +433,8 @@ class Tcc2Service ...@@ -434,8 +433,8 @@ class Tcc2Service
//T时候执行C2,条件加上乐观锁 //T时候执行C2,条件加上乐观锁
if ($tccInfo["status"] == Tcc::STATUS_T_SUCCESS) { if ($tccInfo["status"] == Tcc::STATUS_T_SUCCESS) {
$rowCount = PindanGoodsSku::save([ $rowCount = PindanGoodsSku::save([
"inventory_lock" => $sku["inventory_lock"] - $num, "inventory_lock[-]" => $num,
"inventory_rest" => $sku["inventory_rest"] + $num, "inventory_rest[+]" => $num,
], ["goods_sku_id" => $goodsSkuId, "inventory_lock[>=]" => $num]); ], ["goods_sku_id" => $goodsSkuId, "inventory_lock[>=]" => $num]);
if ($rowCount <= 0) { if ($rowCount <= 0) {
PindanGoodsSku::rollback(); PindanGoodsSku::rollback();
...@@ -446,8 +445,8 @@ class Tcc2Service ...@@ -446,8 +445,8 @@ class Tcc2Service
//T时候执行C2,条件加上乐观锁 //T时候执行C2,条件加上乐观锁
if ($tccInfo["status"] == Tcc::STATUS_C1_SUCCESS) { if ($tccInfo["status"] == Tcc::STATUS_C1_SUCCESS) {
$rowCount = PindanGoodsSku::save([ $rowCount = PindanGoodsSku::save([
"total_amount_order" => $sku["total_amount_order"] - $num, "total_amount_order[-]" => $num,
"inventory_rest" => $sku["inventory_rest"] + $num, "inventory_rest[+]" => $num,
], ["goods_sku_id" => $goodsSkuId, "total_amount_order[>=]" => $num]); ], ["goods_sku_id" => $goodsSkuId, "total_amount_order[>=]" => $num]);
if ($rowCount <= 0) { if ($rowCount <= 0) {
PindanGoodsSku::rollback(); PindanGoodsSku::rollback();
...@@ -514,13 +513,11 @@ class Tcc2Service ...@@ -514,13 +513,11 @@ class Tcc2Service
$goodsSkuId = $item["goods_sku_id"]; $goodsSkuId = $item["goods_sku_id"];
$num = $item["num"]; $num = $item["num"];
$sku = GoodsSku::getRecord(["goods_sku_id" => $goodsSkuId]
, ["goods_sku_id", "total_amount_order", "inventory_rest", "inventory_lock", "online_status"]);
$params = [ $params = [
"inventory_rest" => $sku["inventory_rest"] + $num, "inventory_rest[+]" => $num,
"total_amount_order" => $sku["total_amount_order"] - $num, "total_amount_order[-]" => $num,
]; ];
$rowCount = GoodsSku::save($params, ["goods_sku_id" => $goodsSkuId, "total_amount_order[>=]" => $num]); $rowCount = GoodsSku::save($params, ["goods_sku_id" => $goodsSkuId]);
if ($rowCount <= 0) { if ($rowCount <= 0) {
GoodsSku::rollback(); GoodsSku::rollback();
throw new GoodsException(["cus" => 32]); throw new GoodsException(["cus" => 32]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment