import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { LonghuVipPhonePush } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-05-28 13:28
 */
interface LonghuVipPhonePushCU extends ConditionUtil<LonghuVipPhonePushCU>{
    USER_ID:FieldUtil<LonghuVipPhonePushCU>;
    PHONE:FieldUtil<LonghuVipPhonePushCU>;
    CITY:FieldUtil<LonghuVipPhonePushCU>;
    PAY_COUNT:FieldUtil<LonghuVipPhonePushCU>;
    PLAN_TIME:FieldUtil<LonghuVipPhonePushCU>;
    IS_PUSH:FieldUtil<LonghuVipPhonePushCU>;
    PUSH_TIME:FieldUtil<LonghuVipPhonePushCU>;
    IS_SUCCESS:FieldUtil<LonghuVipPhonePushCU>;
}

class LonghuVipPhonePushCUImpl extends ConditionUtilImpl<LonghuVipPhonePushCUImpl> implements LonghuVipPhonePushCU{ 
    newInstance(): LonghuVipPhonePushCUImpl {
        return new LonghuVipPhonePushCUImpl();
    } 
    get USER_ID(): FieldUtil<LonghuVipPhonePushCU>{  
        return new FieldUtil('USER_ID','userId','用户ID', this);
    }
    get PHONE(): FieldUtil<LonghuVipPhonePushCU>{  
        return new FieldUtil('PHONE','phone','手机号', this);
    }
    get CITY(): FieldUtil<LonghuVipPhonePushCU>{  
        return new FieldUtil('CITY','city','NANJING(南京), CHANGZHOU(常州), HEFEI(合肥)', this);
    }
    get PAY_COUNT(): FieldUtil<LonghuVipPhonePushCU>{  
        return new FieldUtil('PAY_COUNT','payCount','在速停车支付累计次数', this);
    }
    get PLAN_TIME(): FieldUtil<LonghuVipPhonePushCU>{  
        return new FieldUtil('PLAN_TIME','planTime','计划推送日期', this);
    }
    get IS_PUSH(): FieldUtil<LonghuVipPhonePushCU>{  
        return new FieldUtil('IS_PUSH','isPush','是否已推送  1:是 0:否', this);
    }
    get PUSH_TIME(): FieldUtil<LonghuVipPhonePushCU>{  
        return new FieldUtil('PUSH_TIME','pushTime','实际推送时间', this);
    }
    get IS_SUCCESS(): FieldUtil<LonghuVipPhonePushCU>{  
        return new FieldUtil('IS_SUCCESS','isSuccess','是否推送成功  1:是（成功推送新用户注册会员）0:否（老用户或注册失败）', this);
    }
}

@Singleton 
class LonghuVipPhonePushMU extends TableUtilImpl<LonghuVipPhonePushCU,LonghuVipPhonePush>{ 
    tableName  = 'longhu_vip_phone_push';
    tableFields  = ['USER_ID','PHONE','CITY','PAY_COUNT','PLAN_TIME','IS_PUSH','PUSH_TIME','IS_SUCCESS'];
    modelFields  = ['userId','phone','city','payCount','planTime','isPush','pushTime','isSuccess'];
    modelIdFields  = ['userId'];
    tableIdFields  = ['USER_ID'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): LonghuVipPhonePushCU {
        return new LonghuVipPhonePushCUImpl();
    }   

    static get USER_ID(): FieldUtil<LonghuVipPhonePushCU>{ 
        return new FieldUtil('USER_ID','userId','用户ID', new LonghuVipPhonePushCUImpl());
    }
    static get PHONE(): FieldUtil<LonghuVipPhonePushCU>{ 
        return new FieldUtil('PHONE','phone','手机号', new LonghuVipPhonePushCUImpl());
    }
    static get CITY(): FieldUtil<LonghuVipPhonePushCU>{ 
        return new FieldUtil('CITY','city','NANJING(南京), CHANGZHOU(常州), HEFEI(合肥)', new LonghuVipPhonePushCUImpl());
    }
    static get PAY_COUNT(): FieldUtil<LonghuVipPhonePushCU>{ 
        return new FieldUtil('PAY_COUNT','payCount','在速停车支付累计次数', new LonghuVipPhonePushCUImpl());
    }
    static get PLAN_TIME(): FieldUtil<LonghuVipPhonePushCU>{ 
        return new FieldUtil('PLAN_TIME','planTime','计划推送日期', new LonghuVipPhonePushCUImpl());
    }
    static get IS_PUSH(): FieldUtil<LonghuVipPhonePushCU>{ 
        return new FieldUtil('IS_PUSH','isPush','是否已推送  1:是 0:否', new LonghuVipPhonePushCUImpl());
    }
    static get PUSH_TIME(): FieldUtil<LonghuVipPhonePushCU>{ 
        return new FieldUtil('PUSH_TIME','pushTime','实际推送时间', new LonghuVipPhonePushCUImpl());
    }
    static get IS_SUCCESS(): FieldUtil<LonghuVipPhonePushCU>{ 
        return new FieldUtil('IS_SUCCESS','isSuccess','是否推送成功  1:是（成功推送新用户注册会员）0:否（老用户或注册失败）', new LonghuVipPhonePushCUImpl());
    }

    get USER_ID(): FieldUtil<LonghuVipPhonePushCU>{ 
        return LonghuVipPhonePushMU.USER_ID;
    }
    get PHONE(): FieldUtil<LonghuVipPhonePushCU>{ 
        return LonghuVipPhonePushMU.PHONE;
    }
    get CITY(): FieldUtil<LonghuVipPhonePushCU>{ 
        return LonghuVipPhonePushMU.CITY;
    }
    get PAY_COUNT(): FieldUtil<LonghuVipPhonePushCU>{ 
        return LonghuVipPhonePushMU.PAY_COUNT;
    }
    get PLAN_TIME(): FieldUtil<LonghuVipPhonePushCU>{ 
        return LonghuVipPhonePushMU.PLAN_TIME;
    }
    get IS_PUSH(): FieldUtil<LonghuVipPhonePushCU>{ 
        return LonghuVipPhonePushMU.IS_PUSH;
    }
    get PUSH_TIME(): FieldUtil<LonghuVipPhonePushCU>{ 
        return LonghuVipPhonePushMU.PUSH_TIME;
    }
    get IS_SUCCESS(): FieldUtil<LonghuVipPhonePushCU>{ 
        return LonghuVipPhonePushMU.IS_SUCCESS;
    }
}
export {LonghuVipPhonePushMU, LonghuVipPhonePushCU}
