package org.linlinjava.jz.db.domain;

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

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

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

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

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

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

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

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

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

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

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

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table customer_clue
     *
     * @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 customer_clue
     *
     * @mbg.generated
     */
    public CustomerClueExample orderBy(String orderByClause) {
        this.setOrderByClause(orderByClause);
        return this;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table customer_clue
     *
     * @mbg.generated
     */
    public CustomerClueExample 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 customer_clue
     *
     * @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 customer_clue
     *
     * @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 customer_clue
     *
     * @mbg.generated
     */
    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table customer_clue
     *
     * @mbg.generated
     */
    public static Criteria newAndCreateCriteria() {
        CustomerClueExample example = new CustomerClueExample();
        return example.createCriteria();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table customer_clue
     *
     * @mbg.generated
     */
    public CustomerClueExample 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 customer_clue
     *
     * @mbg.generated
     */
    public CustomerClueExample when(boolean condition, IExampleWhen then, IExampleWhen otherwise) {
        if (condition) {
            then.example(this);
        } else {
            otherwise.example(this);
        }
        return this;
    }

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

        public Criteria andIdEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andIdNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andIdGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andIdGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andIdLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andIdLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

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

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

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

        public Criteria andClueNoIsNull() {
            addCriterion("clue_no is null");
            return (Criteria) this;
        }

        public Criteria andClueNoIsNotNull() {
            addCriterion("clue_no is not null");
            return (Criteria) this;
        }

        public Criteria andClueNoEqualTo(String value) {
            addCriterion("clue_no =", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_no = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueNoNotEqualTo(String value) {
            addCriterion("clue_no <>", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_no <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueNoGreaterThan(String value) {
            addCriterion("clue_no >", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_no > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueNoGreaterThanOrEqualTo(String value) {
            addCriterion("clue_no >=", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_no >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueNoLessThan(String value) {
            addCriterion("clue_no <", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_no < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueNoLessThanOrEqualTo(String value) {
            addCriterion("clue_no <=", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_no <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueNoLike(String value) {
            addCriterion("clue_no like", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoNotLike(String value) {
            addCriterion("clue_no not like", value, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoIn(List<String> values) {
            addCriterion("clue_no in", values, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoNotIn(List<String> values) {
            addCriterion("clue_no not in", values, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoBetween(String value1, String value2) {
            addCriterion("clue_no between", value1, value2, "clueNo");
            return (Criteria) this;
        }

        public Criteria andClueNoNotBetween(String value1, String value2) {
            addCriterion("clue_no not between", value1, value2, "clueNo");
            return (Criteria) this;
        }

        public Criteria andCluePriorityIsNull() {
            addCriterion("clue_priority is null");
            return (Criteria) this;
        }

        public Criteria andCluePriorityIsNotNull() {
            addCriterion("clue_priority is not null");
            return (Criteria) this;
        }

        public Criteria andCluePriorityEqualTo(String value) {
            addCriterion("clue_priority =", value, "cluePriority");
            return (Criteria) this;
        }

        public Criteria andCluePriorityEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_priority = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCluePriorityNotEqualTo(String value) {
            addCriterion("clue_priority <>", value, "cluePriority");
            return (Criteria) this;
        }

        public Criteria andCluePriorityNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_priority <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCluePriorityGreaterThan(String value) {
            addCriterion("clue_priority >", value, "cluePriority");
            return (Criteria) this;
        }

        public Criteria andCluePriorityGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_priority > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCluePriorityGreaterThanOrEqualTo(String value) {
            addCriterion("clue_priority >=", value, "cluePriority");
            return (Criteria) this;
        }

        public Criteria andCluePriorityGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_priority >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCluePriorityLessThan(String value) {
            addCriterion("clue_priority <", value, "cluePriority");
            return (Criteria) this;
        }

        public Criteria andCluePriorityLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_priority < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCluePriorityLessThanOrEqualTo(String value) {
            addCriterion("clue_priority <=", value, "cluePriority");
            return (Criteria) this;
        }

        public Criteria andCluePriorityLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_priority <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCluePriorityLike(String value) {
            addCriterion("clue_priority like", value, "cluePriority");
            return (Criteria) this;
        }

        public Criteria andCluePriorityNotLike(String value) {
            addCriterion("clue_priority not like", value, "cluePriority");
            return (Criteria) this;
        }

        public Criteria andCluePriorityIn(List<String> values) {
            addCriterion("clue_priority in", values, "cluePriority");
            return (Criteria) this;
        }

        public Criteria andCluePriorityNotIn(List<String> values) {
            addCriterion("clue_priority not in", values, "cluePriority");
            return (Criteria) this;
        }

        public Criteria andCluePriorityBetween(String value1, String value2) {
            addCriterion("clue_priority between", value1, value2, "cluePriority");
            return (Criteria) this;
        }

        public Criteria andCluePriorityNotBetween(String value1, String value2) {
            addCriterion("clue_priority not between", value1, value2, "cluePriority");
            return (Criteria) this;
        }

        public Criteria andSourceNoIsNull() {
            addCriterion("source_no is null");
            return (Criteria) this;
        }

        public Criteria andSourceNoIsNotNull() {
            addCriterion("source_no is not null");
            return (Criteria) this;
        }

        public Criteria andSourceNoEqualTo(String value) {
            addCriterion("source_no =", value, "sourceNo");
            return (Criteria) this;
        }

        public Criteria andSourceNoEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("source_no = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSourceNoNotEqualTo(String value) {
            addCriterion("source_no <>", value, "sourceNo");
            return (Criteria) this;
        }

        public Criteria andSourceNoNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("source_no <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSourceNoGreaterThan(String value) {
            addCriterion("source_no >", value, "sourceNo");
            return (Criteria) this;
        }

        public Criteria andSourceNoGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("source_no > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSourceNoGreaterThanOrEqualTo(String value) {
            addCriterion("source_no >=", value, "sourceNo");
            return (Criteria) this;
        }

        public Criteria andSourceNoGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("source_no >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSourceNoLessThan(String value) {
            addCriterion("source_no <", value, "sourceNo");
            return (Criteria) this;
        }

        public Criteria andSourceNoLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("source_no < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSourceNoLessThanOrEqualTo(String value) {
            addCriterion("source_no <=", value, "sourceNo");
            return (Criteria) this;
        }

        public Criteria andSourceNoLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("source_no <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSourceNoLike(String value) {
            addCriterion("source_no like", value, "sourceNo");
            return (Criteria) this;
        }

        public Criteria andSourceNoNotLike(String value) {
            addCriterion("source_no not like", value, "sourceNo");
            return (Criteria) this;
        }

        public Criteria andSourceNoIn(List<String> values) {
            addCriterion("source_no in", values, "sourceNo");
            return (Criteria) this;
        }

        public Criteria andSourceNoNotIn(List<String> values) {
            addCriterion("source_no not in", values, "sourceNo");
            return (Criteria) this;
        }

        public Criteria andSourceNoBetween(String value1, String value2) {
            addCriterion("source_no between", value1, value2, "sourceNo");
            return (Criteria) this;
        }

        public Criteria andSourceNoNotBetween(String value1, String value2) {
            addCriterion("source_no not between", value1, value2, "sourceNo");
            return (Criteria) this;
        }

        public Criteria andResourceIsNull() {
            addCriterion("`resource` is null");
            return (Criteria) this;
        }

        public Criteria andResourceIsNotNull() {
            addCriterion("`resource` is not null");
            return (Criteria) this;
        }

        public Criteria andResourceEqualTo(String value) {
            addCriterion("`resource` =", value, "resource");
            return (Criteria) this;
        }

        public Criteria andResourceEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("`resource` = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andResourceNotEqualTo(String value) {
            addCriterion("`resource` <>", value, "resource");
            return (Criteria) this;
        }

        public Criteria andResourceNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("`resource` <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andResourceGreaterThan(String value) {
            addCriterion("`resource` >", value, "resource");
            return (Criteria) this;
        }

        public Criteria andResourceGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("`resource` > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andResourceGreaterThanOrEqualTo(String value) {
            addCriterion("`resource` >=", value, "resource");
            return (Criteria) this;
        }

        public Criteria andResourceGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("`resource` >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andResourceLessThan(String value) {
            addCriterion("`resource` <", value, "resource");
            return (Criteria) this;
        }

        public Criteria andResourceLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("`resource` < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andResourceLessThanOrEqualTo(String value) {
            addCriterion("`resource` <=", value, "resource");
            return (Criteria) this;
        }

        public Criteria andResourceLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("`resource` <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andResourceLike(String value) {
            addCriterion("`resource` like", value, "resource");
            return (Criteria) this;
        }

        public Criteria andResourceNotLike(String value) {
            addCriterion("`resource` not like", value, "resource");
            return (Criteria) this;
        }

        public Criteria andResourceIn(List<String> values) {
            addCriterion("`resource` in", values, "resource");
            return (Criteria) this;
        }

        public Criteria andResourceNotIn(List<String> values) {
            addCriterion("`resource` not in", values, "resource");
            return (Criteria) this;
        }

        public Criteria andResourceBetween(String value1, String value2) {
            addCriterion("`resource` between", value1, value2, "resource");
            return (Criteria) this;
        }

        public Criteria andResourceNotBetween(String value1, String value2) {
            addCriterion("`resource` not between", value1, value2, "resource");
            return (Criteria) this;
        }

        public Criteria andProviderIsNull() {
            addCriterion("provider is null");
            return (Criteria) this;
        }

        public Criteria andProviderIsNotNull() {
            addCriterion("provider is not null");
            return (Criteria) this;
        }

        public Criteria andProviderEqualTo(String value) {
            addCriterion("provider =", value, "provider");
            return (Criteria) this;
        }

        public Criteria andProviderEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("provider = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andProviderNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("provider <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProviderGreaterThan(String value) {
            addCriterion("provider >", value, "provider");
            return (Criteria) this;
        }

        public Criteria andProviderGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("provider > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andProviderGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("provider >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProviderLessThan(String value) {
            addCriterion("provider <", value, "provider");
            return (Criteria) this;
        }

        public Criteria andProviderLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("provider < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andProviderLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("provider <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProviderLike(String value) {
            addCriterion("provider like", value, "provider");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andServiceCityIsNull() {
            addCriterion("service_city is null");
            return (Criteria) this;
        }

        public Criteria andServiceCityIsNotNull() {
            addCriterion("service_city is not null");
            return (Criteria) this;
        }

        public Criteria andServiceCityEqualTo(Long value) {
            addCriterion("service_city =", value, "serviceCity");
            return (Criteria) this;
        }

        public Criteria andServiceCityEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_city = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceCityNotEqualTo(Long value) {
            addCriterion("service_city <>", value, "serviceCity");
            return (Criteria) this;
        }

        public Criteria andServiceCityNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_city <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceCityGreaterThan(Long value) {
            addCriterion("service_city >", value, "serviceCity");
            return (Criteria) this;
        }

        public Criteria andServiceCityGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_city > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceCityGreaterThanOrEqualTo(Long value) {
            addCriterion("service_city >=", value, "serviceCity");
            return (Criteria) this;
        }

        public Criteria andServiceCityGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_city >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceCityLessThan(Long value) {
            addCriterion("service_city <", value, "serviceCity");
            return (Criteria) this;
        }

        public Criteria andServiceCityLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_city < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceCityLessThanOrEqualTo(Long value) {
            addCriterion("service_city <=", value, "serviceCity");
            return (Criteria) this;
        }

        public Criteria andServiceCityLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_city <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceCityIn(List<Long> values) {
            addCriterion("service_city in", values, "serviceCity");
            return (Criteria) this;
        }

        public Criteria andServiceCityNotIn(List<Long> values) {
            addCriterion("service_city not in", values, "serviceCity");
            return (Criteria) this;
        }

        public Criteria andServiceCityBetween(Long value1, Long value2) {
            addCriterion("service_city between", value1, value2, "serviceCity");
            return (Criteria) this;
        }

        public Criteria andServiceCityNotBetween(Long value1, Long value2) {
            addCriterion("service_city not between", value1, value2, "serviceCity");
            return (Criteria) this;
        }

        public Criteria andFlagStateIsNull() {
            addCriterion("flag_state is null");
            return (Criteria) this;
        }

        public Criteria andFlagStateIsNotNull() {
            addCriterion("flag_state is not null");
            return (Criteria) this;
        }

        public Criteria andFlagStateEqualTo(Integer value) {
            addCriterion("flag_state =", value, "flagState");
            return (Criteria) this;
        }

        public Criteria andFlagStateEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("flag_state = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFlagStateNotEqualTo(Integer value) {
            addCriterion("flag_state <>", value, "flagState");
            return (Criteria) this;
        }

        public Criteria andFlagStateNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("flag_state <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFlagStateGreaterThan(Integer value) {
            addCriterion("flag_state >", value, "flagState");
            return (Criteria) this;
        }

        public Criteria andFlagStateGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("flag_state > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFlagStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("flag_state >=", value, "flagState");
            return (Criteria) this;
        }

        public Criteria andFlagStateGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("flag_state >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFlagStateLessThan(Integer value) {
            addCriterion("flag_state <", value, "flagState");
            return (Criteria) this;
        }

        public Criteria andFlagStateLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("flag_state < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFlagStateLessThanOrEqualTo(Integer value) {
            addCriterion("flag_state <=", value, "flagState");
            return (Criteria) this;
        }

        public Criteria andFlagStateLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("flag_state <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFlagStateIn(List<Integer> values) {
            addCriterion("flag_state in", values, "flagState");
            return (Criteria) this;
        }

        public Criteria andFlagStateNotIn(List<Integer> values) {
            addCriterion("flag_state not in", values, "flagState");
            return (Criteria) this;
        }

        public Criteria andFlagStateBetween(Integer value1, Integer value2) {
            addCriterion("flag_state between", value1, value2, "flagState");
            return (Criteria) this;
        }

        public Criteria andFlagStateNotBetween(Integer value1, Integer value2) {
            addCriterion("flag_state not between", value1, value2, "flagState");
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoIsNull() {
            addCriterion("franchisee_no is null");
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoIsNotNull() {
            addCriterion("franchisee_no is not null");
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoEqualTo(String value) {
            addCriterion("franchisee_no =", value, "franchiseeNo");
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("franchisee_no = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoNotEqualTo(String value) {
            addCriterion("franchisee_no <>", value, "franchiseeNo");
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("franchisee_no <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoGreaterThan(String value) {
            addCriterion("franchisee_no >", value, "franchiseeNo");
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("franchisee_no > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoGreaterThanOrEqualTo(String value) {
            addCriterion("franchisee_no >=", value, "franchiseeNo");
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("franchisee_no >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoLessThan(String value) {
            addCriterion("franchisee_no <", value, "franchiseeNo");
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("franchisee_no < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoLessThanOrEqualTo(String value) {
            addCriterion("franchisee_no <=", value, "franchiseeNo");
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("franchisee_no <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoLike(String value) {
            addCriterion("franchisee_no like", value, "franchiseeNo");
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoNotLike(String value) {
            addCriterion("franchisee_no not like", value, "franchiseeNo");
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoIn(List<String> values) {
            addCriterion("franchisee_no in", values, "franchiseeNo");
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoNotIn(List<String> values) {
            addCriterion("franchisee_no not in", values, "franchiseeNo");
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoBetween(String value1, String value2) {
            addCriterion("franchisee_no between", value1, value2, "franchiseeNo");
            return (Criteria) this;
        }

        public Criteria andFranchiseeNoNotBetween(String value1, String value2) {
            addCriterion("franchisee_no not between", value1, value2, "franchiseeNo");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIsNull() {
            addCriterion("customer_name is null");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIsNotNull() {
            addCriterion("customer_name is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerNameEqualTo(String value) {
            addCriterion("customer_name =", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_name = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotEqualTo(String value) {
            addCriterion("customer_name <>", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_name <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerNameGreaterThan(String value) {
            addCriterion("customer_name >", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_name > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerNameGreaterThanOrEqualTo(String value) {
            addCriterion("customer_name >=", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_name >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerNameLessThan(String value) {
            addCriterion("customer_name <", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_name < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerNameLessThanOrEqualTo(String value) {
            addCriterion("customer_name <=", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_name <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerNameLike(String value) {
            addCriterion("customer_name like", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotLike(String value) {
            addCriterion("customer_name not like", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIn(List<String> values) {
            addCriterion("customer_name in", values, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotIn(List<String> values) {
            addCriterion("customer_name not in", values, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameBetween(String value1, String value2) {
            addCriterion("customer_name between", value1, value2, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotBetween(String value1, String value2) {
            addCriterion("customer_name not between", value1, value2, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerTelIsNull() {
            addCriterion("customer_tel is null");
            return (Criteria) this;
        }

        public Criteria andCustomerTelIsNotNull() {
            addCriterion("customer_tel is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerTelEqualTo(String value) {
            addCriterion("customer_tel =", value, "customerTel");
            return (Criteria) this;
        }

        public Criteria andCustomerTelEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_tel = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerTelNotEqualTo(String value) {
            addCriterion("customer_tel <>", value, "customerTel");
            return (Criteria) this;
        }

        public Criteria andCustomerTelNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_tel <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerTelGreaterThan(String value) {
            addCriterion("customer_tel >", value, "customerTel");
            return (Criteria) this;
        }

        public Criteria andCustomerTelGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_tel > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerTelGreaterThanOrEqualTo(String value) {
            addCriterion("customer_tel >=", value, "customerTel");
            return (Criteria) this;
        }

        public Criteria andCustomerTelGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_tel >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerTelLessThan(String value) {
            addCriterion("customer_tel <", value, "customerTel");
            return (Criteria) this;
        }

        public Criteria andCustomerTelLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_tel < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerTelLessThanOrEqualTo(String value) {
            addCriterion("customer_tel <=", value, "customerTel");
            return (Criteria) this;
        }

        public Criteria andCustomerTelLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_tel <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerTelLike(String value) {
            addCriterion("customer_tel like", value, "customerTel");
            return (Criteria) this;
        }

        public Criteria andCustomerTelNotLike(String value) {
            addCriterion("customer_tel not like", value, "customerTel");
            return (Criteria) this;
        }

        public Criteria andCustomerTelIn(List<String> values) {
            addCriterion("customer_tel in", values, "customerTel");
            return (Criteria) this;
        }

        public Criteria andCustomerTelNotIn(List<String> values) {
            addCriterion("customer_tel not in", values, "customerTel");
            return (Criteria) this;
        }

        public Criteria andCustomerTelBetween(String value1, String value2) {
            addCriterion("customer_tel between", value1, value2, "customerTel");
            return (Criteria) this;
        }

        public Criteria andCustomerTelNotBetween(String value1, String value2) {
            addCriterion("customer_tel not between", value1, value2, "customerTel");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdIsNull() {
            addCriterion("customer_client_id is null");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdIsNotNull() {
            addCriterion("customer_client_id is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdEqualTo(Long value) {
            addCriterion("customer_client_id =", value, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_client_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdNotEqualTo(Long value) {
            addCriterion("customer_client_id <>", value, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_client_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdGreaterThan(Long value) {
            addCriterion("customer_client_id >", value, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_client_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdGreaterThanOrEqualTo(Long value) {
            addCriterion("customer_client_id >=", value, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_client_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdLessThan(Long value) {
            addCriterion("customer_client_id <", value, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_client_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdLessThanOrEqualTo(Long value) {
            addCriterion("customer_client_id <=", value, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_client_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdIn(List<Long> values) {
            addCriterion("customer_client_id in", values, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdNotIn(List<Long> values) {
            addCriterion("customer_client_id not in", values, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdBetween(Long value1, Long value2) {
            addCriterion("customer_client_id between", value1, value2, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerClientIdNotBetween(Long value1, Long value2) {
            addCriterion("customer_client_id not between", value1, value2, "customerClientId");
            return (Criteria) this;
        }

        public Criteria andCustomerAddrIsNull() {
            addCriterion("customer_addr is null");
            return (Criteria) this;
        }

        public Criteria andCustomerAddrIsNotNull() {
            addCriterion("customer_addr is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerAddrEqualTo(String value) {
            addCriterion("customer_addr =", value, "customerAddr");
            return (Criteria) this;
        }

        public Criteria andCustomerAddrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_addr = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerAddrNotEqualTo(String value) {
            addCriterion("customer_addr <>", value, "customerAddr");
            return (Criteria) this;
        }

        public Criteria andCustomerAddrNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_addr <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerAddrGreaterThan(String value) {
            addCriterion("customer_addr >", value, "customerAddr");
            return (Criteria) this;
        }

        public Criteria andCustomerAddrGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_addr > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerAddrGreaterThanOrEqualTo(String value) {
            addCriterion("customer_addr >=", value, "customerAddr");
            return (Criteria) this;
        }

        public Criteria andCustomerAddrGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_addr >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerAddrLessThan(String value) {
            addCriterion("customer_addr <", value, "customerAddr");
            return (Criteria) this;
        }

        public Criteria andCustomerAddrLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_addr < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerAddrLessThanOrEqualTo(String value) {
            addCriterion("customer_addr <=", value, "customerAddr");
            return (Criteria) this;
        }

        public Criteria andCustomerAddrLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("customer_addr <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCustomerAddrLike(String value) {
            addCriterion("customer_addr like", value, "customerAddr");
            return (Criteria) this;
        }

        public Criteria andCustomerAddrNotLike(String value) {
            addCriterion("customer_addr not like", value, "customerAddr");
            return (Criteria) this;
        }

        public Criteria andCustomerAddrIn(List<String> values) {
            addCriterion("customer_addr in", values, "customerAddr");
            return (Criteria) this;
        }

        public Criteria andCustomerAddrNotIn(List<String> values) {
            addCriterion("customer_addr not in", values, "customerAddr");
            return (Criteria) this;
        }

        public Criteria andCustomerAddrBetween(String value1, String value2) {
            addCriterion("customer_addr between", value1, value2, "customerAddr");
            return (Criteria) this;
        }

        public Criteria andCustomerAddrNotBetween(String value1, String value2) {
            addCriterion("customer_addr not between", value1, value2, "customerAddr");
            return (Criteria) this;
        }

        public Criteria andHouseStructureIsNull() {
            addCriterion("house_structure is null");
            return (Criteria) this;
        }

        public Criteria andHouseStructureIsNotNull() {
            addCriterion("house_structure is not null");
            return (Criteria) this;
        }

        public Criteria andHouseStructureEqualTo(String value) {
            addCriterion("house_structure =", value, "houseStructure");
            return (Criteria) this;
        }

        public Criteria andHouseStructureEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("house_structure = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHouseStructureNotEqualTo(String value) {
            addCriterion("house_structure <>", value, "houseStructure");
            return (Criteria) this;
        }

        public Criteria andHouseStructureNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("house_structure <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHouseStructureGreaterThan(String value) {
            addCriterion("house_structure >", value, "houseStructure");
            return (Criteria) this;
        }

        public Criteria andHouseStructureGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("house_structure > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHouseStructureGreaterThanOrEqualTo(String value) {
            addCriterion("house_structure >=", value, "houseStructure");
            return (Criteria) this;
        }

        public Criteria andHouseStructureGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("house_structure >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHouseStructureLessThan(String value) {
            addCriterion("house_structure <", value, "houseStructure");
            return (Criteria) this;
        }

        public Criteria andHouseStructureLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("house_structure < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHouseStructureLessThanOrEqualTo(String value) {
            addCriterion("house_structure <=", value, "houseStructure");
            return (Criteria) this;
        }

        public Criteria andHouseStructureLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("house_structure <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHouseStructureLike(String value) {
            addCriterion("house_structure like", value, "houseStructure");
            return (Criteria) this;
        }

        public Criteria andHouseStructureNotLike(String value) {
            addCriterion("house_structure not like", value, "houseStructure");
            return (Criteria) this;
        }

        public Criteria andHouseStructureIn(List<String> values) {
            addCriterion("house_structure in", values, "houseStructure");
            return (Criteria) this;
        }

        public Criteria andHouseStructureNotIn(List<String> values) {
            addCriterion("house_structure not in", values, "houseStructure");
            return (Criteria) this;
        }

        public Criteria andHouseStructureBetween(String value1, String value2) {
            addCriterion("house_structure between", value1, value2, "houseStructure");
            return (Criteria) this;
        }

        public Criteria andHouseStructureNotBetween(String value1, String value2) {
            addCriterion("house_structure not between", value1, value2, "houseStructure");
            return (Criteria) this;
        }

        public Criteria andHouseAreaIsNull() {
            addCriterion("house_area is null");
            return (Criteria) this;
        }

        public Criteria andHouseAreaIsNotNull() {
            addCriterion("house_area is not null");
            return (Criteria) this;
        }

        public Criteria andHouseAreaEqualTo(Double value) {
            addCriterion("house_area =", value, "houseArea");
            return (Criteria) this;
        }

        public Criteria andHouseAreaEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("house_area = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHouseAreaNotEqualTo(Double value) {
            addCriterion("house_area <>", value, "houseArea");
            return (Criteria) this;
        }

        public Criteria andHouseAreaNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("house_area <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHouseAreaGreaterThan(Double value) {
            addCriterion("house_area >", value, "houseArea");
            return (Criteria) this;
        }

        public Criteria andHouseAreaGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("house_area > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHouseAreaGreaterThanOrEqualTo(Double value) {
            addCriterion("house_area >=", value, "houseArea");
            return (Criteria) this;
        }

        public Criteria andHouseAreaGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("house_area >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHouseAreaLessThan(Double value) {
            addCriterion("house_area <", value, "houseArea");
            return (Criteria) this;
        }

        public Criteria andHouseAreaLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("house_area < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHouseAreaLessThanOrEqualTo(Double value) {
            addCriterion("house_area <=", value, "houseArea");
            return (Criteria) this;
        }

        public Criteria andHouseAreaLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("house_area <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andHouseAreaIn(List<Double> values) {
            addCriterion("house_area in", values, "houseArea");
            return (Criteria) this;
        }

        public Criteria andHouseAreaNotIn(List<Double> values) {
            addCriterion("house_area not in", values, "houseArea");
            return (Criteria) this;
        }

        public Criteria andHouseAreaBetween(Double value1, Double value2) {
            addCriterion("house_area between", value1, value2, "houseArea");
            return (Criteria) this;
        }

        public Criteria andHouseAreaNotBetween(Double value1, Double value2) {
            addCriterion("house_area not between", value1, value2, "houseArea");
            return (Criteria) this;
        }

        public Criteria andServiceTypeIsNull() {
            addCriterion("service_type is null");
            return (Criteria) this;
        }

        public Criteria andServiceTypeIsNotNull() {
            addCriterion("service_type is not null");
            return (Criteria) this;
        }

        public Criteria andServiceTypeEqualTo(Integer value) {
            addCriterion("service_type =", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_type = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceTypeNotEqualTo(Integer value) {
            addCriterion("service_type <>", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_type <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceTypeGreaterThan(Integer value) {
            addCriterion("service_type >", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_type > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("service_type >=", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_type >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceTypeLessThan(Integer value) {
            addCriterion("service_type <", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_type < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceTypeLessThanOrEqualTo(Integer value) {
            addCriterion("service_type <=", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_type <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceTypeIn(List<Integer> values) {
            addCriterion("service_type in", values, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeNotIn(List<Integer> values) {
            addCriterion("service_type not in", values, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeBetween(Integer value1, Integer value2) {
            addCriterion("service_type between", value1, value2, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("service_type not between", value1, value2, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceModelIsNull() {
            addCriterion("service_model is null");
            return (Criteria) this;
        }

        public Criteria andServiceModelIsNotNull() {
            addCriterion("service_model is not null");
            return (Criteria) this;
        }

        public Criteria andServiceModelEqualTo(Integer value) {
            addCriterion("service_model =", value, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_model = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceModelNotEqualTo(Integer value) {
            addCriterion("service_model <>", value, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_model <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceModelGreaterThan(Integer value) {
            addCriterion("service_model >", value, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_model > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceModelGreaterThanOrEqualTo(Integer value) {
            addCriterion("service_model >=", value, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_model >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceModelLessThan(Integer value) {
            addCriterion("service_model <", value, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_model < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceModelLessThanOrEqualTo(Integer value) {
            addCriterion("service_model <=", value, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_model <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceModelIn(List<Integer> values) {
            addCriterion("service_model in", values, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelNotIn(List<Integer> values) {
            addCriterion("service_model not in", values, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelBetween(Integer value1, Integer value2) {
            addCriterion("service_model between", value1, value2, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andServiceModelNotBetween(Integer value1, Integer value2) {
            addCriterion("service_model not between", value1, value2, "serviceModel");
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeIsNull() {
            addCriterion("expect_interview_time is null");
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeIsNotNull() {
            addCriterion("expect_interview_time is not null");
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeEqualTo(LocalDateTime value) {
            addCriterion("expect_interview_time =", value, "expectInterviewTime");
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_interview_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeNotEqualTo(LocalDateTime value) {
            addCriterion("expect_interview_time <>", value, "expectInterviewTime");
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_interview_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeGreaterThan(LocalDateTime value) {
            addCriterion("expect_interview_time >", value, "expectInterviewTime");
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_interview_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("expect_interview_time >=", value, "expectInterviewTime");
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_interview_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeLessThan(LocalDateTime value) {
            addCriterion("expect_interview_time <", value, "expectInterviewTime");
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_interview_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("expect_interview_time <=", value, "expectInterviewTime");
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_interview_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeIn(List<LocalDateTime> values) {
            addCriterion("expect_interview_time in", values, "expectInterviewTime");
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeNotIn(List<LocalDateTime> values) {
            addCriterion("expect_interview_time not in", values, "expectInterviewTime");
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("expect_interview_time between", value1, value2, "expectInterviewTime");
            return (Criteria) this;
        }

        public Criteria andExpectInterviewTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("expect_interview_time not between", value1, value2, "expectInterviewTime");
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeIsNull() {
            addCriterion("expect_arrival_time is null");
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeIsNotNull() {
            addCriterion("expect_arrival_time is not null");
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeEqualTo(LocalDateTime value) {
            addCriterion("expect_arrival_time =", value, "expectArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_arrival_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeNotEqualTo(LocalDateTime value) {
            addCriterion("expect_arrival_time <>", value, "expectArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_arrival_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeGreaterThan(LocalDateTime value) {
            addCriterion("expect_arrival_time >", value, "expectArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_arrival_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("expect_arrival_time >=", value, "expectArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_arrival_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeLessThan(LocalDateTime value) {
            addCriterion("expect_arrival_time <", value, "expectArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_arrival_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("expect_arrival_time <=", value, "expectArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_arrival_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeIn(List<LocalDateTime> values) {
            addCriterion("expect_arrival_time in", values, "expectArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeNotIn(List<LocalDateTime> values) {
            addCriterion("expect_arrival_time not in", values, "expectArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("expect_arrival_time between", value1, value2, "expectArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectArrivalTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("expect_arrival_time not between", value1, value2, "expectArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateIsNull() {
            addCriterion("expect_service_date is null");
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateIsNotNull() {
            addCriterion("expect_service_date is not null");
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateEqualTo(String value) {
            addCriterion("expect_service_date =", value, "expectServiceDate");
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_service_date = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateNotEqualTo(String value) {
            addCriterion("expect_service_date <>", value, "expectServiceDate");
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_service_date <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateGreaterThan(String value) {
            addCriterion("expect_service_date >", value, "expectServiceDate");
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_service_date > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateGreaterThanOrEqualTo(String value) {
            addCriterion("expect_service_date >=", value, "expectServiceDate");
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_service_date >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateLessThan(String value) {
            addCriterion("expect_service_date <", value, "expectServiceDate");
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_service_date < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateLessThanOrEqualTo(String value) {
            addCriterion("expect_service_date <=", value, "expectServiceDate");
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("expect_service_date <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateLike(String value) {
            addCriterion("expect_service_date like", value, "expectServiceDate");
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateNotLike(String value) {
            addCriterion("expect_service_date not like", value, "expectServiceDate");
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateIn(List<String> values) {
            addCriterion("expect_service_date in", values, "expectServiceDate");
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateNotIn(List<String> values) {
            addCriterion("expect_service_date not in", values, "expectServiceDate");
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateBetween(String value1, String value2) {
            addCriterion("expect_service_date between", value1, value2, "expectServiceDate");
            return (Criteria) this;
        }

        public Criteria andExpectServiceDateNotBetween(String value1, String value2) {
            addCriterion("expect_service_date not between", value1, value2, "expectServiceDate");
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeIsNull() {
            addCriterion("start_service_time is null");
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeIsNotNull() {
            addCriterion("start_service_time is not null");
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeEqualTo(String value) {
            addCriterion("start_service_time =", value, "startServiceTime");
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("start_service_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeNotEqualTo(String value) {
            addCriterion("start_service_time <>", value, "startServiceTime");
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("start_service_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeGreaterThan(String value) {
            addCriterion("start_service_time >", value, "startServiceTime");
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("start_service_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeGreaterThanOrEqualTo(String value) {
            addCriterion("start_service_time >=", value, "startServiceTime");
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("start_service_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeLessThan(String value) {
            addCriterion("start_service_time <", value, "startServiceTime");
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("start_service_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeLessThanOrEqualTo(String value) {
            addCriterion("start_service_time <=", value, "startServiceTime");
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("start_service_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeLike(String value) {
            addCriterion("start_service_time like", value, "startServiceTime");
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeNotLike(String value) {
            addCriterion("start_service_time not like", value, "startServiceTime");
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeIn(List<String> values) {
            addCriterion("start_service_time in", values, "startServiceTime");
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeNotIn(List<String> values) {
            addCriterion("start_service_time not in", values, "startServiceTime");
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeBetween(String value1, String value2) {
            addCriterion("start_service_time between", value1, value2, "startServiceTime");
            return (Criteria) this;
        }

        public Criteria andStartServiceTimeNotBetween(String value1, String value2) {
            addCriterion("start_service_time not between", value1, value2, "startServiceTime");
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeIsNull() {
            addCriterion("end_service_time is null");
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeIsNotNull() {
            addCriterion("end_service_time is not null");
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeEqualTo(String value) {
            addCriterion("end_service_time =", value, "endServiceTime");
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("end_service_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeNotEqualTo(String value) {
            addCriterion("end_service_time <>", value, "endServiceTime");
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("end_service_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeGreaterThan(String value) {
            addCriterion("end_service_time >", value, "endServiceTime");
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("end_service_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeGreaterThanOrEqualTo(String value) {
            addCriterion("end_service_time >=", value, "endServiceTime");
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("end_service_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeLessThan(String value) {
            addCriterion("end_service_time <", value, "endServiceTime");
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("end_service_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeLessThanOrEqualTo(String value) {
            addCriterion("end_service_time <=", value, "endServiceTime");
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("end_service_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeLike(String value) {
            addCriterion("end_service_time like", value, "endServiceTime");
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeNotLike(String value) {
            addCriterion("end_service_time not like", value, "endServiceTime");
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeIn(List<String> values) {
            addCriterion("end_service_time in", values, "endServiceTime");
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeNotIn(List<String> values) {
            addCriterion("end_service_time not in", values, "endServiceTime");
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeBetween(String value1, String value2) {
            addCriterion("end_service_time between", value1, value2, "endServiceTime");
            return (Criteria) this;
        }

        public Criteria andEndServiceTimeNotBetween(String value1, String value2) {
            addCriterion("end_service_time not between", value1, value2, "endServiceTime");
            return (Criteria) this;
        }

        public Criteria andBudgetAmountIsNull() {
            addCriterion("budget_amount is null");
            return (Criteria) this;
        }

        public Criteria andBudgetAmountIsNotNull() {
            addCriterion("budget_amount is not null");
            return (Criteria) this;
        }

        public Criteria andBudgetAmountEqualTo(Double value) {
            addCriterion("budget_amount =", value, "budgetAmount");
            return (Criteria) this;
        }

        public Criteria andBudgetAmountEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("budget_amount = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBudgetAmountNotEqualTo(Double value) {
            addCriterion("budget_amount <>", value, "budgetAmount");
            return (Criteria) this;
        }

        public Criteria andBudgetAmountNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("budget_amount <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBudgetAmountGreaterThan(Double value) {
            addCriterion("budget_amount >", value, "budgetAmount");
            return (Criteria) this;
        }

        public Criteria andBudgetAmountGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("budget_amount > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBudgetAmountGreaterThanOrEqualTo(Double value) {
            addCriterion("budget_amount >=", value, "budgetAmount");
            return (Criteria) this;
        }

        public Criteria andBudgetAmountGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("budget_amount >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBudgetAmountLessThan(Double value) {
            addCriterion("budget_amount <", value, "budgetAmount");
            return (Criteria) this;
        }

        public Criteria andBudgetAmountLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("budget_amount < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBudgetAmountLessThanOrEqualTo(Double value) {
            addCriterion("budget_amount <=", value, "budgetAmount");
            return (Criteria) this;
        }

        public Criteria andBudgetAmountLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("budget_amount <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBudgetAmountIn(List<Double> values) {
            addCriterion("budget_amount in", values, "budgetAmount");
            return (Criteria) this;
        }

        public Criteria andBudgetAmountNotIn(List<Double> values) {
            addCriterion("budget_amount not in", values, "budgetAmount");
            return (Criteria) this;
        }

        public Criteria andBudgetAmountBetween(Double value1, Double value2) {
            addCriterion("budget_amount between", value1, value2, "budgetAmount");
            return (Criteria) this;
        }

        public Criteria andBudgetAmountNotBetween(Double value1, Double value2) {
            addCriterion("budget_amount not between", value1, value2, "budgetAmount");
            return (Criteria) this;
        }

        public Criteria andRestDayIsNull() {
            addCriterion("rest_day is null");
            return (Criteria) this;
        }

        public Criteria andRestDayIsNotNull() {
            addCriterion("rest_day is not null");
            return (Criteria) this;
        }

        public Criteria andRestDayEqualTo(String value) {
            addCriterion("rest_day =", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("rest_day = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestDayNotEqualTo(String value) {
            addCriterion("rest_day <>", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("rest_day <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestDayGreaterThan(String value) {
            addCriterion("rest_day >", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("rest_day > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestDayGreaterThanOrEqualTo(String value) {
            addCriterion("rest_day >=", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("rest_day >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestDayLessThan(String value) {
            addCriterion("rest_day <", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("rest_day < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestDayLessThanOrEqualTo(String value) {
            addCriterion("rest_day <=", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("rest_day <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRestDayLike(String value) {
            addCriterion("rest_day like", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayNotLike(String value) {
            addCriterion("rest_day not like", value, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayIn(List<String> values) {
            addCriterion("rest_day in", values, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayNotIn(List<String> values) {
            addCriterion("rest_day not in", values, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayBetween(String value1, String value2) {
            addCriterion("rest_day between", value1, value2, "restDay");
            return (Criteria) this;
        }

        public Criteria andRestDayNotBetween(String value1, String value2) {
            addCriterion("rest_day not between", value1, value2, "restDay");
            return (Criteria) this;
        }

        public Criteria andServiceContentIsNull() {
            addCriterion("service_content is null");
            return (Criteria) this;
        }

        public Criteria andServiceContentIsNotNull() {
            addCriterion("service_content is not null");
            return (Criteria) this;
        }

        public Criteria andServiceContentEqualTo(String value) {
            addCriterion("service_content =", value, "serviceContent");
            return (Criteria) this;
        }

        public Criteria andServiceContentEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_content = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceContentNotEqualTo(String value) {
            addCriterion("service_content <>", value, "serviceContent");
            return (Criteria) this;
        }

        public Criteria andServiceContentNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_content <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceContentGreaterThan(String value) {
            addCriterion("service_content >", value, "serviceContent");
            return (Criteria) this;
        }

        public Criteria andServiceContentGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_content > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceContentGreaterThanOrEqualTo(String value) {
            addCriterion("service_content >=", value, "serviceContent");
            return (Criteria) this;
        }

        public Criteria andServiceContentGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_content >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceContentLessThan(String value) {
            addCriterion("service_content <", value, "serviceContent");
            return (Criteria) this;
        }

        public Criteria andServiceContentLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_content < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceContentLessThanOrEqualTo(String value) {
            addCriterion("service_content <=", value, "serviceContent");
            return (Criteria) this;
        }

        public Criteria andServiceContentLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("service_content <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceContentLike(String value) {
            addCriterion("service_content like", value, "serviceContent");
            return (Criteria) this;
        }

        public Criteria andServiceContentNotLike(String value) {
            addCriterion("service_content not like", value, "serviceContent");
            return (Criteria) this;
        }

        public Criteria andServiceContentIn(List<String> values) {
            addCriterion("service_content in", values, "serviceContent");
            return (Criteria) this;
        }

        public Criteria andServiceContentNotIn(List<String> values) {
            addCriterion("service_content not in", values, "serviceContent");
            return (Criteria) this;
        }

        public Criteria andServiceContentBetween(String value1, String value2) {
            addCriterion("service_content between", value1, value2, "serviceContent");
            return (Criteria) this;
        }

        public Criteria andServiceContentNotBetween(String value1, String value2) {
            addCriterion("service_content not between", value1, value2, "serviceContent");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("`state` is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("`state` is not null");
            return (Criteria) this;
        }

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

        public Criteria andStateEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("`state` = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andStateNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("`state` <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andStateGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("`state` > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andStateGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("`state` >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andStateLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("`state` < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andStateLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("`state` <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

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

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

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

        public Criteria andLossTimesIsNull() {
            addCriterion("loss_times is null");
            return (Criteria) this;
        }

        public Criteria andLossTimesIsNotNull() {
            addCriterion("loss_times is not null");
            return (Criteria) this;
        }

        public Criteria andLossTimesEqualTo(Integer value) {
            addCriterion("loss_times =", value, "lossTimes");
            return (Criteria) this;
        }

        public Criteria andLossTimesEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("loss_times = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andLossTimesNotEqualTo(Integer value) {
            addCriterion("loss_times <>", value, "lossTimes");
            return (Criteria) this;
        }

        public Criteria andLossTimesNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("loss_times <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andLossTimesGreaterThan(Integer value) {
            addCriterion("loss_times >", value, "lossTimes");
            return (Criteria) this;
        }

        public Criteria andLossTimesGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("loss_times > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andLossTimesGreaterThanOrEqualTo(Integer value) {
            addCriterion("loss_times >=", value, "lossTimes");
            return (Criteria) this;
        }

        public Criteria andLossTimesGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("loss_times >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andLossTimesLessThan(Integer value) {
            addCriterion("loss_times <", value, "lossTimes");
            return (Criteria) this;
        }

        public Criteria andLossTimesLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("loss_times < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andLossTimesLessThanOrEqualTo(Integer value) {
            addCriterion("loss_times <=", value, "lossTimes");
            return (Criteria) this;
        }

        public Criteria andLossTimesLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("loss_times <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andLossTimesIn(List<Integer> values) {
            addCriterion("loss_times in", values, "lossTimes");
            return (Criteria) this;
        }

        public Criteria andLossTimesNotIn(List<Integer> values) {
            addCriterion("loss_times not in", values, "lossTimes");
            return (Criteria) this;
        }

        public Criteria andLossTimesBetween(Integer value1, Integer value2) {
            addCriterion("loss_times between", value1, value2, "lossTimes");
            return (Criteria) this;
        }

        public Criteria andLossTimesNotBetween(Integer value1, Integer value2) {
            addCriterion("loss_times not between", value1, value2, "lossTimes");
            return (Criteria) this;
        }

        public Criteria andCandidateIdIsNull() {
            addCriterion("candidate_id is null");
            return (Criteria) this;
        }

        public Criteria andCandidateIdIsNotNull() {
            addCriterion("candidate_id is not null");
            return (Criteria) this;
        }

        public Criteria andCandidateIdEqualTo(Long value) {
            addCriterion("candidate_id =", value, "candidateId");
            return (Criteria) this;
        }

        public Criteria andCandidateIdEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("candidate_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCandidateIdNotEqualTo(Long value) {
            addCriterion("candidate_id <>", value, "candidateId");
            return (Criteria) this;
        }

        public Criteria andCandidateIdNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("candidate_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCandidateIdGreaterThan(Long value) {
            addCriterion("candidate_id >", value, "candidateId");
            return (Criteria) this;
        }

        public Criteria andCandidateIdGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("candidate_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCandidateIdGreaterThanOrEqualTo(Long value) {
            addCriterion("candidate_id >=", value, "candidateId");
            return (Criteria) this;
        }

        public Criteria andCandidateIdGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("candidate_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCandidateIdLessThan(Long value) {
            addCriterion("candidate_id <", value, "candidateId");
            return (Criteria) this;
        }

        public Criteria andCandidateIdLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("candidate_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCandidateIdLessThanOrEqualTo(Long value) {
            addCriterion("candidate_id <=", value, "candidateId");
            return (Criteria) this;
        }

        public Criteria andCandidateIdLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("candidate_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCandidateIdIn(List<Long> values) {
            addCriterion("candidate_id in", values, "candidateId");
            return (Criteria) this;
        }

        public Criteria andCandidateIdNotIn(List<Long> values) {
            addCriterion("candidate_id not in", values, "candidateId");
            return (Criteria) this;
        }

        public Criteria andCandidateIdBetween(Long value1, Long value2) {
            addCriterion("candidate_id between", value1, value2, "candidateId");
            return (Criteria) this;
        }

        public Criteria andCandidateIdNotBetween(Long value1, Long value2) {
            addCriterion("candidate_id not between", value1, value2, "candidateId");
            return (Criteria) this;
        }

        public Criteria andCandidateNameIsNull() {
            addCriterion("candidate_name is null");
            return (Criteria) this;
        }

        public Criteria andCandidateNameIsNotNull() {
            addCriterion("candidate_name is not null");
            return (Criteria) this;
        }

        public Criteria andCandidateNameEqualTo(String value) {
            addCriterion("candidate_name =", value, "candidateName");
            return (Criteria) this;
        }

        public Criteria andCandidateNameEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("candidate_name = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCandidateNameNotEqualTo(String value) {
            addCriterion("candidate_name <>", value, "candidateName");
            return (Criteria) this;
        }

        public Criteria andCandidateNameNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("candidate_name <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCandidateNameGreaterThan(String value) {
            addCriterion("candidate_name >", value, "candidateName");
            return (Criteria) this;
        }

        public Criteria andCandidateNameGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("candidate_name > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCandidateNameGreaterThanOrEqualTo(String value) {
            addCriterion("candidate_name >=", value, "candidateName");
            return (Criteria) this;
        }

        public Criteria andCandidateNameGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("candidate_name >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCandidateNameLessThan(String value) {
            addCriterion("candidate_name <", value, "candidateName");
            return (Criteria) this;
        }

        public Criteria andCandidateNameLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("candidate_name < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCandidateNameLessThanOrEqualTo(String value) {
            addCriterion("candidate_name <=", value, "candidateName");
            return (Criteria) this;
        }

        public Criteria andCandidateNameLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("candidate_name <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCandidateNameLike(String value) {
            addCriterion("candidate_name like", value, "candidateName");
            return (Criteria) this;
        }

        public Criteria andCandidateNameNotLike(String value) {
            addCriterion("candidate_name not like", value, "candidateName");
            return (Criteria) this;
        }

        public Criteria andCandidateNameIn(List<String> values) {
            addCriterion("candidate_name in", values, "candidateName");
            return (Criteria) this;
        }

        public Criteria andCandidateNameNotIn(List<String> values) {
            addCriterion("candidate_name not in", values, "candidateName");
            return (Criteria) this;
        }

        public Criteria andCandidateNameBetween(String value1, String value2) {
            addCriterion("candidate_name between", value1, value2, "candidateName");
            return (Criteria) this;
        }

        public Criteria andCandidateNameNotBetween(String value1, String value2) {
            addCriterion("candidate_name not between", value1, value2, "candidateName");
            return (Criteria) this;
        }

        public Criteria andFollowIdIsNull() {
            addCriterion("follow_id is null");
            return (Criteria) this;
        }

        public Criteria andFollowIdIsNotNull() {
            addCriterion("follow_id is not null");
            return (Criteria) this;
        }

        public Criteria andFollowIdEqualTo(Long value) {
            addCriterion("follow_id =", value, "followId");
            return (Criteria) this;
        }

        public Criteria andFollowIdEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("follow_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFollowIdNotEqualTo(Long value) {
            addCriterion("follow_id <>", value, "followId");
            return (Criteria) this;
        }

        public Criteria andFollowIdNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("follow_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFollowIdGreaterThan(Long value) {
            addCriterion("follow_id >", value, "followId");
            return (Criteria) this;
        }

        public Criteria andFollowIdGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("follow_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFollowIdGreaterThanOrEqualTo(Long value) {
            addCriterion("follow_id >=", value, "followId");
            return (Criteria) this;
        }

        public Criteria andFollowIdGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("follow_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFollowIdLessThan(Long value) {
            addCriterion("follow_id <", value, "followId");
            return (Criteria) this;
        }

        public Criteria andFollowIdLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("follow_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFollowIdLessThanOrEqualTo(Long value) {
            addCriterion("follow_id <=", value, "followId");
            return (Criteria) this;
        }

        public Criteria andFollowIdLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("follow_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFollowIdIn(List<Long> values) {
            addCriterion("follow_id in", values, "followId");
            return (Criteria) this;
        }

        public Criteria andFollowIdNotIn(List<Long> values) {
            addCriterion("follow_id not in", values, "followId");
            return (Criteria) this;
        }

        public Criteria andFollowIdBetween(Long value1, Long value2) {
            addCriterion("follow_id between", value1, value2, "followId");
            return (Criteria) this;
        }

        public Criteria andFollowIdNotBetween(Long value1, Long value2) {
            addCriterion("follow_id not between", value1, value2, "followId");
            return (Criteria) this;
        }

        public Criteria andFollowPersonIsNull() {
            addCriterion("follow_person is null");
            return (Criteria) this;
        }

        public Criteria andFollowPersonIsNotNull() {
            addCriterion("follow_person is not null");
            return (Criteria) this;
        }

        public Criteria andFollowPersonEqualTo(String value) {
            addCriterion("follow_person =", value, "followPerson");
            return (Criteria) this;
        }

        public Criteria andFollowPersonEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("follow_person = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFollowPersonNotEqualTo(String value) {
            addCriterion("follow_person <>", value, "followPerson");
            return (Criteria) this;
        }

        public Criteria andFollowPersonNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("follow_person <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFollowPersonGreaterThan(String value) {
            addCriterion("follow_person >", value, "followPerson");
            return (Criteria) this;
        }

        public Criteria andFollowPersonGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("follow_person > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFollowPersonGreaterThanOrEqualTo(String value) {
            addCriterion("follow_person >=", value, "followPerson");
            return (Criteria) this;
        }

        public Criteria andFollowPersonGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("follow_person >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFollowPersonLessThan(String value) {
            addCriterion("follow_person <", value, "followPerson");
            return (Criteria) this;
        }

        public Criteria andFollowPersonLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("follow_person < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFollowPersonLessThanOrEqualTo(String value) {
            addCriterion("follow_person <=", value, "followPerson");
            return (Criteria) this;
        }

        public Criteria andFollowPersonLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("follow_person <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFollowPersonLike(String value) {
            addCriterion("follow_person like", value, "followPerson");
            return (Criteria) this;
        }

        public Criteria andFollowPersonNotLike(String value) {
            addCriterion("follow_person not like", value, "followPerson");
            return (Criteria) this;
        }

        public Criteria andFollowPersonIn(List<String> values) {
            addCriterion("follow_person in", values, "followPerson");
            return (Criteria) this;
        }

        public Criteria andFollowPersonNotIn(List<String> values) {
            addCriterion("follow_person not in", values, "followPerson");
            return (Criteria) this;
        }

        public Criteria andFollowPersonBetween(String value1, String value2) {
            addCriterion("follow_person between", value1, value2, "followPerson");
            return (Criteria) this;
        }

        public Criteria andFollowPersonNotBetween(String value1, String value2) {
            addCriterion("follow_person not between", value1, value2, "followPerson");
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeIsNull() {
            addCriterion("next_visit_time is null");
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeIsNotNull() {
            addCriterion("next_visit_time is not null");
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeEqualTo(LocalDateTime value) {
            addCriterion("next_visit_time =", value, "nextVisitTime");
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("next_visit_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeNotEqualTo(LocalDateTime value) {
            addCriterion("next_visit_time <>", value, "nextVisitTime");
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("next_visit_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeGreaterThan(LocalDateTime value) {
            addCriterion("next_visit_time >", value, "nextVisitTime");
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("next_visit_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("next_visit_time >=", value, "nextVisitTime");
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("next_visit_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeLessThan(LocalDateTime value) {
            addCriterion("next_visit_time <", value, "nextVisitTime");
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("next_visit_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("next_visit_time <=", value, "nextVisitTime");
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("next_visit_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeIn(List<LocalDateTime> values) {
            addCriterion("next_visit_time in", values, "nextVisitTime");
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeNotIn(List<LocalDateTime> values) {
            addCriterion("next_visit_time not in", values, "nextVisitTime");
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("next_visit_time between", value1, value2, "nextVisitTime");
            return (Criteria) this;
        }

        public Criteria andNextVisitTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("next_visit_time not between", value1, value2, "nextVisitTime");
            return (Criteria) this;
        }

        public Criteria andRegionIdIsNull() {
            addCriterion("region_id is null");
            return (Criteria) this;
        }

        public Criteria andRegionIdIsNotNull() {
            addCriterion("region_id is not null");
            return (Criteria) this;
        }

        public Criteria andRegionIdEqualTo(Long value) {
            addCriterion("region_id =", value, "regionId");
            return (Criteria) this;
        }

        public Criteria andRegionIdEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("region_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRegionIdNotEqualTo(Long value) {
            addCriterion("region_id <>", value, "regionId");
            return (Criteria) this;
        }

        public Criteria andRegionIdNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("region_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRegionIdGreaterThan(Long value) {
            addCriterion("region_id >", value, "regionId");
            return (Criteria) this;
        }

        public Criteria andRegionIdGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("region_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRegionIdGreaterThanOrEqualTo(Long value) {
            addCriterion("region_id >=", value, "regionId");
            return (Criteria) this;
        }

        public Criteria andRegionIdGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("region_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRegionIdLessThan(Long value) {
            addCriterion("region_id <", value, "regionId");
            return (Criteria) this;
        }

        public Criteria andRegionIdLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("region_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRegionIdLessThanOrEqualTo(Long value) {
            addCriterion("region_id <=", value, "regionId");
            return (Criteria) this;
        }

        public Criteria andRegionIdLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("region_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRegionIdIn(List<Long> values) {
            addCriterion("region_id in", values, "regionId");
            return (Criteria) this;
        }

        public Criteria andRegionIdNotIn(List<Long> values) {
            addCriterion("region_id not in", values, "regionId");
            return (Criteria) this;
        }

        public Criteria andRegionIdBetween(Long value1, Long value2) {
            addCriterion("region_id between", value1, value2, "regionId");
            return (Criteria) this;
        }

        public Criteria andRegionIdNotBetween(Long value1, Long value2) {
            addCriterion("region_id not between", value1, value2, "regionId");
            return (Criteria) this;
        }

        public Criteria andAllocationTimeIsNull() {
            addCriterion("allocation_time is null");
            return (Criteria) this;
        }

        public Criteria andAllocationTimeIsNotNull() {
            addCriterion("allocation_time is not null");
            return (Criteria) this;
        }

        public Criteria andAllocationTimeEqualTo(LocalDateTime value) {
            addCriterion("allocation_time =", value, "allocationTime");
            return (Criteria) this;
        }

        public Criteria andAllocationTimeEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("allocation_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAllocationTimeNotEqualTo(LocalDateTime value) {
            addCriterion("allocation_time <>", value, "allocationTime");
            return (Criteria) this;
        }

        public Criteria andAllocationTimeNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("allocation_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAllocationTimeGreaterThan(LocalDateTime value) {
            addCriterion("allocation_time >", value, "allocationTime");
            return (Criteria) this;
        }

        public Criteria andAllocationTimeGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("allocation_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAllocationTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("allocation_time >=", value, "allocationTime");
            return (Criteria) this;
        }

        public Criteria andAllocationTimeGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("allocation_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAllocationTimeLessThan(LocalDateTime value) {
            addCriterion("allocation_time <", value, "allocationTime");
            return (Criteria) this;
        }

        public Criteria andAllocationTimeLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("allocation_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAllocationTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("allocation_time <=", value, "allocationTime");
            return (Criteria) this;
        }

        public Criteria andAllocationTimeLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("allocation_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAllocationTimeIn(List<LocalDateTime> values) {
            addCriterion("allocation_time in", values, "allocationTime");
            return (Criteria) this;
        }

        public Criteria andAllocationTimeNotIn(List<LocalDateTime> values) {
            addCriterion("allocation_time not in", values, "allocationTime");
            return (Criteria) this;
        }

        public Criteria andAllocationTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("allocation_time between", value1, value2, "allocationTime");
            return (Criteria) this;
        }

        public Criteria andAllocationTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("allocation_time not between", value1, value2, "allocationTime");
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeIsNull() {
            addCriterion("need_contact_time is null");
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeIsNotNull() {
            addCriterion("need_contact_time is not null");
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeEqualTo(LocalDateTime value) {
            addCriterion("need_contact_time =", value, "needContactTime");
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("need_contact_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeNotEqualTo(LocalDateTime value) {
            addCriterion("need_contact_time <>", value, "needContactTime");
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("need_contact_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeGreaterThan(LocalDateTime value) {
            addCriterion("need_contact_time >", value, "needContactTime");
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("need_contact_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("need_contact_time >=", value, "needContactTime");
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("need_contact_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeLessThan(LocalDateTime value) {
            addCriterion("need_contact_time <", value, "needContactTime");
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("need_contact_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("need_contact_time <=", value, "needContactTime");
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("need_contact_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeIn(List<LocalDateTime> values) {
            addCriterion("need_contact_time in", values, "needContactTime");
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeNotIn(List<LocalDateTime> values) {
            addCriterion("need_contact_time not in", values, "needContactTime");
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("need_contact_time between", value1, value2, "needContactTime");
            return (Criteria) this;
        }

        public Criteria andNeedContactTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("need_contact_time not between", value1, value2, "needContactTime");
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkIsNull() {
            addCriterion("franchisee_remark is null");
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkIsNotNull() {
            addCriterion("franchisee_remark is not null");
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkEqualTo(String value) {
            addCriterion("franchisee_remark =", value, "franchiseeRemark");
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("franchisee_remark = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkNotEqualTo(String value) {
            addCriterion("franchisee_remark <>", value, "franchiseeRemark");
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("franchisee_remark <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkGreaterThan(String value) {
            addCriterion("franchisee_remark >", value, "franchiseeRemark");
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("franchisee_remark > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("franchisee_remark >=", value, "franchiseeRemark");
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("franchisee_remark >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkLessThan(String value) {
            addCriterion("franchisee_remark <", value, "franchiseeRemark");
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("franchisee_remark < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkLessThanOrEqualTo(String value) {
            addCriterion("franchisee_remark <=", value, "franchiseeRemark");
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("franchisee_remark <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkLike(String value) {
            addCriterion("franchisee_remark like", value, "franchiseeRemark");
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkNotLike(String value) {
            addCriterion("franchisee_remark not like", value, "franchiseeRemark");
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkIn(List<String> values) {
            addCriterion("franchisee_remark in", values, "franchiseeRemark");
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkNotIn(List<String> values) {
            addCriterion("franchisee_remark not in", values, "franchiseeRemark");
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkBetween(String value1, String value2) {
            addCriterion("franchisee_remark between", value1, value2, "franchiseeRemark");
            return (Criteria) this;
        }

        public Criteria andFranchiseeRemarkNotBetween(String value1, String value2) {
            addCriterion("franchisee_remark not between", value1, value2, "franchiseeRemark");
            return (Criteria) this;
        }

        public Criteria andCirculationTimesIsNull() {
            addCriterion("circulation_times is null");
            return (Criteria) this;
        }

        public Criteria andCirculationTimesIsNotNull() {
            addCriterion("circulation_times is not null");
            return (Criteria) this;
        }

        public Criteria andCirculationTimesEqualTo(Integer value) {
            addCriterion("circulation_times =", value, "circulationTimes");
            return (Criteria) this;
        }

        public Criteria andCirculationTimesEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("circulation_times = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCirculationTimesNotEqualTo(Integer value) {
            addCriterion("circulation_times <>", value, "circulationTimes");
            return (Criteria) this;
        }

        public Criteria andCirculationTimesNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("circulation_times <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCirculationTimesGreaterThan(Integer value) {
            addCriterion("circulation_times >", value, "circulationTimes");
            return (Criteria) this;
        }

        public Criteria andCirculationTimesGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("circulation_times > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCirculationTimesGreaterThanOrEqualTo(Integer value) {
            addCriterion("circulation_times >=", value, "circulationTimes");
            return (Criteria) this;
        }

        public Criteria andCirculationTimesGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("circulation_times >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCirculationTimesLessThan(Integer value) {
            addCriterion("circulation_times <", value, "circulationTimes");
            return (Criteria) this;
        }

        public Criteria andCirculationTimesLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("circulation_times < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCirculationTimesLessThanOrEqualTo(Integer value) {
            addCriterion("circulation_times <=", value, "circulationTimes");
            return (Criteria) this;
        }

        public Criteria andCirculationTimesLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("circulation_times <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCirculationTimesIn(List<Integer> values) {
            addCriterion("circulation_times in", values, "circulationTimes");
            return (Criteria) this;
        }

        public Criteria andCirculationTimesNotIn(List<Integer> values) {
            addCriterion("circulation_times not in", values, "circulationTimes");
            return (Criteria) this;
        }

        public Criteria andCirculationTimesBetween(Integer value1, Integer value2) {
            addCriterion("circulation_times between", value1, value2, "circulationTimes");
            return (Criteria) this;
        }

        public Criteria andCirculationTimesNotBetween(Integer value1, Integer value2) {
            addCriterion("circulation_times not between", value1, value2, "circulationTimes");
            return (Criteria) this;
        }

        public Criteria andClueFlagIsNull() {
            addCriterion("clue_flag is null");
            return (Criteria) this;
        }

        public Criteria andClueFlagIsNotNull() {
            addCriterion("clue_flag is not null");
            return (Criteria) this;
        }

        public Criteria andClueFlagEqualTo(String value) {
            addCriterion("clue_flag =", value, "clueFlag");
            return (Criteria) this;
        }

        public Criteria andClueFlagEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_flag = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueFlagNotEqualTo(String value) {
            addCriterion("clue_flag <>", value, "clueFlag");
            return (Criteria) this;
        }

        public Criteria andClueFlagNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_flag <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueFlagGreaterThan(String value) {
            addCriterion("clue_flag >", value, "clueFlag");
            return (Criteria) this;
        }

        public Criteria andClueFlagGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_flag > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueFlagGreaterThanOrEqualTo(String value) {
            addCriterion("clue_flag >=", value, "clueFlag");
            return (Criteria) this;
        }

        public Criteria andClueFlagGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_flag >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueFlagLessThan(String value) {
            addCriterion("clue_flag <", value, "clueFlag");
            return (Criteria) this;
        }

        public Criteria andClueFlagLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_flag < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueFlagLessThanOrEqualTo(String value) {
            addCriterion("clue_flag <=", value, "clueFlag");
            return (Criteria) this;
        }

        public Criteria andClueFlagLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("clue_flag <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andClueFlagLike(String value) {
            addCriterion("clue_flag like", value, "clueFlag");
            return (Criteria) this;
        }

        public Criteria andClueFlagNotLike(String value) {
            addCriterion("clue_flag not like", value, "clueFlag");
            return (Criteria) this;
        }

        public Criteria andClueFlagIn(List<String> values) {
            addCriterion("clue_flag in", values, "clueFlag");
            return (Criteria) this;
        }

        public Criteria andClueFlagNotIn(List<String> values) {
            addCriterion("clue_flag not in", values, "clueFlag");
            return (Criteria) this;
        }

        public Criteria andClueFlagBetween(String value1, String value2) {
            addCriterion("clue_flag between", value1, value2, "clueFlag");
            return (Criteria) this;
        }

        public Criteria andClueFlagNotBetween(String value1, String value2) {
            addCriterion("clue_flag not between", value1, value2, "clueFlag");
            return (Criteria) this;
        }

        public Criteria andCreateIdIsNull() {
            addCriterion("create_id is null");
            return (Criteria) this;
        }

        public Criteria andCreateIdIsNotNull() {
            addCriterion("create_id is not null");
            return (Criteria) this;
        }

        public Criteria andCreateIdEqualTo(Long value) {
            addCriterion("create_id =", value, "createId");
            return (Criteria) this;
        }

        public Criteria andCreateIdEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateIdNotEqualTo(Long value) {
            addCriterion("create_id <>", value, "createId");
            return (Criteria) this;
        }

        public Criteria andCreateIdNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateIdGreaterThan(Long value) {
            addCriterion("create_id >", value, "createId");
            return (Criteria) this;
        }

        public Criteria andCreateIdGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateIdGreaterThanOrEqualTo(Long value) {
            addCriterion("create_id >=", value, "createId");
            return (Criteria) this;
        }

        public Criteria andCreateIdGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateIdLessThan(Long value) {
            addCriterion("create_id <", value, "createId");
            return (Criteria) this;
        }

        public Criteria andCreateIdLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateIdLessThanOrEqualTo(Long value) {
            addCriterion("create_id <=", value, "createId");
            return (Criteria) this;
        }

        public Criteria andCreateIdLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateIdIn(List<Long> values) {
            addCriterion("create_id in", values, "createId");
            return (Criteria) this;
        }

        public Criteria andCreateIdNotIn(List<Long> values) {
            addCriterion("create_id not in", values, "createId");
            return (Criteria) this;
        }

        public Criteria andCreateIdBetween(Long value1, Long value2) {
            addCriterion("create_id between", value1, value2, "createId");
            return (Criteria) this;
        }

        public Criteria andCreateIdNotBetween(Long value1, Long value2) {
            addCriterion("create_id not between", value1, value2, "createId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIsNull() {
            addCriterion("create_user is null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIsNotNull() {
            addCriterion("create_user is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUserEqualTo(String value) {
            addCriterion("create_user =", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_user = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserNotEqualTo(String value) {
            addCriterion("create_user <>", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_user <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThan(String value) {
            addCriterion("create_user >", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_user > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanOrEqualTo(String value) {
            addCriterion("create_user >=", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_user >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThan(String value) {
            addCriterion("create_user <", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_user < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanOrEqualTo(String value) {
            addCriterion("create_user <=", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_user <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserLike(String value) {
            addCriterion("create_user like", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotLike(String value) {
            addCriterion("create_user not like", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserIn(List<String> values) {
            addCriterion("create_user in", values, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotIn(List<String> values) {
            addCriterion("create_user not in", values, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserBetween(String value1, String value2) {
            addCriterion("create_user between", value1, value2, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotBetween(String value1, String value2) {
            addCriterion("create_user not between", value1, value2, "createUser");
            return (Criteria) this;
        }

        public Criteria andUserCodeIsNull() {
            addCriterion("user_code is null");
            return (Criteria) this;
        }

        public Criteria andUserCodeIsNotNull() {
            addCriterion("user_code is not null");
            return (Criteria) this;
        }

        public Criteria andUserCodeEqualTo(String value) {
            addCriterion("user_code =", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("user_code = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserCodeNotEqualTo(String value) {
            addCriterion("user_code <>", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("user_code <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserCodeGreaterThan(String value) {
            addCriterion("user_code >", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("user_code > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserCodeGreaterThanOrEqualTo(String value) {
            addCriterion("user_code >=", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("user_code >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserCodeLessThan(String value) {
            addCriterion("user_code <", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("user_code < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserCodeLessThanOrEqualTo(String value) {
            addCriterion("user_code <=", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("user_code <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUserCodeLike(String value) {
            addCriterion("user_code like", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeNotLike(String value) {
            addCriterion("user_code not like", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeIn(List<String> values) {
            addCriterion("user_code in", values, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeNotIn(List<String> values) {
            addCriterion("user_code not in", values, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeBetween(String value1, String value2) {
            addCriterion("user_code between", value1, value2, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeNotBetween(String value1, String value2) {
            addCriterion("user_code not between", value1, value2, "userCode");
            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 andCreateTimeEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andCreateTimeNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andCreateTimeGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andCreateTimeGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andCreateTimeLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andCreateTimeLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("create_time <= ").append(column.getEscapedColumnName()).toString());
            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 andUpdateTimeEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("update_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andUpdateTimeNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("update_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andUpdateTimeGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("update_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andUpdateTimeGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("update_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andUpdateTimeLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("update_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andUpdateTimeLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("update_time <= ").append(column.getEscapedColumnName()).toString());
            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 andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("remark = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andRemarkNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("remark <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("remark > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andRemarkGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("remark >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("remark < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

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

        public Criteria andRemarkLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("remark <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andJudgementResultIsNull() {
            addCriterion("judgement_result is null");
            return (Criteria) this;
        }

        public Criteria andJudgementResultIsNotNull() {
            addCriterion("judgement_result is not null");
            return (Criteria) this;
        }

        public Criteria andJudgementResultEqualTo(Integer value) {
            addCriterion("judgement_result =", value, "judgementResult");
            return (Criteria) this;
        }

        public Criteria andJudgementResultEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("judgement_result = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andJudgementResultNotEqualTo(Integer value) {
            addCriterion("judgement_result <>", value, "judgementResult");
            return (Criteria) this;
        }

        public Criteria andJudgementResultNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("judgement_result <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andJudgementResultGreaterThan(Integer value) {
            addCriterion("judgement_result >", value, "judgementResult");
            return (Criteria) this;
        }

        public Criteria andJudgementResultGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("judgement_result > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andJudgementResultGreaterThanOrEqualTo(Integer value) {
            addCriterion("judgement_result >=", value, "judgementResult");
            return (Criteria) this;
        }

        public Criteria andJudgementResultGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("judgement_result >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andJudgementResultLessThan(Integer value) {
            addCriterion("judgement_result <", value, "judgementResult");
            return (Criteria) this;
        }

        public Criteria andJudgementResultLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("judgement_result < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andJudgementResultLessThanOrEqualTo(Integer value) {
            addCriterion("judgement_result <=", value, "judgementResult");
            return (Criteria) this;
        }

        public Criteria andJudgementResultLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("judgement_result <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andJudgementResultIn(List<Integer> values) {
            addCriterion("judgement_result in", values, "judgementResult");
            return (Criteria) this;
        }

        public Criteria andJudgementResultNotIn(List<Integer> values) {
            addCriterion("judgement_result not in", values, "judgementResult");
            return (Criteria) this;
        }

        public Criteria andJudgementResultBetween(Integer value1, Integer value2) {
            addCriterion("judgement_result between", value1, value2, "judgementResult");
            return (Criteria) this;
        }

        public Criteria andJudgementResultNotBetween(Integer value1, Integer value2) {
            addCriterion("judgement_result not between", value1, value2, "judgementResult");
            return (Criteria) this;
        }

        public Criteria andWorkContentIsNull() {
            addCriterion("work_content is null");
            return (Criteria) this;
        }

        public Criteria andWorkContentIsNotNull() {
            addCriterion("work_content is not null");
            return (Criteria) this;
        }

        public Criteria andWorkContentEqualTo(String value) {
            addCriterion("work_content =", value, "workContent");
            return (Criteria) this;
        }

        public Criteria andWorkContentEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("work_content = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkContentNotEqualTo(String value) {
            addCriterion("work_content <>", value, "workContent");
            return (Criteria) this;
        }

        public Criteria andWorkContentNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("work_content <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkContentGreaterThan(String value) {
            addCriterion("work_content >", value, "workContent");
            return (Criteria) this;
        }

        public Criteria andWorkContentGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("work_content > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkContentGreaterThanOrEqualTo(String value) {
            addCriterion("work_content >=", value, "workContent");
            return (Criteria) this;
        }

        public Criteria andWorkContentGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("work_content >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkContentLessThan(String value) {
            addCriterion("work_content <", value, "workContent");
            return (Criteria) this;
        }

        public Criteria andWorkContentLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("work_content < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkContentLessThanOrEqualTo(String value) {
            addCriterion("work_content <=", value, "workContent");
            return (Criteria) this;
        }

        public Criteria andWorkContentLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("work_content <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andWorkContentLike(String value) {
            addCriterion("work_content like", value, "workContent");
            return (Criteria) this;
        }

        public Criteria andWorkContentNotLike(String value) {
            addCriterion("work_content not like", value, "workContent");
            return (Criteria) this;
        }

        public Criteria andWorkContentIn(List<String> values) {
            addCriterion("work_content in", values, "workContent");
            return (Criteria) this;
        }

        public Criteria andWorkContentNotIn(List<String> values) {
            addCriterion("work_content not in", values, "workContent");
            return (Criteria) this;
        }

        public Criteria andWorkContentBetween(String value1, String value2) {
            addCriterion("work_content between", value1, value2, "workContent");
            return (Criteria) this;
        }

        public Criteria andWorkContentNotBetween(String value1, String value2) {
            addCriterion("work_content not between", value1, value2, "workContent");
            return (Criteria) this;
        }

        public Criteria andOrderTimeIsNull() {
            addCriterion("order_time is null");
            return (Criteria) this;
        }

        public Criteria andOrderTimeIsNotNull() {
            addCriterion("order_time is not null");
            return (Criteria) this;
        }

        public Criteria andOrderTimeEqualTo(LocalDateTime value) {
            addCriterion("order_time =", value, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("order_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderTimeNotEqualTo(LocalDateTime value) {
            addCriterion("order_time <>", value, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeNotEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("order_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderTimeGreaterThan(LocalDateTime value) {
            addCriterion("order_time >", value, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeGreaterThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("order_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("order_time >=", value, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeGreaterThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("order_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderTimeLessThan(LocalDateTime value) {
            addCriterion("order_time <", value, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeLessThanColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("order_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("order_time <=", value, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeLessThanOrEqualToColumn(CustomerClue.Column column) {
            addCriterion(new StringBuilder("order_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOrderTimeIn(List<LocalDateTime> values) {
            addCriterion("order_time in", values, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeNotIn(List<LocalDateTime> values) {
            addCriterion("order_time not in", values, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("order_time between", value1, value2, "orderTime");
            return (Criteria) this;
        }

        public Criteria andOrderTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("order_time not between", value1, value2, "orderTime");
            return (Criteria) this;
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table customer_clue
     *
     * @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 customer_clue
         *
         * @mbg.generated
         */
        private CustomerClueExample example;

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table customer_clue
         *
         * @mbg.generated
         */
        protected Criteria(CustomerClueExample example) {
            super();
            this.example = example;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table customer_clue
         *
         * @mbg.generated
         */
        public CustomerClueExample example() {
            return this.example;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table customer_clue
         *
         * @mbg.generated
         */
        @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 customer_clue
         *
         * @mbg.generated
         */
        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 customer_clue
         *
         * @mbg.generated
         */
        public Criteria when(boolean condition, ICriteriaWhen then, ICriteriaWhen otherwise) {
            if (condition) {
                then.criteria(this);
            } else {
                otherwise.criteria(this);
            }
            return this;
        }

        @Deprecated
        public interface ICriteriaAdd {
            /**
             * This method was generated by MyBatis Generator.
             * This method corresponds to the database table customer_clue
             *
             * @mbg.generated
             */
            Criteria add(Criteria add);
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table customer_clue
     *
     * @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);
        }
    }

    public interface ICriteriaWhen {
        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table customer_clue
         *
         * @mbg.generated
         */
        void criteria(Criteria criteria);
    }

    public interface IExampleWhen {
        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table customer_clue
         *
         * @mbg.generated
         */
        void example(org.linlinjava.jz.db.domain.CustomerClueExample example);
    }
}