import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { AdDeliveryCityLotTemplate } from '../models/index' 
/**
 * @author auto generate
 * @version 1.1
 * @date 2021-06-04 11:08
 */
interface AdDeliveryCityLotTemplateCU extends ConditionUtil<AdDeliveryCityLotTemplateCU>{
    ID:FieldUtil<AdDeliveryCityLotTemplateCU>;
    NAME:FieldUtil<AdDeliveryCityLotTemplateCU>;
    TYPE:FieldUtil<AdDeliveryCityLotTemplateCU>;
    CONTENT:FieldUtil<AdDeliveryCityLotTemplateCU>;
    DEL_FLAG:FieldUtil<AdDeliveryCityLotTemplateCU>;
    CREATE_TIME:FieldUtil<AdDeliveryCityLotTemplateCU>;
    CREATOR:FieldUtil<AdDeliveryCityLotTemplateCU>;
    UPDATE_TIME:FieldUtil<AdDeliveryCityLotTemplateCU>;
    UPDATOR:FieldUtil<AdDeliveryCityLotTemplateCU>;
}

class AdDeliveryCityLotTemplateCUImpl extends ConditionUtilImpl<AdDeliveryCityLotTemplateCUImpl> implements AdDeliveryCityLotTemplateCU{ 
    newInstance(): AdDeliveryCityLotTemplateCUImpl {
        return new AdDeliveryCityLotTemplateCUImpl();
    } 
    get ID(): FieldUtil<AdDeliveryCityLotTemplateCU>{  
        return new FieldUtil('id','id','', this);
    }
    get NAME(): FieldUtil<AdDeliveryCityLotTemplateCU>{  
        return new FieldUtil('name','name','模板名称', this);
    }
    get TYPE(): FieldUtil<AdDeliveryCityLotTemplateCU>{  
        return new FieldUtil('type','type','模板类型：0，无车场；1，有车场', this);
    }
    get CONTENT(): FieldUtil<AdDeliveryCityLotTemplateCU>{  
        return new FieldUtil('content','content','模板内容', this);
    }
    get DEL_FLAG(): FieldUtil<AdDeliveryCityLotTemplateCU>{  
        return new FieldUtil('del_flag','delFlag','是否删除', this);
    }
    get CREATE_TIME(): FieldUtil<AdDeliveryCityLotTemplateCU>{  
        return new FieldUtil('create_time','createTime','创建时间', this);
    }
    get CREATOR(): FieldUtil<AdDeliveryCityLotTemplateCU>{  
        return new FieldUtil('creator','creator','创建人', this);
    }
    get UPDATE_TIME(): FieldUtil<AdDeliveryCityLotTemplateCU>{  
        return new FieldUtil('update_time','updateTime','更新时间', this);
    }
    get UPDATOR(): FieldUtil<AdDeliveryCityLotTemplateCU>{  
        return new FieldUtil('updator','updator','创建人', this);
    }
}

@Singleton 
class AdDeliveryCityLotTemplateMU extends TableUtilImpl<AdDeliveryCityLotTemplateCU,AdDeliveryCityLotTemplate>{ 
    tableName  = 'ad_delivery_city_lot_template';
    tableFields  = ['id','name','type','content','del_flag','create_time','creator','update_time','updator'];
    modelFields  = ['id','name','type','content','delFlag','createTime','creator','updateTime','updator'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): AdDeliveryCityLotTemplateCU {
        return new AdDeliveryCityLotTemplateCUImpl();
    }   

    static get ID(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return new FieldUtil('id','id','', new AdDeliveryCityLotTemplateCUImpl());
    }
    static get NAME(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return new FieldUtil('name','name','模板名称', new AdDeliveryCityLotTemplateCUImpl());
    }
    static get TYPE(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return new FieldUtil('type','type','模板类型：0，无车场；1，有车场', new AdDeliveryCityLotTemplateCUImpl());
    }
    static get CONTENT(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return new FieldUtil('content','content','模板内容', new AdDeliveryCityLotTemplateCUImpl());
    }
    static get DEL_FLAG(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return new FieldUtil('del_flag','delFlag','是否删除', new AdDeliveryCityLotTemplateCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return new FieldUtil('create_time','createTime','创建时间', new AdDeliveryCityLotTemplateCUImpl());
    }
    static get CREATOR(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return new FieldUtil('creator','creator','创建人', new AdDeliveryCityLotTemplateCUImpl());
    }
    static get UPDATE_TIME(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return new FieldUtil('update_time','updateTime','更新时间', new AdDeliveryCityLotTemplateCUImpl());
    }
    static get UPDATOR(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return new FieldUtil('updator','updator','创建人', new AdDeliveryCityLotTemplateCUImpl());
    }

    get ID(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return AdDeliveryCityLotTemplateMU.ID;
    }
    get NAME(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return AdDeliveryCityLotTemplateMU.NAME;
    }
    get TYPE(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return AdDeliveryCityLotTemplateMU.TYPE;
    }
    get CONTENT(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return AdDeliveryCityLotTemplateMU.CONTENT;
    }
    get DEL_FLAG(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return AdDeliveryCityLotTemplateMU.DEL_FLAG;
    }
    get CREATE_TIME(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return AdDeliveryCityLotTemplateMU.CREATE_TIME;
    }
    get CREATOR(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return AdDeliveryCityLotTemplateMU.CREATOR;
    }
    get UPDATE_TIME(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return AdDeliveryCityLotTemplateMU.UPDATE_TIME;
    }
    get UPDATOR(): FieldUtil<AdDeliveryCityLotTemplateCU>{ 
        return AdDeliveryCityLotTemplateMU.UPDATOR;
    }
}
export {AdDeliveryCityLotTemplateMU, AdDeliveryCityLotTemplateCU}
