import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { BusWxUser } from '../models/index' 
/**
 * @author auto generate
 * @version 1.1
 * @date 2020-12-11 13:21
 */
interface BusWxUserCU extends ConditionUtil<BusWxUserCU>{
    USER_ID:FieldUtil<BusWxUserCU>;
    M_PP_USER_ID:FieldUtil<BusWxUserCU>;
    USER_CAETGORY:FieldUtil<BusWxUserCU>;
    APP_ID:FieldUtil<BusWxUserCU>;
    OPEN_ID:FieldUtil<BusWxUserCU>;
    UNION_ID:FieldUtil<BusWxUserCU>;
    NICKNAME:FieldUtil<BusWxUserCU>;
    HEADER_IMG:FieldUtil<BusWxUserCU>;
    NAME:FieldUtil<BusWxUserCU>;
    SEX:FieldUtil<BusWxUserCU>;
    BIRTHDATE:FieldUtil<BusWxUserCU>;
    PROV_ID:FieldUtil<BusWxUserCU>;
    CITY_ID:FieldUtil<BusWxUserCU>;
    SUBSCRIBE_STATUS:FieldUtil<BusWxUserCU>;
    COMMON_LPN:FieldUtil<BusWxUserCU>;
    COMMON_LPN_SUFFIX:FieldUtil<BusWxUserCU>;
    IS_VIP_USER:FieldUtil<BusWxUserCU>;
    IS_PP_USER:FieldUtil<BusWxUserCU>;
    IS_ENTRUST:FieldUtil<BusWxUserCU>;
    IS_BLACK_LIST_USER:FieldUtil<BusWxUserCU>;
    DISTRICT_ID:FieldUtil<BusWxUserCU>;
    CREATE_TIME:FieldUtil<BusWxUserCU>;
    UPDATE_TIME:FieldUtil<BusWxUserCU>;
}

class BusWxUserCUImpl extends ConditionUtilImpl<BusWxUserCUImpl> implements BusWxUserCU{ 
    newInstance(): BusWxUserCUImpl {
        return new BusWxUserCUImpl();
    } 
    get USER_ID(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('USER_ID','userId','', this);
    }
    get M_PP_USER_ID(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('M_PP_USER_ID','mPpUserId','', this);
    }
    get USER_CAETGORY(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('USER_CAETGORY','userCaetgory','WX/HW/APP', this);
    }
    get APP_ID(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('APP_ID','appId','', this);
    }
    get OPEN_ID(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('OPEN_ID','openId','', this);
    }
    get UNION_ID(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('UNION_ID','unionId','', this);
    }
    get NICKNAME(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('NICKNAME','nickname','', this);
    }
    get HEADER_IMG(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('HEADER_IMG','headerImg','', this);
    }
    get NAME(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('NAME','name','名称', this);
    }
    get SEX(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('SEX','sex','1:男,0:女', this);
    }
    get BIRTHDATE(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('BIRTHDATE','birthdate','', this);
    }
    get PROV_ID(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('PROV_ID','provId','', this);
    }
    get CITY_ID(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('CITY_ID','cityId','', this);
    }
    get SUBSCRIBE_STATUS(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('SUBSCRIBE_STATUS','subscribeStatus','', this);
    }
    get COMMON_LPN(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('COMMON_LPN','commonLpn','', this);
    }
    get COMMON_LPN_SUFFIX(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('COMMON_LPN_SUFFIX','commonLpnSuffix','', this);
    }
    get IS_VIP_USER(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('IS_VIP_USER','isVipUser','', this);
    }
    get IS_PP_USER(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('IS_PP_USER','isPpUser','', this);
    }
    get IS_ENTRUST(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('IS_ENTRUST','isEntrust','', this);
    }
    get IS_BLACK_LIST_USER(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('IS_BLACK_LIST_USER','isBlackListUser','是否黑名单用户，1:是，0:否', this);
    }
    get DISTRICT_ID(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('DISTRICT_ID','districtId','', this);
    }
    get CREATE_TIME(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('CREATE_TIME','createTime','创建时间', this);
    }
    get UPDATE_TIME(): FieldUtil<BusWxUserCU>{  
        return new FieldUtil('UPDATE_TIME','updateTime','更新时间', this);
    }
}

@Singleton 
class BusWxUserMU extends TableUtilImpl<BusWxUserCU,BusWxUser>{ 
    tableName  = 'bus_wx_user';
    tableFields  = ['USER_ID','M_PP_USER_ID','USER_CAETGORY','APP_ID','OPEN_ID','UNION_ID','NICKNAME','HEADER_IMG','NAME','SEX','BIRTHDATE','PROV_ID','CITY_ID','SUBSCRIBE_STATUS','COMMON_LPN','COMMON_LPN_SUFFIX','IS_VIP_USER','IS_PP_USER','IS_ENTRUST','IS_BLACK_LIST_USER','DISTRICT_ID','CREATE_TIME','UPDATE_TIME'];
    modelFields  = ['userId','mPpUserId','userCaetgory','appId','openId','unionId','nickname','headerImg','name','sex','birthdate','provId','cityId','subscribeStatus','commonLpn','commonLpnSuffix','isVipUser','isPpUser','isEntrust','isBlackListUser','districtId','createTime','updateTime'];
    modelIdFields  = ['userId'];
    tableIdFields  = ['USER_ID'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): BusWxUserCU {
        return new BusWxUserCUImpl();
    }   

