コード例 #1
0
ファイル: Bill.php プロジェクト: unionbt/hanpaimall
    }
    public static function dealt($callback, $priority = 0)
    {
        static::registerModelEvent('dealt', $callback, $priority);
    }
}
Bill::dealing(function ($bill) {
    $event = $bill->event;
    $model = $field_name = '';
    switch ($bill->event) {
        case Bill::PURCHASE:
            $model = 'App\\UserFinance';
            $field_name = 'used_money';
            break;
        case Bill::HANDLINGFEE:
        case Bill::WITHDRAWALS:
        case Bill::INCOME:
        case Bill::COMMISSION:
            $model = 'App\\UserFinance';
            $field_name = 'money';
            break;
        default:
            # code...
            break;
    }
    $result = (new $model())->newQuery()->find($bill->uid);
    if (empty($result)) {
        return false;
    }
    return $bill->is_dealt ? $result->increment($field_name, $bill->value) : $result->decrement($field_name, $bill->value);
});