<?php
declare(strict_types=1);require __DIR__.'/native.php';require __DIR__.'/decimal-oracle.php';ck(!file_exists($runtime.'/persistence-final.json'),'Final persistence capture once');$own=ownSnapshot();$old=oldProtection();$guard=json_decode(file_get_contents($runtime.'/guard.json'),true);ck($old===$guard['old_protection'],'Original final protection exact');$ids=json_decode(file_get_contents($runtime.'/prepared.json'),true)['ids'];$cast=$dm?'VARCHAR(40)':'CHAR';$money=readNative('AI','SELECT CAST(balance AS '.$cast.') balance_text,CAST(gift_balance AS '.$cast.') gift_text,CAST(pay_money AS '.$cast.') pay_text FROM yoshop_user WHERE user_id=?',[$ids['AI_U1']]);$direct=array_values(array_filter($own['meal_order'],static function($r){return $r['remark']==='CDXCORE11S1_DIRECT';}));$out=['lane'=>$lane,'own_fullrows'=>$own,'old_fullrows'=>$old,'money_native_server_text'=>$money,'source_proof'=>sourceProof(),'at'=>date('c'),'HTTP'=>0,'DML'=>0];if(count($direct)===1){$o=$direct[0];ck((int)$o['source']===4&&(int)$o['pay_status']===20&&(int)$o['order_status']===30,'Paid direct physical status');ck(count($own['account_settlement'])===1&&count($own['user_balance_log'])===1,'Exactly one settlement and balance log');$s=$own['account_settlement'][0];$log=$own['user_balance_log'][0];ck((int)$s['settlement_id']===(int)$o['account_settlement_id']&&(int)$log['order_id']===(int)$o['id']&&$s['biz_order_no']===$o['order_no']&&$s['settlement_no']==='CS:'.$o['order_no'],'Actual order/settlement/log linkage');ck(dec102text($money[0]['balance_text'])==='0.99'&&dec102text($money[0]['gift_text'])==='0.00'&&dec102text($money[0]['pay_text'])==='0.01','Exact server cash paid once');ck($s['deduction_order_snapshot']==='["gift","subsidy","cash"]'&&$o['deduction_order_snapshot']===$s['deduction_order_snapshot'],'Original deduction snapshot');$out['paid_order_ID']=(int)$o['id'];$out['actual_paid_once']=true;$out['actual_direct_created_time']=$o['create_time'];$out['actual_direct_updated_time']=$o['update_time'];}else{$out['actual_paid_once']=false;ck(count($direct)===0,'No ambiguous direct orders');}saveOnce('persistence-final.json',$out);echo json_encode(['lane'=>$lane,'direct_paid_orders'=>count($direct),'cash_text'=>$money[0]['balance_text'],'old_protection_equal'=>true]),"\n";
