<?php
namespace app\admin\model;
use think\facade\Db;
use think\facade\Cache;
use think\Model;

class CommonMealList extends Model
{
	public static function onAfterWrite($update) {
		$meal = new CommonMealList;
		$meal->mealSummary($update->meal_date);
    }
    public static function onAfterDelete($update){
		$meal = new CommonMealList;
		$meal->mealSummary($update->meal_date);
    }
    private function mealSummary($meal_date){
    	$list = Db::name('common_meal_list')->where(array('meal_date'=>$meal_date,'status'=>1))->where('dpt','>',0)->lists();
    	if($list){
    		$record = Db::name('common_meal_list')->where(array('meal_date'=>$meal_date,'dpt'=>0))->find();
	    	if($record){
	    		Db::name('common_meal_list')->where('id',$record['id'])->update(['meal1'=>array_sum(array_column($list,'meal1')),'meal2'=>array_sum(array_column($list,'meal2')),'meal3'=>array_sum(array_column($list,'meal3')),'meal4'=>array_sum(array_column($list,'meal4')),'update'=>time()]);
	    	}else{
	    		Db::name('common_meal_list')->save(['meal_date'=>$meal_date,'dpt'=>0,'meal1'=>array_sum(array_column($list,'meal1')),'meal2'=>array_sum(array_column($list,'meal2')),'meal3'=>array_sum(array_column($list,'meal3')),'meal4'=>array_sum(array_column($list,'meal4')),'update'=>time()]);
	    	}
    	}else {
			$record = Db::name('common_meal_list')->where(array('meal_date'=>$meal_date,'dpt'=>0))->find();
			if($record){
	    		Db::name('common_meal_list')->where('id',$record['id'])->delete();
	    	}
		}
    }
}
