import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { AdThirdPartyUser } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-05-23 16:15
 */
interface AdThirdPartyUserCU extends ConditionUtil<AdThirdPartyUserCU>{
    PARAM:FieldUtil<AdThirdPartyUserCU>;
    CONTENT:FieldUtil<AdThirdPartyUserCU>;
    PARTNER:FieldUtil<AdThirdPartyUserCU>;
    CONSUME:FieldUtil<AdThirdPartyUserCU>;
    CONSUME_TIME:FieldUtil<AdThirdPartyUserCU>;
    CREATE_TIME:FieldUtil<AdThirdPartyUserCU>;
}

class AdThirdPartyUserCUImpl extends ConditionUtilImpl<AdThirdPartyUserCUImpl> implements AdThirdPartyUserCU{ 
    newInstance(): AdThirdPartyUserCUImpl {
        return new AdThirdPartyUserCUImpl();
    } 
    get PARAM(): FieldUtil<AdThirdPartyUserCU>{  
        return new FieldUtil('param','param','param参数', this);
    }
    get CONTENT(): FieldUtil<AdThirdPartyUserCU>{  
        return new FieldUtil('content','content','广告内容', this);
    }
    get PARTNER(): FieldUtil<AdThirdPartyUserCU>{  
        return new FieldUtil('partner','partner','合作方：1，远山；2，百家', this);
    }
    get CONSUME(): FieldUtil<AdThirdPartyUserCU>{  
        return new FieldUtil('consume','consume','是否消费', this);
    }
    get CONSUME_TIME(): FieldUtil<AdThirdPartyUserCU>{  
        return new FieldUtil('consume_time','consumeTime','消费时间', this);
    }
    get CREATE_TIME(): FieldUtil<AdThirdPartyUserCU>{  
        return new FieldUtil('create_time','createTime','创建时间', this);
    }
}

@Singleton 
class AdThirdPartyUserMU extends TableUtilImpl<AdThirdPartyUserCU,AdThirdPartyUser>{ 
    tableName  = 'ad_third_party_param_record_2021_05';
    tableFields  = ['param','content','partner','consume','consume_time','create_time'];
    modelFields  = ['param','content','partner','consume','consumeTime','createTime'];
    modelIdFields  = ['param'];
    tableIdFields  = ['param'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): AdThirdPartyUserCU {
        return new AdThirdPartyUserCUImpl();
    }   

    static get PARAM(): FieldUtil<AdThirdPartyUserCU>{ 
        return new FieldUtil('param','param','param参数', new AdThirdPartyUserCUImpl());
    }
    static get CONTENT(): FieldUtil<AdThirdPartyUserCU>{ 
        return new FieldUtil('content','content','广告内容', new AdThirdPartyUserCUImpl());
    }
    static get PARTNER(): FieldUtil<AdThirdPartyUserCU>{ 
        return new FieldUtil('partner','partner','合作方：1，远山；2，百家', new AdThirdPartyUserCUImpl());
    }
    static get CONSUME(): FieldUtil<AdThirdPartyUserCU>{ 
        return new FieldUtil('consume','consume','是否消费', new AdThirdPartyUserCUImpl());
    }
    static get CONSUME_TIME(): FieldUtil<AdThirdPartyUserCU>{ 
        return new FieldUtil('consume_time','consumeTime','消费时间', new AdThirdPartyUserCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<AdThirdPartyUserCU>{ 
        return new FieldUtil('create_time','createTime','创建时间', new AdThirdPartyUserCUImpl());
    }

    get PARAM(): FieldUtil<AdThirdPartyUserCU>{ 
        return AdThirdPartyUserMU.PARAM;
    }
    get CONTENT(): FieldUtil<AdThirdPartyUserCU>{ 
        return AdThirdPartyUserMU.CONTENT;
    }
    get PARTNER(): FieldUtil<AdThirdPartyUserCU>{ 
        return AdThirdPartyUserMU.PARTNER;
    }
    get CONSUME(): FieldUtil<AdThirdPartyUserCU>{ 
        return AdThirdPartyUserMU.CONSUME;
    }
    get CONSUME_TIME(): FieldUtil<AdThirdPartyUserCU>{ 
        return AdThirdPartyUserMU.CONSUME_TIME;
    }
    get CREATE_TIME(): FieldUtil<AdThirdPartyUserCU>{ 
        return AdThirdPartyUserMU.CREATE_TIME;
    }
}
export {AdThirdPartyUserMU, AdThirdPartyUserCU}
