修复: 订单不存在问题-平台MySQL直查+同步机制+管理后台手动同步
- queryOrder: 本地订单不存在时直查平台MySQL,找到则自动同步到本地 - handleNotify: 回调找不到本地订单时从平台MySQL补建 - checkPlatformOrderStatus: 超时3s→10s,返回更多字段(trade_no/money/player) - recharge_orders_api: 新增sync_platform action,管理员手动从平台同步全部已支付订单 - admin.php: 充值对账页新增「从平台同步」按钮 - 解决: 游戏已发钱但前端/后台显示订单不存在的问题 关闭 #1069 #1070
This commit is contained in:
@@ -3403,6 +3403,7 @@ async function loadRechargeOrders(el) {
|
||||
<option value="200">200条</option>
|
||||
</select>
|
||||
<button class="btn btn-blue" onclick="_roReconcile()">🔄 立即对账</button>
|
||||
<button class="btn btn-yellow" onclick="_roSyncPlatform()" style="margin-left:4px">⬇️ 从平台同步</button>
|
||||
</div>
|
||||
<div id="roList"><div class="ro-empty">加载中...</div></div>
|
||||
</div>`;
|
||||
@@ -3483,6 +3484,20 @@ async function _roReconcile() {
|
||||
}
|
||||
} catch(e) { glassAlert('对账请求失败: '+e.message); }
|
||||
}
|
||||
async function _roSyncPlatform() {
|
||||
if (!await glassConfirm('从支付平台同步所有已支付订单到本地数据库,同时写入充值流水供Java拉取。是否继续?')) return;
|
||||
try {
|
||||
const r = await fetch('api/recharge_orders_api.php?action=sync_platform');
|
||||
const d = await r.json();
|
||||
if (d.error) { glassAlert('同步失败: '+d.error); return; }
|
||||
if (d.success) {
|
||||
glassAlert('同步完成!平台共 '+d.data.platform_total+' 笔,新同步 '+d.data.synced+' 笔,已存在 '+d.data.already_paid+' 笔');
|
||||
_roLoad();
|
||||
} else {
|
||||
glassAlert('同步失败: '+(d.message||'未知错误'));
|
||||
}
|
||||
} catch(e) { glassAlert('同步请求失败: '+e.message); }
|
||||
}
|
||||
document.addEventListener('keydown', function(e) { if (e.key==='Escape') _roCloseDtl(); });
|
||||
|
||||
async function loadCashierManage(el) {
|
||||
|
||||
Reference in New Issue
Block a user