package com.tzld.piaoquan.api.model.po.wecom.thirdpart;

import com.tzld.piaoquan.growth.common.utils.page.Page;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ThirdPartWeComMsgExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected Page page;

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

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

    public String getOrderByClause() {
        return orderByClause;
    }

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

    public boolean isDistinct() {
        return distinct;
    }

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

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

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

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

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

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

    public void setPage(Page page) {
        this.page=page;
    }

    public Page getPage() {
        return page;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public Criteria andUuidIsNull() {
            addCriterion("uuid is null");
            return (Criteria) this;
        }

        public Criteria andUuidIsNotNull() {
            addCriterion("uuid is not null");
            return (Criteria) this;
        }

        public Criteria andUuidEqualTo(String value) {
            addCriterion("uuid =", value, "uuid");
            return (Criteria) this;
        }

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

        public Criteria andUuidGreaterThan(String value) {
            addCriterion("uuid >", value, "uuid");
            return (Criteria) this;
        }

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

        public Criteria andUuidLessThan(String value) {
            addCriterion("uuid <", value, "uuid");
            return (Criteria) this;
        }

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

        public Criteria andUuidLike(String value) {
            addCriterion("uuid like", value, "uuid");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andSendUseridIsNull() {
            addCriterion("send_userid is null");
            return (Criteria) this;
        }

        public Criteria andSendUseridIsNotNull() {
            addCriterion("send_userid is not null");
            return (Criteria) this;
        }

        public Criteria andSendUseridEqualTo(Long value) {
            addCriterion("send_userid =", value, "sendUserid");
            return (Criteria) this;
        }

        public Criteria andSendUseridNotEqualTo(Long value) {
            addCriterion("send_userid <>", value, "sendUserid");
            return (Criteria) this;
        }

        public Criteria andSendUseridGreaterThan(Long value) {
            addCriterion("send_userid >", value, "sendUserid");
            return (Criteria) this;
        }

        public Criteria andSendUseridGreaterThanOrEqualTo(Long value) {
            addCriterion("send_userid >=", value, "sendUserid");
            return (Criteria) this;
        }

        public Criteria andSendUseridLessThan(Long value) {
            addCriterion("send_userid <", value, "sendUserid");
            return (Criteria) this;
        }

        public Criteria andSendUseridLessThanOrEqualTo(Long value) {
            addCriterion("send_userid <=", value, "sendUserid");
            return (Criteria) this;
        }

        public Criteria andSendUseridIn(List<Long> values) {
            addCriterion("send_userid in", values, "sendUserid");
            return (Criteria) this;
        }

        public Criteria andSendUseridNotIn(List<Long> values) {
            addCriterion("send_userid not in", values, "sendUserid");
            return (Criteria) this;
        }

        public Criteria andSendUseridBetween(Long value1, Long value2) {
            addCriterion("send_userid between", value1, value2, "sendUserid");
            return (Criteria) this;
        }

        public Criteria andSendUseridNotBetween(Long value1, Long value2) {
            addCriterion("send_userid not between", value1, value2, "sendUserid");
            return (Criteria) this;
        }

        public Criteria andSendTypeIsNull() {
            addCriterion("send_type is null");
            return (Criteria) this;
        }

        public Criteria andSendTypeIsNotNull() {
            addCriterion("send_type is not null");
            return (Criteria) this;
        }

        public Criteria andSendTypeEqualTo(Integer value) {
            addCriterion("send_type =", value, "sendType");
            return (Criteria) this;
        }

        public Criteria andSendTypeNotEqualTo(Integer value) {
            addCriterion("send_type <>", value, "sendType");
            return (Criteria) this;
        }

        public Criteria andSendTypeGreaterThan(Integer value) {
            addCriterion("send_type >", value, "sendType");
            return (Criteria) this;
        }

        public Criteria andSendTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("send_type >=", value, "sendType");
            return (Criteria) this;
        }

        public Criteria andSendTypeLessThan(Integer value) {
            addCriterion("send_type <", value, "sendType");
            return (Criteria) this;
        }

        public Criteria andSendTypeLessThanOrEqualTo(Integer value) {
            addCriterion("send_type <=", value, "sendType");
            return (Criteria) this;
        }

        public Criteria andSendTypeIn(List<Integer> values) {
            addCriterion("send_type in", values, "sendType");
            return (Criteria) this;
        }

        public Criteria andSendTypeNotIn(List<Integer> values) {
            addCriterion("send_type not in", values, "sendType");
            return (Criteria) this;
        }

        public Criteria andSendTypeBetween(Integer value1, Integer value2) {
            addCriterion("send_type between", value1, value2, "sendType");
            return (Criteria) this;
        }

        public Criteria andSendTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("send_type not between", value1, value2, "sendType");
            return (Criteria) this;
        }

        public Criteria andContentIsNull() {
            addCriterion("content is null");
            return (Criteria) this;
        }

        public Criteria andContentIsNotNull() {
            addCriterion("content is not null");
            return (Criteria) this;
        }

        public Criteria andContentEqualTo(String value) {
            addCriterion("content =", value, "content");
            return (Criteria) this;
        }

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

        public Criteria andContentGreaterThan(String value) {
            addCriterion("content >", value, "content");
            return (Criteria) this;
        }

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

        public Criteria andContentLessThan(String value) {
            addCriterion("content <", value, "content");
            return (Criteria) this;
        }

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

        public Criteria andContentLike(String value) {
            addCriterion("content like", value, "content");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andStaffIdIsNull() {
            addCriterion("staff_id is null");
            return (Criteria) this;
        }

        public Criteria andStaffIdIsNotNull() {
            addCriterion("staff_id is not null");
            return (Criteria) this;
        }

        public Criteria andStaffIdEqualTo(Long value) {
            addCriterion("staff_id =", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdNotEqualTo(Long value) {
            addCriterion("staff_id <>", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdGreaterThan(Long value) {
            addCriterion("staff_id >", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdGreaterThanOrEqualTo(Long value) {
            addCriterion("staff_id >=", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdLessThan(Long value) {
            addCriterion("staff_id <", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdLessThanOrEqualTo(Long value) {
            addCriterion("staff_id <=", value, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdIn(List<Long> values) {
            addCriterion("staff_id in", values, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdNotIn(List<Long> values) {
            addCriterion("staff_id not in", values, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdBetween(Long value1, Long value2) {
            addCriterion("staff_id between", value1, value2, "staffId");
            return (Criteria) this;
        }

        public Criteria andStaffIdNotBetween(Long value1, Long value2) {
            addCriterion("staff_id not between", value1, value2, "staffId");
            return (Criteria) this;
        }

        public Criteria andVideoIdIsNull() {
            addCriterion("video_id is null");
            return (Criteria) this;
        }

        public Criteria andVideoIdIsNotNull() {
            addCriterion("video_id is not null");
            return (Criteria) this;
        }

        public Criteria andVideoIdEqualTo(Long value) {
            addCriterion("video_id =", value, "videoId");
            return (Criteria) this;
        }

        public Criteria andVideoIdNotEqualTo(Long value) {
            addCriterion("video_id <>", value, "videoId");
            return (Criteria) this;
        }

        public Criteria andVideoIdGreaterThan(Long value) {
            addCriterion("video_id >", value, "videoId");
            return (Criteria) this;
        }

        public Criteria andVideoIdGreaterThanOrEqualTo(Long value) {
            addCriterion("video_id >=", value, "videoId");
            return (Criteria) this;
        }

        public Criteria andVideoIdLessThan(Long value) {
            addCriterion("video_id <", value, "videoId");
            return (Criteria) this;
        }

        public Criteria andVideoIdLessThanOrEqualTo(Long value) {
            addCriterion("video_id <=", value, "videoId");
            return (Criteria) this;
        }

        public Criteria andVideoIdIn(List<Long> values) {
            addCriterion("video_id in", values, "videoId");
            return (Criteria) this;
        }

        public Criteria andVideoIdNotIn(List<Long> values) {
            addCriterion("video_id not in", values, "videoId");
            return (Criteria) this;
        }

        public Criteria andVideoIdBetween(Long value1, Long value2) {
            addCriterion("video_id between", value1, value2, "videoId");
            return (Criteria) this;
        }

        public Criteria andVideoIdNotBetween(Long value1, Long value2) {
            addCriterion("video_id not between", value1, value2, "videoId");
            return (Criteria) this;
        }

        public Criteria andAppnameIsNull() {
            addCriterion("appName is null");
            return (Criteria) this;
        }

        public Criteria andAppnameIsNotNull() {
            addCriterion("appName is not null");
            return (Criteria) this;
        }

        public Criteria andAppnameEqualTo(String value) {
            addCriterion("appName =", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameNotEqualTo(String value) {
            addCriterion("appName <>", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameGreaterThan(String value) {
            addCriterion("appName >", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameGreaterThanOrEqualTo(String value) {
            addCriterion("appName >=", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameLessThan(String value) {
            addCriterion("appName <", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameLessThanOrEqualTo(String value) {
            addCriterion("appName <=", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameLike(String value) {
            addCriterion("appName like", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameNotLike(String value) {
            addCriterion("appName not like", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameIn(List<String> values) {
            addCriterion("appName in", values, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameNotIn(List<String> values) {
            addCriterion("appName not in", values, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameBetween(String value1, String value2) {
            addCriterion("appName between", value1, value2, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameNotBetween(String value1, String value2) {
            addCriterion("appName not between", value1, value2, "appname");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("title =", value, "title");
            return (Criteria) this;
        }

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

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("title >", value, "title");
            return (Criteria) this;
        }

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

        public Criteria andTitleLessThan(String value) {
            addCriterion("title <", value, "title");
            return (Criteria) this;
        }

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

        public Criteria andTitleLike(String value) {
            addCriterion("title like", value, "title");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andWeappiconurlIsNull() {
            addCriterion("weappIconUrl is null");
            return (Criteria) this;
        }

        public Criteria andWeappiconurlIsNotNull() {
            addCriterion("weappIconUrl is not null");
            return (Criteria) this;
        }

        public Criteria andWeappiconurlEqualTo(String value) {
            addCriterion("weappIconUrl =", value, "weappiconurl");
            return (Criteria) this;
        }

        public Criteria andWeappiconurlNotEqualTo(String value) {
            addCriterion("weappIconUrl <>", value, "weappiconurl");
            return (Criteria) this;
        }

        public Criteria andWeappiconurlGreaterThan(String value) {
            addCriterion("weappIconUrl >", value, "weappiconurl");
            return (Criteria) this;
        }

        public Criteria andWeappiconurlGreaterThanOrEqualTo(String value) {
            addCriterion("weappIconUrl >=", value, "weappiconurl");
            return (Criteria) this;
        }

        public Criteria andWeappiconurlLessThan(String value) {
            addCriterion("weappIconUrl <", value, "weappiconurl");
            return (Criteria) this;
        }

        public Criteria andWeappiconurlLessThanOrEqualTo(String value) {
            addCriterion("weappIconUrl <=", value, "weappiconurl");
            return (Criteria) this;
        }

        public Criteria andWeappiconurlLike(String value) {
            addCriterion("weappIconUrl like", value, "weappiconurl");
            return (Criteria) this;
        }

        public Criteria andWeappiconurlNotLike(String value) {
            addCriterion("weappIconUrl not like", value, "weappiconurl");
            return (Criteria) this;
        }

        public Criteria andWeappiconurlIn(List<String> values) {
            addCriterion("weappIconUrl in", values, "weappiconurl");
            return (Criteria) this;
        }

        public Criteria andWeappiconurlNotIn(List<String> values) {
            addCriterion("weappIconUrl not in", values, "weappiconurl");
            return (Criteria) this;
        }

        public Criteria andWeappiconurlBetween(String value1, String value2) {
            addCriterion("weappIconUrl between", value1, value2, "weappiconurl");
            return (Criteria) this;
        }

        public Criteria andWeappiconurlNotBetween(String value1, String value2) {
            addCriterion("weappIconUrl not between", value1, value2, "weappiconurl");
            return (Criteria) this;
        }

        public Criteria andPagepathIsNull() {
            addCriterion("pagepath is null");
            return (Criteria) this;
        }

        public Criteria andPagepathIsNotNull() {
            addCriterion("pagepath is not null");
            return (Criteria) this;
        }

        public Criteria andPagepathEqualTo(String value) {
            addCriterion("pagepath =", value, "pagepath");
            return (Criteria) this;
        }

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

        public Criteria andPagepathGreaterThan(String value) {
            addCriterion("pagepath >", value, "pagepath");
            return (Criteria) this;
        }

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

        public Criteria andPagepathLessThan(String value) {
            addCriterion("pagepath <", value, "pagepath");
            return (Criteria) this;
        }

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

        public Criteria andPagepathLike(String value) {
            addCriterion("pagepath like", value, "pagepath");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andRootSourceIdIsNull() {
            addCriterion("root_source_id is null");
            return (Criteria) this;
        }

        public Criteria andRootSourceIdIsNotNull() {
            addCriterion("root_source_id is not null");
            return (Criteria) this;
        }

        public Criteria andRootSourceIdEqualTo(String value) {
            addCriterion("root_source_id =", value, "rootSourceId");
            return (Criteria) this;
        }

        public Criteria andRootSourceIdNotEqualTo(String value) {
            addCriterion("root_source_id <>", value, "rootSourceId");
            return (Criteria) this;
        }

        public Criteria andRootSourceIdGreaterThan(String value) {
            addCriterion("root_source_id >", value, "rootSourceId");
            return (Criteria) this;
        }

        public Criteria andRootSourceIdGreaterThanOrEqualTo(String value) {
            addCriterion("root_source_id >=", value, "rootSourceId");
            return (Criteria) this;
        }

        public Criteria andRootSourceIdLessThan(String value) {
            addCriterion("root_source_id <", value, "rootSourceId");
            return (Criteria) this;
        }

        public Criteria andRootSourceIdLessThanOrEqualTo(String value) {
            addCriterion("root_source_id <=", value, "rootSourceId");
            return (Criteria) this;
        }

        public Criteria andRootSourceIdLike(String value) {
            addCriterion("root_source_id like", value, "rootSourceId");
            return (Criteria) this;
        }

        public Criteria andRootSourceIdNotLike(String value) {
            addCriterion("root_source_id not like", value, "rootSourceId");
            return (Criteria) this;
        }

        public Criteria andRootSourceIdIn(List<String> values) {
            addCriterion("root_source_id in", values, "rootSourceId");
            return (Criteria) this;
        }

        public Criteria andRootSourceIdNotIn(List<String> values) {
            addCriterion("root_source_id not in", values, "rootSourceId");
            return (Criteria) this;
        }

        public Criteria andRootSourceIdBetween(String value1, String value2) {
            addCriterion("root_source_id between", value1, value2, "rootSourceId");
            return (Criteria) this;
        }

        public Criteria andRootSourceIdNotBetween(String value1, String value2) {
            addCriterion("root_source_id not between", value1, value2, "rootSourceId");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNull() {
            addCriterion("username is null");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNotNull() {
            addCriterion("username is not null");
            return (Criteria) this;
        }

        public Criteria andUsernameEqualTo(String value) {
            addCriterion("username =", value, "username");
            return (Criteria) this;
        }

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

        public Criteria andUsernameGreaterThan(String value) {
            addCriterion("username >", value, "username");
            return (Criteria) this;
        }

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

        public Criteria andUsernameLessThan(String value) {
            addCriterion("username <", value, "username");
            return (Criteria) this;
        }

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

        public Criteria andUsernameLike(String value) {
            addCriterion("username like", value, "username");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andAppidIsNull() {
            addCriterion("appid is null");
            return (Criteria) this;
        }

        public Criteria andAppidIsNotNull() {
            addCriterion("appid is not null");
            return (Criteria) this;
        }

        public Criteria andAppidEqualTo(String value) {
            addCriterion("appid =", value, "appid");
            return (Criteria) this;
        }

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

        public Criteria andAppidGreaterThan(String value) {
            addCriterion("appid >", value, "appid");
            return (Criteria) this;
        }

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

        public Criteria andAppidLessThan(String value) {
            addCriterion("appid <", value, "appid");
            return (Criteria) this;
        }

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

        public Criteria andAppidLike(String value) {
            addCriterion("appid like", value, "appid");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andCdnkeyIsNull() {
            addCriterion("cdnkey is null");
            return (Criteria) this;
        }

        public Criteria andCdnkeyIsNotNull() {
            addCriterion("cdnkey is not null");
            return (Criteria) this;
        }

        public Criteria andCdnkeyEqualTo(String value) {
            addCriterion("cdnkey =", value, "cdnkey");
            return (Criteria) this;
        }

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

        public Criteria andCdnkeyGreaterThan(String value) {
            addCriterion("cdnkey >", value, "cdnkey");
            return (Criteria) this;
        }

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

        public Criteria andCdnkeyLessThan(String value) {
            addCriterion("cdnkey <", value, "cdnkey");
            return (Criteria) this;
        }

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

        public Criteria andCdnkeyLike(String value) {
            addCriterion("cdnkey like", value, "cdnkey");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andMd5IsNull() {
            addCriterion("md5 is null");
            return (Criteria) this;
        }

        public Criteria andMd5IsNotNull() {
            addCriterion("md5 is not null");
            return (Criteria) this;
        }

        public Criteria andMd5EqualTo(String value) {
            addCriterion("md5 =", value, "md5");
            return (Criteria) this;
        }

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

        public Criteria andMd5GreaterThan(String value) {
            addCriterion("md5 >", value, "md5");
            return (Criteria) this;
        }

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

        public Criteria andMd5LessThan(String value) {
            addCriterion("md5 <", value, "md5");
            return (Criteria) this;
        }

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

        public Criteria andMd5Like(String value) {
            addCriterion("md5 like", value, "md5");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andAeskeyIsNull() {
            addCriterion("aeskey is null");
            return (Criteria) this;
        }

        public Criteria andAeskeyIsNotNull() {
            addCriterion("aeskey is not null");
            return (Criteria) this;
        }

        public Criteria andAeskeyEqualTo(String value) {
            addCriterion("aeskey =", value, "aeskey");
            return (Criteria) this;
        }

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

        public Criteria andAeskeyGreaterThan(String value) {
            addCriterion("aeskey >", value, "aeskey");
            return (Criteria) this;
        }

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

        public Criteria andAeskeyLessThan(String value) {
            addCriterion("aeskey <", value, "aeskey");
            return (Criteria) this;
        }

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

        public Criteria andAeskeyLike(String value) {
            addCriterion("aeskey like", value, "aeskey");
            return (Criteria) this;
        }

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

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

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

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

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

        public Criteria andFilesizeIsNull() {
            addCriterion("fileSize is null");
            return (Criteria) this;
        }

        public Criteria andFilesizeIsNotNull() {
            addCriterion("fileSize is not null");
            return (Criteria) this;
        }

        public Criteria andFilesizeEqualTo(Integer value) {
            addCriterion("fileSize =", value, "filesize");
            return (Criteria) this;
        }

        public Criteria andFilesizeNotEqualTo(Integer value) {
            addCriterion("fileSize <>", value, "filesize");
            return (Criteria) this;
        }

        public Criteria andFilesizeGreaterThan(Integer value) {
            addCriterion("fileSize >", value, "filesize");
            return (Criteria) this;
        }

        public Criteria andFilesizeGreaterThanOrEqualTo(Integer value) {
            addCriterion("fileSize >=", value, "filesize");
            return (Criteria) this;
        }

        public Criteria andFilesizeLessThan(Integer value) {
            addCriterion("fileSize <", value, "filesize");
            return (Criteria) this;
        }

        public Criteria andFilesizeLessThanOrEqualTo(Integer value) {
            addCriterion("fileSize <=", value, "filesize");
            return (Criteria) this;
        }

        public Criteria andFilesizeIn(List<Integer> values) {
            addCriterion("fileSize in", values, "filesize");
            return (Criteria) this;
        }

        public Criteria andFilesizeNotIn(List<Integer> values) {
            addCriterion("fileSize not in", values, "filesize");
            return (Criteria) this;
        }

        public Criteria andFilesizeBetween(Integer value1, Integer value2) {
            addCriterion("fileSize between", value1, value2, "filesize");
            return (Criteria) this;
        }

        public Criteria andFilesizeNotBetween(Integer value1, Integer value2) {
            addCriterion("fileSize not between", value1, value2, "filesize");
            return (Criteria) this;
        }

        public Criteria andIsroomIsNull() {
            addCriterion("isRoom is null");
            return (Criteria) this;
        }

        public Criteria andIsroomIsNotNull() {
            addCriterion("isRoom is not null");
            return (Criteria) this;
        }

        public Criteria andIsroomEqualTo(Boolean value) {
            addCriterion("isRoom =", value, "isroom");
            return (Criteria) this;
        }

        public Criteria andIsroomNotEqualTo(Boolean value) {
            addCriterion("isRoom <>", value, "isroom");
            return (Criteria) this;
        }

        public Criteria andIsroomGreaterThan(Boolean value) {
            addCriterion("isRoom >", value, "isroom");
            return (Criteria) this;
        }

        public Criteria andIsroomGreaterThanOrEqualTo(Boolean value) {
            addCriterion("isRoom >=", value, "isroom");
            return (Criteria) this;
        }

        public Criteria andIsroomLessThan(Boolean value) {
            addCriterion("isRoom <", value, "isroom");
            return (Criteria) this;
        }

        public Criteria andIsroomLessThanOrEqualTo(Boolean value) {
            addCriterion("isRoom <=", value, "isroom");
            return (Criteria) this;
        }

        public Criteria andIsroomIn(List<Boolean> values) {
            addCriterion("isRoom in", values, "isroom");
            return (Criteria) this;
        }

        public Criteria andIsroomNotIn(List<Boolean> values) {
            addCriterion("isRoom not in", values, "isroom");
            return (Criteria) this;
        }

        public Criteria andIsroomBetween(Boolean value1, Boolean value2) {
            addCriterion("isRoom between", value1, value2, "isroom");
            return (Criteria) this;
        }

        public Criteria andIsroomNotBetween(Boolean value1, Boolean value2) {
            addCriterion("isRoom not between", value1, value2, "isroom");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

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

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

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

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

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