feat: 增加收银台支付功能及库存处理

This commit is contained in:
mkm 2024-06-25 16:55:08 +08:00
parent 7420769c9c
commit 6e5badd969

View File

@ -216,31 +216,32 @@ class PayNotifyLogic extends BaseLogic
if ($order->isEmpty() || $order->paid == PayEnum::ISPAID) { if ($order->isEmpty() || $order->paid == PayEnum::ISPAID) {
return true; return true;
} }
if ($order->pay_type != 10) { $order->status = 1;
$order->pay_price = bcdiv($extra['amount']['payer_total'], 100, 2);
$order->paid = 1; $order->paid = 1;
$order->pay_time = time(); $order->pay_time = time();
$order->status = 1; if($order['is_storage']==1){
$order->save(); $order->status=2;
UserProductStorageLogic::add($order);
}
if ($order->pay_type != 10) {
$order->pay_price = bcdiv($extra['amount']['payer_total'], 100, 2);
} else { } else {
$extra['transaction_id'] = time(); $extra['transaction_id'] = time();
} }
$user = User::where('id', $order['uid'])->find(); $user = User::where('id', $order['uid'])->find();
if ($order->pay_type == OrderEnum::CASHIER_ORDER_PAY || $order->pay_type == OrderEnum::CASHIER_ORDER_ALI_PAY) { //收银台支付 if ($order->pay_type == OrderEnum::CASHIER_ORDER_PAY || $order->pay_type == OrderEnum::CASHIER_ORDER_ALI_PAY) { //收银台支付
$order->status = 2; $order->status = 2;
$order->save();
self::afterPay($order, $extra['transaction_id']); self::afterPay($order, $extra['transaction_id']);
} else { } else {
$capitalFlowDao = new CapitalFlowLogic($user); $capitalFlowDao = new CapitalFlowLogic($user);
//微信支付和用户余额无关 //微信支付和用户余额无关
$capitalFlowDao->userExpense('user_order_pay', 'order', $order['id'], $order->pay_price, '', 1, $order['store_id']); $capitalFlowDao->userExpense('user_order_pay', 'order', $order['id'], $order->pay_price, '', 1, $order['store_id']);
} }
$order->save();
self::dealProductLog($order); self::dealProductLog($order);
if ($order['shipping_type'] == 3) { if ($order['shipping_type'] == 3) {
self::descStock($order['id']); self::descStock($order['id']);
} }
if (!empty($extra['payer']['openid']) && $order->pay_type == 7) { if (!empty($extra['payer']['openid']) && $order->pay_type == 7) {
Redis::send('push-delivery', ['order_id' => $order['order_id'], 'openid' => $extra['payer']['openid']], 4); Redis::send('push-delivery', ['order_id' => $order['order_id'], 'openid' => $extra['payer']['openid']], 4);
} }