import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { MonitorRuleRunLog } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-09-15 13:26
 */
interface MonitorRuleRunLogCU extends ConditionUtil<MonitorRuleRunLogCU>{
    ID:FieldUtil<MonitorRuleRunLogCU>;
    SETTING_ID:FieldUtil<MonitorRuleRunLogCU>;
    ERROR_COUNT:FieldUtil<MonitorRuleRunLogCU>;
    CREATE_TIME:FieldUtil<MonitorRuleRunLogCU>;
    UPDATE_TIME:FieldUtil<MonitorRuleRunLogCU>;
    TEMPLATE_ID:FieldUtil<MonitorRuleRunLogCU>;
    TEMPLATE_THRESHOLD:FieldUtil<MonitorRuleRunLogCU>;
    PROJECT_ID:FieldUtil<MonitorRuleRunLogCU>;
    PID:FieldUtil<MonitorRuleRunLogCU>;
    PROJECT_VERSION:FieldUtil<MonitorRuleRunLogCU>;
    POD_ID:FieldUtil<MonitorRuleRunLogCU>;
    LAST_RUN_TIME:FieldUtil<MonitorRuleRunLogCU>;
    NEXT_RUN_TIME:FieldUtil<MonitorRuleRunLogCU>;
    PROJECT_DESC:FieldUtil<MonitorRuleRunLogCU>;
    ACTUAL_ALERT_VALUE:FieldUtil<MonitorRuleRunLogCU>;
    LAST_ALERT_TIME:FieldUtil<MonitorRuleRunLogCU>;
    NEXT_ALERT_TIME:FieldUtil<MonitorRuleRunLogCU>;
    ALERT_COUNT:FieldUtil<MonitorRuleRunLogCU>;
    SERVICE_GROUP_ID:FieldUtil<MonitorRuleRunLogCU>;
    PROJECT_TYPE:FieldUtil<MonitorRuleRunLogCU>;
    K8S_ID:FieldUtil<MonitorRuleRunLogCU>;
    TEMPLATE_NAME:FieldUtil<MonitorRuleRunLogCU>;
}

class MonitorRuleRunLogCUImpl extends ConditionUtilImpl<MonitorRuleRunLogCUImpl> implements MonitorRuleRunLogCU{ 
    newInstance(): MonitorRuleRunLogCUImpl {
        return new MonitorRuleRunLogCUImpl();
    } 
    get ID(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('id','id','主键', this);
    }
    get SETTING_ID(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('setting_id','settingId','监控设置ID', this);
    }
    get ERROR_COUNT(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('error_count','errorCount','持续异常次数', this);
    }
    get CREATE_TIME(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('create_time','createTime','create_time', this);
    }
    get UPDATE_TIME(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('update_time','updateTime','update_time', this);
    }
    get TEMPLATE_ID(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('template_id','templateId','template_id', this);
    }
    get TEMPLATE_THRESHOLD(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('template_threshold','templateThreshold','template_threshold', this);
    }
    get PROJECT_ID(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('project_id','projectId','project_id', this);
    }
    get PID(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('pid','pid','pid', this);
    }
    get PROJECT_VERSION(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('project_version','projectVersion','project_version', this);
    }
    get POD_ID(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('pod_id','podId','pod_id', this);
    }
    get LAST_RUN_TIME(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('last_run_time','lastRunTime','最后执行时间', this);
    }
    get NEXT_RUN_TIME(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('next_run_time','nextRunTime','下次执行时间', this);
    }
    get PROJECT_DESC(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('project_desc','projectDesc','project_desc', this);
    }
    get ACTUAL_ALERT_VALUE(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('actual_alert_value','actualAlertValue','异常指标值', this);
    }
    get LAST_ALERT_TIME(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('last_alert_time','lastAlertTime','最近告警时间', this);
    }
    get NEXT_ALERT_TIME(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('next_alert_time','nextAlertTime','下次告警时间', this);
    }
    get ALERT_COUNT(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('alert_count','alertCount','告警次数', this);
    }
    get SERVICE_GROUP_ID(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('service_group_id','serviceGroupId','service_group_id', this);
    }
    get PROJECT_TYPE(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('project_type','projectType','project_type', this);
    }
    get K8S_ID(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('k8s_id','k8sId','k8s_id', this);
    }
    get TEMPLATE_NAME(): FieldUtil<MonitorRuleRunLogCU>{  
        return new FieldUtil('template_name','templateName','template_name', this);
    }
}

@Singleton 
class MonitorRuleRunLogMU extends TableUtilImpl<MonitorRuleRunLogCU,MonitorRuleRunLog>{ 
    tableName  = 'monitor_rule_run_log';
    tableFields  = ['id','setting_id','error_count','create_time','update_time','template_id','template_threshold','project_id','pid','project_version','pod_id','last_run_time','next_run_time','project_desc','actual_alert_value','last_alert_time','next_alert_time','alert_count','service_group_id','project_type','k8s_id','template_name'];
    modelFields  = ['id','settingId','errorCount','createTime','updateTime','templateId','templateThreshold','projectId','pid','projectVersion','podId','lastRunTime','nextRunTime','projectDesc','actualAlertValue','lastAlertTime','nextAlertTime','alertCount','serviceGroupId','projectType','k8sId','templateName'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): MonitorRuleRunLogCU {
        return new MonitorRuleRunLogCUImpl();
    }   

