import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { BusParkingGroup } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-12-15 17:58
 */
interface BusParkingGroupCU extends ConditionUtil<BusParkingGroupCU>{
    ID:FieldUtil<BusParkingGroupCU>;
    GROUP_NAME:FieldUtil<BusParkingGroupCU>;
    GROUP_LOGO:FieldUtil<BusParkingGroupCU>;
    GROUP_TPL:FieldUtil<BusParkingGroupCU>;
    GROUP_APP_ID:FieldUtil<BusParkingGroupCU>;
    ORD_QUERY_BTM_HTML:FieldUtil<BusParkingGroupCU>;
    SHARE_QR_CODE_URL:FieldUtil<BusParkingGroupCU>;
    IS_SUB_MERCHANT:FieldUtil<BusParkingGroupCU>;
    REMARK:FieldUtil<BusParkingGroupCU>;
    CREATE_TIME:FieldUtil<BusParkingGroupCU>;
    UPDATE_TIME:FieldUtil<BusParkingGroupCU>;
}

class BusParkingGroupCUImpl extends ConditionUtilImpl<BusParkingGroupCUImpl> implements BusParkingGroupCU{ 
    newInstance(): BusParkingGroupCUImpl {
        return new BusParkingGroupCUImpl();
    } 
    get ID(): FieldUtil<BusParkingGroupCU>{  
        return new FieldUtil('ID','id','唯一标识', this);
    }
    get GROUP_NAME(): FieldUtil<BusParkingGroupCU>{  
        return new FieldUtil('GROUP_NAME','groupName','', this);
    }
    get GROUP_LOGO(): FieldUtil<BusParkingGroupCU>{  
        return new FieldUtil('GROUP_LOGO','groupLogo','', this);
    }
    get GROUP_TPL(): FieldUtil<BusParkingGroupCU>{  
        return new FieldUtil('GROUP_TPL','groupTpl','', this);
    }
    get GROUP_APP_ID(): FieldUtil<BusParkingGroupCU>{  
        return new FieldUtil('GROUP_APP_ID','groupAppId','', this);
    }
    get ORD_QUERY_BTM_HTML(): FieldUtil<BusParkingGroupCU>{  
        return new FieldUtil('ORD_QUERY_BTM_HTML','ordQueryBtmHtml','', this);
    }
    get SHARE_QR_CODE_URL(): FieldUtil<BusParkingGroupCU>{  
        return new FieldUtil('SHARE_QR_CODE_URL','shareQrCodeUrl','共用二维码地址', this);
    }
    get IS_SUB_MERCHANT(): FieldUtil<BusParkingGroupCU>{  
        return new FieldUtil('IS_SUB_MERCHANT','isSubMerchant','', this);
    }
    get REMARK(): FieldUtil<BusParkingGroupCU>{  
        return new FieldUtil('REMARK','remark','备注', this);
    }
    get CREATE_TIME(): FieldUtil<BusParkingGroupCU>{  
        return new FieldUtil('CREATE_TIME','createTime','创建时间', this);
    }
    get UPDATE_TIME(): FieldUtil<BusParkingGroupCU>{  
        return new FieldUtil('UPDATE_TIME','updateTime','更新时间', this);
    }
}

@Singleton 
class BusParkingGroupMU extends TableUtilImpl<BusParkingGroupCU,BusParkingGroup>{ 
    tableName  = 'bus_parking_group';
    tableFields  = ['ID','GROUP_NAME','GROUP_LOGO','GROUP_TPL','GROUP_APP_ID','ORD_QUERY_BTM_HTML','SHARE_QR_CODE_URL','IS_SUB_MERCHANT','REMARK','CREATE_TIME','UPDATE_TIME'];
    modelFields  = ['id','groupName','groupLogo','groupTpl','groupAppId','ordQueryBtmHtml','shareQrCodeUrl','isSubMerchant','remark','createTime','updateTime'];
    modelIdFields  = ['id'];
    tableIdFields  = ['ID'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): BusParkingGroupCU {
        return new BusParkingGroupCUImpl();
    }   

