import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { TerminalVersionUpgrade } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2020-10-16 11:27
 */
interface TerminalVersionUpgradeCU extends ConditionUtil<TerminalVersionUpgradeCU>{
    ID:FieldUtil<TerminalVersionUpgradeCU>;
    TERMINAL_TYPE:FieldUtil<TerminalVersionUpgradeCU>;
    VERSION_CODE:FieldUtil<TerminalVersionUpgradeCU>;
    FORCE_UPDATE:FieldUtil<TerminalVersionUpgradeCU>;
    VERSION_DESC:FieldUtil<TerminalVersionUpgradeCU>;
    REMARK:FieldUtil<TerminalVersionUpgradeCU>;
    CREATE_TIME:FieldUtil<TerminalVersionUpgradeCU>;
    UPDATE_TIME:FieldUtil<TerminalVersionUpgradeCU>;
    STATE:FieldUtil<TerminalVersionUpgradeCU>;
    UPDATE_URL:FieldUtil<TerminalVersionUpgradeCU>;
}

class TerminalVersionUpgradeCUImpl extends ConditionUtilImpl<TerminalVersionUpgradeCUImpl> implements TerminalVersionUpgradeCU{ 
    newInstance(): TerminalVersionUpgradeCUImpl {
        return new TerminalVersionUpgradeCUImpl();
    } 
    get ID(): FieldUtil<TerminalVersionUpgradeCU>{  
        return new FieldUtil('ID','id','主键', this);
    }
    get TERMINAL_TYPE(): FieldUtil<TerminalVersionUpgradeCU>{  
        return new FieldUtil('TERMINAL_TYPE','terminalType','终端类型：0-ios, 1-android', this);
    }
    get VERSION_CODE(): FieldUtil<TerminalVersionUpgradeCU>{  
        return new FieldUtil('VERSION_CODE','versionCode','版本代码', this);
    }
    get FORCE_UPDATE(): FieldUtil<TerminalVersionUpgradeCU>{  
        return new FieldUtil('FORCE_UPDATE','forceUpdate','是否强制更新: 0-不强制，1-强制', this);
    }
    get VERSION_DESC(): FieldUtil<TerminalVersionUpgradeCU>{  
        return new FieldUtil('VERSION_DESC','versionDesc','版本说明', this);
    }
    get REMARK(): FieldUtil<TerminalVersionUpgradeCU>{  
        return new FieldUtil('REMARK','remark','备注', this);
    }
    get CREATE_TIME(): FieldUtil<TerminalVersionUpgradeCU>{  
        return new FieldUtil('CREATE_TIME','createTime','创建时间', this);
    }
    get UPDATE_TIME(): FieldUtil<TerminalVersionUpgradeCU>{  
        return new FieldUtil('UPDATE_TIME','updateTime','修改时间', this);
    }
    get STATE(): FieldUtil<TerminalVersionUpgradeCU>{  
        return new FieldUtil('STATE','state','状态：0-正常，1-删除', this);
    }
    get UPDATE_URL(): FieldUtil<TerminalVersionUpgradeCU>{  
        return new FieldUtil('UPDATE_URL','updateUrl','升级地址', this);
    }
}

@Singleton 
class TerminalVersionUpgradeMU extends TableUtilImpl<TerminalVersionUpgradeCU,TerminalVersionUpgrade>{ 
    tableName  = 'terminal_version_upgrade';
    tableFields  = ['id','terminal_type','version_code','force_update','version_desc','remark','create_time','update_time','state','update_url'];
    modelFields  = ['id','terminalType','versionCode','forceUpdate','versionDesc','remark','createTime','updateTime','state','updateUrl'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): TerminalVersionUpgradeCU {
        return new TerminalVersionUpgradeCUImpl();
    }   

    static get ID(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return new FieldUtil('ID','id','主键', new TerminalVersionUpgradeCUImpl());
    }
    static get TERMINAL_TYPE(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return new FieldUtil('TERMINAL_TYPE','terminalType','终端类型：0-ios, 1-android', new TerminalVersionUpgradeCUImpl());
    }
    static get VERSION_CODE(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return new FieldUtil('VERSION_CODE','versionCode','版本代码', new TerminalVersionUpgradeCUImpl());
    }
    static get FORCE_UPDATE(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return new FieldUtil('FORCE_UPDATE','forceUpdate','是否强制更新: 0-不强制，1-强制', new TerminalVersionUpgradeCUImpl());
    }
    static get VERSION_DESC(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return new FieldUtil('VERSION_DESC','versionDesc','版本说明', new TerminalVersionUpgradeCUImpl());
    }
    static get REMARK(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return new FieldUtil('REMARK','remark','备注', new TerminalVersionUpgradeCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return new FieldUtil('CREATE_TIME','createTime','创建时间', new TerminalVersionUpgradeCUImpl());
    }
    static get UPDATE_TIME(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return new FieldUtil('UPDATE_TIME','updateTime','修改时间', new TerminalVersionUpgradeCUImpl());
    }
    static get STATE(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return new FieldUtil('STATE','state','状态：0-正常，1-删除', new TerminalVersionUpgradeCUImpl());
    }
    static get UPDATE_URL(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return new FieldUtil('UPDATE_URL','updateUrl','升级地址', new TerminalVersionUpgradeCUImpl());
    }

    get ID(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return TerminalVersionUpgradeMU.ID;
    }
    get TERMINAL_TYPE(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return TerminalVersionUpgradeMU.TERMINAL_TYPE;
    }
    get VERSION_CODE(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return TerminalVersionUpgradeMU.VERSION_CODE;
    }
    get FORCE_UPDATE(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return TerminalVersionUpgradeMU.FORCE_UPDATE;
    }
    get VERSION_DESC(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return TerminalVersionUpgradeMU.VERSION_DESC;
    }
    get REMARK(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return TerminalVersionUpgradeMU.REMARK;
    }
    get CREATE_TIME(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return TerminalVersionUpgradeMU.CREATE_TIME;
    }
    get UPDATE_TIME(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return TerminalVersionUpgradeMU.UPDATE_TIME;
    }
    get STATE(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return TerminalVersionUpgradeMU.STATE;
    }
    get UPDATE_URL(): FieldUtil<TerminalVersionUpgradeCU>{ 
        return TerminalVersionUpgradeMU.UPDATE_URL;
    }
}
export {TerminalVersionUpgradeMU, TerminalVersionUpgradeCU}