    static get USER_ID(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('USER_ID','userId','', new BusWxUserCUImpl());
    }
    static get M_PP_USER_ID(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('M_PP_USER_ID','mPpUserId','', new BusWxUserCUImpl());
    }
    static get USER_CAETGORY(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('USER_CAETGORY','userCaetgory','WX/HW/APP', new BusWxUserCUImpl());
    }
    static get APP_ID(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('APP_ID','appId','', new BusWxUserCUImpl());
    }
    static get OPEN_ID(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('OPEN_ID','openId','', new BusWxUserCUImpl());
    }
    static get UNION_ID(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('UNION_ID','unionId','', new BusWxUserCUImpl());
    }
    static get NICKNAME(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('NICKNAME','nickname','', new BusWxUserCUImpl());
    }
    static get HEADER_IMG(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('HEADER_IMG','headerImg','', new BusWxUserCUImpl());
    }
    static get NAME(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('NAME','name','名称', new BusWxUserCUImpl());
    }
    static get SEX(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('SEX','sex','1:男,0:女', new BusWxUserCUImpl());
    }
    static get BIRTHDATE(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('BIRTHDATE','birthdate','', new BusWxUserCUImpl());
    }
    static get PROV_ID(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('PROV_ID','provId','', new BusWxUserCUImpl());
    }
    static get CITY_ID(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('CITY_ID','cityId','', new BusWxUserCUImpl());
    }
    static get SUBSCRIBE_STATUS(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('SUBSCRIBE_STATUS','subscribeStatus','', new BusWxUserCUImpl());
    }
    static get COMMON_LPN(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('COMMON_LPN','commonLpn','', new BusWxUserCUImpl());
    }
    static get COMMON_LPN_SUFFIX(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('COMMON_LPN_SUFFIX','commonLpnSuffix','', new BusWxUserCUImpl());
    }
    static get IS_VIP_USER(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('IS_VIP_USER','isVipUser','', new BusWxUserCUImpl());
    }
    static get IS_PP_USER(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('IS_PP_USER','isPpUser','', new BusWxUserCUImpl());
    }
    static get IS_ENTRUST(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('IS_ENTRUST','isEntrust','', new BusWxUserCUImpl());
    }
    static get IS_BLACK_LIST_USER(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('IS_BLACK_LIST_USER','isBlackListUser','是否黑名单用户，1:是，0:否', new BusWxUserCUImpl());
    }
    static get DISTRICT_ID(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('DISTRICT_ID','districtId','', new BusWxUserCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('CREATE_TIME','createTime','创建时间', new BusWxUserCUImpl());
    }
    static get UPDATE_TIME(): FieldUtil<BusWxUserCU>{ 
        return new FieldUtil('UPDATE_TIME','updateTime','更新时间', new BusWxUserCUImpl());
    }

    get USER_ID(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.USER_ID;
    }
    get M_PP_USER_ID(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.M_PP_USER_ID;
    }
    get USER_CAETGORY(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.USER_CAETGORY;
    }
    get APP_ID(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.APP_ID;
    }
    get OPEN_ID(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.OPEN_ID;
    }
    get UNION_ID(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.UNION_ID;
    }
    get NICKNAME(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.NICKNAME;
    }
    get HEADER_IMG(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.HEADER_IMG;
    }
    get NAME(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.NAME;
    }
    get SEX(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.SEX;
    }
    get BIRTHDATE(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.BIRTHDATE;
    }
    get PROV_ID(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.PROV_ID;
    }
    get CITY_ID(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.CITY_ID;
    }
    get SUBSCRIBE_STATUS(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.SUBSCRIBE_STATUS;
    }
    get COMMON_LPN(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.COMMON_LPN;
    }
    get COMMON_LPN_SUFFIX(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.COMMON_LPN_SUFFIX;
    }
    get IS_VIP_USER(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.IS_VIP_USER;
    }
    get IS_PP_USER(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.IS_PP_USER;
    }
    get IS_ENTRUST(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.IS_ENTRUST;
    }
    get IS_BLACK_LIST_USER(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.IS_BLACK_LIST_USER;
    }
    get DISTRICT_ID(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.DISTRICT_ID;
    }
    get CREATE_TIME(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.CREATE_TIME;
    }
    get UPDATE_TIME(): FieldUtil<BusWxUserCU>{ 
        return BusWxUserMU.UPDATE_TIME;
    }
}
export {BusWxUserMU, BusWxUserCU}
