import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { MsCoreMonitorLog } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-08-30 15:35
 */
interface MsCoreMonitorLogCU extends ConditionUtil<MsCoreMonitorLogCU>{
    ID:FieldUtil<MsCoreMonitorLogCU>;
    NAME:FieldUtil<MsCoreMonitorLogCU>;
    HEALTH_CHECK_URL:FieldUtil<MsCoreMonitorLogCU>;
    CREATE_USER_ID:FieldUtil<MsCoreMonitorLogCU>;
    UPDATE_USER_ID:FieldUtil<MsCoreMonitorLogCU>;
    NEXT_CHECK_TIME:FieldUtil<MsCoreMonitorLogCU>;
    LAST_CHECK_RESULT:FieldUtil<MsCoreMonitorLogCU>;
    FAILURE_COUNT:FieldUtil<MsCoreMonitorLogCU>;
    REDEPLOY_COUNT:FieldUtil<MsCoreMonitorLogCU>;
    REDEPLOY_TIME:FieldUtil<MsCoreMonitorLogCU>;
    STATE:FieldUtil<MsCoreMonitorLogCU>;
    CREATE_TIME:FieldUtil<MsCoreMonitorLogCU>;
    UPDATE_TIME:FieldUtil<MsCoreMonitorLogCU>;
}

class MsCoreMonitorLogCUImpl extends ConditionUtilImpl<MsCoreMonitorLogCUImpl> implements MsCoreMonitorLogCU{ 
    newInstance(): MsCoreMonitorLogCUImpl {
        return new MsCoreMonitorLogCUImpl();
    } 
    get ID(): FieldUtil<MsCoreMonitorLogCU>{  
        return new FieldUtil('id','id','主键', this);
    }
    get NAME(): FieldUtil<MsCoreMonitorLogCU>{  
        return new FieldUtil('name','name','name', this);
    }
    get HEALTH_CHECK_URL(): FieldUtil<MsCoreMonitorLogCU>{  
        return new FieldUtil('health_check_url','healthCheckUrl','监控地址', this);
    }
    get CREATE_USER_ID(): FieldUtil<MsCoreMonitorLogCU>{  
        return new FieldUtil('create_user_id','createUserId','创建人ID', this);
    }
    get UPDATE_USER_ID(): FieldUtil<MsCoreMonitorLogCU>{  
        return new FieldUtil('update_user_id','updateUserId','修改人ID', this);
    }
    get NEXT_CHECK_TIME(): FieldUtil<MsCoreMonitorLogCU>{  
        return new FieldUtil('next_check_time','nextCheckTime','next_check_time', this);
    }
    get LAST_CHECK_RESULT(): FieldUtil<MsCoreMonitorLogCU>{  
        return new FieldUtil('last_check_result','lastCheckResult','last_check_result', this);
    }
    get FAILURE_COUNT(): FieldUtil<MsCoreMonitorLogCU>{  
        return new FieldUtil('failure_count','failureCount','failure_count', this);
    }
    get REDEPLOY_COUNT(): FieldUtil<MsCoreMonitorLogCU>{  
        return new FieldUtil('redeploy_count','redeployCount','redeploy_count', this);
    }
    get REDEPLOY_TIME(): FieldUtil<MsCoreMonitorLogCU>{  
        return new FieldUtil('redeploy_time','redeployTime','redeploy_time', this);
    }
    get STATE(): FieldUtil<MsCoreMonitorLogCU>{  
        return new FieldUtil('state','state','state', this);
    }
    get CREATE_TIME(): FieldUtil<MsCoreMonitorLogCU>{  
        return new FieldUtil('create_time','createTime','创建时间', this);
    }
    get UPDATE_TIME(): FieldUtil<MsCoreMonitorLogCU>{  
        return new FieldUtil('update_time','updateTime','更新时间', this);
    }
}

@Singleton 
class MsCoreMonitorLogMU extends TableUtilImpl<MsCoreMonitorLogCU,MsCoreMonitorLog>{ 
    tableName  = 'ms_core_monitor_log';
    tableFields  = ['id','name','health_check_url','create_user_id','update_user_id','next_check_time','last_check_result','failure_count','redeploy_count','redeploy_time','state','create_time','update_time'];
    modelFields  = ['id','name','healthCheckUrl','createUserId','updateUserId','nextCheckTime','lastCheckResult','failureCount','redeployCount','redeployTime','state','createTime','updateTime'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): MsCoreMonitorLogCU {
        return new MsCoreMonitorLogCUImpl();
    }   

