import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { RechargeRecord } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2020-12-10 14:46
 */
interface RechargeRecordCU extends ConditionUtil<RechargeRecordCU>{
    RECORD_ID:FieldUtil<RechargeRecordCU>;
    COUPON_ID:FieldUtil<RechargeRecordCU>;
    LOT_ID:FieldUtil<RechargeRecordCU>;
    CREATE_DATE:FieldUtil<RechargeRecordCU>;
    COUPON_TYPE:FieldUtil<RechargeRecordCU>;
    TOTAL_MONEY:FieldUtil<RechargeRecordCU>;
    TOTAL_TIME:FieldUtil<RechargeRecordCU>;
    TOTAL_NUM:FieldUtil<RechargeRecordCU>;
    PAY_MONEY:FieldUtil<RechargeRecordCU>;
    PAY_STATUS:FieldUtil<RechargeRecordCU>;
    EI_TIME:FieldUtil<RechargeRecordCU>;
    EI_STATUS:FieldUtil<RechargeRecordCU>;
    EI_MSG:FieldUtil<RechargeRecordCU>;
    MER_ID:FieldUtil<RechargeRecordCU>;
    CREATE_USER:FieldUtil<RechargeRecordCU>;
    RECHARGE_METHOD:FieldUtil<RechargeRecordCU>;
    OUT_ORDER_NO:FieldUtil<RechargeRecordCU>;
    PAYMENT_TYPE:FieldUtil<RechargeRecordCU>;
    TRADE_ID:FieldUtil<RechargeRecordCU>;
    ERROR_DESC:FieldUtil<RechargeRecordCU>;
}

class RechargeRecordCUImpl extends ConditionUtilImpl<RechargeRecordCUImpl> implements RechargeRecordCU{ 
    newInstance(): RechargeRecordCUImpl {
        return new RechargeRecordCUImpl();
    } 
    get RECORD_ID(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('RECORD_ID','recordId','', this);
    }
    get COUPON_ID(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('COUPON_ID','couponId','优惠卷ID', this);
    }
    get LOT_ID(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('LOT_ID','lotId','车场ID', this);
    }
    get CREATE_DATE(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('CREATE_DATE','createDate','创建时间', this);
    }
    get COUPON_TYPE(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('COUPON_TYPE','couponType','抵扣卷类型 1.抵扣金额 2 抵扣时间', this);
    }
    get TOTAL_MONEY(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('TOTAL_MONEY','totalMoney','优惠券总金额', this);
    }
    get TOTAL_TIME(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('TOTAL_TIME','totalTime','优惠券总时长', this);
    }
    get TOTAL_NUM(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('TOTAL_NUM','totalNum','总张数', this);
    }
    get PAY_MONEY(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('PAY_MONEY','payMoney','支付金额', this);
    }
    get PAY_STATUS(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('PAY_STATUS','payStatus','支付状态 0 未支付 1已支付 2退款', this);
    }
    get EI_TIME(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('EI_TIME','eiTime','', this);
    }
    get EI_STATUS(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('EI_STATUS','eiStatus',''开票状态 0未开票，1开票中，2开票成功，3开票失败',', this);
    }
    get EI_MSG(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('EI_MSG','eiMsg','开票失败原因', this);
    }
    get MER_ID(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('MER_ID','merId','商户ID', this);
    }
    get CREATE_USER(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('CREATE_USER','createUser','创建人', this);
    }
    get RECHARGE_METHOD(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('RECHARGE_METHOD','rechargeMethod','充值方式 0后台手动清空、1、后台发放、2、自助充值、3、第三方充值、4.定期自动发放、5、定期自动', this);
    }
    get OUT_ORDER_NO(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('OUT_ORDER_NO','outOrderNo','统一支付外部交易号', this);
    }
    get PAYMENT_TYPE(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('PAYMENT_TYPE','paymentType','支付类型', this);
    }
    get TRADE_ID(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('TRADE_ID','tradeId','统一支付交易记录ID', this);
    }
    get ERROR_DESC(): FieldUtil<RechargeRecordCU>{  
        return new FieldUtil('ERROR_DESC','errorDesc','错误描述', this);
    }
}

@Singleton 
class RechargeRecordMU extends TableUtilImpl<RechargeRecordCU,RechargeRecord>{ 
    tableName  = 'co_recharge_record';
    tableFields  = ['RECORD_ID','COUPON_ID','LOT_ID','CREATE_DATE','COUPON_TYPE','TOTAL_MONEY','TOTAL_TIME','TOTAL_NUM','PAY_MONEY','PAY_STATUS','EI_TIME','EI_STATUS','EI_MSG','MER_ID','CREATE_USER','RECHARGE_METHOD','out_order_no','payment_type','trade_id','error_desc'];
    modelFields  = ['recordId','couponId','lotId','createDate','couponType','totalMoney','totalTime','totalNum','payMoney','payStatus','eiTime','eiStatus','eiMsg','merId','createUser','rechargeMethod','outOrderNo','paymentType','tradeId','errorDesc'];
    modelIdFields  = ['recordId'];
    tableIdFields  = ['RECORD_ID'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): RechargeRecordCU {
        return new RechargeRecordCUImpl();
    }   

