完成了基本调整调整

This commit is contained in:
2026-09-18 20:55:21 +08:00
parent 864187e105
commit 57e0854a0e
56 changed files with 3122 additions and 105 deletions
+29 -5
View File
@@ -87,12 +87,31 @@ class NotifyQueue extends Command
return false;
}
$partnersOil = new PartnersOil();
$optType = (string)($data['optType'] ?? '');
// 加油:一单可多次加油,每笔单独通知。消息里带 consume_id 时推这一笔的占用金额和消费单号;
// 老消息没有 consume_id(上线前入队的)则沿用旧口径推订单金额
$consume = null;
if ($optType == 'add_oil' && !empty($data['consume_id'])) {
$consume = Db::name('qyt_consume')->where('id', (int)$data['consume_id'])->find();
}
if ($optType == 'refund') {
$amount = $order['refund_amount'];
} elseif ($consume) {
$amount = number_format((int)$consume['consume_amount'] / 100, 2, '.', '');
} else {
$amount = $order['total_price'];
}
$data = [
'oilCardNo' => $order['oilCardNo'],
'amount' => $order['total_price'],
'shareNo' => $order['shareNo'],
'type' => $data['optType'] == 'share_oil' ? 'add' : 'sub',
'optType' => $data['optType'],
// 分油:订单金额;加油:本次加油占用金额;退款:退款金额
'amount' => $amount,
// 订单实付金额(即分油金额),所有场景都带,方便对接方拿 amount 对照参考
'orderAmount' => number_format((float)$order['total_price'], 2, '.', ''),
'shareNo' => $consume && $consume['order_code'] !== '' ? $consume['order_code'] : $order['shareNo'],
'type' => $optType == 'share_oil' ? 'add' : 'sub',
'optType' => $optType,
];
$header['method'] = 'syb.notify.oilCard.change';
$res = $partnersOil->sendRequest($partners, $partners['callback'], $data, $header);
@@ -103,11 +122,16 @@ class NotifyQueue extends Command
'oil_callback' => 1,
'oil_callback_time' => time(),
]);
}else{
}elseif($data['optType'] == 'add_oil'){
// 退款通知成功不记 use_callback,避免把「加油已回调」标错
$order->save([
'use_callback' => 1,
'use_callback_time' => time(),
]);
// 逐笔记录这一笔加油已通知
if ($consume) {
Db::name('qyt_consume')->where('id', $consume['id'])->update(['notify_status' => 1, 'notify_time' => time()]);
}
}
return true;
}