import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { TAppUserModel } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-03-25 14:23
 */
interface TAppUserModelCU extends ConditionUtil<TAppUserModelCU>{
    ID:FieldUtil<TAppUserModelCU>;
    APPCODE:FieldUtil<TAppUserModelCU>;
    APPNAME:FieldUtil<TAppUserModelCU>;
    APPKEY:FieldUtil<TAppUserModelCU>;
    APPLOTIDS:FieldUtil<TAppUserModelCU>;
    ISFILT:FieldUtil<TAppUserModelCU>;
    STATE:FieldUtil<TAppUserModelCU>;
}

class TAppUserModelCUImpl extends ConditionUtilImpl<TAppUserModelCUImpl> implements TAppUserModelCU{ 
    newInstance(): TAppUserModelCUImpl {
        return new TAppUserModelCUImpl();
    } 
    get ID(): FieldUtil<TAppUserModelCU>{  
        return new FieldUtil('ID','id','', this);
    }
    get APPCODE(): FieldUtil<TAppUserModelCU>{  
        return new FieldUtil('APPCODE','appcode','app编码', this);
    }
    get APPNAME(): FieldUtil<TAppUserModelCU>{  
        return new FieldUtil('APPNAME','appname','app名称', this);
    }
    get APPKEY(): FieldUtil<TAppUserModelCU>{  
        return new FieldUtil('APPKEY','appkey','APP密钥', this);
    }
    get APPLOTIDS(): FieldUtil<TAppUserModelCU>{  
        return new FieldUtil('APPLOTIDS','applotids','app的查询车场id权限，车场ID以“,”分割；0：表示全部车场', this);
    }
    get ISFILT(): FieldUtil<TAppUserModelCU>{  
        return new FieldUtil('ISFILT','isfilt','', this);
    }
    get STATE(): FieldUtil<TAppUserModelCU>{  
        return new FieldUtil('STATE','state','0:未审核 1：启用 2:禁用 3：删除', this);
    }
}

@Singleton 
class TAppUserModelMU extends TableUtilImpl<TAppUserModelCU,TAppUserModel>{ 
    tableName  = 't_appuser';
    tableFields  = ['id','appCode','appName','appKey','appLotIds','isFilt','state'];
    modelFields  = ['id','appcode','appname','appkey','applotids','isfilt','state'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): TAppUserModelCU {
        return new TAppUserModelCUImpl();
    }   

    static get ID(): FieldUtil<TAppUserModelCU>{ 
        return new FieldUtil('ID','id','', new TAppUserModelCUImpl());
    }
    static get APPCODE(): FieldUtil<TAppUserModelCU>{ 
        return new FieldUtil('APPCODE','appcode','app编码', new TAppUserModelCUImpl());
    }
    static get APPNAME(): FieldUtil<TAppUserModelCU>{ 
        return new FieldUtil('APPNAME','appname','app名称', new TAppUserModelCUImpl());
    }
    static get APPKEY(): FieldUtil<TAppUserModelCU>{ 
        return new FieldUtil('APPKEY','appkey','APP密钥', new TAppUserModelCUImpl());
    }
    static get APPLOTIDS(): FieldUtil<TAppUserModelCU>{ 
        return new FieldUtil('APPLOTIDS','applotids','app的查询车场id权限，车场ID以“,”分割；0：表示全部车场', new TAppUserModelCUImpl());
    }
    static get ISFILT(): FieldUtil<TAppUserModelCU>{ 
        return new FieldUtil('ISFILT','isfilt','', new TAppUserModelCUImpl());
    }
    static get STATE(): FieldUtil<TAppUserModelCU>{ 
        return new FieldUtil('STATE','state','0:未审核 1：启用 2:禁用 3：删除', new TAppUserModelCUImpl());
    }

    get ID(): FieldUtil<TAppUserModelCU>{ 
        return TAppUserModelMU.ID;
    }
    get APPCODE(): FieldUtil<TAppUserModelCU>{ 
        return TAppUserModelMU.APPCODE;
    }
    get APPNAME(): FieldUtil<TAppUserModelCU>{ 
        return TAppUserModelMU.APPNAME;
    }
    get APPKEY(): FieldUtil<TAppUserModelCU>{ 
        return TAppUserModelMU.APPKEY;
    }
    get APPLOTIDS(): FieldUtil<TAppUserModelCU>{ 
        return TAppUserModelMU.APPLOTIDS;
    }
    get ISFILT(): FieldUtil<TAppUserModelCU>{ 
        return TAppUserModelMU.ISFILT;
    }
    get STATE(): FieldUtil<TAppUserModelCU>{ 
        return TAppUserModelMU.STATE;
    }
}
export {TAppUserModelMU, TAppUserModelCU}
