package com.hai.entity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class HighCouponExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    public HighCouponExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIsNull() {
            addCriterion("company_id is null");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIsNotNull() {
            addCriterion("company_id is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyIdEqualTo(Long value) {
            addCriterion("company_id =", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotEqualTo(Long value) {
            addCriterion("company_id <>", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdGreaterThan(Long value) {
            addCriterion("company_id >", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdGreaterThanOrEqualTo(Long value) {
            addCriterion("company_id >=", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLessThan(Long value) {
            addCriterion("company_id <", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLessThanOrEqualTo(Long value) {
            addCriterion("company_id <=", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIn(List<Long> values) {
            addCriterion("company_id in", values, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotIn(List<Long> values) {
            addCriterion("company_id not in", values, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdBetween(Long value1, Long value2) {
            addCriterion("company_id between", value1, value2, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotBetween(Long value1, Long value2) {
            addCriterion("company_id not between", value1, value2, "companyId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdIsNull() {
            addCriterion("merchant_id is null");
            return (Criteria) this;
        }

        public Criteria andMerchantIdIsNotNull() {
            addCriterion("merchant_id is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantIdEqualTo(Long value) {
            addCriterion("merchant_id =", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdNotEqualTo(Long value) {
            addCriterion("merchant_id <>", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdGreaterThan(Long value) {
            addCriterion("merchant_id >", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdGreaterThanOrEqualTo(Long value) {
            addCriterion("merchant_id >=", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdLessThan(Long value) {
            addCriterion("merchant_id <", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdLessThanOrEqualTo(Long value) {
            addCriterion("merchant_id <=", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdIn(List<Long> values) {
            addCriterion("merchant_id in", values, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdNotIn(List<Long> values) {
            addCriterion("merchant_id not in", values, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdBetween(Long value1, Long value2) {
            addCriterion("merchant_id between", value1, value2, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdNotBetween(Long value1, Long value2) {
            addCriterion("merchant_id not between", value1, value2, "merchantId");
            return (Criteria) this;
        }

        public Criteria andCouponKeyIsNull() {
            addCriterion("coupon_key is null");
            return (Criteria) this;
        }

        public Criteria andCouponKeyIsNotNull() {
            addCriterion("coupon_key is not null");
            return (Criteria) this;
        }

        public Criteria andCouponKeyEqualTo(String value) {
            addCriterion("coupon_key =", value, "couponKey");
            return (Criteria) this;
        }

        public Criteria andCouponKeyNotEqualTo(String value) {
            addCriterion("coupon_key <>", value, "couponKey");
            return (Criteria) this;
        }

        public Criteria andCouponKeyGreaterThan(String value) {
            addCriterion("coupon_key >", value, "couponKey");
            return (Criteria) this;
        }

        public Criteria andCouponKeyGreaterThanOrEqualTo(String value) {
            addCriterion("coupon_key >=", value, "couponKey");
            return (Criteria) this;
        }

        public Criteria andCouponKeyLessThan(String value) {
            addCriterion("coupon_key <", value, "couponKey");
            return (Criteria) this;
        }

        public Criteria andCouponKeyLessThanOrEqualTo(String value) {
            addCriterion("coupon_key <=", value, "couponKey");
            return (Criteria) this;
        }

        public Criteria andCouponKeyLike(String value) {
            addCriterion("coupon_key like", value, "couponKey");
            return (Criteria) this;
        }

        public Criteria andCouponKeyNotLike(String value) {
            addCriterion("coupon_key not like", value, "couponKey");
            return (Criteria) this;
        }

        public Criteria andCouponKeyIn(List<String> values) {
            addCriterion("coupon_key in", values, "couponKey");
            return (Criteria) this;
        }

        public Criteria andCouponKeyNotIn(List<String> values) {
            addCriterion("coupon_key not in", values, "couponKey");
            return (Criteria) this;
        }

        public Criteria andCouponKeyBetween(String value1, String value2) {
            addCriterion("coupon_key between", value1, value2, "couponKey");
            return (Criteria) this;
        }

        public Criteria andCouponKeyNotBetween(String value1, String value2) {
            addCriterion("coupon_key not between", value1, value2, "couponKey");
            return (Criteria) this;
        }

        public Criteria andCouponNameIsNull() {
            addCriterion("coupon_name is null");
            return (Criteria) this;
        }

        public Criteria andCouponNameIsNotNull() {
            addCriterion("coupon_name is not null");
            return (Criteria) this;
        }

        public Criteria andCouponNameEqualTo(String value) {
            addCriterion("coupon_name =", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameNotEqualTo(String value) {
            addCriterion("coupon_name <>", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameGreaterThan(String value) {
            addCriterion("coupon_name >", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameGreaterThanOrEqualTo(String value) {
            addCriterion("coupon_name >=", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameLessThan(String value) {
            addCriterion("coupon_name <", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameLessThanOrEqualTo(String value) {
            addCriterion("coupon_name <=", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameLike(String value) {
            addCriterion("coupon_name like", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameNotLike(String value) {
            addCriterion("coupon_name not like", value, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameIn(List<String> values) {
            addCriterion("coupon_name in", values, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameNotIn(List<String> values) {
            addCriterion("coupon_name not in", values, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameBetween(String value1, String value2) {
            addCriterion("coupon_name between", value1, value2, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponNameNotBetween(String value1, String value2) {
            addCriterion("coupon_name not between", value1, value2, "couponName");
            return (Criteria) this;
        }

        public Criteria andCouponPriceIsNull() {
            addCriterion("coupon_price is null");
            return (Criteria) this;
        }

        public Criteria andCouponPriceIsNotNull() {
            addCriterion("coupon_price is not null");
            return (Criteria) this;
        }

        public Criteria andCouponPriceEqualTo(BigDecimal value) {
            addCriterion("coupon_price =", value, "couponPrice");
            return (Criteria) this;
        }

        public Criteria andCouponPriceNotEqualTo(BigDecimal value) {
            addCriterion("coupon_price <>", value, "couponPrice");
            return (Criteria) this;
        }

        public Criteria andCouponPriceGreaterThan(BigDecimal value) {
            addCriterion("coupon_price >", value, "couponPrice");
            return (Criteria) this;
        }

        public Criteria andCouponPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("coupon_price >=", value, "couponPrice");
            return (Criteria) this;
        }

        public Criteria andCouponPriceLessThan(BigDecimal value) {
            addCriterion("coupon_price <", value, "couponPrice");
            return (Criteria) this;
        }

        public Criteria andCouponPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("coupon_price <=", value, "couponPrice");
            return (Criteria) this;
        }

        public Criteria andCouponPriceIn(List<BigDecimal> values) {
            addCriterion("coupon_price in", values, "couponPrice");
            return (Criteria) this;
        }

        public Criteria andCouponPriceNotIn(List<BigDecimal> values) {
            addCriterion("coupon_price not in", values, "couponPrice");
            return (Criteria) this;
        }

        public Criteria andCouponPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("coupon_price between", value1, value2, "couponPrice");
            return (Criteria) this;
        }

        public Criteria andCouponPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("coupon_price not between", value1, value2, "couponPrice");
            return (Criteria) this;
        }

        public Criteria andCouponImgIsNull() {
            addCriterion("coupon_img is null");
            return (Criteria) this;
        }

        public Criteria andCouponImgIsNotNull() {
            addCriterion("coupon_img is not null");
            return (Criteria) this;
        }

        public Criteria andCouponImgEqualTo(String value) {
            addCriterion("coupon_img =", value, "couponImg");
            return (Criteria) this;
        }

        public Criteria andCouponImgNotEqualTo(String value) {
            addCriterion("coupon_img <>", value, "couponImg");
            return (Criteria) this;
        }

        public Criteria andCouponImgGreaterThan(String value) {
            addCriterion("coupon_img >", value, "couponImg");
            return (Criteria) this;
        }

        public Criteria andCouponImgGreaterThanOrEqualTo(String value) {
            addCriterion("coupon_img >=", value, "couponImg");
            return (Criteria) this;
        }

        public Criteria andCouponImgLessThan(String value) {
            addCriterion("coupon_img <", value, "couponImg");
            return (Criteria) this;
        }

        public Criteria andCouponImgLessThanOrEqualTo(String value) {
            addCriterion("coupon_img <=", value, "couponImg");
            return (Criteria) this;
        }

        public Criteria andCouponImgLike(String value) {
            addCriterion("coupon_img like", value, "couponImg");
            return (Criteria) this;
        }

        public Criteria andCouponImgNotLike(String value) {
            addCriterion("coupon_img not like", value, "couponImg");
            return (Criteria) this;
        }

        public Criteria andCouponImgIn(List<String> values) {
            addCriterion("coupon_img in", values, "couponImg");
            return (Criteria) this;
        }

        public Criteria andCouponImgNotIn(List<String> values) {
            addCriterion("coupon_img not in", values, "couponImg");
            return (Criteria) this;
        }

        public Criteria andCouponImgBetween(String value1, String value2) {
            addCriterion("coupon_img between", value1, value2, "couponImg");
            return (Criteria) this;
        }

        public Criteria andCouponImgNotBetween(String value1, String value2) {
            addCriterion("coupon_img not between", value1, value2, "couponImg");
            return (Criteria) this;
        }

        public Criteria andCouponCarouselImgIsNull() {
            addCriterion("coupon_carousel_img is null");
            return (Criteria) this;
        }

        public Criteria andCouponCarouselImgIsNotNull() {
            addCriterion("coupon_carousel_img is not null");
            return (Criteria) this;
        }

        public Criteria andCouponCarouselImgEqualTo(String value) {
            addCriterion("coupon_carousel_img =", value, "couponCarouselImg");
            return (Criteria) this;
        }

        public Criteria andCouponCarouselImgNotEqualTo(String value) {
            addCriterion("coupon_carousel_img <>", value, "couponCarouselImg");
            return (Criteria) this;
        }

        public Criteria andCouponCarouselImgGreaterThan(String value) {
            addCriterion("coupon_carousel_img >", value, "couponCarouselImg");
            return (Criteria) this;
        }

        public Criteria andCouponCarouselImgGreaterThanOrEqualTo(String value) {
            addCriterion("coupon_carousel_img >=", value, "couponCarouselImg");
            return (Criteria) this;
        }

        public Criteria andCouponCarouselImgLessThan(String value) {
            addCriterion("coupon_carousel_img <", value, "couponCarouselImg");
            return (Criteria) this;
        }

        public Criteria andCouponCarouselImgLessThanOrEqualTo(String value) {
            addCriterion("coupon_carousel_img <=", value, "couponCarouselImg");
            return (Criteria) this;
        }

        public Criteria andCouponCarouselImgLike(String value) {
            addCriterion("coupon_carousel_img like", value, "couponCarouselImg");
            return (Criteria) this;
        }

        public Criteria andCouponCarouselImgNotLike(String value) {
            addCriterion("coupon_carousel_img not like", value, "couponCarouselImg");
            return (Criteria) this;
        }

        public Criteria andCouponCarouselImgIn(List<String> values) {
            addCriterion("coupon_carousel_img in", values, "couponCarouselImg");
            return (Criteria) this;
        }

        public Criteria andCouponCarouselImgNotIn(List<String> values) {
            addCriterion("coupon_carousel_img not in", values, "couponCarouselImg");
            return (Criteria) this;
        }

        public Criteria andCouponCarouselImgBetween(String value1, String value2) {
            addCriterion("coupon_carousel_img between", value1, value2, "couponCarouselImg");
            return (Criteria) this;
        }

        public Criteria andCouponCarouselImgNotBetween(String value1, String value2) {
            addCriterion("coupon_carousel_img not between", value1, value2, "couponCarouselImg");
            return (Criteria) this;
        }

        public Criteria andCouponDescIsNull() {
            addCriterion("coupon_desc is null");
            return (Criteria) this;
        }

        public Criteria andCouponDescIsNotNull() {
            addCriterion("coupon_desc is not null");
            return (Criteria) this;
        }

        public Criteria andCouponDescEqualTo(String value) {
            addCriterion("coupon_desc =", value, "couponDesc");
            return (Criteria) this;
        }

        public Criteria andCouponDescNotEqualTo(String value) {
            addCriterion("coupon_desc <>", value, "couponDesc");
            return (Criteria) this;
        }

        public Criteria andCouponDescGreaterThan(String value) {
            addCriterion("coupon_desc >", value, "couponDesc");
            return (Criteria) this;
        }

        public Criteria andCouponDescGreaterThanOrEqualTo(String value) {
            addCriterion("coupon_desc >=", value, "couponDesc");
            return (Criteria) this;
        }

        public Criteria andCouponDescLessThan(String value) {
            addCriterion("coupon_desc <", value, "couponDesc");
            return (Criteria) this;
        }

        public Criteria andCouponDescLessThanOrEqualTo(String value) {
            addCriterion("coupon_desc <=", value, "couponDesc");
            return (Criteria) this;
        }

        public Criteria andCouponDescLike(String value) {
            addCriterion("coupon_desc like", value, "couponDesc");
            return (Criteria) this;
        }

        public Criteria andCouponDescNotLike(String value) {
            addCriterion("coupon_desc not like", value, "couponDesc");
            return (Criteria) this;
        }

        public Criteria andCouponDescIn(List<String> values) {
            addCriterion("coupon_desc in", values, "couponDesc");
            return (Criteria) this;
        }

        public Criteria andCouponDescNotIn(List<String> values) {
            addCriterion("coupon_desc not in", values, "couponDesc");
            return (Criteria) this;
        }

        public Criteria andCouponDescBetween(String value1, String value2) {
            addCriterion("coupon_desc between", value1, value2, "couponDesc");
            return (Criteria) this;
        }

        public Criteria andCouponDescNotBetween(String value1, String value2) {
            addCriterion("coupon_desc not between", value1, value2, "couponDesc");
            return (Criteria) this;
        }

        public Criteria andCouponTypeIsNull() {
            addCriterion("coupon_type is null");
            return (Criteria) this;
        }

        public Criteria andCouponTypeIsNotNull() {
            addCriterion("coupon_type is not null");
            return (Criteria) this;
        }

        public Criteria andCouponTypeEqualTo(Integer value) {
            addCriterion("coupon_type =", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeNotEqualTo(Integer value) {
            addCriterion("coupon_type <>", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeGreaterThan(Integer value) {
            addCriterion("coupon_type >", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("coupon_type >=", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeLessThan(Integer value) {
            addCriterion("coupon_type <", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeLessThanOrEqualTo(Integer value) {
            addCriterion("coupon_type <=", value, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeIn(List<Integer> values) {
            addCriterion("coupon_type in", values, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeNotIn(List<Integer> values) {
            addCriterion("coupon_type not in", values, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeBetween(Integer value1, Integer value2) {
            addCriterion("coupon_type between", value1, value2, "couponType");
            return (Criteria) this;
        }

        public Criteria andCouponTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("coupon_type not between", value1, value2, "couponType");
            return (Criteria) this;
        }

        public Criteria andSalesEndTimeIsNull() {
            addCriterion("sales_end_time is null");
            return (Criteria) this;
        }

        public Criteria andSalesEndTimeIsNotNull() {
            addCriterion("sales_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andSalesEndTimeEqualTo(Date value) {
            addCriterion("sales_end_time =", value, "salesEndTime");
            return (Criteria) this;
        }

        public Criteria andSalesEndTimeNotEqualTo(Date value) {
            addCriterion("sales_end_time <>", value, "salesEndTime");
            return (Criteria) this;
        }

        public Criteria andSalesEndTimeGreaterThan(Date value) {
            addCriterion("sales_end_time >", value, "salesEndTime");
            return (Criteria) this;
        }

        public Criteria andSalesEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("sales_end_time >=", value, "salesEndTime");
            return (Criteria) this;
        }

        public Criteria andSalesEndTimeLessThan(Date value) {
            addCriterion("sales_end_time <", value, "salesEndTime");
            return (Criteria) this;
        }

        public Criteria andSalesEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("sales_end_time <=", value, "salesEndTime");
            return (Criteria) this;
        }

        public Criteria andSalesEndTimeIn(List<Date> values) {
            addCriterion("sales_end_time in", values, "salesEndTime");
            return (Criteria) this;
        }

        public Criteria andSalesEndTimeNotIn(List<Date> values) {
            addCriterion("sales_end_time not in", values, "salesEndTime");
            return (Criteria) this;
        }

        public Criteria andSalesEndTimeBetween(Date value1, Date value2) {
            addCriterion("sales_end_time between", value1, value2, "salesEndTime");
            return (Criteria) this;
        }

        public Criteria andSalesEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("sales_end_time not between", value1, value2, "salesEndTime");
            return (Criteria) this;
        }

        public Criteria andRecycleDayIsNull() {
            addCriterion("recycle_day is null");
            return (Criteria) this;
        }

        public Criteria andRecycleDayIsNotNull() {
            addCriterion("recycle_day is not null");
            return (Criteria) this;
        }

        public Criteria andRecycleDayEqualTo(Integer value) {
            addCriterion("recycle_day =", value, "recycleDay");
            return (Criteria) this;
        }

        public Criteria andRecycleDayNotEqualTo(Integer value) {
            addCriterion("recycle_day <>", value, "recycleDay");
            return (Criteria) this;
        }

        public Criteria andRecycleDayGreaterThan(Integer value) {
            addCriterion("recycle_day >", value, "recycleDay");
            return (Criteria) this;
        }

        public Criteria andRecycleDayGreaterThanOrEqualTo(Integer value) {
            addCriterion("recycle_day >=", value, "recycleDay");
            return (Criteria) this;
        }

        public Criteria andRecycleDayLessThan(Integer value) {
            addCriterion("recycle_day <", value, "recycleDay");
            return (Criteria) this;
        }

        public Criteria andRecycleDayLessThanOrEqualTo(Integer value) {
            addCriterion("recycle_day <=", value, "recycleDay");
            return (Criteria) this;
        }

        public Criteria andRecycleDayIn(List<Integer> values) {
            addCriterion("recycle_day in", values, "recycleDay");
            return (Criteria) this;
        }

        public Criteria andRecycleDayNotIn(List<Integer> values) {
            addCriterion("recycle_day not in", values, "recycleDay");
            return (Criteria) this;
        }

        public Criteria andRecycleDayBetween(Integer value1, Integer value2) {
            addCriterion("recycle_day between", value1, value2, "recycleDay");
            return (Criteria) this;
        }

        public Criteria andRecycleDayNotBetween(Integer value1, Integer value2) {
            addCriterion("recycle_day not between", value1, value2, "recycleDay");
            return (Criteria) this;
        }

        public Criteria andLimitNumberIsNull() {
            addCriterion("limit_number is null");
            return (Criteria) this;
        }

        public Criteria andLimitNumberIsNotNull() {
            addCriterion("limit_number is not null");
            return (Criteria) this;
        }

        public Criteria andLimitNumberEqualTo(Integer value) {
            addCriterion("limit_number =", value, "limitNumber");
            return (Criteria) this;
        }

        public Criteria andLimitNumberNotEqualTo(Integer value) {
            addCriterion("limit_number <>", value, "limitNumber");
            return (Criteria) this;
        }

        public Criteria andLimitNumberGreaterThan(Integer value) {
            addCriterion("limit_number >", value, "limitNumber");
            return (Criteria) this;
        }

        public Criteria andLimitNumberGreaterThanOrEqualTo(Integer value) {
            addCriterion("limit_number >=", value, "limitNumber");
            return (Criteria) this;
        }

        public Criteria andLimitNumberLessThan(Integer value) {
            addCriterion("limit_number <", value, "limitNumber");
            return (Criteria) this;
        }

        public Criteria andLimitNumberLessThanOrEqualTo(Integer value) {
            addCriterion("limit_number <=", value, "limitNumber");
            return (Criteria) this;
        }

        public Criteria andLimitNumberIn(List<Integer> values) {
            addCriterion("limit_number in", values, "limitNumber");
            return (Criteria) this;
        }

        public Criteria andLimitNumberNotIn(List<Integer> values) {
            addCriterion("limit_number not in", values, "limitNumber");
            return (Criteria) this;
        }

        public Criteria andLimitNumberBetween(Integer value1, Integer value2) {
            addCriterion("limit_number between", value1, value2, "limitNumber");
            return (Criteria) this;
        }

        public Criteria andLimitNumberNotBetween(Integer value1, Integer value2) {
            addCriterion("limit_number not between", value1, value2, "limitNumber");
            return (Criteria) this;
        }

        public Criteria andSalesPriceIsNull() {
            addCriterion("sales_price is null");
            return (Criteria) this;
        }

        public Criteria andSalesPriceIsNotNull() {
            addCriterion("sales_price is not null");
            return (Criteria) this;
        }

        public Criteria andSalesPriceEqualTo(BigDecimal value) {
            addCriterion("sales_price =", value, "salesPrice");
            return (Criteria) this;
        }

        public Criteria andSalesPriceNotEqualTo(BigDecimal value) {
            addCriterion("sales_price <>", value, "salesPrice");
            return (Criteria) this;
        }

        public Criteria andSalesPriceGreaterThan(BigDecimal value) {
            addCriterion("sales_price >", value, "salesPrice");
            return (Criteria) this;
        }

        public Criteria andSalesPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sales_price >=", value, "salesPrice");
            return (Criteria) this;
        }

        public Criteria andSalesPriceLessThan(BigDecimal value) {
            addCriterion("sales_price <", value, "salesPrice");
            return (Criteria) this;
        }

        public Criteria andSalesPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sales_price <=", value, "salesPrice");
            return (Criteria) this;
        }

        public Criteria andSalesPriceIn(List<BigDecimal> values) {
            addCriterion("sales_price in", values, "salesPrice");
            return (Criteria) this;
        }

        public Criteria andSalesPriceNotIn(List<BigDecimal> values) {
            addCriterion("sales_price not in", values, "salesPrice");
            return (Criteria) this;
        }

        public Criteria andSalesPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sales_price between", value1, value2, "salesPrice");
            return (Criteria) this;
        }

        public Criteria andSalesPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sales_price not between", value1, value2, "salesPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceIsNull() {
            addCriterion("discount_price is null");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceIsNotNull() {
            addCriterion("discount_price is not null");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceEqualTo(BigDecimal value) {
            addCriterion("discount_price =", value, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceNotEqualTo(BigDecimal value) {
            addCriterion("discount_price <>", value, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceGreaterThan(BigDecimal value) {
            addCriterion("discount_price >", value, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("discount_price >=", value, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceLessThan(BigDecimal value) {
            addCriterion("discount_price <", value, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("discount_price <=", value, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceIn(List<BigDecimal> values) {
            addCriterion("discount_price in", values, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceNotIn(List<BigDecimal> values) {
            addCriterion("discount_price not in", values, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("discount_price between", value1, value2, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andDiscountPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("discount_price not between", value1, value2, "discountPrice");
            return (Criteria) this;
        }

        public Criteria andSalesCountIsNull() {
            addCriterion("sales_count is null");
            return (Criteria) this;
        }

        public Criteria andSalesCountIsNotNull() {
            addCriterion("sales_count is not null");
            return (Criteria) this;
        }

        public Criteria andSalesCountEqualTo(Integer value) {
            addCriterion("sales_count =", value, "salesCount");
            return (Criteria) this;
        }

        public Criteria andSalesCountNotEqualTo(Integer value) {
            addCriterion("sales_count <>", value, "salesCount");
            return (Criteria) this;
        }

        public Criteria andSalesCountGreaterThan(Integer value) {
            addCriterion("sales_count >", value, "salesCount");
            return (Criteria) this;
        }

        public Criteria andSalesCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("sales_count >=", value, "salesCount");
            return (Criteria) this;
        }

        public Criteria andSalesCountLessThan(Integer value) {
            addCriterion("sales_count <", value, "salesCount");
            return (Criteria) this;
        }

        public Criteria andSalesCountLessThanOrEqualTo(Integer value) {
            addCriterion("sales_count <=", value, "salesCount");
            return (Criteria) this;
        }

        public Criteria andSalesCountIn(List<Integer> values) {
            addCriterion("sales_count in", values, "salesCount");
            return (Criteria) this;
        }

        public Criteria andSalesCountNotIn(List<Integer> values) {
            addCriterion("sales_count not in", values, "salesCount");
            return (Criteria) this;
        }

        public Criteria andSalesCountBetween(Integer value1, Integer value2) {
            addCriterion("sales_count between", value1, value2, "salesCount");
            return (Criteria) this;
        }

        public Criteria andSalesCountNotBetween(Integer value1, Integer value2) {
            addCriterion("sales_count not between", value1, value2, "salesCount");
            return (Criteria) this;
        }

        public Criteria andIsPresentIsNull() {
            addCriterion("is_present is null");
            return (Criteria) this;
        }

        public Criteria andIsPresentIsNotNull() {
            addCriterion("is_present is not null");
            return (Criteria) this;
        }

        public Criteria andIsPresentEqualTo(Boolean value) {
            addCriterion("is_present =", value, "isPresent");
            return (Criteria) this;
        }

        public Criteria andIsPresentNotEqualTo(Boolean value) {
            addCriterion("is_present <>", value, "isPresent");
            return (Criteria) this;
        }

        public Criteria andIsPresentGreaterThan(Boolean value) {
            addCriterion("is_present >", value, "isPresent");
            return (Criteria) this;
        }

        public Criteria andIsPresentGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_present >=", value, "isPresent");
            return (Criteria) this;
        }

        public Criteria andIsPresentLessThan(Boolean value) {
            addCriterion("is_present <", value, "isPresent");
            return (Criteria) this;
        }

        public Criteria andIsPresentLessThanOrEqualTo(Boolean value) {
            addCriterion("is_present <=", value, "isPresent");
            return (Criteria) this;
        }

        public Criteria andIsPresentIn(List<Boolean> values) {
            addCriterion("is_present in", values, "isPresent");
            return (Criteria) this;
        }

        public Criteria andIsPresentNotIn(List<Boolean> values) {
            addCriterion("is_present not in", values, "isPresent");
            return (Criteria) this;
        }

        public Criteria andIsPresentBetween(Boolean value1, Boolean value2) {
            addCriterion("is_present between", value1, value2, "isPresent");
            return (Criteria) this;
        }

        public Criteria andIsPresentNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_present not between", value1, value2, "isPresent");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andOperatorIdIsNull() {
            addCriterion("operator_id is null");
            return (Criteria) this;
        }

        public Criteria andOperatorIdIsNotNull() {
            addCriterion("operator_id is not null");
            return (Criteria) this;
        }

        public Criteria andOperatorIdEqualTo(Long value) {
            addCriterion("operator_id =", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdNotEqualTo(Long value) {
            addCriterion("operator_id <>", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdGreaterThan(Long value) {
            addCriterion("operator_id >", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdGreaterThanOrEqualTo(Long value) {
            addCriterion("operator_id >=", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdLessThan(Long value) {
            addCriterion("operator_id <", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdLessThanOrEqualTo(Long value) {
            addCriterion("operator_id <=", value, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdIn(List<Long> values) {
            addCriterion("operator_id in", values, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdNotIn(List<Long> values) {
            addCriterion("operator_id not in", values, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdBetween(Long value1, Long value2) {
            addCriterion("operator_id between", value1, value2, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorIdNotBetween(Long value1, Long value2) {
            addCriterion("operator_id not between", value1, value2, "operatorId");
            return (Criteria) this;
        }

        public Criteria andOperatorNameIsNull() {
            addCriterion("operator_name is null");
            return (Criteria) this;
        }

        public Criteria andOperatorNameIsNotNull() {
            addCriterion("operator_name is not null");
            return (Criteria) this;
        }

        public Criteria andOperatorNameEqualTo(String value) {
            addCriterion("operator_name =", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameNotEqualTo(String value) {
            addCriterion("operator_name <>", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameGreaterThan(String value) {
            addCriterion("operator_name >", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameGreaterThanOrEqualTo(String value) {
            addCriterion("operator_name >=", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameLessThan(String value) {
            addCriterion("operator_name <", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameLessThanOrEqualTo(String value) {
            addCriterion("operator_name <=", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameLike(String value) {
            addCriterion("operator_name like", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameNotLike(String value) {
            addCriterion("operator_name not like", value, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameIn(List<String> values) {
            addCriterion("operator_name in", values, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameNotIn(List<String> values) {
            addCriterion("operator_name not in", values, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameBetween(String value1, String value2) {
            addCriterion("operator_name between", value1, value2, "operatorName");
            return (Criteria) this;
        }

        public Criteria andOperatorNameNotBetween(String value1, String value2) {
            addCriterion("operator_name not between", value1, value2, "operatorName");
            return (Criteria) this;
        }

        public Criteria andPayTypeIsNull() {
            addCriterion("pay_type is null");
            return (Criteria) this;
        }

        public Criteria andPayTypeIsNotNull() {
            addCriterion("pay_type is not null");
            return (Criteria) this;
        }

        public Criteria andPayTypeEqualTo(Integer value) {
            addCriterion("pay_type =", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotEqualTo(Integer value) {
            addCriterion("pay_type <>", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeGreaterThan(Integer value) {
            addCriterion("pay_type >", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("pay_type >=", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLessThan(Integer value) {
            addCriterion("pay_type <", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLessThanOrEqualTo(Integer value) {
            addCriterion("pay_type <=", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeIn(List<Integer> values) {
            addCriterion("pay_type in", values, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotIn(List<Integer> values) {
            addCriterion("pay_type not in", values, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeBetween(Integer value1, Integer value2) {
            addCriterion("pay_type between", value1, value2, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("pay_type not between", value1, value2, "payType");
            return (Criteria) this;
        }

        public Criteria andExt1IsNull() {
            addCriterion("ext_1 is null");
            return (Criteria) this;
        }

        public Criteria andExt1IsNotNull() {
            addCriterion("ext_1 is not null");
            return (Criteria) this;
        }

        public Criteria andExt1EqualTo(String value) {
            addCriterion("ext_1 =", value, "ext1");
            return (Criteria) this;
        }

        public Criteria andExt1NotEqualTo(String value) {
            addCriterion("ext_1 <>", value, "ext1");
            return (Criteria) this;
        }

        public Criteria andExt1GreaterThan(String value) {
            addCriterion("ext_1 >", value, "ext1");
            return (Criteria) this;
        }

        public Criteria andExt1GreaterThanOrEqualTo(String value) {
            addCriterion("ext_1 >=", value, "ext1");
            return (Criteria) this;
        }

        public Criteria andExt1LessThan(String value) {
            addCriterion("ext_1 <", value, "ext1");
            return (Criteria) this;
        }

        public Criteria andExt1LessThanOrEqualTo(String value) {
            addCriterion("ext_1 <=", value, "ext1");
            return (Criteria) this;
        }

        public Criteria andExt1Like(String value) {
            addCriterion("ext_1 like", value, "ext1");
            return (Criteria) this;
        }

        public Criteria andExt1NotLike(String value) {
            addCriterion("ext_1 not like", value, "ext1");
            return (Criteria) this;
        }

        public Criteria andExt1In(List<String> values) {
            addCriterion("ext_1 in", values, "ext1");
            return (Criteria) this;
        }

        public Criteria andExt1NotIn(List<String> values) {
            addCriterion("ext_1 not in", values, "ext1");
            return (Criteria) this;
        }

        public Criteria andExt1Between(String value1, String value2) {
            addCriterion("ext_1 between", value1, value2, "ext1");
            return (Criteria) this;
        }

        public Criteria andExt1NotBetween(String value1, String value2) {
            addCriterion("ext_1 not between", value1, value2, "ext1");
            return (Criteria) this;
        }

        public Criteria andExt2IsNull() {
            addCriterion("ext_2 is null");
            return (Criteria) this;
        }

        public Criteria andExt2IsNotNull() {
            addCriterion("ext_2 is not null");
            return (Criteria) this;
        }

        public Criteria andExt2EqualTo(String value) {
            addCriterion("ext_2 =", value, "ext2");
            return (Criteria) this;
        }

        public Criteria andExt2NotEqualTo(String value) {
            addCriterion("ext_2 <>", value, "ext2");
            return (Criteria) this;
        }

        public Criteria andExt2GreaterThan(String value) {
            addCriterion("ext_2 >", value, "ext2");
            return (Criteria) this;
        }

        public Criteria andExt2GreaterThanOrEqualTo(String value) {
            addCriterion("ext_2 >=", value, "ext2");
            return (Criteria) this;
        }

        public Criteria andExt2LessThan(String value) {
            addCriterion("ext_2 <", value, "ext2");
            return (Criteria) this;
        }

        public Criteria andExt2LessThanOrEqualTo(String value) {
            addCriterion("ext_2 <=", value, "ext2");
            return (Criteria) this;
        }

        public Criteria andExt2Like(String value) {
            addCriterion("ext_2 like", value, "ext2");
            return (Criteria) this;
        }

        public Criteria andExt2NotLike(String value) {
            addCriterion("ext_2 not like", value, "ext2");
            return (Criteria) this;
        }

        public Criteria andExt2In(List<String> values) {
            addCriterion("ext_2 in", values, "ext2");
            return (Criteria) this;
        }

        public Criteria andExt2NotIn(List<String> values) {
            addCriterion("ext_2 not in", values, "ext2");
            return (Criteria) this;
        }

        public Criteria andExt2Between(String value1, String value2) {
            addCriterion("ext_2 between", value1, value2, "ext2");
            return (Criteria) this;
        }

        public Criteria andExt2NotBetween(String value1, String value2) {
            addCriterion("ext_2 not between", value1, value2, "ext2");
            return (Criteria) this;
        }

        public Criteria andExt3IsNull() {
            addCriterion("ext_3 is null");
            return (Criteria) this;
        }

        public Criteria andExt3IsNotNull() {
            addCriterion("ext_3 is not null");
            return (Criteria) this;
        }

        public Criteria andExt3EqualTo(String value) {
            addCriterion("ext_3 =", value, "ext3");
            return (Criteria) this;
        }

        public Criteria andExt3NotEqualTo(String value) {
            addCriterion("ext_3 <>", value, "ext3");
            return (Criteria) this;
        }

        public Criteria andExt3GreaterThan(String value) {
            addCriterion("ext_3 >", value, "ext3");
            return (Criteria) this;
        }

        public Criteria andExt3GreaterThanOrEqualTo(String value) {
            addCriterion("ext_3 >=", value, "ext3");
            return (Criteria) this;
        }

        public Criteria andExt3LessThan(String value) {
            addCriterion("ext_3 <", value, "ext3");
            return (Criteria) this;
        }

        public Criteria andExt3LessThanOrEqualTo(String value) {
            addCriterion("ext_3 <=", value, "ext3");
            return (Criteria) this;
        }

        public Criteria andExt3Like(String value) {
            addCriterion("ext_3 like", value, "ext3");
            return (Criteria) this;
        }

        public Criteria andExt3NotLike(String value) {
            addCriterion("ext_3 not like", value, "ext3");
            return (Criteria) this;
        }

        public Criteria andExt3In(List<String> values) {
            addCriterion("ext_3 in", values, "ext3");
            return (Criteria) this;
        }

        public Criteria andExt3NotIn(List<String> values) {
            addCriterion("ext_3 not in", values, "ext3");
            return (Criteria) this;
        }

        public Criteria andExt3Between(String value1, String value2) {
            addCriterion("ext_3 between", value1, value2, "ext3");
            return (Criteria) this;
        }

        public Criteria andExt3NotBetween(String value1, String value2) {
            addCriterion("ext_3 not between", value1, value2, "ext3");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("`status` is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("`status` is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("`status` =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("`status` <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("`status` >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("`status` >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("`status` <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("`status` <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("`status` in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("`status` not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("`status` between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("`status` not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andDisplayAreaIsNull() {
            addCriterion("display_area is null");
            return (Criteria) this;
        }

        public Criteria andDisplayAreaIsNotNull() {
            addCriterion("display_area is not null");
            return (Criteria) this;
        }

        public Criteria andDisplayAreaEqualTo(Integer value) {
            addCriterion("display_area =", value, "displayArea");
            return (Criteria) this;
        }

        public Criteria andDisplayAreaNotEqualTo(Integer value) {
            addCriterion("display_area <>", value, "displayArea");
            return (Criteria) this;
        }

        public Criteria andDisplayAreaGreaterThan(Integer value) {
            addCriterion("display_area >", value, "displayArea");
            return (Criteria) this;
        }

        public Criteria andDisplayAreaGreaterThanOrEqualTo(Integer value) {
            addCriterion("display_area >=", value, "displayArea");
            return (Criteria) this;
        }

        public Criteria andDisplayAreaLessThan(Integer value) {
            addCriterion("display_area <", value, "displayArea");
            return (Criteria) this;
        }

        public Criteria andDisplayAreaLessThanOrEqualTo(Integer value) {
            addCriterion("display_area <=", value, "displayArea");
            return (Criteria) this;
        }

        public Criteria andDisplayAreaIn(List<Integer> values) {
            addCriterion("display_area in", values, "displayArea");
            return (Criteria) this;
        }

        public Criteria andDisplayAreaNotIn(List<Integer> values) {
            addCriterion("display_area not in", values, "displayArea");
            return (Criteria) this;
        }

        public Criteria andDisplayAreaBetween(Integer value1, Integer value2) {
            addCriterion("display_area between", value1, value2, "displayArea");
            return (Criteria) this;
        }

        public Criteria andDisplayAreaNotBetween(Integer value1, Integer value2) {
            addCriterion("display_area not between", value1, value2, "displayArea");
            return (Criteria) this;
        }

        public Criteria andCouponSourceIsNull() {
            addCriterion("coupon_source is null");
            return (Criteria) this;
        }

        public Criteria andCouponSourceIsNotNull() {
            addCriterion("coupon_source is not null");
            return (Criteria) this;
        }

        public Criteria andCouponSourceEqualTo(Integer value) {
            addCriterion("coupon_source =", value, "couponSource");
            return (Criteria) this;
        }

        public Criteria andCouponSourceNotEqualTo(Integer value) {
            addCriterion("coupon_source <>", value, "couponSource");
            return (Criteria) this;
        }

        public Criteria andCouponSourceGreaterThan(Integer value) {
            addCriterion("coupon_source >", value, "couponSource");
            return (Criteria) this;
        }

        public Criteria andCouponSourceGreaterThanOrEqualTo(Integer value) {
            addCriterion("coupon_source >=", value, "couponSource");
            return (Criteria) this;
        }

        public Criteria andCouponSourceLessThan(Integer value) {
            addCriterion("coupon_source <", value, "couponSource");
            return (Criteria) this;
        }

        public Criteria andCouponSourceLessThanOrEqualTo(Integer value) {
            addCriterion("coupon_source <=", value, "couponSource");
            return (Criteria) this;
        }

        public Criteria andCouponSourceIn(List<Integer> values) {
            addCriterion("coupon_source in", values, "couponSource");
            return (Criteria) this;
        }

        public Criteria andCouponSourceNotIn(List<Integer> values) {
            addCriterion("coupon_source not in", values, "couponSource");
            return (Criteria) this;
        }

        public Criteria andCouponSourceBetween(Integer value1, Integer value2) {
            addCriterion("coupon_source between", value1, value2, "couponSource");
            return (Criteria) this;
        }

        public Criteria andCouponSourceNotBetween(Integer value1, Integer value2) {
            addCriterion("coupon_source not between", value1, value2, "couponSource");
            return (Criteria) this;
        }

        public Criteria andDistributorIsNull() {
            addCriterion("distributor is null");
            return (Criteria) this;
        }

        public Criteria andDistributorIsNotNull() {
            addCriterion("distributor is not null");
            return (Criteria) this;
        }

        public Criteria andDistributorEqualTo(Integer value) {
            addCriterion("distributor =", value, "distributor");
            return (Criteria) this;
        }

        public Criteria andDistributorNotEqualTo(Integer value) {
            addCriterion("distributor <>", value, "distributor");
            return (Criteria) this;
        }

        public Criteria andDistributorGreaterThan(Integer value) {
            addCriterion("distributor >", value, "distributor");
            return (Criteria) this;
        }

        public Criteria andDistributorGreaterThanOrEqualTo(Integer value) {
            addCriterion("distributor >=", value, "distributor");
            return (Criteria) this;
        }

        public Criteria andDistributorLessThan(Integer value) {
            addCriterion("distributor <", value, "distributor");
            return (Criteria) this;
        }

        public Criteria andDistributorLessThanOrEqualTo(Integer value) {
            addCriterion("distributor <=", value, "distributor");
            return (Criteria) this;
        }

        public Criteria andDistributorIn(List<Integer> values) {
            addCriterion("distributor in", values, "distributor");
            return (Criteria) this;
        }

        public Criteria andDistributorNotIn(List<Integer> values) {
            addCriterion("distributor not in", values, "distributor");
            return (Criteria) this;
        }

        public Criteria andDistributorBetween(Integer value1, Integer value2) {
            addCriterion("distributor between", value1, value2, "distributor");
            return (Criteria) this;
        }

        public Criteria andDistributorNotBetween(Integer value1, Integer value2) {
            addCriterion("distributor not between", value1, value2, "distributor");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdIsNull() {
            addCriterion("goods_type_id is null");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdIsNotNull() {
            addCriterion("goods_type_id is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdEqualTo(Integer value) {
            addCriterion("goods_type_id =", value, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdNotEqualTo(Integer value) {
            addCriterion("goods_type_id <>", value, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdGreaterThan(Integer value) {
            addCriterion("goods_type_id >", value, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("goods_type_id >=", value, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdLessThan(Integer value) {
            addCriterion("goods_type_id <", value, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdLessThanOrEqualTo(Integer value) {
            addCriterion("goods_type_id <=", value, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdIn(List<Integer> values) {
            addCriterion("goods_type_id in", values, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdNotIn(List<Integer> values) {
            addCriterion("goods_type_id not in", values, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdBetween(Integer value1, Integer value2) {
            addCriterion("goods_type_id between", value1, value2, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("goods_type_id not between", value1, value2, "goodsTypeId");
            return (Criteria) this;
        }

        public Criteria andBrandIdIsNull() {
            addCriterion("brand_id is null");
            return (Criteria) this;
        }

        public Criteria andBrandIdIsNotNull() {
            addCriterion("brand_id is not null");
            return (Criteria) this;
        }

        public Criteria andBrandIdEqualTo(Integer value) {
            addCriterion("brand_id =", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotEqualTo(Integer value) {
            addCriterion("brand_id <>", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdGreaterThan(Integer value) {
            addCriterion("brand_id >", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("brand_id >=", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdLessThan(Integer value) {
            addCriterion("brand_id <", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdLessThanOrEqualTo(Integer value) {
            addCriterion("brand_id <=", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdIn(List<Integer> values) {
            addCriterion("brand_id in", values, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotIn(List<Integer> values) {
            addCriterion("brand_id not in", values, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdBetween(Integer value1, Integer value2) {
            addCriterion("brand_id between", value1, value2, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotBetween(Integer value1, Integer value2) {
            addCriterion("brand_id not between", value1, value2, "brandId");
            return (Criteria) this;
        }

        public Criteria andReserveStatusIsNull() {
            addCriterion("reserve_status is null");
            return (Criteria) this;
        }

        public Criteria andReserveStatusIsNotNull() {
            addCriterion("reserve_status is not null");
            return (Criteria) this;
        }

        public Criteria andReserveStatusEqualTo(Boolean value) {
            addCriterion("reserve_status =", value, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusNotEqualTo(Boolean value) {
            addCriterion("reserve_status <>", value, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusGreaterThan(Boolean value) {
            addCriterion("reserve_status >", value, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusGreaterThanOrEqualTo(Boolean value) {
            addCriterion("reserve_status >=", value, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusLessThan(Boolean value) {
            addCriterion("reserve_status <", value, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusLessThanOrEqualTo(Boolean value) {
            addCriterion("reserve_status <=", value, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusIn(List<Boolean> values) {
            addCriterion("reserve_status in", values, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusNotIn(List<Boolean> values) {
            addCriterion("reserve_status not in", values, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusBetween(Boolean value1, Boolean value2) {
            addCriterion("reserve_status between", value1, value2, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusNotBetween(Boolean value1, Boolean value2) {
            addCriterion("reserve_status not between", value1, value2, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andBuyPointsIsNull() {
            addCriterion("buy_points is null");
            return (Criteria) this;
        }

        public Criteria andBuyPointsIsNotNull() {
            addCriterion("buy_points is not null");
            return (Criteria) this;
        }

        public Criteria andBuyPointsEqualTo(Boolean value) {
            addCriterion("buy_points =", value, "buyPoints");
            return (Criteria) this;
        }

        public Criteria andBuyPointsNotEqualTo(Boolean value) {
            addCriterion("buy_points <>", value, "buyPoints");
            return (Criteria) this;
        }

        public Criteria andBuyPointsGreaterThan(Boolean value) {
            addCriterion("buy_points >", value, "buyPoints");
            return (Criteria) this;
        }

        public Criteria andBuyPointsGreaterThanOrEqualTo(Boolean value) {
            addCriterion("buy_points >=", value, "buyPoints");
            return (Criteria) this;
        }

        public Criteria andBuyPointsLessThan(Boolean value) {
            addCriterion("buy_points <", value, "buyPoints");
            return (Criteria) this;
        }

        public Criteria andBuyPointsLessThanOrEqualTo(Boolean value) {
            addCriterion("buy_points <=", value, "buyPoints");
            return (Criteria) this;
        }

        public Criteria andBuyPointsIn(List<Boolean> values) {
            addCriterion("buy_points in", values, "buyPoints");
            return (Criteria) this;
        }

        public Criteria andBuyPointsNotIn(List<Boolean> values) {
            addCriterion("buy_points not in", values, "buyPoints");
            return (Criteria) this;
        }

        public Criteria andBuyPointsBetween(Boolean value1, Boolean value2) {
            addCriterion("buy_points between", value1, value2, "buyPoints");
            return (Criteria) this;
        }

        public Criteria andBuyPointsNotBetween(Boolean value1, Boolean value2) {
            addCriterion("buy_points not between", value1, value2, "buyPoints");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}