refactor(store_branch_product): 重构库存编辑逻辑
- 移除了冗余的代码和不必要的条件判断 - 优化了数据库查询和更新操作 - 简化了库存更新逻辑,提高了代码可读性和维护性
This commit is contained in:
parent
b7f9a3b5ee
commit
ca43cf01fa
app/admin
controller/store_branch_product
logic/store_branch_product
@ -93,6 +93,8 @@ class StoreBranchProductController extends BaseAdminController
|
||||
*/
|
||||
public function edit_stock()
|
||||
{
|
||||
$params = $this->request->post();
|
||||
StoreBranchProductLogic::stock($params);
|
||||
return $this->success('编辑成功', [], 1, 1);
|
||||
}
|
||||
/**
|
||||
|
@ -67,7 +67,7 @@ class StoreBranchProductLogic extends BaseLogic
|
||||
return true;
|
||||
} catch (\Throwable $e) {
|
||||
Db::rollback();
|
||||
throw new BusinessException('商品编辑失败:',$e->getMessage());
|
||||
throw new BusinessException('商品编辑失败:', $e->getMessage());
|
||||
}
|
||||
}
|
||||
/**
|
||||
@ -77,29 +77,13 @@ class StoreBranchProductLogic extends BaseLogic
|
||||
* @author admin
|
||||
* @date 2024/06/07 13:56
|
||||
*/
|
||||
public static function stock(array $params, $type = 1,$admin_id=0): bool
|
||||
public static function stock(array $params, $type = 1, $admin_id = 0): bool
|
||||
{
|
||||
Db::startTrans();
|
||||
try {
|
||||
$find = StoreProduct::where('id', $params['product_id'])->find()->toArray();
|
||||
$storeBranchProduct = StoreBranchProduct::where('id', $params['id'])->find()->toArray();
|
||||
if ($type == 1) {
|
||||
$stock = bcadd($find['stock'], $params['nums'], 2);
|
||||
$branchStock = bcadd($storeBranchProduct['stock'], $params['nums'], 2);
|
||||
|
||||
StoreBranchProduct::update(['stock' => $branchStock, 'total_price' => bcmul($branchStock, $find['purchase'], 2)],['id'=> $params['id']]);
|
||||
SqlChannelLog('StoreBranchProduct', $params['id'], $params['nums'], 1, Request()->url(),$admin_id);
|
||||
StoreProduct::update(['stock' => $stock, 'total_price' => bcmul($stock, $find['purchase'], 2)],['id'=> $params['product_id']]);
|
||||
|
||||
} else {
|
||||
$branchStock = bcsub($storeBranchProduct['stock'], $params['nums'], 2);
|
||||
$stock = bcsub($find['stock'], $params['nums'], 2);
|
||||
|
||||
StoreBranchProduct::where('id', $params['id'])->update(['stock' => $branchStock, 'total_price' => bcmul($branchStock, $find['purchase'], 2)],['id'=>$params['id']]);
|
||||
SqlChannelLog('StoreBranchProduct', $params['id'], $params['nums'], -1, Request()->url(),$admin_id);
|
||||
StoreProduct::where('id', $params['product_id'])->update(['stock' => $stock, 'total_price' => bcmul($stock, $find['purchase'], 2)],['id'=>$params['product_id']]);
|
||||
|
||||
}
|
||||
StoreBranchProduct::update(['stock' => $params['stock'], 'total_price' => bcmul($params['stock'], $storeBranchProduct['purchase'], 2)], ['id' => $params['id']]);
|
||||
SqlChannelLog('StoreBranchProduct', $params['id'], $params['stock'], 0, Request()->url(), $admin_id);
|
||||
Db::commit();
|
||||
return true;
|
||||
} catch (\Throwable $e) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user