package com.bailuntec.domain.example;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

public class DcBaseSkuExample {
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    protected String orderByClause;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    protected boolean distinct;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    protected List<Criteria> oredCriteria;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    protected Integer offset;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    protected Integer rows;

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    public DcBaseSkuExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    public String getOrderByClause() {
        return orderByClause;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    public boolean isDistinct() {
        return distinct;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public DcBaseSkuExample orderBy(String orderByClause) {
        this.setOrderByClause(orderByClause);
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public DcBaseSkuExample orderBy(String ... orderByClauses) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < orderByClauses.length; i++) {
            sb.append(orderByClauses[i]);
            if (i < orderByClauses.length - 1) {
                sb.append(" , ");
            }
        }
        this.setOrderByClause(sb.toString());
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria(this);
        return criteria;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
        rows = null;
        offset = null;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public static Criteria newAndCreateCriteria() {
        DcBaseSkuExample example = new DcBaseSkuExample();
        return example.createCriteria();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public DcBaseSkuExample when(boolean condition, IExampleWhen then) {
        if (condition) {
            then.example(this);
        }
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public DcBaseSkuExample when(boolean condition, IExampleWhen then, IExampleWhen otherwise) {
        if (condition) {
            then.example(this);
        } else {
            otherwise.example(this);
        }
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public Integer getOffset() {
        return this.offset;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public void setRows(Integer rows) {
        this.rows = rows;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public Integer getRows() {
        return this.rows;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public DcBaseSkuExample limit(Integer rows) {
        this.rows = rows;
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public DcBaseSkuExample limit(Integer offset, Integer rows) {
        this.offset = offset;
        this.rows = rows;
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public DcBaseSkuExample page(Integer page, Integer pageSize) {
        this.offset = page * pageSize;
        this.rows = pageSize;
        return this;
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    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(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

        public Criteria andBailunSkuIsNull() {
            addCriterion("bailun_sku is null");
            return (Criteria) this;
        }

        public Criteria andBailunSkuIsNotNull() {
            addCriterion("bailun_sku is not null");
            return (Criteria) this;
        }

        public Criteria andBailunSkuEqualTo(String value) {
            addCriterion("bailun_sku =", value, "bailunSku");
            return (Criteria) this;
        }

        public Criteria andBailunSkuNotEqualTo(String value) {
            addCriterion("bailun_sku <>", value, "bailunSku");
            return (Criteria) this;
        }

        public Criteria andBailunSkuGreaterThan(String value) {
            addCriterion("bailun_sku >", value, "bailunSku");
            return (Criteria) this;
        }

        public Criteria andBailunSkuGreaterThanOrEqualTo(String value) {
            addCriterion("bailun_sku >=", value, "bailunSku");
            return (Criteria) this;
        }

        public Criteria andBailunSkuLessThan(String value) {
            addCriterion("bailun_sku <", value, "bailunSku");
            return (Criteria) this;
        }

        public Criteria andBailunSkuLessThanOrEqualTo(String value) {
            addCriterion("bailun_sku <=", value, "bailunSku");
            return (Criteria) this;
        }

        public Criteria andBailunSkuLike(String value) {
            addCriterion("bailun_sku like", value, "bailunSku");
            return (Criteria) this;
        }

        public Criteria andBailunSkuNotLike(String value) {
            addCriterion("bailun_sku not like", value, "bailunSku");
            return (Criteria) this;
        }

        public Criteria andBailunSkuIn(List<String> values) {
            addCriterion("bailun_sku in", values, "bailunSku");
            return (Criteria) this;
        }

        public Criteria andBailunSkuNotIn(List<String> values) {
            addCriterion("bailun_sku not in", values, "bailunSku");
            return (Criteria) this;
        }

        public Criteria andBailunSkuBetween(String value1, String value2) {
            addCriterion("bailun_sku between", value1, value2, "bailunSku");
            return (Criteria) this;
        }

        public Criteria andBailunSkuNotBetween(String value1, String value2) {
            addCriterion("bailun_sku not between", value1, value2, "bailunSku");
            return (Criteria) this;
        }

        public Criteria andSkuImageIsNull() {
            addCriterion("sku_image is null");
            return (Criteria) this;
        }

        public Criteria andSkuImageIsNotNull() {
            addCriterion("sku_image is not null");
            return (Criteria) this;
        }

        public Criteria andSkuImageEqualTo(String value) {
            addCriterion("sku_image =", value, "skuImage");
            return (Criteria) this;
        }

        public Criteria andSkuImageNotEqualTo(String value) {
            addCriterion("sku_image <>", value, "skuImage");
            return (Criteria) this;
        }

        public Criteria andSkuImageGreaterThan(String value) {
            addCriterion("sku_image >", value, "skuImage");
            return (Criteria) this;
        }

        public Criteria andSkuImageGreaterThanOrEqualTo(String value) {
            addCriterion("sku_image >=", value, "skuImage");
            return (Criteria) this;
        }

        public Criteria andSkuImageLessThan(String value) {
            addCriterion("sku_image <", value, "skuImage");
            return (Criteria) this;
        }

        public Criteria andSkuImageLessThanOrEqualTo(String value) {
            addCriterion("sku_image <=", value, "skuImage");
            return (Criteria) this;
        }

        public Criteria andSkuImageLike(String value) {
            addCriterion("sku_image like", value, "skuImage");
            return (Criteria) this;
        }

        public Criteria andSkuImageNotLike(String value) {
            addCriterion("sku_image not like", value, "skuImage");
            return (Criteria) this;
        }

        public Criteria andSkuImageIn(List<String> values) {
            addCriterion("sku_image in", values, "skuImage");
            return (Criteria) this;
        }

        public Criteria andSkuImageNotIn(List<String> values) {
            addCriterion("sku_image not in", values, "skuImage");
            return (Criteria) this;
        }

        public Criteria andSkuImageBetween(String value1, String value2) {
            addCriterion("sku_image between", value1, value2, "skuImage");
            return (Criteria) this;
        }

        public Criteria andSkuImageNotBetween(String value1, String value2) {
            addCriterion("sku_image not between", value1, value2, "skuImage");
            return (Criteria) this;
        }

        public Criteria andCategoryIdIsNull() {
            addCriterion("category_id is null");
            return (Criteria) this;
        }

        public Criteria andCategoryIdIsNotNull() {
            addCriterion("category_id is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryIdEqualTo(Integer value) {
            addCriterion("category_id =", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotEqualTo(Integer value) {
            addCriterion("category_id <>", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdGreaterThan(Integer value) {
            addCriterion("category_id >", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("category_id >=", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdLessThan(Integer value) {
            addCriterion("category_id <", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdLessThanOrEqualTo(Integer value) {
            addCriterion("category_id <=", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdIn(List<Integer> values) {
            addCriterion("category_id in", values, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotIn(List<Integer> values) {
            addCriterion("category_id not in", values, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdBetween(Integer value1, Integer value2) {
            addCriterion("category_id between", value1, value2, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotBetween(Integer value1, Integer value2) {
            addCriterion("category_id not between", value1, value2, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryNameIsNull() {
            addCriterion("category_name is null");
            return (Criteria) this;
        }

        public Criteria andCategoryNameIsNotNull() {
            addCriterion("category_name is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryNameEqualTo(String value) {
            addCriterion("category_name =", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameNotEqualTo(String value) {
            addCriterion("category_name <>", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameGreaterThan(String value) {
            addCriterion("category_name >", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameGreaterThanOrEqualTo(String value) {
            addCriterion("category_name >=", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameLessThan(String value) {
            addCriterion("category_name <", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameLessThanOrEqualTo(String value) {
            addCriterion("category_name <=", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameLike(String value) {
            addCriterion("category_name like", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameNotLike(String value) {
            addCriterion("category_name not like", value, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameIn(List<String> values) {
            addCriterion("category_name in", values, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameNotIn(List<String> values) {
            addCriterion("category_name not in", values, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameBetween(String value1, String value2) {
            addCriterion("category_name between", value1, value2, "categoryName");
            return (Criteria) this;
        }

        public Criteria andCategoryNameNotBetween(String value1, String value2) {
            addCriterion("category_name not between", value1, value2, "categoryName");
            return (Criteria) this;
        }

        public Criteria andWarehouseCodeIsNull() {
            addCriterion("warehouse_code is null");
            return (Criteria) this;
        }

        public Criteria andWarehouseCodeIsNotNull() {
            addCriterion("warehouse_code is not null");
            return (Criteria) this;
        }

        public Criteria andWarehouseCodeEqualTo(String value) {
            addCriterion("warehouse_code =", value, "warehouseCode");
            return (Criteria) this;
        }

        public Criteria andWarehouseCodeNotEqualTo(String value) {
            addCriterion("warehouse_code <>", value, "warehouseCode");
            return (Criteria) this;
        }

        public Criteria andWarehouseCodeGreaterThan(String value) {
            addCriterion("warehouse_code >", value, "warehouseCode");
            return (Criteria) this;
        }

        public Criteria andWarehouseCodeGreaterThanOrEqualTo(String value) {
            addCriterion("warehouse_code >=", value, "warehouseCode");
            return (Criteria) this;
        }

        public Criteria andWarehouseCodeLessThan(String value) {
            addCriterion("warehouse_code <", value, "warehouseCode");
            return (Criteria) this;
        }

        public Criteria andWarehouseCodeLessThanOrEqualTo(String value) {
            addCriterion("warehouse_code <=", value, "warehouseCode");
            return (Criteria) this;
        }

        public Criteria andWarehouseCodeLike(String value) {
            addCriterion("warehouse_code like", value, "warehouseCode");
            return (Criteria) this;
        }

        public Criteria andWarehouseCodeNotLike(String value) {
            addCriterion("warehouse_code not like", value, "warehouseCode");
            return (Criteria) this;
        }

        public Criteria andWarehouseCodeIn(List<String> values) {
            addCriterion("warehouse_code in", values, "warehouseCode");
            return (Criteria) this;
        }

        public Criteria andWarehouseCodeNotIn(List<String> values) {
            addCriterion("warehouse_code not in", values, "warehouseCode");
            return (Criteria) this;
        }

        public Criteria andWarehouseCodeBetween(String value1, String value2) {
            addCriterion("warehouse_code between", value1, value2, "warehouseCode");
            return (Criteria) this;
        }

        public Criteria andWarehouseCodeNotBetween(String value1, String value2) {
            addCriterion("warehouse_code not between", value1, value2, "warehouseCode");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameIsNull() {
            addCriterion("warehouse_name is null");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameIsNotNull() {
            addCriterion("warehouse_name is not null");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameEqualTo(String value) {
            addCriterion("warehouse_name =", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameNotEqualTo(String value) {
            addCriterion("warehouse_name <>", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameGreaterThan(String value) {
            addCriterion("warehouse_name >", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameGreaterThanOrEqualTo(String value) {
            addCriterion("warehouse_name >=", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameLessThan(String value) {
            addCriterion("warehouse_name <", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameLessThanOrEqualTo(String value) {
            addCriterion("warehouse_name <=", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameLike(String value) {
            addCriterion("warehouse_name like", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameNotLike(String value) {
            addCriterion("warehouse_name not like", value, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameIn(List<String> values) {
            addCriterion("warehouse_name in", values, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameNotIn(List<String> values) {
            addCriterion("warehouse_name not in", values, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameBetween(String value1, String value2) {
            addCriterion("warehouse_name between", value1, value2, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andWarehouseNameNotBetween(String value1, String value2) {
            addCriterion("warehouse_name not between", value1, value2, "warehouseName");
            return (Criteria) this;
        }

        public Criteria andUnitPriceIsNull() {
            addCriterion("unit_price is null");
            return (Criteria) this;
        }

        public Criteria andUnitPriceIsNotNull() {
            addCriterion("unit_price is not null");
            return (Criteria) this;
        }

        public Criteria andUnitPriceEqualTo(BigDecimal value) {
            addCriterion("unit_price =", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceNotEqualTo(BigDecimal value) {
            addCriterion("unit_price <>", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceGreaterThan(BigDecimal value) {
            addCriterion("unit_price >", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("unit_price >=", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceLessThan(BigDecimal value) {
            addCriterion("unit_price <", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("unit_price <=", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceIn(List<BigDecimal> values) {
            addCriterion("unit_price in", values, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceNotIn(List<BigDecimal> values) {
            addCriterion("unit_price not in", values, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("unit_price between", value1, value2, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("unit_price not between", value1, value2, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andSellerIdIsNull() {
            addCriterion("seller_id is null");
            return (Criteria) this;
        }

        public Criteria andSellerIdIsNotNull() {
            addCriterion("seller_id is not null");
            return (Criteria) this;
        }

        public Criteria andSellerIdEqualTo(Integer value) {
            addCriterion("seller_id =", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdNotEqualTo(Integer value) {
            addCriterion("seller_id <>", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdGreaterThan(Integer value) {
            addCriterion("seller_id >", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("seller_id >=", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdLessThan(Integer value) {
            addCriterion("seller_id <", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdLessThanOrEqualTo(Integer value) {
            addCriterion("seller_id <=", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdIn(List<Integer> values) {
            addCriterion("seller_id in", values, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdNotIn(List<Integer> values) {
            addCriterion("seller_id not in", values, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdBetween(Integer value1, Integer value2) {
            addCriterion("seller_id between", value1, value2, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdNotBetween(Integer value1, Integer value2) {
            addCriterion("seller_id not between", value1, value2, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerNameIsNull() {
            addCriterion("seller_name is null");
            return (Criteria) this;
        }

        public Criteria andSellerNameIsNotNull() {
            addCriterion("seller_name is not null");
            return (Criteria) this;
        }

        public Criteria andSellerNameEqualTo(String value) {
            addCriterion("seller_name =", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameNotEqualTo(String value) {
            addCriterion("seller_name <>", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameGreaterThan(String value) {
            addCriterion("seller_name >", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameGreaterThanOrEqualTo(String value) {
            addCriterion("seller_name >=", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameLessThan(String value) {
            addCriterion("seller_name <", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameLessThanOrEqualTo(String value) {
            addCriterion("seller_name <=", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameLike(String value) {
            addCriterion("seller_name like", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameNotLike(String value) {
            addCriterion("seller_name not like", value, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameIn(List<String> values) {
            addCriterion("seller_name in", values, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameNotIn(List<String> values) {
            addCriterion("seller_name not in", values, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameBetween(String value1, String value2) {
            addCriterion("seller_name between", value1, value2, "sellerName");
            return (Criteria) this;
        }

        public Criteria andSellerNameNotBetween(String value1, String value2) {
            addCriterion("seller_name not between", value1, value2, "sellerName");
            return (Criteria) this;
        }

        public Criteria andLengthIsNull() {
            addCriterion("length is null");
            return (Criteria) this;
        }

        public Criteria andLengthIsNotNull() {
            addCriterion("length is not null");
            return (Criteria) this;
        }

        public Criteria andLengthEqualTo(BigDecimal value) {
            addCriterion("length =", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthNotEqualTo(BigDecimal value) {
            addCriterion("length <>", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthGreaterThan(BigDecimal value) {
            addCriterion("length >", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("length >=", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthLessThan(BigDecimal value) {
            addCriterion("length <", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthLessThanOrEqualTo(BigDecimal value) {
            addCriterion("length <=", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthIn(List<BigDecimal> values) {
            addCriterion("length in", values, "length");
            return (Criteria) this;
        }

        public Criteria andLengthNotIn(List<BigDecimal> values) {
            addCriterion("length not in", values, "length");
            return (Criteria) this;
        }

        public Criteria andLengthBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("length between", value1, value2, "length");
            return (Criteria) this;
        }

        public Criteria andLengthNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("length not between", value1, value2, "length");
            return (Criteria) this;
        }

        public Criteria andWidthIsNull() {
            addCriterion("width is null");
            return (Criteria) this;
        }

        public Criteria andWidthIsNotNull() {
            addCriterion("width is not null");
            return (Criteria) this;
        }

        public Criteria andWidthEqualTo(BigDecimal value) {
            addCriterion("width =", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthNotEqualTo(BigDecimal value) {
            addCriterion("width <>", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthGreaterThan(BigDecimal value) {
            addCriterion("width >", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("width >=", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthLessThan(BigDecimal value) {
            addCriterion("width <", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthLessThanOrEqualTo(BigDecimal value) {
            addCriterion("width <=", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthIn(List<BigDecimal> values) {
            addCriterion("width in", values, "width");
            return (Criteria) this;
        }

        public Criteria andWidthNotIn(List<BigDecimal> values) {
            addCriterion("width not in", values, "width");
            return (Criteria) this;
        }

        public Criteria andWidthBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("width between", value1, value2, "width");
            return (Criteria) this;
        }

        public Criteria andWidthNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("width not between", value1, value2, "width");
            return (Criteria) this;
        }

        public Criteria andHeightIsNull() {
            addCriterion("height is null");
            return (Criteria) this;
        }

        public Criteria andHeightIsNotNull() {
            addCriterion("height is not null");
            return (Criteria) this;
        }

        public Criteria andHeightEqualTo(BigDecimal value) {
            addCriterion("height =", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightNotEqualTo(BigDecimal value) {
            addCriterion("height <>", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightGreaterThan(BigDecimal value) {
            addCriterion("height >", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("height >=", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightLessThan(BigDecimal value) {
            addCriterion("height <", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightLessThanOrEqualTo(BigDecimal value) {
            addCriterion("height <=", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightIn(List<BigDecimal> values) {
            addCriterion("height in", values, "height");
            return (Criteria) this;
        }

        public Criteria andHeightNotIn(List<BigDecimal> values) {
            addCriterion("height not in", values, "height");
            return (Criteria) this;
        }

        public Criteria andHeightBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("height between", value1, value2, "height");
            return (Criteria) this;
        }

        public Criteria andHeightNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("height not between", value1, value2, "height");
            return (Criteria) this;
        }

        public Criteria andWeightIsNull() {
            addCriterion("weight is null");
            return (Criteria) this;
        }

        public Criteria andWeightIsNotNull() {
            addCriterion("weight is not null");
            return (Criteria) this;
        }

        public Criteria andWeightEqualTo(BigDecimal value) {
            addCriterion("weight =", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightNotEqualTo(BigDecimal value) {
            addCriterion("weight <>", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightGreaterThan(BigDecimal value) {
            addCriterion("weight >", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("weight >=", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightLessThan(BigDecimal value) {
            addCriterion("weight <", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightLessThanOrEqualTo(BigDecimal value) {
            addCriterion("weight <=", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightIn(List<BigDecimal> values) {
            addCriterion("weight in", values, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightNotIn(List<BigDecimal> values) {
            addCriterion("weight not in", values, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("weight between", value1, value2, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("weight not between", value1, value2, "weight");
            return (Criteria) this;
        }

        public Criteria andMoqIsNull() {
            addCriterion("moq is null");
            return (Criteria) this;
        }

        public Criteria andMoqIsNotNull() {
            addCriterion("moq is not null");
            return (Criteria) this;
        }

        public Criteria andMoqEqualTo(Integer value) {
            addCriterion("moq =", value, "moq");
            return (Criteria) this;
        }

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

        public Criteria andMoqGreaterThan(Integer value) {
            addCriterion("moq >", value, "moq");
            return (Criteria) this;
        }

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

        public Criteria andMoqLessThan(Integer value) {
            addCriterion("moq <", value, "moq");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andSkuTitleCnIsNull() {
            addCriterion("sku_title_cn is null");
            return (Criteria) this;
        }

        public Criteria andSkuTitleCnIsNotNull() {
            addCriterion("sku_title_cn is not null");
            return (Criteria) this;
        }

        public Criteria andSkuTitleCnEqualTo(String value) {
            addCriterion("sku_title_cn =", value, "skuTitleCn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleCnNotEqualTo(String value) {
            addCriterion("sku_title_cn <>", value, "skuTitleCn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleCnGreaterThan(String value) {
            addCriterion("sku_title_cn >", value, "skuTitleCn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleCnGreaterThanOrEqualTo(String value) {
            addCriterion("sku_title_cn >=", value, "skuTitleCn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleCnLessThan(String value) {
            addCriterion("sku_title_cn <", value, "skuTitleCn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleCnLessThanOrEqualTo(String value) {
            addCriterion("sku_title_cn <=", value, "skuTitleCn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleCnLike(String value) {
            addCriterion("sku_title_cn like", value, "skuTitleCn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleCnNotLike(String value) {
            addCriterion("sku_title_cn not like", value, "skuTitleCn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleCnIn(List<String> values) {
            addCriterion("sku_title_cn in", values, "skuTitleCn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleCnNotIn(List<String> values) {
            addCriterion("sku_title_cn not in", values, "skuTitleCn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleCnBetween(String value1, String value2) {
            addCriterion("sku_title_cn between", value1, value2, "skuTitleCn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleCnNotBetween(String value1, String value2) {
            addCriterion("sku_title_cn not between", value1, value2, "skuTitleCn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleEnIsNull() {
            addCriterion("sku_title_en is null");
            return (Criteria) this;
        }

        public Criteria andSkuTitleEnIsNotNull() {
            addCriterion("sku_title_en is not null");
            return (Criteria) this;
        }

        public Criteria andSkuTitleEnEqualTo(String value) {
            addCriterion("sku_title_en =", value, "skuTitleEn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleEnNotEqualTo(String value) {
            addCriterion("sku_title_en <>", value, "skuTitleEn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleEnGreaterThan(String value) {
            addCriterion("sku_title_en >", value, "skuTitleEn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleEnGreaterThanOrEqualTo(String value) {
            addCriterion("sku_title_en >=", value, "skuTitleEn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleEnLessThan(String value) {
            addCriterion("sku_title_en <", value, "skuTitleEn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleEnLessThanOrEqualTo(String value) {
            addCriterion("sku_title_en <=", value, "skuTitleEn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleEnLike(String value) {
            addCriterion("sku_title_en like", value, "skuTitleEn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleEnNotLike(String value) {
            addCriterion("sku_title_en not like", value, "skuTitleEn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleEnIn(List<String> values) {
            addCriterion("sku_title_en in", values, "skuTitleEn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleEnNotIn(List<String> values) {
            addCriterion("sku_title_en not in", values, "skuTitleEn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleEnBetween(String value1, String value2) {
            addCriterion("sku_title_en between", value1, value2, "skuTitleEn");
            return (Criteria) this;
        }

        public Criteria andSkuTitleEnNotBetween(String value1, String value2) {
            addCriterion("sku_title_en not between", value1, value2, "skuTitleEn");
            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(LocalDateTime value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

        public Criteria andCreateTimeNotBetween(LocalDateTime value1, LocalDateTime 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(LocalDateTime value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

        public Criteria andGmtCreateIsNull() {
            addCriterion("gmt_create is null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIsNotNull() {
            addCriterion("gmt_create is not null");
            return (Criteria) this;
        }

        public Criteria andGmtCreateEqualTo(LocalDateTime value) {
            addCriterion("gmt_create =", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotEqualTo(LocalDateTime value) {
            addCriterion("gmt_create <>", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThan(LocalDateTime value) {
            addCriterion("gmt_create >", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("gmt_create >=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThan(LocalDateTime value) {
            addCriterion("gmt_create <", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("gmt_create <=", value, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateIn(List<LocalDateTime> values) {
            addCriterion("gmt_create in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotIn(List<LocalDateTime> values) {
            addCriterion("gmt_create not in", values, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("gmt_create between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtCreateNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("gmt_create not between", value1, value2, "gmtCreate");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNull() {
            addCriterion("gmt_modified is null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIsNotNull() {
            addCriterion("gmt_modified is not null");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedEqualTo(LocalDateTime value) {
            addCriterion("gmt_modified =", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotEqualTo(LocalDateTime value) {
            addCriterion("gmt_modified <>", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThan(LocalDateTime value) {
            addCriterion("gmt_modified >", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("gmt_modified >=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThan(LocalDateTime value) {
            addCriterion("gmt_modified <", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("gmt_modified <=", value, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedIn(List<LocalDateTime> values) {
            addCriterion("gmt_modified in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotIn(List<LocalDateTime> values) {
            addCriterion("gmt_modified not in", values, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("gmt_modified between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andGmtModifiedNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("gmt_modified not between", value1, value2, "gmtModified");
            return (Criteria) this;
        }

        public Criteria andSuppliersIdIsNull() {
            addCriterion("suppliers_id is null");
            return (Criteria) this;
        }

        public Criteria andSuppliersIdIsNotNull() {
            addCriterion("suppliers_id is not null");
            return (Criteria) this;
        }

        public Criteria andSuppliersIdEqualTo(Integer value) {
            addCriterion("suppliers_id =", value, "suppliersId");
            return (Criteria) this;
        }

        public Criteria andSuppliersIdNotEqualTo(Integer value) {
            addCriterion("suppliers_id <>", value, "suppliersId");
            return (Criteria) this;
        }

        public Criteria andSuppliersIdGreaterThan(Integer value) {
            addCriterion("suppliers_id >", value, "suppliersId");
            return (Criteria) this;
        }

        public Criteria andSuppliersIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("suppliers_id >=", value, "suppliersId");
            return (Criteria) this;
        }

        public Criteria andSuppliersIdLessThan(Integer value) {
            addCriterion("suppliers_id <", value, "suppliersId");
            return (Criteria) this;
        }

        public Criteria andSuppliersIdLessThanOrEqualTo(Integer value) {
            addCriterion("suppliers_id <=", value, "suppliersId");
            return (Criteria) this;
        }

        public Criteria andSuppliersIdIn(List<Integer> values) {
            addCriterion("suppliers_id in", values, "suppliersId");
            return (Criteria) this;
        }

        public Criteria andSuppliersIdNotIn(List<Integer> values) {
            addCriterion("suppliers_id not in", values, "suppliersId");
            return (Criteria) this;
        }

        public Criteria andSuppliersIdBetween(Integer value1, Integer value2) {
            addCriterion("suppliers_id between", value1, value2, "suppliersId");
            return (Criteria) this;
        }

        public Criteria andSuppliersIdNotBetween(Integer value1, Integer value2) {
            addCriterion("suppliers_id not between", value1, value2, "suppliersId");
            return (Criteria) this;
        }

        public Criteria andSuppliersNameIsNull() {
            addCriterion("suppliers_name is null");
            return (Criteria) this;
        }

        public Criteria andSuppliersNameIsNotNull() {
            addCriterion("suppliers_name is not null");
            return (Criteria) this;
        }

        public Criteria andSuppliersNameEqualTo(String value) {
            addCriterion("suppliers_name =", value, "suppliersName");
            return (Criteria) this;
        }

        public Criteria andSuppliersNameNotEqualTo(String value) {
            addCriterion("suppliers_name <>", value, "suppliersName");
            return (Criteria) this;
        }

        public Criteria andSuppliersNameGreaterThan(String value) {
            addCriterion("suppliers_name >", value, "suppliersName");
            return (Criteria) this;
        }

        public Criteria andSuppliersNameGreaterThanOrEqualTo(String value) {
            addCriterion("suppliers_name >=", value, "suppliersName");
            return (Criteria) this;
        }

        public Criteria andSuppliersNameLessThan(String value) {
            addCriterion("suppliers_name <", value, "suppliersName");
            return (Criteria) this;
        }

        public Criteria andSuppliersNameLessThanOrEqualTo(String value) {
            addCriterion("suppliers_name <=", value, "suppliersName");
            return (Criteria) this;
        }

        public Criteria andSuppliersNameLike(String value) {
            addCriterion("suppliers_name like", value, "suppliersName");
            return (Criteria) this;
        }

        public Criteria andSuppliersNameNotLike(String value) {
            addCriterion("suppliers_name not like", value, "suppliersName");
            return (Criteria) this;
        }

        public Criteria andSuppliersNameIn(List<String> values) {
            addCriterion("suppliers_name in", values, "suppliersName");
            return (Criteria) this;
        }

        public Criteria andSuppliersNameNotIn(List<String> values) {
            addCriterion("suppliers_name not in", values, "suppliersName");
            return (Criteria) this;
        }

        public Criteria andSuppliersNameBetween(String value1, String value2) {
            addCriterion("suppliers_name between", value1, value2, "suppliersName");
            return (Criteria) this;
        }

        public Criteria andSuppliersNameNotBetween(String value1, String value2) {
            addCriterion("suppliers_name not between", value1, value2, "suppliersName");
            return (Criteria) this;
        }

        public Criteria andSupplierDeliveryIsNull() {
            addCriterion("supplier_delivery is null");
            return (Criteria) this;
        }

        public Criteria andSupplierDeliveryIsNotNull() {
            addCriterion("supplier_delivery is not null");
            return (Criteria) this;
        }

        public Criteria andSupplierDeliveryEqualTo(Integer value) {
            addCriterion("supplier_delivery =", value, "supplierDelivery");
            return (Criteria) this;
        }

        public Criteria andSupplierDeliveryNotEqualTo(Integer value) {
            addCriterion("supplier_delivery <>", value, "supplierDelivery");
            return (Criteria) this;
        }

        public Criteria andSupplierDeliveryGreaterThan(Integer value) {
            addCriterion("supplier_delivery >", value, "supplierDelivery");
            return (Criteria) this;
        }

        public Criteria andSupplierDeliveryGreaterThanOrEqualTo(Integer value) {
            addCriterion("supplier_delivery >=", value, "supplierDelivery");
            return (Criteria) this;
        }

        public Criteria andSupplierDeliveryLessThan(Integer value) {
            addCriterion("supplier_delivery <", value, "supplierDelivery");
            return (Criteria) this;
        }

        public Criteria andSupplierDeliveryLessThanOrEqualTo(Integer value) {
            addCriterion("supplier_delivery <=", value, "supplierDelivery");
            return (Criteria) this;
        }

        public Criteria andSupplierDeliveryIn(List<Integer> values) {
            addCriterion("supplier_delivery in", values, "supplierDelivery");
            return (Criteria) this;
        }

        public Criteria andSupplierDeliveryNotIn(List<Integer> values) {
            addCriterion("supplier_delivery not in", values, "supplierDelivery");
            return (Criteria) this;
        }

        public Criteria andSupplierDeliveryBetween(Integer value1, Integer value2) {
            addCriterion("supplier_delivery between", value1, value2, "supplierDelivery");
            return (Criteria) this;
        }

        public Criteria andSupplierDeliveryNotBetween(Integer value1, Integer value2) {
            addCriterion("supplier_delivery not between", value1, value2, "supplierDelivery");
            return (Criteria) this;
        }

        public Criteria andCurrencyIsNull() {
            addCriterion("currency is null");
            return (Criteria) this;
        }

        public Criteria andCurrencyIsNotNull() {
            addCriterion("currency is not null");
            return (Criteria) this;
        }

        public Criteria andCurrencyEqualTo(String value) {
            addCriterion("currency =", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyNotEqualTo(String value) {
            addCriterion("currency <>", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyGreaterThan(String value) {
            addCriterion("currency >", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyGreaterThanOrEqualTo(String value) {
            addCriterion("currency >=", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyLessThan(String value) {
            addCriterion("currency <", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyLessThanOrEqualTo(String value) {
            addCriterion("currency <=", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyLike(String value) {
            addCriterion("currency like", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyNotLike(String value) {
            addCriterion("currency not like", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyIn(List<String> values) {
            addCriterion("currency in", values, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyNotIn(List<String> values) {
            addCriterion("currency not in", values, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyBetween(String value1, String value2) {
            addCriterion("currency between", value1, value2, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyNotBetween(String value1, String value2) {
            addCriterion("currency not between", value1, value2, "currency");
            return (Criteria) this;
        }

        public Criteria andBuyerNameIsNull() {
            addCriterion("buyer_name is null");
            return (Criteria) this;
        }

        public Criteria andBuyerNameIsNotNull() {
            addCriterion("buyer_name is not null");
            return (Criteria) this;
        }

        public Criteria andBuyerNameEqualTo(String value) {
            addCriterion("buyer_name =", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameNotEqualTo(String value) {
            addCriterion("buyer_name <>", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameGreaterThan(String value) {
            addCriterion("buyer_name >", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameGreaterThanOrEqualTo(String value) {
            addCriterion("buyer_name >=", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameLessThan(String value) {
            addCriterion("buyer_name <", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameLessThanOrEqualTo(String value) {
            addCriterion("buyer_name <=", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameLike(String value) {
            addCriterion("buyer_name like", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameNotLike(String value) {
            addCriterion("buyer_name not like", value, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameIn(List<String> values) {
            addCriterion("buyer_name in", values, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameNotIn(List<String> values) {
            addCriterion("buyer_name not in", values, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameBetween(String value1, String value2) {
            addCriterion("buyer_name between", value1, value2, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerNameNotBetween(String value1, String value2) {
            addCriterion("buyer_name not between", value1, value2, "buyerName");
            return (Criteria) this;
        }

        public Criteria andBuyerIdIsNull() {
            addCriterion("buyer_id is null");
            return (Criteria) this;
        }

        public Criteria andBuyerIdIsNotNull() {
            addCriterion("buyer_id is not null");
            return (Criteria) this;
        }

        public Criteria andBuyerIdEqualTo(Integer value) {
            addCriterion("buyer_id =", value, "buyerId");
            return (Criteria) this;
        }

        public Criteria andBuyerIdNotEqualTo(Integer value) {
            addCriterion("buyer_id <>", value, "buyerId");
            return (Criteria) this;
        }

        public Criteria andBuyerIdGreaterThan(Integer value) {
            addCriterion("buyer_id >", value, "buyerId");
            return (Criteria) this;
        }

        public Criteria andBuyerIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("buyer_id >=", value, "buyerId");
            return (Criteria) this;
        }

        public Criteria andBuyerIdLessThan(Integer value) {
            addCriterion("buyer_id <", value, "buyerId");
            return (Criteria) this;
        }

        public Criteria andBuyerIdLessThanOrEqualTo(Integer value) {
            addCriterion("buyer_id <=", value, "buyerId");
            return (Criteria) this;
        }

        public Criteria andBuyerIdIn(List<Integer> values) {
            addCriterion("buyer_id in", values, "buyerId");
            return (Criteria) this;
        }

        public Criteria andBuyerIdNotIn(List<Integer> values) {
            addCriterion("buyer_id not in", values, "buyerId");
            return (Criteria) this;
        }

        public Criteria andBuyerIdBetween(Integer value1, Integer value2) {
            addCriterion("buyer_id between", value1, value2, "buyerId");
            return (Criteria) this;
        }

        public Criteria andBuyerIdNotBetween(Integer value1, Integer value2) {
            addCriterion("buyer_id not between", value1, value2, "buyerId");
            return (Criteria) this;
        }

        public Criteria andInternalMoqIsNull() {
            addCriterion("internal_moq is null");
            return (Criteria) this;
        }

        public Criteria andInternalMoqIsNotNull() {
            addCriterion("internal_moq is not null");
            return (Criteria) this;
        }

        public Criteria andInternalMoqEqualTo(Integer value) {
            addCriterion("internal_moq =", value, "internalMoq");
            return (Criteria) this;
        }

        public Criteria andInternalMoqNotEqualTo(Integer value) {
            addCriterion("internal_moq <>", value, "internalMoq");
            return (Criteria) this;
        }

        public Criteria andInternalMoqGreaterThan(Integer value) {
            addCriterion("internal_moq >", value, "internalMoq");
            return (Criteria) this;
        }

        public Criteria andInternalMoqGreaterThanOrEqualTo(Integer value) {
            addCriterion("internal_moq >=", value, "internalMoq");
            return (Criteria) this;
        }

        public Criteria andInternalMoqLessThan(Integer value) {
            addCriterion("internal_moq <", value, "internalMoq");
            return (Criteria) this;
        }

        public Criteria andInternalMoqLessThanOrEqualTo(Integer value) {
            addCriterion("internal_moq <=", value, "internalMoq");
            return (Criteria) this;
        }

        public Criteria andInternalMoqIn(List<Integer> values) {
            addCriterion("internal_moq in", values, "internalMoq");
            return (Criteria) this;
        }

        public Criteria andInternalMoqNotIn(List<Integer> values) {
            addCriterion("internal_moq not in", values, "internalMoq");
            return (Criteria) this;
        }

        public Criteria andInternalMoqBetween(Integer value1, Integer value2) {
            addCriterion("internal_moq between", value1, value2, "internalMoq");
            return (Criteria) this;
        }

        public Criteria andInternalMoqNotBetween(Integer value1, Integer value2) {
            addCriterion("internal_moq not between", value1, value2, "internalMoq");
            return (Criteria) this;
        }

        public Criteria andBussinessIdIsNull() {
            addCriterion("bussiness_id is null");
            return (Criteria) this;
        }

        public Criteria andBussinessIdIsNotNull() {
            addCriterion("bussiness_id is not null");
            return (Criteria) this;
        }

        public Criteria andBussinessIdEqualTo(Integer value) {
            addCriterion("bussiness_id =", value, "bussinessId");
            return (Criteria) this;
        }

        public Criteria andBussinessIdNotEqualTo(Integer value) {
            addCriterion("bussiness_id <>", value, "bussinessId");
            return (Criteria) this;
        }

        public Criteria andBussinessIdGreaterThan(Integer value) {
            addCriterion("bussiness_id >", value, "bussinessId");
            return (Criteria) this;
        }

        public Criteria andBussinessIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("bussiness_id >=", value, "bussinessId");
            return (Criteria) this;
        }

        public Criteria andBussinessIdLessThan(Integer value) {
            addCriterion("bussiness_id <", value, "bussinessId");
            return (Criteria) this;
        }

        public Criteria andBussinessIdLessThanOrEqualTo(Integer value) {
            addCriterion("bussiness_id <=", value, "bussinessId");
            return (Criteria) this;
        }

        public Criteria andBussinessIdIn(List<Integer> values) {
            addCriterion("bussiness_id in", values, "bussinessId");
            return (Criteria) this;
        }

        public Criteria andBussinessIdNotIn(List<Integer> values) {
            addCriterion("bussiness_id not in", values, "bussinessId");
            return (Criteria) this;
        }

        public Criteria andBussinessIdBetween(Integer value1, Integer value2) {
            addCriterion("bussiness_id between", value1, value2, "bussinessId");
            return (Criteria) this;
        }

        public Criteria andBussinessIdNotBetween(Integer value1, Integer value2) {
            addCriterion("bussiness_id not between", value1, value2, "bussinessId");
            return (Criteria) this;
        }

        public Criteria andBussinessNameIsNull() {
            addCriterion("bussiness_name is null");
            return (Criteria) this;
        }

        public Criteria andBussinessNameIsNotNull() {
            addCriterion("bussiness_name is not null");
            return (Criteria) this;
        }

        public Criteria andBussinessNameEqualTo(String value) {
            addCriterion("bussiness_name =", value, "bussinessName");
            return (Criteria) this;
        }

        public Criteria andBussinessNameNotEqualTo(String value) {
            addCriterion("bussiness_name <>", value, "bussinessName");
            return (Criteria) this;
        }

        public Criteria andBussinessNameGreaterThan(String value) {
            addCriterion("bussiness_name >", value, "bussinessName");
            return (Criteria) this;
        }

        public Criteria andBussinessNameGreaterThanOrEqualTo(String value) {
            addCriterion("bussiness_name >=", value, "bussinessName");
            return (Criteria) this;
        }

        public Criteria andBussinessNameLessThan(String value) {
            addCriterion("bussiness_name <", value, "bussinessName");
            return (Criteria) this;
        }

        public Criteria andBussinessNameLessThanOrEqualTo(String value) {
            addCriterion("bussiness_name <=", value, "bussinessName");
            return (Criteria) this;
        }

        public Criteria andBussinessNameLike(String value) {
            addCriterion("bussiness_name like", value, "bussinessName");
            return (Criteria) this;
        }

        public Criteria andBussinessNameNotLike(String value) {
            addCriterion("bussiness_name not like", value, "bussinessName");
            return (Criteria) this;
        }

        public Criteria andBussinessNameIn(List<String> values) {
            addCriterion("bussiness_name in", values, "bussinessName");
            return (Criteria) this;
        }

        public Criteria andBussinessNameNotIn(List<String> values) {
            addCriterion("bussiness_name not in", values, "bussinessName");
            return (Criteria) this;
        }

        public Criteria andBussinessNameBetween(String value1, String value2) {
            addCriterion("bussiness_name between", value1, value2, "bussinessName");
            return (Criteria) this;
        }

        public Criteria andBussinessNameNotBetween(String value1, String value2) {
            addCriterion("bussiness_name not between", value1, value2, "bussinessName");
            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 andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Integer value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

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

        public Criteria andTypeGreaterThan(Integer value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

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

        public Criteria andTypeLessThan(Integer value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andProductCodeIsNull() {
            addCriterion("product_code is null");
            return (Criteria) this;
        }

        public Criteria andProductCodeIsNotNull() {
            addCriterion("product_code is not null");
            return (Criteria) this;
        }

        public Criteria andProductCodeEqualTo(String value) {
            addCriterion("product_code =", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeNotEqualTo(String value) {
            addCriterion("product_code <>", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeGreaterThan(String value) {
            addCriterion("product_code >", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeGreaterThanOrEqualTo(String value) {
            addCriterion("product_code >=", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeLessThan(String value) {
            addCriterion("product_code <", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeLessThanOrEqualTo(String value) {
            addCriterion("product_code <=", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeLike(String value) {
            addCriterion("product_code like", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeNotLike(String value) {
            addCriterion("product_code not like", value, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeIn(List<String> values) {
            addCriterion("product_code in", values, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeNotIn(List<String> values) {
            addCriterion("product_code not in", values, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeBetween(String value1, String value2) {
            addCriterion("product_code between", value1, value2, "productCode");
            return (Criteria) this;
        }

        public Criteria andProductCodeNotBetween(String value1, String value2) {
            addCriterion("product_code not between", value1, value2, "productCode");
            return (Criteria) this;
        }

        public Criteria andBailunInnerSkuIsNull() {
            addCriterion("bailun_inner_sku is null");
            return (Criteria) this;
        }

        public Criteria andBailunInnerSkuIsNotNull() {
            addCriterion("bailun_inner_sku is not null");
            return (Criteria) this;
        }

        public Criteria andBailunInnerSkuEqualTo(String value) {
            addCriterion("bailun_inner_sku =", value, "bailunInnerSku");
            return (Criteria) this;
        }

        public Criteria andBailunInnerSkuNotEqualTo(String value) {
            addCriterion("bailun_inner_sku <>", value, "bailunInnerSku");
            return (Criteria) this;
        }

        public Criteria andBailunInnerSkuGreaterThan(String value) {
            addCriterion("bailun_inner_sku >", value, "bailunInnerSku");
            return (Criteria) this;
        }

        public Criteria andBailunInnerSkuGreaterThanOrEqualTo(String value) {
            addCriterion("bailun_inner_sku >=", value, "bailunInnerSku");
            return (Criteria) this;
        }

        public Criteria andBailunInnerSkuLessThan(String value) {
            addCriterion("bailun_inner_sku <", value, "bailunInnerSku");
            return (Criteria) this;
        }

        public Criteria andBailunInnerSkuLessThanOrEqualTo(String value) {
            addCriterion("bailun_inner_sku <=", value, "bailunInnerSku");
            return (Criteria) this;
        }

        public Criteria andBailunInnerSkuLike(String value) {
            addCriterion("bailun_inner_sku like", value, "bailunInnerSku");
            return (Criteria) this;
        }

        public Criteria andBailunInnerSkuNotLike(String value) {
            addCriterion("bailun_inner_sku not like", value, "bailunInnerSku");
            return (Criteria) this;
        }

        public Criteria andBailunInnerSkuIn(List<String> values) {
            addCriterion("bailun_inner_sku in", values, "bailunInnerSku");
            return (Criteria) this;
        }

        public Criteria andBailunInnerSkuNotIn(List<String> values) {
            addCriterion("bailun_inner_sku not in", values, "bailunInnerSku");
            return (Criteria) this;
        }

        public Criteria andBailunInnerSkuBetween(String value1, String value2) {
            addCriterion("bailun_inner_sku between", value1, value2, "bailunInnerSku");
            return (Criteria) this;
        }

        public Criteria andBailunInnerSkuNotBetween(String value1, String value2) {
            addCriterion("bailun_inner_sku not between", value1, value2, "bailunInnerSku");
            return (Criteria) this;
        }

        public Criteria andProductInnerCodeIsNull() {
            addCriterion("product_inner_code is null");
            return (Criteria) this;
        }

        public Criteria andProductInnerCodeIsNotNull() {
            addCriterion("product_inner_code is not null");
            return (Criteria) this;
        }

        public Criteria andProductInnerCodeEqualTo(String value) {
            addCriterion("product_inner_code =", value, "productInnerCode");
            return (Criteria) this;
        }

        public Criteria andProductInnerCodeNotEqualTo(String value) {
            addCriterion("product_inner_code <>", value, "productInnerCode");
            return (Criteria) this;
        }

        public Criteria andProductInnerCodeGreaterThan(String value) {
            addCriterion("product_inner_code >", value, "productInnerCode");
            return (Criteria) this;
        }

        public Criteria andProductInnerCodeGreaterThanOrEqualTo(String value) {
            addCriterion("product_inner_code >=", value, "productInnerCode");
            return (Criteria) this;
        }

        public Criteria andProductInnerCodeLessThan(String value) {
            addCriterion("product_inner_code <", value, "productInnerCode");
            return (Criteria) this;
        }

        public Criteria andProductInnerCodeLessThanOrEqualTo(String value) {
            addCriterion("product_inner_code <=", value, "productInnerCode");
            return (Criteria) this;
        }

        public Criteria andProductInnerCodeLike(String value) {
            addCriterion("product_inner_code like", value, "productInnerCode");
            return (Criteria) this;
        }

        public Criteria andProductInnerCodeNotLike(String value) {
            addCriterion("product_inner_code not like", value, "productInnerCode");
            return (Criteria) this;
        }

        public Criteria andProductInnerCodeIn(List<String> values) {
            addCriterion("product_inner_code in", values, "productInnerCode");
            return (Criteria) this;
        }

        public Criteria andProductInnerCodeNotIn(List<String> values) {
            addCriterion("product_inner_code not in", values, "productInnerCode");
            return (Criteria) this;
        }

        public Criteria andProductInnerCodeBetween(String value1, String value2) {
            addCriterion("product_inner_code between", value1, value2, "productInnerCode");
            return (Criteria) this;
        }

        public Criteria andProductInnerCodeNotBetween(String value1, String value2) {
            addCriterion("product_inner_code not between", value1, value2, "productInnerCode");
            return (Criteria) this;
        }

        public Criteria andSkumsIdIsNull() {
            addCriterion("skums_id is null");
            return (Criteria) this;
        }

        public Criteria andSkumsIdIsNotNull() {
            addCriterion("skums_id is not null");
            return (Criteria) this;
        }

        public Criteria andSkumsIdEqualTo(Integer value) {
            addCriterion("skums_id =", value, "skumsId");
            return (Criteria) this;
        }

        public Criteria andSkumsIdNotEqualTo(Integer value) {
            addCriterion("skums_id <>", value, "skumsId");
            return (Criteria) this;
        }

        public Criteria andSkumsIdGreaterThan(Integer value) {
            addCriterion("skums_id >", value, "skumsId");
            return (Criteria) this;
        }

        public Criteria andSkumsIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("skums_id >=", value, "skumsId");
            return (Criteria) this;
        }

        public Criteria andSkumsIdLessThan(Integer value) {
            addCriterion("skums_id <", value, "skumsId");
            return (Criteria) this;
        }

        public Criteria andSkumsIdLessThanOrEqualTo(Integer value) {
            addCriterion("skums_id <=", value, "skumsId");
            return (Criteria) this;
        }

        public Criteria andSkumsIdIn(List<Integer> values) {
            addCriterion("skums_id in", values, "skumsId");
            return (Criteria) this;
        }

        public Criteria andSkumsIdNotIn(List<Integer> values) {
            addCriterion("skums_id not in", values, "skumsId");
            return (Criteria) this;
        }

        public Criteria andSkumsIdBetween(Integer value1, Integer value2) {
            addCriterion("skums_id between", value1, value2, "skumsId");
            return (Criteria) this;
        }

        public Criteria andSkumsIdNotBetween(Integer value1, Integer value2) {
            addCriterion("skums_id not between", value1, value2, "skumsId");
            return (Criteria) this;
        }

        public Criteria andSuppliersLinkIsNull() {
            addCriterion("suppliers_link is null");
            return (Criteria) this;
        }

        public Criteria andSuppliersLinkIsNotNull() {
            addCriterion("suppliers_link is not null");
            return (Criteria) this;
        }

        public Criteria andSuppliersLinkEqualTo(String value) {
            addCriterion("suppliers_link =", value, "suppliersLink");
            return (Criteria) this;
        }

        public Criteria andSuppliersLinkNotEqualTo(String value) {
            addCriterion("suppliers_link <>", value, "suppliersLink");
            return (Criteria) this;
        }

        public Criteria andSuppliersLinkGreaterThan(String value) {
            addCriterion("suppliers_link >", value, "suppliersLink");
            return (Criteria) this;
        }

        public Criteria andSuppliersLinkGreaterThanOrEqualTo(String value) {
            addCriterion("suppliers_link >=", value, "suppliersLink");
            return (Criteria) this;
        }

        public Criteria andSuppliersLinkLessThan(String value) {
            addCriterion("suppliers_link <", value, "suppliersLink");
            return (Criteria) this;
        }

        public Criteria andSuppliersLinkLessThanOrEqualTo(String value) {
            addCriterion("suppliers_link <=", value, "suppliersLink");
            return (Criteria) this;
        }

        public Criteria andSuppliersLinkLike(String value) {
            addCriterion("suppliers_link like", value, "suppliersLink");
            return (Criteria) this;
        }

        public Criteria andSuppliersLinkNotLike(String value) {
            addCriterion("suppliers_link not like", value, "suppliersLink");
            return (Criteria) this;
        }

        public Criteria andSuppliersLinkIn(List<String> values) {
            addCriterion("suppliers_link in", values, "suppliersLink");
            return (Criteria) this;
        }

        public Criteria andSuppliersLinkNotIn(List<String> values) {
            addCriterion("suppliers_link not in", values, "suppliersLink");
            return (Criteria) this;
        }

        public Criteria andSuppliersLinkBetween(String value1, String value2) {
            addCriterion("suppliers_link between", value1, value2, "suppliersLink");
            return (Criteria) this;
        }

        public Criteria andSuppliersLinkNotBetween(String value1, String value2) {
            addCriterion("suppliers_link not between", value1, value2, "suppliersLink");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryIdIsNull() {
            addCriterion("bailun_category_id is null");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryIdIsNotNull() {
            addCriterion("bailun_category_id is not null");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryIdEqualTo(Integer value) {
            addCriterion("bailun_category_id =", value, "bailunCategoryId");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryIdNotEqualTo(Integer value) {
            addCriterion("bailun_category_id <>", value, "bailunCategoryId");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryIdGreaterThan(Integer value) {
            addCriterion("bailun_category_id >", value, "bailunCategoryId");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("bailun_category_id >=", value, "bailunCategoryId");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryIdLessThan(Integer value) {
            addCriterion("bailun_category_id <", value, "bailunCategoryId");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryIdLessThanOrEqualTo(Integer value) {
            addCriterion("bailun_category_id <=", value, "bailunCategoryId");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryIdIn(List<Integer> values) {
            addCriterion("bailun_category_id in", values, "bailunCategoryId");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryIdNotIn(List<Integer> values) {
            addCriterion("bailun_category_id not in", values, "bailunCategoryId");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryIdBetween(Integer value1, Integer value2) {
            addCriterion("bailun_category_id between", value1, value2, "bailunCategoryId");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryIdNotBetween(Integer value1, Integer value2) {
            addCriterion("bailun_category_id not between", value1, value2, "bailunCategoryId");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryNameIsNull() {
            addCriterion("bailun_category_name is null");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryNameIsNotNull() {
            addCriterion("bailun_category_name is not null");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryNameEqualTo(String value) {
            addCriterion("bailun_category_name =", value, "bailunCategoryName");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryNameNotEqualTo(String value) {
            addCriterion("bailun_category_name <>", value, "bailunCategoryName");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryNameGreaterThan(String value) {
            addCriterion("bailun_category_name >", value, "bailunCategoryName");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryNameGreaterThanOrEqualTo(String value) {
            addCriterion("bailun_category_name >=", value, "bailunCategoryName");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryNameLessThan(String value) {
            addCriterion("bailun_category_name <", value, "bailunCategoryName");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryNameLessThanOrEqualTo(String value) {
            addCriterion("bailun_category_name <=", value, "bailunCategoryName");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryNameLike(String value) {
            addCriterion("bailun_category_name like", value, "bailunCategoryName");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryNameNotLike(String value) {
            addCriterion("bailun_category_name not like", value, "bailunCategoryName");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryNameIn(List<String> values) {
            addCriterion("bailun_category_name in", values, "bailunCategoryName");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryNameNotIn(List<String> values) {
            addCriterion("bailun_category_name not in", values, "bailunCategoryName");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryNameBetween(String value1, String value2) {
            addCriterion("bailun_category_name between", value1, value2, "bailunCategoryName");
            return (Criteria) this;
        }

        public Criteria andBailunCategoryNameNotBetween(String value1, String value2) {
            addCriterion("bailun_category_name not between", value1, value2, "bailunCategoryName");
            return (Criteria) this;
        }

        public Criteria andColorIsNull() {
            addCriterion("color is null");
            return (Criteria) this;
        }

        public Criteria andColorIsNotNull() {
            addCriterion("color is not null");
            return (Criteria) this;
        }

        public Criteria andColorEqualTo(String value) {
            addCriterion("color =", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotEqualTo(String value) {
            addCriterion("color <>", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorGreaterThan(String value) {
            addCriterion("color >", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorGreaterThanOrEqualTo(String value) {
            addCriterion("color >=", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorLessThan(String value) {
            addCriterion("color <", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorLessThanOrEqualTo(String value) {
            addCriterion("color <=", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorLike(String value) {
            addCriterion("color like", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotLike(String value) {
            addCriterion("color not like", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorIn(List<String> values) {
            addCriterion("color in", values, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotIn(List<String> values) {
            addCriterion("color not in", values, "color");
            return (Criteria) this;
        }

        public Criteria andColorBetween(String value1, String value2) {
            addCriterion("color between", value1, value2, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotBetween(String value1, String value2) {
            addCriterion("color not between", value1, value2, "color");
            return (Criteria) this;
        }

        public Criteria andSpecificationsIsNull() {
            addCriterion("specifications is null");
            return (Criteria) this;
        }

        public Criteria andSpecificationsIsNotNull() {
            addCriterion("specifications is not null");
            return (Criteria) this;
        }

        public Criteria andSpecificationsEqualTo(String value) {
            addCriterion("specifications =", value, "specifications");
            return (Criteria) this;
        }

        public Criteria andSpecificationsNotEqualTo(String value) {
            addCriterion("specifications <>", value, "specifications");
            return (Criteria) this;
        }

        public Criteria andSpecificationsGreaterThan(String value) {
            addCriterion("specifications >", value, "specifications");
            return (Criteria) this;
        }

        public Criteria andSpecificationsGreaterThanOrEqualTo(String value) {
            addCriterion("specifications >=", value, "specifications");
            return (Criteria) this;
        }

        public Criteria andSpecificationsLessThan(String value) {
            addCriterion("specifications <", value, "specifications");
            return (Criteria) this;
        }

        public Criteria andSpecificationsLessThanOrEqualTo(String value) {
            addCriterion("specifications <=", value, "specifications");
            return (Criteria) this;
        }

        public Criteria andSpecificationsLike(String value) {
            addCriterion("specifications like", value, "specifications");
            return (Criteria) this;
        }

        public Criteria andSpecificationsNotLike(String value) {
            addCriterion("specifications not like", value, "specifications");
            return (Criteria) this;
        }

        public Criteria andSpecificationsIn(List<String> values) {
            addCriterion("specifications in", values, "specifications");
            return (Criteria) this;
        }

        public Criteria andSpecificationsNotIn(List<String> values) {
            addCriterion("specifications not in", values, "specifications");
            return (Criteria) this;
        }

        public Criteria andSpecificationsBetween(String value1, String value2) {
            addCriterion("specifications between", value1, value2, "specifications");
            return (Criteria) this;
        }

        public Criteria andSpecificationsNotBetween(String value1, String value2) {
            addCriterion("specifications not between", value1, value2, "specifications");
            return (Criteria) this;
        }

        public Criteria andCreateNameIsNull() {
            addCriterion("create_name is null");
            return (Criteria) this;
        }

        public Criteria andCreateNameIsNotNull() {
            addCriterion("create_name is not null");
            return (Criteria) this;
        }

        public Criteria andCreateNameEqualTo(String value) {
            addCriterion("create_name =", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameNotEqualTo(String value) {
            addCriterion("create_name <>", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameGreaterThan(String value) {
            addCriterion("create_name >", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameGreaterThanOrEqualTo(String value) {
            addCriterion("create_name >=", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameLessThan(String value) {
            addCriterion("create_name <", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameLessThanOrEqualTo(String value) {
            addCriterion("create_name <=", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameLike(String value) {
            addCriterion("create_name like", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameNotLike(String value) {
            addCriterion("create_name not like", value, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameIn(List<String> values) {
            addCriterion("create_name in", values, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameNotIn(List<String> values) {
            addCriterion("create_name not in", values, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameBetween(String value1, String value2) {
            addCriterion("create_name between", value1, value2, "createName");
            return (Criteria) this;
        }

        public Criteria andCreateNameNotBetween(String value1, String value2) {
            addCriterion("create_name not between", value1, value2, "createName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameIsNull() {
            addCriterion("update_name is null");
            return (Criteria) this;
        }

        public Criteria andUpdateNameIsNotNull() {
            addCriterion("update_name is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateNameEqualTo(String value) {
            addCriterion("update_name =", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameNotEqualTo(String value) {
            addCriterion("update_name <>", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameGreaterThan(String value) {
            addCriterion("update_name >", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameGreaterThanOrEqualTo(String value) {
            addCriterion("update_name >=", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameLessThan(String value) {
            addCriterion("update_name <", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameLessThanOrEqualTo(String value) {
            addCriterion("update_name <=", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameLike(String value) {
            addCriterion("update_name like", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameNotLike(String value) {
            addCriterion("update_name not like", value, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameIn(List<String> values) {
            addCriterion("update_name in", values, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameNotIn(List<String> values) {
            addCriterion("update_name not in", values, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameBetween(String value1, String value2) {
            addCriterion("update_name between", value1, value2, "updateName");
            return (Criteria) this;
        }

        public Criteria andUpdateNameNotBetween(String value1, String value2) {
            addCriterion("update_name not between", value1, value2, "updateName");
            return (Criteria) this;
        }

        public Criteria andVirtualPriceIsNull() {
            addCriterion("virtual_price is null");
            return (Criteria) this;
        }

        public Criteria andVirtualPriceIsNotNull() {
            addCriterion("virtual_price is not null");
            return (Criteria) this;
        }

        public Criteria andVirtualPriceEqualTo(BigDecimal value) {
            addCriterion("virtual_price =", value, "virtualPrice");
            return (Criteria) this;
        }

        public Criteria andVirtualPriceNotEqualTo(BigDecimal value) {
            addCriterion("virtual_price <>", value, "virtualPrice");
            return (Criteria) this;
        }

        public Criteria andVirtualPriceGreaterThan(BigDecimal value) {
            addCriterion("virtual_price >", value, "virtualPrice");
            return (Criteria) this;
        }

        public Criteria andVirtualPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("virtual_price >=", value, "virtualPrice");
            return (Criteria) this;
        }

        public Criteria andVirtualPriceLessThan(BigDecimal value) {
            addCriterion("virtual_price <", value, "virtualPrice");
            return (Criteria) this;
        }

        public Criteria andVirtualPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("virtual_price <=", value, "virtualPrice");
            return (Criteria) this;
        }

        public Criteria andVirtualPriceIn(List<BigDecimal> values) {
            addCriterion("virtual_price in", values, "virtualPrice");
            return (Criteria) this;
        }

        public Criteria andVirtualPriceNotIn(List<BigDecimal> values) {
            addCriterion("virtual_price not in", values, "virtualPrice");
            return (Criteria) this;
        }

        public Criteria andVirtualPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("virtual_price between", value1, value2, "virtualPrice");
            return (Criteria) this;
        }

        public Criteria andVirtualPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("virtual_price not between", value1, value2, "virtualPrice");
            return (Criteria) this;
        }

        public Criteria andSizeImageIsNull() {
            addCriterion("size_image is null");
            return (Criteria) this;
        }

        public Criteria andSizeImageIsNotNull() {
            addCriterion("size_image is not null");
            return (Criteria) this;
        }

        public Criteria andSizeImageEqualTo(String value) {
            addCriterion("size_image =", value, "sizeImage");
            return (Criteria) this;
        }

        public Criteria andSizeImageNotEqualTo(String value) {
            addCriterion("size_image <>", value, "sizeImage");
            return (Criteria) this;
        }

        public Criteria andSizeImageGreaterThan(String value) {
            addCriterion("size_image >", value, "sizeImage");
            return (Criteria) this;
        }

        public Criteria andSizeImageGreaterThanOrEqualTo(String value) {
            addCriterion("size_image >=", value, "sizeImage");
            return (Criteria) this;
        }

        public Criteria andSizeImageLessThan(String value) {
            addCriterion("size_image <", value, "sizeImage");
            return (Criteria) this;
        }

        public Criteria andSizeImageLessThanOrEqualTo(String value) {
            addCriterion("size_image <=", value, "sizeImage");
            return (Criteria) this;
        }

        public Criteria andSizeImageLike(String value) {
            addCriterion("size_image like", value, "sizeImage");
            return (Criteria) this;
        }

        public Criteria andSizeImageNotLike(String value) {
            addCriterion("size_image not like", value, "sizeImage");
            return (Criteria) this;
        }

        public Criteria andSizeImageIn(List<String> values) {
            addCriterion("size_image in", values, "sizeImage");
            return (Criteria) this;
        }

        public Criteria andSizeImageNotIn(List<String> values) {
            addCriterion("size_image not in", values, "sizeImage");
            return (Criteria) this;
        }

        public Criteria andSizeImageBetween(String value1, String value2) {
            addCriterion("size_image between", value1, value2, "sizeImage");
            return (Criteria) this;
        }

        public Criteria andSizeImageNotBetween(String value1, String value2) {
            addCriterion("size_image not between", value1, value2, "sizeImage");
            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 andEnableIsNull() {
            addCriterion("enable is null");
            return (Criteria) this;
        }

        public Criteria andEnableIsNotNull() {
            addCriterion("enable is not null");
            return (Criteria) this;
        }

        public Criteria andEnableEqualTo(Integer value) {
            addCriterion("enable =", value, "enable");
            return (Criteria) this;
        }

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

        public Criteria andEnableGreaterThan(Integer value) {
            addCriterion("enable >", value, "enable");
            return (Criteria) this;
        }

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

        public Criteria andEnableLessThan(Integer value) {
            addCriterion("enable <", value, "enable");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andInspectionHoursIsNull() {
            addCriterion("inspection_hours is null");
            return (Criteria) this;
        }

        public Criteria andInspectionHoursIsNotNull() {
            addCriterion("inspection_hours is not null");
            return (Criteria) this;
        }

        public Criteria andInspectionHoursEqualTo(BigDecimal value) {
            addCriterion("inspection_hours =", value, "inspectionHours");
            return (Criteria) this;
        }

        public Criteria andInspectionHoursNotEqualTo(BigDecimal value) {
            addCriterion("inspection_hours <>", value, "inspectionHours");
            return (Criteria) this;
        }

        public Criteria andInspectionHoursGreaterThan(BigDecimal value) {
            addCriterion("inspection_hours >", value, "inspectionHours");
            return (Criteria) this;
        }

        public Criteria andInspectionHoursGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("inspection_hours >=", value, "inspectionHours");
            return (Criteria) this;
        }

        public Criteria andInspectionHoursLessThan(BigDecimal value) {
            addCriterion("inspection_hours <", value, "inspectionHours");
            return (Criteria) this;
        }

        public Criteria andInspectionHoursLessThanOrEqualTo(BigDecimal value) {
            addCriterion("inspection_hours <=", value, "inspectionHours");
            return (Criteria) this;
        }

        public Criteria andInspectionHoursIn(List<BigDecimal> values) {
            addCriterion("inspection_hours in", values, "inspectionHours");
            return (Criteria) this;
        }

        public Criteria andInspectionHoursNotIn(List<BigDecimal> values) {
            addCriterion("inspection_hours not in", values, "inspectionHours");
            return (Criteria) this;
        }

        public Criteria andInspectionHoursBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("inspection_hours between", value1, value2, "inspectionHours");
            return (Criteria) this;
        }

        public Criteria andInspectionHoursNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("inspection_hours not between", value1, value2, "inspectionHours");
            return (Criteria) this;
        }

        public Criteria andBargainerIsNull() {
            addCriterion("bargainer is null");
            return (Criteria) this;
        }

        public Criteria andBargainerIsNotNull() {
            addCriterion("bargainer is not null");
            return (Criteria) this;
        }

        public Criteria andBargainerEqualTo(String value) {
            addCriterion("bargainer =", value, "bargainer");
            return (Criteria) this;
        }

        public Criteria andBargainerNotEqualTo(String value) {
            addCriterion("bargainer <>", value, "bargainer");
            return (Criteria) this;
        }

        public Criteria andBargainerGreaterThan(String value) {
            addCriterion("bargainer >", value, "bargainer");
            return (Criteria) this;
        }

        public Criteria andBargainerGreaterThanOrEqualTo(String value) {
            addCriterion("bargainer >=", value, "bargainer");
            return (Criteria) this;
        }

        public Criteria andBargainerLessThan(String value) {
            addCriterion("bargainer <", value, "bargainer");
            return (Criteria) this;
        }

        public Criteria andBargainerLessThanOrEqualTo(String value) {
            addCriterion("bargainer <=", value, "bargainer");
            return (Criteria) this;
        }

        public Criteria andBargainerLike(String value) {
            addCriterion("bargainer like", value, "bargainer");
            return (Criteria) this;
        }

        public Criteria andBargainerNotLike(String value) {
            addCriterion("bargainer not like", value, "bargainer");
            return (Criteria) this;
        }

        public Criteria andBargainerIn(List<String> values) {
            addCriterion("bargainer in", values, "bargainer");
            return (Criteria) this;
        }

        public Criteria andBargainerNotIn(List<String> values) {
            addCriterion("bargainer not in", values, "bargainer");
            return (Criteria) this;
        }

        public Criteria andBargainerBetween(String value1, String value2) {
            addCriterion("bargainer between", value1, value2, "bargainer");
            return (Criteria) this;
        }

        public Criteria andBargainerNotBetween(String value1, String value2) {
            addCriterion("bargainer not between", value1, value2, "bargainer");
            return (Criteria) this;
        }

        public Criteria andCustomsCodeIsNull() {
            addCriterion("customs_code is null");
            return (Criteria) this;
        }

        public Criteria andCustomsCodeIsNotNull() {
            addCriterion("customs_code is not null");
            return (Criteria) this;
        }

        public Criteria andCustomsCodeEqualTo(String value) {
            addCriterion("customs_code =", value, "customsCode");
            return (Criteria) this;
        }

        public Criteria andCustomsCodeNotEqualTo(String value) {
            addCriterion("customs_code <>", value, "customsCode");
            return (Criteria) this;
        }

        public Criteria andCustomsCodeGreaterThan(String value) {
            addCriterion("customs_code >", value, "customsCode");
            return (Criteria) this;
        }

        public Criteria andCustomsCodeGreaterThanOrEqualTo(String value) {
            addCriterion("customs_code >=", value, "customsCode");
            return (Criteria) this;
        }

        public Criteria andCustomsCodeLessThan(String value) {
            addCriterion("customs_code <", value, "customsCode");
            return (Criteria) this;
        }

        public Criteria andCustomsCodeLessThanOrEqualTo(String value) {
            addCriterion("customs_code <=", value, "customsCode");
            return (Criteria) this;
        }

        public Criteria andCustomsCodeLike(String value) {
            addCriterion("customs_code like", value, "customsCode");
            return (Criteria) this;
        }

        public Criteria andCustomsCodeNotLike(String value) {
            addCriterion("customs_code not like", value, "customsCode");
            return (Criteria) this;
        }

        public Criteria andCustomsCodeIn(List<String> values) {
            addCriterion("customs_code in", values, "customsCode");
            return (Criteria) this;
        }

        public Criteria andCustomsCodeNotIn(List<String> values) {
            addCriterion("customs_code not in", values, "customsCode");
            return (Criteria) this;
        }

        public Criteria andCustomsCodeBetween(String value1, String value2) {
            addCriterion("customs_code between", value1, value2, "customsCode");
            return (Criteria) this;
        }

        public Criteria andCustomsCodeNotBetween(String value1, String value2) {
            addCriterion("customs_code not between", value1, value2, "customsCode");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleEnIsNull() {
            addCriterion("declare_title_en is null");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleEnIsNotNull() {
            addCriterion("declare_title_en is not null");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleEnEqualTo(String value) {
            addCriterion("declare_title_en =", value, "declareTitleEn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleEnNotEqualTo(String value) {
            addCriterion("declare_title_en <>", value, "declareTitleEn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleEnGreaterThan(String value) {
            addCriterion("declare_title_en >", value, "declareTitleEn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleEnGreaterThanOrEqualTo(String value) {
            addCriterion("declare_title_en >=", value, "declareTitleEn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleEnLessThan(String value) {
            addCriterion("declare_title_en <", value, "declareTitleEn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleEnLessThanOrEqualTo(String value) {
            addCriterion("declare_title_en <=", value, "declareTitleEn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleEnLike(String value) {
            addCriterion("declare_title_en like", value, "declareTitleEn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleEnNotLike(String value) {
            addCriterion("declare_title_en not like", value, "declareTitleEn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleEnIn(List<String> values) {
            addCriterion("declare_title_en in", values, "declareTitleEn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleEnNotIn(List<String> values) {
            addCriterion("declare_title_en not in", values, "declareTitleEn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleEnBetween(String value1, String value2) {
            addCriterion("declare_title_en between", value1, value2, "declareTitleEn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleEnNotBetween(String value1, String value2) {
            addCriterion("declare_title_en not between", value1, value2, "declareTitleEn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleCnIsNull() {
            addCriterion("declare_title_cn is null");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleCnIsNotNull() {
            addCriterion("declare_title_cn is not null");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleCnEqualTo(String value) {
            addCriterion("declare_title_cn =", value, "declareTitleCn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleCnNotEqualTo(String value) {
            addCriterion("declare_title_cn <>", value, "declareTitleCn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleCnGreaterThan(String value) {
            addCriterion("declare_title_cn >", value, "declareTitleCn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleCnGreaterThanOrEqualTo(String value) {
            addCriterion("declare_title_cn >=", value, "declareTitleCn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleCnLessThan(String value) {
            addCriterion("declare_title_cn <", value, "declareTitleCn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleCnLessThanOrEqualTo(String value) {
            addCriterion("declare_title_cn <=", value, "declareTitleCn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleCnLike(String value) {
            addCriterion("declare_title_cn like", value, "declareTitleCn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleCnNotLike(String value) {
            addCriterion("declare_title_cn not like", value, "declareTitleCn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleCnIn(List<String> values) {
            addCriterion("declare_title_cn in", values, "declareTitleCn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleCnNotIn(List<String> values) {
            addCriterion("declare_title_cn not in", values, "declareTitleCn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleCnBetween(String value1, String value2) {
            addCriterion("declare_title_cn between", value1, value2, "declareTitleCn");
            return (Criteria) this;
        }

        public Criteria andDeclareTitleCnNotBetween(String value1, String value2) {
            addCriterion("declare_title_cn not between", value1, value2, "declareTitleCn");
            return (Criteria) this;
        }

        public Criteria andPickTitleCnIsNull() {
            addCriterion("pick_title_cn is null");
            return (Criteria) this;
        }

        public Criteria andPickTitleCnIsNotNull() {
            addCriterion("pick_title_cn is not null");
            return (Criteria) this;
        }

        public Criteria andPickTitleCnEqualTo(String value) {
            addCriterion("pick_title_cn =", value, "pickTitleCn");
            return (Criteria) this;
        }

        public Criteria andPickTitleCnNotEqualTo(String value) {
            addCriterion("pick_title_cn <>", value, "pickTitleCn");
            return (Criteria) this;
        }

        public Criteria andPickTitleCnGreaterThan(String value) {
            addCriterion("pick_title_cn >", value, "pickTitleCn");
            return (Criteria) this;
        }

        public Criteria andPickTitleCnGreaterThanOrEqualTo(String value) {
            addCriterion("pick_title_cn >=", value, "pickTitleCn");
            return (Criteria) this;
        }

        public Criteria andPickTitleCnLessThan(String value) {
            addCriterion("pick_title_cn <", value, "pickTitleCn");
            return (Criteria) this;
        }

        public Criteria andPickTitleCnLessThanOrEqualTo(String value) {
            addCriterion("pick_title_cn <=", value, "pickTitleCn");
            return (Criteria) this;
        }

        public Criteria andPickTitleCnLike(String value) {
            addCriterion("pick_title_cn like", value, "pickTitleCn");
            return (Criteria) this;
        }

        public Criteria andPickTitleCnNotLike(String value) {
            addCriterion("pick_title_cn not like", value, "pickTitleCn");
            return (Criteria) this;
        }

        public Criteria andPickTitleCnIn(List<String> values) {
            addCriterion("pick_title_cn in", values, "pickTitleCn");
            return (Criteria) this;
        }

        public Criteria andPickTitleCnNotIn(List<String> values) {
            addCriterion("pick_title_cn not in", values, "pickTitleCn");
            return (Criteria) this;
        }

        public Criteria andPickTitleCnBetween(String value1, String value2) {
            addCriterion("pick_title_cn between", value1, value2, "pickTitleCn");
            return (Criteria) this;
        }

        public Criteria andPickTitleCnNotBetween(String value1, String value2) {
            addCriterion("pick_title_cn not between", value1, value2, "pickTitleCn");
            return (Criteria) this;
        }

        public Criteria andPickTitleEnIsNull() {
            addCriterion("pick_title_en is null");
            return (Criteria) this;
        }

        public Criteria andPickTitleEnIsNotNull() {
            addCriterion("pick_title_en is not null");
            return (Criteria) this;
        }

        public Criteria andPickTitleEnEqualTo(String value) {
            addCriterion("pick_title_en =", value, "pickTitleEn");
            return (Criteria) this;
        }

        public Criteria andPickTitleEnNotEqualTo(String value) {
            addCriterion("pick_title_en <>", value, "pickTitleEn");
            return (Criteria) this;
        }

        public Criteria andPickTitleEnGreaterThan(String value) {
            addCriterion("pick_title_en >", value, "pickTitleEn");
            return (Criteria) this;
        }

        public Criteria andPickTitleEnGreaterThanOrEqualTo(String value) {
            addCriterion("pick_title_en >=", value, "pickTitleEn");
            return (Criteria) this;
        }

        public Criteria andPickTitleEnLessThan(String value) {
            addCriterion("pick_title_en <", value, "pickTitleEn");
            return (Criteria) this;
        }

        public Criteria andPickTitleEnLessThanOrEqualTo(String value) {
            addCriterion("pick_title_en <=", value, "pickTitleEn");
            return (Criteria) this;
        }

        public Criteria andPickTitleEnLike(String value) {
            addCriterion("pick_title_en like", value, "pickTitleEn");
            return (Criteria) this;
        }

        public Criteria andPickTitleEnNotLike(String value) {
            addCriterion("pick_title_en not like", value, "pickTitleEn");
            return (Criteria) this;
        }

        public Criteria andPickTitleEnIn(List<String> values) {
            addCriterion("pick_title_en in", values, "pickTitleEn");
            return (Criteria) this;
        }

        public Criteria andPickTitleEnNotIn(List<String> values) {
            addCriterion("pick_title_en not in", values, "pickTitleEn");
            return (Criteria) this;
        }

        public Criteria andPickTitleEnBetween(String value1, String value2) {
            addCriterion("pick_title_en between", value1, value2, "pickTitleEn");
            return (Criteria) this;
        }

        public Criteria andPickTitleEnNotBetween(String value1, String value2) {
            addCriterion("pick_title_en not between", value1, value2, "pickTitleEn");
            return (Criteria) this;
        }

        public Criteria andProductNatureIsNull() {
            addCriterion("product_nature is null");
            return (Criteria) this;
        }

        public Criteria andProductNatureIsNotNull() {
            addCriterion("product_nature is not null");
            return (Criteria) this;
        }

        public Criteria andProductNatureEqualTo(String value) {
            addCriterion("product_nature =", value, "productNature");
            return (Criteria) this;
        }

        public Criteria andProductNatureNotEqualTo(String value) {
            addCriterion("product_nature <>", value, "productNature");
            return (Criteria) this;
        }

        public Criteria andProductNatureGreaterThan(String value) {
            addCriterion("product_nature >", value, "productNature");
            return (Criteria) this;
        }

        public Criteria andProductNatureGreaterThanOrEqualTo(String value) {
            addCriterion("product_nature >=", value, "productNature");
            return (Criteria) this;
        }

        public Criteria andProductNatureLessThan(String value) {
            addCriterion("product_nature <", value, "productNature");
            return (Criteria) this;
        }

        public Criteria andProductNatureLessThanOrEqualTo(String value) {
            addCriterion("product_nature <=", value, "productNature");
            return (Criteria) this;
        }

        public Criteria andProductNatureLike(String value) {
            addCriterion("product_nature like", value, "productNature");
            return (Criteria) this;
        }

        public Criteria andProductNatureNotLike(String value) {
            addCriterion("product_nature not like", value, "productNature");
            return (Criteria) this;
        }

        public Criteria andProductNatureIn(List<String> values) {
            addCriterion("product_nature in", values, "productNature");
            return (Criteria) this;
        }

        public Criteria andProductNatureNotIn(List<String> values) {
            addCriterion("product_nature not in", values, "productNature");
            return (Criteria) this;
        }

        public Criteria andProductNatureBetween(String value1, String value2) {
            addCriterion("product_nature between", value1, value2, "productNature");
            return (Criteria) this;
        }

        public Criteria andProductNatureNotBetween(String value1, String value2) {
            addCriterion("product_nature not between", value1, value2, "productNature");
            return (Criteria) this;
        }

        public Criteria andChargerSpecificationsIsNull() {
            addCriterion("charger_specifications is null");
            return (Criteria) this;
        }

        public Criteria andChargerSpecificationsIsNotNull() {
            addCriterion("charger_specifications is not null");
            return (Criteria) this;
        }

        public Criteria andChargerSpecificationsEqualTo(String value) {
            addCriterion("charger_specifications =", value, "chargerSpecifications");
            return (Criteria) this;
        }

        public Criteria andChargerSpecificationsNotEqualTo(String value) {
            addCriterion("charger_specifications <>", value, "chargerSpecifications");
            return (Criteria) this;
        }

        public Criteria andChargerSpecificationsGreaterThan(String value) {
            addCriterion("charger_specifications >", value, "chargerSpecifications");
            return (Criteria) this;
        }

        public Criteria andChargerSpecificationsGreaterThanOrEqualTo(String value) {
            addCriterion("charger_specifications >=", value, "chargerSpecifications");
            return (Criteria) this;
        }

        public Criteria andChargerSpecificationsLessThan(String value) {
            addCriterion("charger_specifications <", value, "chargerSpecifications");
            return (Criteria) this;
        }

        public Criteria andChargerSpecificationsLessThanOrEqualTo(String value) {
            addCriterion("charger_specifications <=", value, "chargerSpecifications");
            return (Criteria) this;
        }

        public Criteria andChargerSpecificationsLike(String value) {
            addCriterion("charger_specifications like", value, "chargerSpecifications");
            return (Criteria) this;
        }

        public Criteria andChargerSpecificationsNotLike(String value) {
            addCriterion("charger_specifications not like", value, "chargerSpecifications");
            return (Criteria) this;
        }

        public Criteria andChargerSpecificationsIn(List<String> values) {
            addCriterion("charger_specifications in", values, "chargerSpecifications");
            return (Criteria) this;
        }

        public Criteria andChargerSpecificationsNotIn(List<String> values) {
            addCriterion("charger_specifications not in", values, "chargerSpecifications");
            return (Criteria) this;
        }

        public Criteria andChargerSpecificationsBetween(String value1, String value2) {
            addCriterion("charger_specifications between", value1, value2, "chargerSpecifications");
            return (Criteria) this;
        }

        public Criteria andChargerSpecificationsNotBetween(String value1, String value2) {
            addCriterion("charger_specifications not between", value1, value2, "chargerSpecifications");
            return (Criteria) this;
        }

        public Criteria andPackingPriceIsNull() {
            addCriterion("packing_price is null");
            return (Criteria) this;
        }

        public Criteria andPackingPriceIsNotNull() {
            addCriterion("packing_price is not null");
            return (Criteria) this;
        }

        public Criteria andPackingPriceEqualTo(BigDecimal value) {
            addCriterion("packing_price =", value, "packingPrice");
            return (Criteria) this;
        }

        public Criteria andPackingPriceNotEqualTo(BigDecimal value) {
            addCriterion("packing_price <>", value, "packingPrice");
            return (Criteria) this;
        }

        public Criteria andPackingPriceGreaterThan(BigDecimal value) {
            addCriterion("packing_price >", value, "packingPrice");
            return (Criteria) this;
        }

        public Criteria andPackingPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("packing_price >=", value, "packingPrice");
            return (Criteria) this;
        }

        public Criteria andPackingPriceLessThan(BigDecimal value) {
            addCriterion("packing_price <", value, "packingPrice");
            return (Criteria) this;
        }

        public Criteria andPackingPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("packing_price <=", value, "packingPrice");
            return (Criteria) this;
        }

        public Criteria andPackingPriceIn(List<BigDecimal> values) {
            addCriterion("packing_price in", values, "packingPrice");
            return (Criteria) this;
        }

        public Criteria andPackingPriceNotIn(List<BigDecimal> values) {
            addCriterion("packing_price not in", values, "packingPrice");
            return (Criteria) this;
        }

        public Criteria andPackingPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("packing_price between", value1, value2, "packingPrice");
            return (Criteria) this;
        }

        public Criteria andPackingPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("packing_price not between", value1, value2, "packingPrice");
            return (Criteria) this;
        }

        public Criteria andPackingNameIsNull() {
            addCriterion("packing_name is null");
            return (Criteria) this;
        }

        public Criteria andPackingNameIsNotNull() {
            addCriterion("packing_name is not null");
            return (Criteria) this;
        }

        public Criteria andPackingNameEqualTo(String value) {
            addCriterion("packing_name =", value, "packingName");
            return (Criteria) this;
        }

        public Criteria andPackingNameNotEqualTo(String value) {
            addCriterion("packing_name <>", value, "packingName");
            return (Criteria) this;
        }

        public Criteria andPackingNameGreaterThan(String value) {
            addCriterion("packing_name >", value, "packingName");
            return (Criteria) this;
        }

        public Criteria andPackingNameGreaterThanOrEqualTo(String value) {
            addCriterion("packing_name >=", value, "packingName");
            return (Criteria) this;
        }

        public Criteria andPackingNameLessThan(String value) {
            addCriterion("packing_name <", value, "packingName");
            return (Criteria) this;
        }

        public Criteria andPackingNameLessThanOrEqualTo(String value) {
            addCriterion("packing_name <=", value, "packingName");
            return (Criteria) this;
        }

        public Criteria andPackingNameLike(String value) {
            addCriterion("packing_name like", value, "packingName");
            return (Criteria) this;
        }

        public Criteria andPackingNameNotLike(String value) {
            addCriterion("packing_name not like", value, "packingName");
            return (Criteria) this;
        }

        public Criteria andPackingNameIn(List<String> values) {
            addCriterion("packing_name in", values, "packingName");
            return (Criteria) this;
        }

        public Criteria andPackingNameNotIn(List<String> values) {
            addCriterion("packing_name not in", values, "packingName");
            return (Criteria) this;
        }

        public Criteria andPackingNameBetween(String value1, String value2) {
            addCriterion("packing_name between", value1, value2, "packingName");
            return (Criteria) this;
        }

        public Criteria andPackingNameNotBetween(String value1, String value2) {
            addCriterion("packing_name not between", value1, value2, "packingName");
            return (Criteria) this;
        }

        public Criteria andPackingSizeIsNull() {
            addCriterion("packing_size is null");
            return (Criteria) this;
        }

        public Criteria andPackingSizeIsNotNull() {
            addCriterion("packing_size is not null");
            return (Criteria) this;
        }

        public Criteria andPackingSizeEqualTo(String value) {
            addCriterion("packing_size =", value, "packingSize");
            return (Criteria) this;
        }

        public Criteria andPackingSizeNotEqualTo(String value) {
            addCriterion("packing_size <>", value, "packingSize");
            return (Criteria) this;
        }

        public Criteria andPackingSizeGreaterThan(String value) {
            addCriterion("packing_size >", value, "packingSize");
            return (Criteria) this;
        }

        public Criteria andPackingSizeGreaterThanOrEqualTo(String value) {
            addCriterion("packing_size >=", value, "packingSize");
            return (Criteria) this;
        }

        public Criteria andPackingSizeLessThan(String value) {
            addCriterion("packing_size <", value, "packingSize");
            return (Criteria) this;
        }

        public Criteria andPackingSizeLessThanOrEqualTo(String value) {
            addCriterion("packing_size <=", value, "packingSize");
            return (Criteria) this;
        }

        public Criteria andPackingSizeLike(String value) {
            addCriterion("packing_size like", value, "packingSize");
            return (Criteria) this;
        }

        public Criteria andPackingSizeNotLike(String value) {
            addCriterion("packing_size not like", value, "packingSize");
            return (Criteria) this;
        }

        public Criteria andPackingSizeIn(List<String> values) {
            addCriterion("packing_size in", values, "packingSize");
            return (Criteria) this;
        }

        public Criteria andPackingSizeNotIn(List<String> values) {
            addCriterion("packing_size not in", values, "packingSize");
            return (Criteria) this;
        }

        public Criteria andPackingSizeBetween(String value1, String value2) {
            addCriterion("packing_size between", value1, value2, "packingSize");
            return (Criteria) this;
        }

        public Criteria andPackingSizeNotBetween(String value1, String value2) {
            addCriterion("packing_size not between", value1, value2, "packingSize");
            return (Criteria) this;
        }

        public Criteria andProductSizeIsNull() {
            addCriterion("product_size is null");
            return (Criteria) this;
        }

        public Criteria andProductSizeIsNotNull() {
            addCriterion("product_size is not null");
            return (Criteria) this;
        }

        public Criteria andProductSizeEqualTo(String value) {
            addCriterion("product_size =", value, "productSize");
            return (Criteria) this;
        }

        public Criteria andProductSizeNotEqualTo(String value) {
            addCriterion("product_size <>", value, "productSize");
            return (Criteria) this;
        }

        public Criteria andProductSizeGreaterThan(String value) {
            addCriterion("product_size >", value, "productSize");
            return (Criteria) this;
        }

        public Criteria andProductSizeGreaterThanOrEqualTo(String value) {
            addCriterion("product_size >=", value, "productSize");
            return (Criteria) this;
        }

        public Criteria andProductSizeLessThan(String value) {
            addCriterion("product_size <", value, "productSize");
            return (Criteria) this;
        }

        public Criteria andProductSizeLessThanOrEqualTo(String value) {
            addCriterion("product_size <=", value, "productSize");
            return (Criteria) this;
        }

        public Criteria andProductSizeLike(String value) {
            addCriterion("product_size like", value, "productSize");
            return (Criteria) this;
        }

        public Criteria andProductSizeNotLike(String value) {
            addCriterion("product_size not like", value, "productSize");
            return (Criteria) this;
        }

        public Criteria andProductSizeIn(List<String> values) {
            addCriterion("product_size in", values, "productSize");
            return (Criteria) this;
        }

        public Criteria andProductSizeNotIn(List<String> values) {
            addCriterion("product_size not in", values, "productSize");
            return (Criteria) this;
        }

        public Criteria andProductSizeBetween(String value1, String value2) {
            addCriterion("product_size between", value1, value2, "productSize");
            return (Criteria) this;
        }

        public Criteria andProductSizeNotBetween(String value1, String value2) {
            addCriterion("product_size not between", value1, value2, "productSize");
            return (Criteria) this;
        }

        public Criteria andPackingWeightIsNull() {
            addCriterion("packing_weight is null");
            return (Criteria) this;
        }

        public Criteria andPackingWeightIsNotNull() {
            addCriterion("packing_weight is not null");
            return (Criteria) this;
        }

        public Criteria andPackingWeightEqualTo(BigDecimal value) {
            addCriterion("packing_weight =", value, "packingWeight");
            return (Criteria) this;
        }

        public Criteria andPackingWeightNotEqualTo(BigDecimal value) {
            addCriterion("packing_weight <>", value, "packingWeight");
            return (Criteria) this;
        }

        public Criteria andPackingWeightGreaterThan(BigDecimal value) {
            addCriterion("packing_weight >", value, "packingWeight");
            return (Criteria) this;
        }

        public Criteria andPackingWeightGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("packing_weight >=", value, "packingWeight");
            return (Criteria) this;
        }

        public Criteria andPackingWeightLessThan(BigDecimal value) {
            addCriterion("packing_weight <", value, "packingWeight");
            return (Criteria) this;
        }

        public Criteria andPackingWeightLessThanOrEqualTo(BigDecimal value) {
            addCriterion("packing_weight <=", value, "packingWeight");
            return (Criteria) this;
        }

        public Criteria andPackingWeightIn(List<BigDecimal> values) {
            addCriterion("packing_weight in", values, "packingWeight");
            return (Criteria) this;
        }

        public Criteria andPackingWeightNotIn(List<BigDecimal> values) {
            addCriterion("packing_weight not in", values, "packingWeight");
            return (Criteria) this;
        }

        public Criteria andPackingWeightBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("packing_weight between", value1, value2, "packingWeight");
            return (Criteria) this;
        }

        public Criteria andPackingWeightNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("packing_weight not between", value1, value2, "packingWeight");
            return (Criteria) this;
        }

        public Criteria andUnitIsNull() {
            addCriterion("unit is null");
            return (Criteria) this;
        }

        public Criteria andUnitIsNotNull() {
            addCriterion("unit is not null");
            return (Criteria) this;
        }

        public Criteria andUnitEqualTo(String value) {
            addCriterion("unit =", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotEqualTo(String value) {
            addCriterion("unit <>", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThan(String value) {
            addCriterion("unit >", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThanOrEqualTo(String value) {
            addCriterion("unit >=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThan(String value) {
            addCriterion("unit <", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThanOrEqualTo(String value) {
            addCriterion("unit <=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLike(String value) {
            addCriterion("unit like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotLike(String value) {
            addCriterion("unit not like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitIn(List<String> values) {
            addCriterion("unit in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotIn(List<String> values) {
            addCriterion("unit not in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitBetween(String value1, String value2) {
            addCriterion("unit between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotBetween(String value1, String value2) {
            addCriterion("unit not between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andPushStatusIsNull() {
            addCriterion("push_status is null");
            return (Criteria) this;
        }

        public Criteria andPushStatusIsNotNull() {
            addCriterion("push_status is not null");
            return (Criteria) this;
        }

        public Criteria andPushStatusEqualTo(Integer value) {
            addCriterion("push_status =", value, "pushStatus");
            return (Criteria) this;
        }

        public Criteria andPushStatusNotEqualTo(Integer value) {
            addCriterion("push_status <>", value, "pushStatus");
            return (Criteria) this;
        }

        public Criteria andPushStatusGreaterThan(Integer value) {
            addCriterion("push_status >", value, "pushStatus");
            return (Criteria) this;
        }

        public Criteria andPushStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("push_status >=", value, "pushStatus");
            return (Criteria) this;
        }

        public Criteria andPushStatusLessThan(Integer value) {
            addCriterion("push_status <", value, "pushStatus");
            return (Criteria) this;
        }

        public Criteria andPushStatusLessThanOrEqualTo(Integer value) {
            addCriterion("push_status <=", value, "pushStatus");
            return (Criteria) this;
        }

        public Criteria andPushStatusIn(List<Integer> values) {
            addCriterion("push_status in", values, "pushStatus");
            return (Criteria) this;
        }

        public Criteria andPushStatusNotIn(List<Integer> values) {
            addCriterion("push_status not in", values, "pushStatus");
            return (Criteria) this;
        }

        public Criteria andPushStatusBetween(Integer value1, Integer value2) {
            addCriterion("push_status between", value1, value2, "pushStatus");
            return (Criteria) this;
        }

        public Criteria andPushStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("push_status not between", value1, value2, "pushStatus");
            return (Criteria) this;
        }

        public Criteria andTransferDeliveryIsNull() {
            addCriterion("transfer_delivery is null");
            return (Criteria) this;
        }

        public Criteria andTransferDeliveryIsNotNull() {
            addCriterion("transfer_delivery is not null");
            return (Criteria) this;
        }

        public Criteria andTransferDeliveryEqualTo(Integer value) {
            addCriterion("transfer_delivery =", value, "transferDelivery");
            return (Criteria) this;
        }

        public Criteria andTransferDeliveryNotEqualTo(Integer value) {
            addCriterion("transfer_delivery <>", value, "transferDelivery");
            return (Criteria) this;
        }

        public Criteria andTransferDeliveryGreaterThan(Integer value) {
            addCriterion("transfer_delivery >", value, "transferDelivery");
            return (Criteria) this;
        }

        public Criteria andTransferDeliveryGreaterThanOrEqualTo(Integer value) {
            addCriterion("transfer_delivery >=", value, "transferDelivery");
            return (Criteria) this;
        }

        public Criteria andTransferDeliveryLessThan(Integer value) {
            addCriterion("transfer_delivery <", value, "transferDelivery");
            return (Criteria) this;
        }

        public Criteria andTransferDeliveryLessThanOrEqualTo(Integer value) {
            addCriterion("transfer_delivery <=", value, "transferDelivery");
            return (Criteria) this;
        }

        public Criteria andTransferDeliveryIn(List<Integer> values) {
            addCriterion("transfer_delivery in", values, "transferDelivery");
            return (Criteria) this;
        }

        public Criteria andTransferDeliveryNotIn(List<Integer> values) {
            addCriterion("transfer_delivery not in", values, "transferDelivery");
            return (Criteria) this;
        }

        public Criteria andTransferDeliveryBetween(Integer value1, Integer value2) {
            addCriterion("transfer_delivery between", value1, value2, "transferDelivery");
            return (Criteria) this;
        }

        public Criteria andTransferDeliveryNotBetween(Integer value1, Integer value2) {
            addCriterion("transfer_delivery not between", value1, value2, "transferDelivery");
            return (Criteria) this;
        }

        public Criteria andSourceIsNull() {
            addCriterion("source is null");
            return (Criteria) this;
        }

        public Criteria andSourceIsNotNull() {
            addCriterion("source is not null");
            return (Criteria) this;
        }

        public Criteria andSourceEqualTo(Integer value) {
            addCriterion("source =", value, "source");
            return (Criteria) this;
        }

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

        public Criteria andSourceGreaterThan(Integer value) {
            addCriterion("source >", value, "source");
            return (Criteria) this;
        }

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

        public Criteria andSourceLessThan(Integer value) {
            addCriterion("source <", value, "source");
            return (Criteria) this;
        }

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

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

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

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

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

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table dc_base_sku
     *
     * @mbg.generated do_not_delete_during_merge
     */
    public static class Criteria extends GeneratedCriteria {
        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table dc_base_sku
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        private DcBaseSkuExample example;

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table dc_base_sku
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        protected Criteria(DcBaseSkuExample example) {
            super();
            this.example = example;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table dc_base_sku
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public DcBaseSkuExample example() {
            return this.example;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table dc_base_sku
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        @Deprecated
        public Criteria andIf(boolean ifAdd, ICriteriaAdd add) {
            if (ifAdd) {
                add.add(this);
            }
            return this;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table dc_base_sku
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public Criteria when(boolean condition, ICriteriaWhen then) {
            if (condition) {
                then.criteria(this);
            }
            return this;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table dc_base_sku
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public Criteria when(boolean condition, ICriteriaWhen then, ICriteriaWhen otherwise) {
            if (condition) {
                then.criteria(this);
            } else {
                otherwise.criteria(this);
            }
            return this;
        }

        /**
         * This interface was generated by MyBatis Generator.
         * This interface corresponds to the database table dc_base_sku
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        @Deprecated
        public interface ICriteriaAdd {
            /**
             * This method was generated by MyBatis Generator.
             * This method corresponds to the database table dc_base_sku
             *
             * @mbg.generated
             * @project https://github.com/itfsw/mybatis-generator-plugin
             */
            Criteria add(Criteria add);
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     */
    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);
        }
    }

    /**
     * This interface was generated by MyBatis Generator.
     * This interface corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public interface ICriteriaWhen {
        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table dc_base_sku
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        void criteria(Criteria criteria);
    }

    /**
     * This interface was generated by MyBatis Generator.
     * This interface corresponds to the database table dc_base_sku
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public interface IExampleWhen {
        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table dc_base_sku
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        void example(DcBaseSkuExample example);
    }
}