    static get ID(): FieldUtil<BusParkingGroupCU>{ 
        return new FieldUtil('ID','id','唯一标识', new BusParkingGroupCUImpl());
    }
    static get GROUP_NAME(): FieldUtil<BusParkingGroupCU>{ 
        return new FieldUtil('GROUP_NAME','groupName','', new BusParkingGroupCUImpl());
    }
    static get GROUP_LOGO(): FieldUtil<BusParkingGroupCU>{ 
        return new FieldUtil('GROUP_LOGO','groupLogo','', new BusParkingGroupCUImpl());
    }
    static get GROUP_TPL(): FieldUtil<BusParkingGroupCU>{ 
        return new FieldUtil('GROUP_TPL','groupTpl','', new BusParkingGroupCUImpl());
    }
    static get GROUP_APP_ID(): FieldUtil<BusParkingGroupCU>{ 
        return new FieldUtil('GROUP_APP_ID','groupAppId','', new BusParkingGroupCUImpl());
    }
    static get ORD_QUERY_BTM_HTML(): FieldUtil<BusParkingGroupCU>{ 
        return new FieldUtil('ORD_QUERY_BTM_HTML','ordQueryBtmHtml','', new BusParkingGroupCUImpl());
    }
    static get SHARE_QR_CODE_URL(): FieldUtil<BusParkingGroupCU>{ 
        return new FieldUtil('SHARE_QR_CODE_URL','shareQrCodeUrl','共用二维码地址', new BusParkingGroupCUImpl());
    }
    static get IS_SUB_MERCHANT(): FieldUtil<BusParkingGroupCU>{ 
        return new FieldUtil('IS_SUB_MERCHANT','isSubMerchant','', new BusParkingGroupCUImpl());
    }
    static get REMARK(): FieldUtil<BusParkingGroupCU>{ 
        return new FieldUtil('REMARK','remark','备注', new BusParkingGroupCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<BusParkingGroupCU>{ 
        return new FieldUtil('CREATE_TIME','createTime','创建时间', new BusParkingGroupCUImpl());
    }
    static get UPDATE_TIME(): FieldUtil<BusParkingGroupCU>{ 
        return new FieldUtil('UPDATE_TIME','updateTime','更新时间', new BusParkingGroupCUImpl());
    }

    get ID(): FieldUtil<BusParkingGroupCU>{ 
        return BusParkingGroupMU.ID;
    }
    get GROUP_NAME(): FieldUtil<BusParkingGroupCU>{ 
        return BusParkingGroupMU.GROUP_NAME;
    }
    get GROUP_LOGO(): FieldUtil<BusParkingGroupCU>{ 
        return BusParkingGroupMU.GROUP_LOGO;
    }
    get GROUP_TPL(): FieldUtil<BusParkingGroupCU>{ 
        return BusParkingGroupMU.GROUP_TPL;
    }
    get GROUP_APP_ID(): FieldUtil<BusParkingGroupCU>{ 
        return BusParkingGroupMU.GROUP_APP_ID;
    }
    get ORD_QUERY_BTM_HTML(): FieldUtil<BusParkingGroupCU>{ 
        return BusParkingGroupMU.ORD_QUERY_BTM_HTML;
    }
    get SHARE_QR_CODE_URL(): FieldUtil<BusParkingGroupCU>{ 
        return BusParkingGroupMU.SHARE_QR_CODE_URL;
    }
    get IS_SUB_MERCHANT(): FieldUtil<BusParkingGroupCU>{ 
        return BusParkingGroupMU.IS_SUB_MERCHANT;
    }
    get REMARK(): FieldUtil<BusParkingGroupCU>{ 
        return BusParkingGroupMU.REMARK;
    }
    get CREATE_TIME(): FieldUtil<BusParkingGroupCU>{ 
        return BusParkingGroupMU.CREATE_TIME;
    }
    get UPDATE_TIME(): FieldUtil<BusParkingGroupCU>{ 
        return BusParkingGroupMU.UPDATE_TIME;
    }
}
export {BusParkingGroupMU, BusParkingGroupCU}
