feat(OrderLogic, CapitalFlowLogic): 重构余额支付逻辑,优化库存计算与用户余额处理
This commit is contained in:
parent
2d1cb8f485
commit
1ea3a0ab14
@ -254,36 +254,6 @@ class OrderLogic extends BaseLogic
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 余额订单支付
|
|
||||||
* @param User $user
|
|
||||||
* @param $order
|
|
||||||
* @return bool
|
|
||||||
* @throws Exception
|
|
||||||
* @throws ValidateException
|
|
||||||
*/
|
|
||||||
static public function payBalance(User $user, $order)
|
|
||||||
{
|
|
||||||
if ($user['now_money'] < $order['pay_price']) {
|
|
||||||
self::setError('余额不足,请更换支付方式');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
Db::startTrans();
|
|
||||||
try {
|
|
||||||
$user->now_money = bcsub($user->now_money, $order['pay_price'], 2);
|
|
||||||
$user->save();
|
|
||||||
$capitalFlowDao = new CapitalFlowLogic($user);
|
|
||||||
$capitalFlowDao->userExpense('user_order_pay', 'order', $order['id'], $order['pay_price']);
|
|
||||||
Db::commit();
|
|
||||||
return true;
|
|
||||||
} catch (\Exception $e) {
|
|
||||||
Db::rollback();
|
|
||||||
Log::error('余额支付失败' . $e->getMessage() . '。line:' . $e->getLine() . '。file:' . $e->getFile());
|
|
||||||
self::setError('余额支付失败' . $e->getMessage());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @notes 订单支付成功
|
* @notes 订单支付成功
|
||||||
* @param $order 订单
|
* @param $order 订单
|
||||||
|
@ -63,13 +63,13 @@ class CapitalFlowLogic extends BaseLogic
|
|||||||
$model->link_type = $linkType;
|
$model->link_type = $linkType;
|
||||||
$model->link_id = $linkId;
|
$model->link_id = $linkId;
|
||||||
$model->amount = $amount;
|
$model->amount = $amount;
|
||||||
if($payType == 1){
|
// if($payType == 1){
|
||||||
$model->before_balance = $this->user['now_money'];
|
$model->before_balance = $this->user['now_money'];
|
||||||
$model->balance = $this->user['now_money'];
|
$model->balance = $this->user['now_money'];
|
||||||
}else{
|
// }else{
|
||||||
$model->before_balance = $this->user['now_money'];
|
// $model->before_balance = $this->user['now_money'];
|
||||||
$model->balance = bcsub($this->user['now_money'], $amount, 2);
|
// $model->balance = bcsub($this->user['now_money'], $amount, 2);
|
||||||
}
|
// }
|
||||||
$model->create_time = date('Y-m-d H:i:s');
|
$model->create_time = date('Y-m-d H:i:s');
|
||||||
$model->type = 'out';
|
$model->type = 'out';
|
||||||
$model->title = $this->getTitle($category, $amount);
|
$model->title = $this->getTitle($category, $amount);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user