cache Voucher stocks for 5 Minutes

This commit is contained in:
Ibnu Maksum 2024-02-06 16:46:50 +07:00
parent 1e0b246d74
commit 5921fef67e
No known key found for this signature in database
GPG Key ID: 7FC82848810579E5

View File

@ -78,12 +78,20 @@ $ui->assign('dlog', $dlog);
$log = ORM::for_table('tbl_logs')->count(); $log = ORM::for_table('tbl_logs')->count();
$ui->assign('log', $log); $ui->assign('log', $log);
// Count stock
$tmp = $v = ORM::for_table('tbl_plans')->select('id')->select('name_plan')->find_many(); $cacheStocksfile = File::pathFixer('system/cache/VoucherStocks.temp');
$plans = array(); $cachePlanfile = File::pathFixer('system/cache/VoucherPlans.temp');
$stocks = array("used" => 0, "unused" => 0); //Cache for 5 minutes
$n = 0; if(file_exists($cacheStocksfile) && time()- filemtime($cacheStocksfile) < 600){
foreach ($tmp as $plan) { $stocks = json_decode(file_get_contents($cacheStocksfile), true);
$plans = json_decode(file_get_contents($cachePlanfile), true);
}else{
// Count stock
$tmp = $v = ORM::for_table('tbl_plans')->select('id')->select('name_plan')->find_many();
$plans = array();
$stocks = array("used" => 0, "unused" => 0);
$n = 0;
foreach ($tmp as $plan) {
$unused = ORM::for_table('tbl_voucher') $unused = ORM::for_table('tbl_voucher')
->where('id_plan', $plan['id']) ->where('id_plan', $plan['id'])
->where('status', 0)->count(); ->where('status', 0)->count();
@ -98,9 +106,12 @@ foreach ($tmp as $plan) {
$stocks["used"] += $used; $stocks["used"] += $used;
$n++; $n++;
} }
}
file_put_contents($cacheStocksfile, json_encode($stocks));
file_put_contents($cachePlanfile, json_encode($plans));
} }
$cacheMRfile = File::pathFixer('system/cache/monthlyRegistered.json'); $cacheMRfile = File::pathFixer('system/cache/monthlyRegistered.temp');
//Cache for 1 hour //Cache for 1 hour
if(file_exists($cacheMRfile) && time()- filemtime($cacheMRfile) < 3600){ if(file_exists($cacheMRfile) && time()- filemtime($cacheMRfile) < 3600){
$monthlyRegistered = json_decode(file_get_contents($cacheMRfile), true); $monthlyRegistered = json_decode(file_get_contents($cacheMRfile), true);
@ -123,7 +134,7 @@ if(file_exists($cacheMRfile) && time()- filemtime($cacheMRfile) < 3600){
file_put_contents($cacheMRfile, json_encode($monthlyRegistered)); file_put_contents($cacheMRfile, json_encode($monthlyRegistered));
} }
$cacheMSfile = File::pathFixer('system/cache/monthlySales.json'); $cacheMSfile = File::pathFixer('system/cache/monthlySales.temp');
//Cache for 12 hours //Cache for 12 hours
if(file_exists($cacheMSfile) && time()- filemtime($cacheMSfile) < 43200){ if(file_exists($cacheMSfile) && time()- filemtime($cacheMSfile) < 43200){
$monthlySales = json_decode(file_get_contents($cacheMSfile), true); $monthlySales = json_decode(file_get_contents($cacheMSfile), true);