import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { PpMobileUserLog } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-10-08 15:27
 */
interface PpMobileUserLogCU extends ConditionUtil<PpMobileUserLogCU>{
    ID:FieldUtil<PpMobileUserLogCU>;
    USER_ID:FieldUtil<PpMobileUserLogCU>;
    PHONE:FieldUtil<PpMobileUserLogCU>;
    POINTS:FieldUtil<PpMobileUserLogCU>;
    POINT_TYPE:FieldUtil<PpMobileUserLogCU>;
    MOBILE_ORDER_ID:FieldUtil<PpMobileUserLogCU>;
    CY_ORDER_ID:FieldUtil<PpMobileUserLogCU>;
    PAY_STATE:FieldUtil<PpMobileUserLogCU>;
    IS_COUPON:FieldUtil<PpMobileUserLogCU>;
    CREATE_TIME:FieldUtil<PpMobileUserLogCU>;
}

class PpMobileUserLogCUImpl extends ConditionUtilImpl<PpMobileUserLogCUImpl> implements PpMobileUserLogCU{ 
    newInstance(): PpMobileUserLogCUImpl {
        return new PpMobileUserLogCUImpl();
    } 
    get ID(): FieldUtil<PpMobileUserLogCU>{  
        return new FieldUtil('ID','id','ID', this);
    }
    get USER_ID(): FieldUtil<PpMobileUserLogCU>{  
        return new FieldUtil('USER_ID','userId','用户ID', this);
    }
    get PHONE(): FieldUtil<PpMobileUserLogCU>{  
        return new FieldUtil('PHONE','phone','手机号', this);
    }
    get POINTS(): FieldUtil<PpMobileUserLogCU>{  
        return new FieldUtil('POINTS','points','抵扣积分', this);
    }
    get POINT_TYPE(): FieldUtil<PpMobileUserLogCU>{  
        return new FieldUtil('POINT_TYPE','pointType','积分类型：MOBILE 移动积分；CY 畅游积分', this);
    }
    get MOBILE_ORDER_ID(): FieldUtil<PpMobileUserLogCU>{  
        return new FieldUtil('MOBILE_ORDER_ID','mobileOrderId','移动积分兑换订单号', this);
    }
    get CY_ORDER_ID(): FieldUtil<PpMobileUserLogCU>{  
        return new FieldUtil('CY_ORDER_ID','cyOrderId','畅游积分订单号', this);
    }
    get PAY_STATE(): FieldUtil<PpMobileUserLogCU>{  
        return new FieldUtil('PAY_STATE','payState','积分抵扣订单支付状态：00 成功；10 超时； 01超时后成功；02 超时后失败', this);
    }
    get IS_COUPON(): FieldUtil<PpMobileUserLogCU>{  
        return new FieldUtil('IS_COUPON','isCoupon','是否发券：Y 发券成功；N 发券失败', this);
    }
    get CREATE_TIME(): FieldUtil<PpMobileUserLogCU>{  
        return new FieldUtil('CREATE_TIME','createTime','创建时间', this);
    }
}

@Singleton 
class PpMobileUserLogMU extends TableUtilImpl<PpMobileUserLogCU,PpMobileUserLog>{ 
    tableName  = 'pp_mobile_user_log';
    tableFields  = ['ID','USER_ID','PHONE','POINTS','POINT_TYPE','MOBILE_ORDER_ID','CY_ORDER_ID','PAY_STATE','IS_COUPON','CREATE_TIME'];
    modelFields  = ['id','userId','phone','points','pointType','mobileOrderId','cyOrderId','payState','isCoupon','createTime'];
    modelIdFields  = ['id'];
    tableIdFields  = ['ID'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): PpMobileUserLogCU {
        return new PpMobileUserLogCUImpl();
    }   

    static get ID(): FieldUtil<PpMobileUserLogCU>{ 
        return new FieldUtil('ID','id','ID', new PpMobileUserLogCUImpl());
    }
    static get USER_ID(): FieldUtil<PpMobileUserLogCU>{ 
        return new FieldUtil('USER_ID','userId','用户ID', new PpMobileUserLogCUImpl());
    }
    static get PHONE(): FieldUtil<PpMobileUserLogCU>{ 
        return new FieldUtil('PHONE','phone','手机号', new PpMobileUserLogCUImpl());
    }
    static get POINTS(): FieldUtil<PpMobileUserLogCU>{ 
        return new FieldUtil('POINTS','points','抵扣积分', new PpMobileUserLogCUImpl());
    }
    static get POINT_TYPE(): FieldUtil<PpMobileUserLogCU>{ 
        return new FieldUtil('POINT_TYPE','pointType','积分类型：MOBILE 移动积分；CY 畅游积分', new PpMobileUserLogCUImpl());
    }
    static get MOBILE_ORDER_ID(): FieldUtil<PpMobileUserLogCU>{ 
        return new FieldUtil('MOBILE_ORDER_ID','mobileOrderId','移动积分兑换订单号', new PpMobileUserLogCUImpl());
    }
    static get CY_ORDER_ID(): FieldUtil<PpMobileUserLogCU>{ 
        return new FieldUtil('CY_ORDER_ID','cyOrderId','畅游积分订单号', new PpMobileUserLogCUImpl());
    }
    static get PAY_STATE(): FieldUtil<PpMobileUserLogCU>{ 
        return new FieldUtil('PAY_STATE','payState','积分抵扣订单支付状态：00 成功；10 超时； 01超时后成功；02 超时后失败', new PpMobileUserLogCUImpl());
    }
    static get IS_COUPON(): FieldUtil<PpMobileUserLogCU>{ 
        return new FieldUtil('IS_COUPON','isCoupon','是否发券：Y 发券成功；N 发券失败', new PpMobileUserLogCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<PpMobileUserLogCU>{ 
        return new FieldUtil('CREATE_TIME','createTime','创建时间', new PpMobileUserLogCUImpl());
    }

    get ID(): FieldUtil<PpMobileUserLogCU>{ 
        return PpMobileUserLogMU.ID;
    }
    get USER_ID(): FieldUtil<PpMobileUserLogCU>{ 
        return PpMobileUserLogMU.USER_ID;
    }
    get PHONE(): FieldUtil<PpMobileUserLogCU>{ 
        return PpMobileUserLogMU.PHONE;
    }
    get POINTS(): FieldUtil<PpMobileUserLogCU>{ 
        return PpMobileUserLogMU.POINTS;
    }
    get POINT_TYPE(): FieldUtil<PpMobileUserLogCU>{ 
        return PpMobileUserLogMU.POINT_TYPE;
    }
    get MOBILE_ORDER_ID(): FieldUtil<PpMobileUserLogCU>{ 
        return PpMobileUserLogMU.MOBILE_ORDER_ID;
    }
    get CY_ORDER_ID(): FieldUtil<PpMobileUserLogCU>{ 
        return PpMobileUserLogMU.CY_ORDER_ID;
    }
    get PAY_STATE(): FieldUtil<PpMobileUserLogCU>{ 
        return PpMobileUserLogMU.PAY_STATE;
    }
    get IS_COUPON(): FieldUtil<PpMobileUserLogCU>{ 
        return PpMobileUserLogMU.IS_COUPON;
    }
    get CREATE_TIME(): FieldUtil<PpMobileUserLogCU>{ 
        return PpMobileUserLogMU.CREATE_TIME;
    }
}
export {PpMobileUserLogMU, PpMobileUserLogCU}
