import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { BusParkingLotQuickfunc } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-12-15 17:58
 */
interface BusParkingLotQuickfuncCU extends ConditionUtil<BusParkingLotQuickfuncCU>{
    ID:FieldUtil<BusParkingLotQuickfuncCU>;
    ORD:FieldUtil<BusParkingLotQuickfuncCU>;
    ICON:FieldUtil<BusParkingLotQuickfuncCU>;
    TITLE:FieldUtil<BusParkingLotQuickfuncCU>;
    URL:FieldUtil<BusParkingLotQuickfuncCU>;
    TYPE:FieldUtil<BusParkingLotQuickfuncCU>;
    CUSTOM:FieldUtil<BusParkingLotQuickfuncCU>;
    PID:FieldUtil<BusParkingLotQuickfuncCU>;
    ENTRY:FieldUtil<BusParkingLotQuickfuncCU>;
}

class BusParkingLotQuickfuncCUImpl extends ConditionUtilImpl<BusParkingLotQuickfuncCUImpl> implements BusParkingLotQuickfuncCU{ 
    newInstance(): BusParkingLotQuickfuncCUImpl {
        return new BusParkingLotQuickfuncCUImpl();
    } 
    get ID(): FieldUtil<BusParkingLotQuickfuncCU>{  
        return new FieldUtil('ID','id','', this);
    }
    get ORD(): FieldUtil<BusParkingLotQuickfuncCU>{  
        return new FieldUtil('ORD','ord','排序', this);
    }
    get ICON(): FieldUtil<BusParkingLotQuickfuncCU>{  
        return new FieldUtil('ICON','icon','', this);
    }
    get TITLE(): FieldUtil<BusParkingLotQuickfuncCU>{  
        return new FieldUtil('TITLE','title','', this);
    }
    get URL(): FieldUtil<BusParkingLotQuickfuncCU>{  
        return new FieldUtil('URL','url','', this);
    }
    get TYPE(): FieldUtil<BusParkingLotQuickfuncCU>{  
        return new FieldUtil('TYPE','type','类别：LOT 单车场；GROUP 分组', this);
    }
    get CUSTOM(): FieldUtil<BusParkingLotQuickfuncCU>{  
        return new FieldUtil('CUSTOM','custom','是否自定义功能：0 标准（不可修改）；1 自定义', this);
    }
    get PID(): FieldUtil<BusParkingLotQuickfuncCU>{  
        return new FieldUtil('PID','pid','自定义功能的单车场或分组ID', this);
    }
    get ENTRY(): FieldUtil<BusParkingLotQuickfuncCU>{  
        return new FieldUtil('ENTRY','entry','支持入口（00: 全部支持，01：公众号，02：小程序，03：支付宝生活号，04：H5）多个，隔开', this);
    }
}

@Singleton 
class BusParkingLotQuickfuncMU extends TableUtilImpl<BusParkingLotQuickfuncCU,BusParkingLotQuickfunc>{ 
    tableName  = 'bus_parking_lot_quickfunc';
    tableFields  = ['ID','ORD','ICON','TITLE','URL','TYPE','CUSTOM','PID','ENTRY'];
    modelFields  = ['id','ord','icon','title','url','type','custom','pid','entry'];
    modelIdFields  = ['id'];
    tableIdFields  = ['ID'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): BusParkingLotQuickfuncCU {
        return new BusParkingLotQuickfuncCUImpl();
    }   

    static get ID(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return new FieldUtil('ID','id','', new BusParkingLotQuickfuncCUImpl());
    }
    static get ORD(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return new FieldUtil('ORD','ord','排序', new BusParkingLotQuickfuncCUImpl());
    }
    static get ICON(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return new FieldUtil('ICON','icon','', new BusParkingLotQuickfuncCUImpl());
    }
    static get TITLE(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return new FieldUtil('TITLE','title','', new BusParkingLotQuickfuncCUImpl());
    }
    static get URL(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return new FieldUtil('URL','url','', new BusParkingLotQuickfuncCUImpl());
    }
    static get TYPE(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return new FieldUtil('TYPE','type','类别：LOT 单车场；GROUP 分组', new BusParkingLotQuickfuncCUImpl());
    }
    static get CUSTOM(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return new FieldUtil('CUSTOM','custom','是否自定义功能：0 标准（不可修改）；1 自定义', new BusParkingLotQuickfuncCUImpl());
    }
    static get PID(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return new FieldUtil('PID','pid','自定义功能的单车场或分组ID', new BusParkingLotQuickfuncCUImpl());
    }
    static get ENTRY(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return new FieldUtil('ENTRY','entry','支持入口（00: 全部支持，01：公众号，02：小程序，03：支付宝生活号，04：H5）多个，隔开', new BusParkingLotQuickfuncCUImpl());
    }

    get ID(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return BusParkingLotQuickfuncMU.ID;
    }
    get ORD(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return BusParkingLotQuickfuncMU.ORD;
    }
    get ICON(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return BusParkingLotQuickfuncMU.ICON;
    }
    get TITLE(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return BusParkingLotQuickfuncMU.TITLE;
    }
    get URL(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return BusParkingLotQuickfuncMU.URL;
    }
    get TYPE(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return BusParkingLotQuickfuncMU.TYPE;
    }
    get CUSTOM(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return BusParkingLotQuickfuncMU.CUSTOM;
    }
    get PID(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return BusParkingLotQuickfuncMU.PID;
    }
    get ENTRY(): FieldUtil<BusParkingLotQuickfuncCU>{ 
        return BusParkingLotQuickfuncMU.ENTRY;
    }
}
export {BusParkingLotQuickfuncMU, BusParkingLotQuickfuncCU}
