import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { RepetedPaymentAlarmLog } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-06-01 10:21
 */
interface RepetedPaymentAlarmLogCU extends ConditionUtil<RepetedPaymentAlarmLogCU>{
    LOT_ID:FieldUtil<RepetedPaymentAlarmLogCU>;
    CAR_PLATE_NUM:FieldUtil<RepetedPaymentAlarmLogCU>;
    TOTAL_FEE:FieldUtil<RepetedPaymentAlarmLogCU>;
    COME_TIME:FieldUtil<RepetedPaymentAlarmLogCU>;
    PAY_TIME:FieldUtil<RepetedPaymentAlarmLogCU>;
    REPETEND_COUNT:FieldUtil<RepetedPaymentAlarmLogCU>;
    REPETED_DATA:FieldUtil<RepetedPaymentAlarmLogCU>;
    CREATE_TIME:FieldUtil<RepetedPaymentAlarmLogCU>;
}

class RepetedPaymentAlarmLogCUImpl extends ConditionUtilImpl<RepetedPaymentAlarmLogCUImpl> implements RepetedPaymentAlarmLogCU{ 
    newInstance(): RepetedPaymentAlarmLogCUImpl {
        return new RepetedPaymentAlarmLogCUImpl();
    } 
    get LOT_ID(): FieldUtil<RepetedPaymentAlarmLogCU>{  
        return new FieldUtil('lot_id','lotId','车场id', this);
    }
    get CAR_PLATE_NUM(): FieldUtil<RepetedPaymentAlarmLogCU>{  
        return new FieldUtil('car_plate_num','carPlateNum','车牌号', this);
    }
    get TOTAL_FEE(): FieldUtil<RepetedPaymentAlarmLogCU>{  
        return new FieldUtil('total_fee','totalFee','付费金额', this);
    }
    get COME_TIME(): FieldUtil<RepetedPaymentAlarmLogCU>{  
        return new FieldUtil('come_time','comeTime','入场时间', this);
    }
    get PAY_TIME(): FieldUtil<RepetedPaymentAlarmLogCU>{  
        return new FieldUtil('pay_time','payTime','支付时间', this);
    }
    get REPETEND_COUNT(): FieldUtil<RepetedPaymentAlarmLogCU>{  
        return new FieldUtil('repetend_count','repetendCount','repetend_count', this);
    }
    get REPETED_DATA(): FieldUtil<RepetedPaymentAlarmLogCU>{  
        return new FieldUtil('repeted_data','repetedData','重复缴费数据', this);
    }
    get CREATE_TIME(): FieldUtil<RepetedPaymentAlarmLogCU>{  
        return new FieldUtil('create_time','createTime','创建时间', this);
    }
}

@Singleton 
class RepetedPaymentAlarmLogMU extends TableUtilImpl<RepetedPaymentAlarmLogCU,RepetedPaymentAlarmLog>{ 
    tableName  = 'repeted_payment_alarm_log';
    tableFields  = ['lot_id','car_plate_num','total_fee','come_time','pay_time','repetend_count','repeted_data','create_time'];
    modelFields  = ['lotId','carPlateNum','totalFee','comeTime','payTime','repetendCount','repetedData','createTime'];
    modelIdFields  = [''];
    tableIdFields  = [''];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): RepetedPaymentAlarmLogCU {
        return new RepetedPaymentAlarmLogCUImpl();
    }   

    static get LOT_ID(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return new FieldUtil('lot_id','lotId','车场id', new RepetedPaymentAlarmLogCUImpl());
    }
    static get CAR_PLATE_NUM(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return new FieldUtil('car_plate_num','carPlateNum','车牌号', new RepetedPaymentAlarmLogCUImpl());
    }
    static get TOTAL_FEE(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return new FieldUtil('total_fee','totalFee','付费金额', new RepetedPaymentAlarmLogCUImpl());
    }
    static get COME_TIME(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return new FieldUtil('come_time','comeTime','入场时间', new RepetedPaymentAlarmLogCUImpl());
    }
    static get PAY_TIME(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return new FieldUtil('pay_time','payTime','支付时间', new RepetedPaymentAlarmLogCUImpl());
    }
    static get REPETEND_COUNT(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return new FieldUtil('repetend_count','repetendCount','repetend_count', new RepetedPaymentAlarmLogCUImpl());
    }
    static get REPETED_DATA(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return new FieldUtil('repeted_data','repetedData','重复缴费数据', new RepetedPaymentAlarmLogCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return new FieldUtil('create_time','createTime','创建时间', new RepetedPaymentAlarmLogCUImpl());
    }

    get LOT_ID(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return RepetedPaymentAlarmLogMU.LOT_ID;
    }
    get CAR_PLATE_NUM(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return RepetedPaymentAlarmLogMU.CAR_PLATE_NUM;
    }
    get TOTAL_FEE(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return RepetedPaymentAlarmLogMU.TOTAL_FEE;
    }
    get COME_TIME(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return RepetedPaymentAlarmLogMU.COME_TIME;
    }
    get PAY_TIME(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return RepetedPaymentAlarmLogMU.PAY_TIME;
    }
    get REPETEND_COUNT(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return RepetedPaymentAlarmLogMU.REPETEND_COUNT;
    }
    get REPETED_DATA(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return RepetedPaymentAlarmLogMU.REPETED_DATA;
    }
    get CREATE_TIME(): FieldUtil<RepetedPaymentAlarmLogCU>{ 
        return RepetedPaymentAlarmLogMU.CREATE_TIME;
    }
}
export {RepetedPaymentAlarmLogMU, RepetedPaymentAlarmLogCU}