    static get RECORD_ID(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('RECORD_ID','recordId','', new RechargeRecordCUImpl());
    }
    static get COUPON_ID(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('COUPON_ID','couponId','优惠卷ID', new RechargeRecordCUImpl());
    }
    static get LOT_ID(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('LOT_ID','lotId','车场ID', new RechargeRecordCUImpl());
    }
    static get CREATE_DATE(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('CREATE_DATE','createDate','创建时间', new RechargeRecordCUImpl());
    }
    static get COUPON_TYPE(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('COUPON_TYPE','couponType','抵扣卷类型 1.抵扣金额 2 抵扣时间', new RechargeRecordCUImpl());
    }
    static get TOTAL_MONEY(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('TOTAL_MONEY','totalMoney','优惠券总金额', new RechargeRecordCUImpl());
    }
    static get TOTAL_TIME(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('TOTAL_TIME','totalTime','优惠券总时长', new RechargeRecordCUImpl());
    }
    static get TOTAL_NUM(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('TOTAL_NUM','totalNum','总张数', new RechargeRecordCUImpl());
    }
    static get PAY_MONEY(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('PAY_MONEY','payMoney','支付金额', new RechargeRecordCUImpl());
    }
    static get PAY_STATUS(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('PAY_STATUS','payStatus','支付状态 0 未支付 1已支付 2退款', new RechargeRecordCUImpl());
    }
    static get EI_TIME(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('EI_TIME','eiTime','', new RechargeRecordCUImpl());
    }
    static get EI_STATUS(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('EI_STATUS','eiStatus',''开票状态 0未开票，1开票中，2开票成功，3开票失败',', new RechargeRecordCUImpl());
    }
    static get EI_MSG(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('EI_MSG','eiMsg','开票失败原因', new RechargeRecordCUImpl());
    }
    static get MER_ID(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('MER_ID','merId','商户ID', new RechargeRecordCUImpl());
    }
    static get CREATE_USER(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('CREATE_USER','createUser','创建人', new RechargeRecordCUImpl());
    }
    static get RECHARGE_METHOD(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('RECHARGE_METHOD','rechargeMethod','充值方式 0后台手动清空、1、后台发放、2、自助充值、3、第三方充值、4.定期自动发放、5、定期自动', new RechargeRecordCUImpl());
    }
    static get OUT_ORDER_NO(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('OUT_ORDER_NO','outOrderNo','统一支付外部交易号', new RechargeRecordCUImpl());
    }
    static get PAYMENT_TYPE(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('PAYMENT_TYPE','paymentType','支付类型', new RechargeRecordCUImpl());
    }
    static get TRADE_ID(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('TRADE_ID','tradeId','统一支付交易记录ID', new RechargeRecordCUImpl());
    }
    static get ERROR_DESC(): FieldUtil<RechargeRecordCU>{ 
        return new FieldUtil('ERROR_DESC','errorDesc','错误描述', new RechargeRecordCUImpl());
    }

    get RECORD_ID(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.RECORD_ID;
    }
    get COUPON_ID(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.COUPON_ID;
    }
    get LOT_ID(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.LOT_ID;
    }
    get CREATE_DATE(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.CREATE_DATE;
    }
    get COUPON_TYPE(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.COUPON_TYPE;
    }
    get TOTAL_MONEY(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.TOTAL_MONEY;
    }
    get TOTAL_TIME(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.TOTAL_TIME;
    }
    get TOTAL_NUM(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.TOTAL_NUM;
    }
    get PAY_MONEY(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.PAY_MONEY;
    }
    get PAY_STATUS(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.PAY_STATUS;
    }
    get EI_TIME(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.EI_TIME;
    }
    get EI_STATUS(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.EI_STATUS;
    }
    get EI_MSG(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.EI_MSG;
    }
    get MER_ID(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.MER_ID;
    }
    get CREATE_USER(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.CREATE_USER;
    }
    get RECHARGE_METHOD(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.RECHARGE_METHOD;
    }
    get OUT_ORDER_NO(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.OUT_ORDER_NO;
    }
    get PAYMENT_TYPE(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.PAYMENT_TYPE;
    }
    get TRADE_ID(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.TRADE_ID;
    }
    get ERROR_DESC(): FieldUtil<RechargeRecordCU>{ 
        return RechargeRecordMU.ERROR_DESC;
    }
}
export {RechargeRecordMU, RechargeRecordCU}
