<?php
require_once __DIR__.'/db.php';
$uuid=$lane==='B'?'6969DC3F-CC71-237D-FCED-389B86C5905F':'711DB31A-5BF6-4478-BB9E-C866F0C88DA3';
$keyword=$lane==='B'?'冲刺能量泵速度力量运动营养粉':'CDXNP119A2B-product';
$setUUID=$lane==='B'?'077C7A9D-E877-CD81-F325-D34CE3D179BC':'5160CDE0-D0F1-4935-BA5C-33192DB8A20A';
$functionColumn=$lane==='B'?'`FUNCTION`':'"FUNCTION"';
$source=static function()use($q,$p,$uuid,$keyword,$setUUID,$functionColumn):array {
 $nutrition=$q('SELECT * FROM '.$p.'nutrition WHERE UUID=?',[$uuid]);if(count($nutrition)!==1)throw new RuntimeException('Exact local product');
 $source=['nutrition'=>$nutrition];foreach(['nutrition_set','nutrition_time','nutrition_category'] as $t)$source[$t]=$q('SELECT * FROM '.$p.$t.' ORDER BY ID');
 $actor=$q('SELECT * FROM '.$p.'user WHERE ID=1');if(count($actor)!==1||(int)$actor[0]['type']!==0||(int)$actor[0]['is_delete']!==0)throw new RuntimeException('Original actor');$source['actor_sha256']=hash('sha256',json_encode($actor,JSON_UNESCAPED_UNICODE|JSON_PRESERVE_ZERO_FRACTION));
 $source['nutrition_sum']=(int)$q('SELECT COUNT(*) AS CNT FROM '.$p.'nutrition WHERE IS_DEL=1')[0]['cnt'];
 $source['p_lists_count']=(int)$q('SELECT COUNT(*) AS CNT FROM '.$p.'nutrition WHERE IS_DEL=1 AND SET_UUID=? AND (NAME LIKE ? OR SYNOPSIS LIKE ?)',[$setUUID,'%'.$keyword.'%','%'.$keyword.'%'])[0]['cnt'];
 $source['m_lists_count']=(int)$q('SELECT COUNT(*) AS CNT FROM '.$p.'nutrition WHERE IS_DEL=1 AND IS_OWN=1 AND STATUS=1 AND (NAME LIKE ? OR SYNOPSIS LIKE ?)',['%'.$keyword.'%','%'.$keyword.'%'])[0]['cnt'];
 $source['product_join_count']=(int)$q('SELECT COUNT(*) AS CNT FROM '.$p.'nutrition a JOIN '.$p.'nutrition_set b ON a.SET_UUID=b.UUID JOIN '.$p.'nutrition_category c ON a.NUTRITION_CATEGORY_UUID=c.UUID WHERE a.IS_DEL=1 AND a.IS_OWN=1 AND a.STATUS=1 AND (a.NAME LIKE ? OR a.SYNOPSIS LIKE ? OR a.'.$functionColumn.' LIKE ? OR a.BATCHING LIKE ? OR b.NAME LIKE ? OR c.NAME LIKE ?)',array_fill(0,6,'%'.$keyword.'%'))[0]['cnt'];
 foreach(['p_lists_count','m_lists_count','product_join_count'] as $key)if($source[$key]!==1)throw new RuntimeException('Fresh single-row cap '.$key);
 $source['supplier_groups']=$q('SELECT SUPPLIER FROM '.$p.'nutrition WHERE IS_DEL=1 AND STATUS=1 GROUP BY SUPPLIER');$supplier=[];foreach($source['supplier_groups'] as $row){if(!$row['supplier'])throw new RuntimeException('Unapproved empty supplier branch');$supplier[]=['name'=>$row['supplier'],'number'=>(int)$q('SELECT COUNT(*) AS CNT FROM '.$p.'nutrition WHERE IS_DEL=1 AND STATUS=1 AND SUPPLIER=?',[$row['supplier']])[0]['cnt']];}$source['supplier_expected']=$supplier;
 $source['time_active_order']=$q('SELECT ID,UUID,NAME,'.$functionColumn.' FROM '.$p.'nutrition_time WHERE STATUS=1 AND DEL_FLAG=0 ORDER BY ORDER_NO');
 $source['time_inactive_order']=$q('SELECT ID,UUID,NAME,'.$functionColumn.' FROM '.$p.'nutrition_time WHERE STATUS=0 AND DEL_FLAG=0 AND UUID IN ('.implode(',',array_fill(0,count(explode(',',$nutrition[0]['use_time'])),'?')).') ORDER BY ORDER_NO',explode(',',$nutrition[0]['use_time']));
 return $source;
};
$guard=static function($current){$base=json_decode(file_get_contents(__DIR__.'/private-http-baseline.json'),true);if($current!==$base)throw new RuntimeException('Full scoped sources drift');};
