import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { CrSendWxMsgRecordLog } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-05-16 17:02
 */
interface CrSendWxMsgRecordLogCU extends ConditionUtil<CrSendWxMsgRecordLogCU>{
    UUID:FieldUtil<CrSendWxMsgRecordLogCU>;
    CSWMR_ID:FieldUtil<CrSendWxMsgRecordLogCU>;
    SEND_RESULT:FieldUtil<CrSendWxMsgRecordLogCU>;
    SEND_TIME:FieldUtil<CrSendWxMsgRecordLogCU>;
    SEND_ERROR_DESC:FieldUtil<CrSendWxMsgRecordLogCU>;
    CREATE_TIME:FieldUtil<CrSendWxMsgRecordLogCU>;
}

class CrSendWxMsgRecordLogCUImpl extends ConditionUtilImpl<CrSendWxMsgRecordLogCUImpl> implements CrSendWxMsgRecordLogCU{ 
    newInstance(): CrSendWxMsgRecordLogCUImpl {
        return new CrSendWxMsgRecordLogCUImpl();
    } 
    get UUID(): FieldUtil<CrSendWxMsgRecordLogCU>{  
        return new FieldUtil('uuid','uuid','', this);
    }
    get CSWMR_ID(): FieldUtil<CrSendWxMsgRecordLogCU>{  
        return new FieldUtil('cswmr_id','cswmrId','', this);
    }
    get SEND_RESULT(): FieldUtil<CrSendWxMsgRecordLogCU>{  
        return new FieldUtil('send_result','sendResult','', this);
    }
    get SEND_TIME(): FieldUtil<CrSendWxMsgRecordLogCU>{  
        return new FieldUtil('send_time','sendTime','', this);
    }
    get SEND_ERROR_DESC(): FieldUtil<CrSendWxMsgRecordLogCU>{  
        return new FieldUtil('send_error_desc','sendErrorDesc','', this);
    }
    get CREATE_TIME(): FieldUtil<CrSendWxMsgRecordLogCU>{  
        return new FieldUtil('create_time','createTime','', this);
    }
}

@Singleton 
class CrSendWxMsgRecordLogMU extends TableUtilImpl<CrSendWxMsgRecordLogCU,CrSendWxMsgRecordLog>{ 
    tableName  = 'cr_send_wx_msg_record_log';
    tableFields  = ['uuid','cswmr_id','send_result','send_time','send_error_desc','create_time'];
    modelFields  = ['uuid','cswmrId','sendResult','sendTime','sendErrorDesc','createTime'];
    modelIdFields  = ['uuid'];
    tableIdFields  = ['uuid'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): CrSendWxMsgRecordLogCU {
        return new CrSendWxMsgRecordLogCUImpl();
    }   

    static get UUID(): FieldUtil<CrSendWxMsgRecordLogCU>{ 
        return new FieldUtil('uuid','uuid','', new CrSendWxMsgRecordLogCUImpl());
    }
    static get CSWMR_ID(): FieldUtil<CrSendWxMsgRecordLogCU>{ 
        return new FieldUtil('cswmr_id','cswmrId','', new CrSendWxMsgRecordLogCUImpl());
    }
    static get SEND_RESULT(): FieldUtil<CrSendWxMsgRecordLogCU>{ 
        return new FieldUtil('send_result','sendResult','', new CrSendWxMsgRecordLogCUImpl());
    }
    static get SEND_TIME(): FieldUtil<CrSendWxMsgRecordLogCU>{ 
        return new FieldUtil('send_time','sendTime','', new CrSendWxMsgRecordLogCUImpl());
    }
    static get SEND_ERROR_DESC(): FieldUtil<CrSendWxMsgRecordLogCU>{ 
        return new FieldUtil('send_error_desc','sendErrorDesc','', new CrSendWxMsgRecordLogCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<CrSendWxMsgRecordLogCU>{ 
        return new FieldUtil('create_time','createTime','', new CrSendWxMsgRecordLogCUImpl());
    }

    get UUID(): FieldUtil<CrSendWxMsgRecordLogCU>{ 
        return CrSendWxMsgRecordLogMU.UUID;
    }
    get CSWMR_ID(): FieldUtil<CrSendWxMsgRecordLogCU>{ 
        return CrSendWxMsgRecordLogMU.CSWMR_ID;
    }
    get SEND_RESULT(): FieldUtil<CrSendWxMsgRecordLogCU>{ 
        return CrSendWxMsgRecordLogMU.SEND_RESULT;
    }
    get SEND_TIME(): FieldUtil<CrSendWxMsgRecordLogCU>{ 
        return CrSendWxMsgRecordLogMU.SEND_TIME;
    }
    get SEND_ERROR_DESC(): FieldUtil<CrSendWxMsgRecordLogCU>{ 
        return CrSendWxMsgRecordLogMU.SEND_ERROR_DESC;
    }
    get CREATE_TIME(): FieldUtil<CrSendWxMsgRecordLogCU>{ 
        return CrSendWxMsgRecordLogMU.CREATE_TIME;
    }
}
export {CrSendWxMsgRecordLogMU, CrSendWxMsgRecordLogCU}