    static get ID(): FieldUtil<MsCoreMonitorLogCU>{ 
        return new FieldUtil('id','id','主键', new MsCoreMonitorLogCUImpl());
    }
    static get NAME(): FieldUtil<MsCoreMonitorLogCU>{ 
        return new FieldUtil('name','name','name', new MsCoreMonitorLogCUImpl());
    }
    static get HEALTH_CHECK_URL(): FieldUtil<MsCoreMonitorLogCU>{ 
        return new FieldUtil('health_check_url','healthCheckUrl','监控地址', new MsCoreMonitorLogCUImpl());
    }
    static get CREATE_USER_ID(): FieldUtil<MsCoreMonitorLogCU>{ 
        return new FieldUtil('create_user_id','createUserId','创建人ID', new MsCoreMonitorLogCUImpl());
    }
    static get UPDATE_USER_ID(): FieldUtil<MsCoreMonitorLogCU>{ 
        return new FieldUtil('update_user_id','updateUserId','修改人ID', new MsCoreMonitorLogCUImpl());
    }
    static get NEXT_CHECK_TIME(): FieldUtil<MsCoreMonitorLogCU>{ 
        return new FieldUtil('next_check_time','nextCheckTime','next_check_time', new MsCoreMonitorLogCUImpl());
    }
    static get LAST_CHECK_RESULT(): FieldUtil<MsCoreMonitorLogCU>{ 
        return new FieldUtil('last_check_result','lastCheckResult','last_check_result', new MsCoreMonitorLogCUImpl());
    }
    static get FAILURE_COUNT(): FieldUtil<MsCoreMonitorLogCU>{ 
        return new FieldUtil('failure_count','failureCount','failure_count', new MsCoreMonitorLogCUImpl());
    }
    static get REDEPLOY_COUNT(): FieldUtil<MsCoreMonitorLogCU>{ 
        return new FieldUtil('redeploy_count','redeployCount','redeploy_count', new MsCoreMonitorLogCUImpl());
    }
    static get REDEPLOY_TIME(): FieldUtil<MsCoreMonitorLogCU>{ 
        return new FieldUtil('redeploy_time','redeployTime','redeploy_time', new MsCoreMonitorLogCUImpl());
    }
    static get STATE(): FieldUtil<MsCoreMonitorLogCU>{ 
        return new FieldUtil('state','state','state', new MsCoreMonitorLogCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<MsCoreMonitorLogCU>{ 
        return new FieldUtil('create_time','createTime','创建时间', new MsCoreMonitorLogCUImpl());
    }
    static get UPDATE_TIME(): FieldUtil<MsCoreMonitorLogCU>{ 
        return new FieldUtil('update_time','updateTime','更新时间', new MsCoreMonitorLogCUImpl());
    }

    get ID(): FieldUtil<MsCoreMonitorLogCU>{ 
        return MsCoreMonitorLogMU.ID;
    }
    get NAME(): FieldUtil<MsCoreMonitorLogCU>{ 
        return MsCoreMonitorLogMU.NAME;
    }
    get HEALTH_CHECK_URL(): FieldUtil<MsCoreMonitorLogCU>{ 
        return MsCoreMonitorLogMU.HEALTH_CHECK_URL;
    }
    get CREATE_USER_ID(): FieldUtil<MsCoreMonitorLogCU>{ 
        return MsCoreMonitorLogMU.CREATE_USER_ID;
    }
    get UPDATE_USER_ID(): FieldUtil<MsCoreMonitorLogCU>{ 
        return MsCoreMonitorLogMU.UPDATE_USER_ID;
    }
    get NEXT_CHECK_TIME(): FieldUtil<MsCoreMonitorLogCU>{ 
        return MsCoreMonitorLogMU.NEXT_CHECK_TIME;
    }
    get LAST_CHECK_RESULT(): FieldUtil<MsCoreMonitorLogCU>{ 
        return MsCoreMonitorLogMU.LAST_CHECK_RESULT;
    }
    get FAILURE_COUNT(): FieldUtil<MsCoreMonitorLogCU>{ 
        return MsCoreMonitorLogMU.FAILURE_COUNT;
    }
    get REDEPLOY_COUNT(): FieldUtil<MsCoreMonitorLogCU>{ 
        return MsCoreMonitorLogMU.REDEPLOY_COUNT;
    }
    get REDEPLOY_TIME(): FieldUtil<MsCoreMonitorLogCU>{ 
        return MsCoreMonitorLogMU.REDEPLOY_TIME;
    }
    get STATE(): FieldUtil<MsCoreMonitorLogCU>{ 
        return MsCoreMonitorLogMU.STATE;
    }
    get CREATE_TIME(): FieldUtil<MsCoreMonitorLogCU>{ 
        return MsCoreMonitorLogMU.CREATE_TIME;
    }
    get UPDATE_TIME(): FieldUtil<MsCoreMonitorLogCU>{ 
        return MsCoreMonitorLogMU.UPDATE_TIME;
    }
}
export {MsCoreMonitorLogMU, MsCoreMonitorLogCU}