    static get ID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('id','id','主键', new MonitorRuleRunLogCUImpl());
    }
    static get SETTING_ID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('setting_id','settingId','监控设置ID', new MonitorRuleRunLogCUImpl());
    }
    static get ERROR_COUNT(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('error_count','errorCount','持续异常次数', new MonitorRuleRunLogCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('create_time','createTime','create_time', new MonitorRuleRunLogCUImpl());
    }
    static get UPDATE_TIME(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('update_time','updateTime','update_time', new MonitorRuleRunLogCUImpl());
    }
    static get TEMPLATE_ID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('template_id','templateId','template_id', new MonitorRuleRunLogCUImpl());
    }
    static get TEMPLATE_THRESHOLD(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('template_threshold','templateThreshold','template_threshold', new MonitorRuleRunLogCUImpl());
    }
    static get PROJECT_ID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('project_id','projectId','project_id', new MonitorRuleRunLogCUImpl());
    }
    static get PID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('pid','pid','pid', new MonitorRuleRunLogCUImpl());
    }
    static get PROJECT_VERSION(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('project_version','projectVersion','project_version', new MonitorRuleRunLogCUImpl());
    }
    static get POD_ID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('pod_id','podId','pod_id', new MonitorRuleRunLogCUImpl());
    }
    static get LAST_RUN_TIME(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('last_run_time','lastRunTime','最后执行时间', new MonitorRuleRunLogCUImpl());
    }
    static get NEXT_RUN_TIME(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('next_run_time','nextRunTime','下次执行时间', new MonitorRuleRunLogCUImpl());
    }
    static get PROJECT_DESC(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('project_desc','projectDesc','project_desc', new MonitorRuleRunLogCUImpl());
    }
    static get ACTUAL_ALERT_VALUE(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('actual_alert_value','actualAlertValue','异常指标值', new MonitorRuleRunLogCUImpl());
    }
    static get LAST_ALERT_TIME(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('last_alert_time','lastAlertTime','最近告警时间', new MonitorRuleRunLogCUImpl());
    }
    static get NEXT_ALERT_TIME(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('next_alert_time','nextAlertTime','下次告警时间', new MonitorRuleRunLogCUImpl());
    }
    static get ALERT_COUNT(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('alert_count','alertCount','告警次数', new MonitorRuleRunLogCUImpl());
    }
    static get SERVICE_GROUP_ID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('service_group_id','serviceGroupId','service_group_id', new MonitorRuleRunLogCUImpl());
    }
    static get PROJECT_TYPE(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('project_type','projectType','project_type', new MonitorRuleRunLogCUImpl());
    }
    static get K8S_ID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('k8s_id','k8sId','k8s_id', new MonitorRuleRunLogCUImpl());
    }
    static get TEMPLATE_NAME(): FieldUtil<MonitorRuleRunLogCU>{ 
        return new FieldUtil('template_name','templateName','template_name', new MonitorRuleRunLogCUImpl());
    }

    get ID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.ID;
    }
    get SETTING_ID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.SETTING_ID;
    }
    get ERROR_COUNT(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.ERROR_COUNT;
    }
    get CREATE_TIME(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.CREATE_TIME;
    }
    get UPDATE_TIME(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.UPDATE_TIME;
    }
    get TEMPLATE_ID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.TEMPLATE_ID;
    }
    get TEMPLATE_THRESHOLD(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.TEMPLATE_THRESHOLD;
    }
    get PROJECT_ID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.PROJECT_ID;
    }
    get PID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.PID;
    }
    get PROJECT_VERSION(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.PROJECT_VERSION;
    }
    get POD_ID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.POD_ID;
    }
    get LAST_RUN_TIME(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.LAST_RUN_TIME;
    }
    get NEXT_RUN_TIME(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.NEXT_RUN_TIME;
    }
    get PROJECT_DESC(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.PROJECT_DESC;
    }
    get ACTUAL_ALERT_VALUE(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.ACTUAL_ALERT_VALUE;
    }
    get LAST_ALERT_TIME(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.LAST_ALERT_TIME;
    }
    get NEXT_ALERT_TIME(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.NEXT_ALERT_TIME;
    }
    get ALERT_COUNT(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.ALERT_COUNT;
    }
    get SERVICE_GROUP_ID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.SERVICE_GROUP_ID;
    }
    get PROJECT_TYPE(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.PROJECT_TYPE;
    }
    get K8S_ID(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.K8S_ID;
    }
    get TEMPLATE_NAME(): FieldUtil<MonitorRuleRunLogCU>{ 
        return MonitorRuleRunLogMU.TEMPLATE_NAME;
    }
}
export {MonitorRuleRunLogMU, MonitorRuleRunLogCU}
