Sfoglia il codice sorgente

初始化 goods 表

tianyunperfect 3 anni fa
parent
commit
76f7c36963

+ 656 - 0
book-dao/src/main/java/com/book/dao/cps/entity/Goods.java

@@ -0,0 +1,656 @@
+package com.book.dao.cps.entity;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import lombok.Data;
+
+@Data
+public class Goods implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.id
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private Integer id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.category_id
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private String categoryId;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.money
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private BigDecimal money;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.type
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private String type;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.business_line
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private String businessLine;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.kandian
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private Integer kandian;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.free_kandian
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private Integer freeKandian;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.day
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private Integer day;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.free_day
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private Integer freeDay;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.title
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private String title;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.first_description
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private String firstDescription;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.second_description
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private String secondDescription;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.icon
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private String icon;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.show_type
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private String showType;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.weigh
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private Integer weigh;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.createtime
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private Integer createtime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.updatetime
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private Integer updatetime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column goods.desc
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private String desc;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public static Goods.Builder builder() {
+        return new Goods.Builder();
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public static class Builder {
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        private Goods obj;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder() {
+            this.obj = new Goods();
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.id
+         *
+         * @param id the value for goods.id
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder id(Integer id) {
+            obj.setId(id);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.category_id
+         *
+         * @param categoryId the value for goods.category_id
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder categoryId(String categoryId) {
+            obj.setCategoryId(categoryId);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.money
+         *
+         * @param money the value for goods.money
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder money(BigDecimal money) {
+            obj.setMoney(money);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.type
+         *
+         * @param type the value for goods.type
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder type(String type) {
+            obj.setType(type);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.business_line
+         *
+         * @param businessLine the value for goods.business_line
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder businessLine(String businessLine) {
+            obj.setBusinessLine(businessLine);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.kandian
+         *
+         * @param kandian the value for goods.kandian
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder kandian(Integer kandian) {
+            obj.setKandian(kandian);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.free_kandian
+         *
+         * @param freeKandian the value for goods.free_kandian
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder freeKandian(Integer freeKandian) {
+            obj.setFreeKandian(freeKandian);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.day
+         *
+         * @param day the value for goods.day
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder day(Integer day) {
+            obj.setDay(day);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.free_day
+         *
+         * @param freeDay the value for goods.free_day
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder freeDay(Integer freeDay) {
+            obj.setFreeDay(freeDay);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.title
+         *
+         * @param title the value for goods.title
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder title(String title) {
+            obj.setTitle(title);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.first_description
+         *
+         * @param firstDescription the value for goods.first_description
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder firstDescription(String firstDescription) {
+            obj.setFirstDescription(firstDescription);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.second_description
+         *
+         * @param secondDescription the value for goods.second_description
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder secondDescription(String secondDescription) {
+            obj.setSecondDescription(secondDescription);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.icon
+         *
+         * @param icon the value for goods.icon
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder icon(String icon) {
+            obj.setIcon(icon);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.show_type
+         *
+         * @param showType the value for goods.show_type
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder showType(String showType) {
+            obj.setShowType(showType);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.weigh
+         *
+         * @param weigh the value for goods.weigh
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder weigh(Integer weigh) {
+            obj.setWeigh(weigh);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.createtime
+         *
+         * @param createtime the value for goods.createtime
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder createtime(Integer createtime) {
+            obj.setCreatetime(createtime);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.updatetime
+         *
+         * @param updatetime the value for goods.updatetime
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder updatetime(Integer updatetime) {
+            obj.setUpdatetime(updatetime);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method sets the value of the database column goods.desc
+         *
+         * @param desc the value for goods.desc
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Builder desc(String desc) {
+            obj.setDesc(desc);
+            return this;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public Goods build() {
+            return this.obj;
+        }
+    }
+
+    /**
+     * This enum was generated by MyBatis Generator.
+     * This enum corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public enum Column {
+        id("id", "id", "INTEGER", false),
+        categoryId("category_id", "categoryId", "VARCHAR", false),
+        money("money", "money", "DECIMAL", false),
+        type("type", "type", "CHAR", false),
+        businessLine("business_line", "businessLine", "VARCHAR", false),
+        kandian("kandian", "kandian", "INTEGER", false),
+        freeKandian("free_kandian", "freeKandian", "INTEGER", false),
+        day("day", "day", "INTEGER", false),
+        freeDay("free_day", "freeDay", "INTEGER", false),
+        title("title", "title", "VARCHAR", false),
+        firstDescription("first_description", "firstDescription", "VARCHAR", false),
+        secondDescription("second_description", "secondDescription", "VARCHAR", false),
+        icon("icon", "icon", "VARCHAR", false),
+        showType("show_type", "showType", "CHAR", false),
+        weigh("weigh", "weigh", "INTEGER", false),
+        createtime("createtime", "createtime", "INTEGER", false),
+        updatetime("updatetime", "updatetime", "INTEGER", false),
+        desc("desc", "desc", "VARCHAR", false);
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        private static final String BEGINNING_DELIMITER = "\"";
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        private static final String ENDING_DELIMITER = "\"";
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        private final String column;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        private final boolean isColumnNameDelimited;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        private final String javaProperty;
+
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        private final String jdbcType;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public String value() {
+            return this.column;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public String getValue() {
+            return this.column;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public String getJavaProperty() {
+            return this.javaProperty;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public String getJdbcType() {
+            return this.jdbcType;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        Column(String column, String javaProperty, String jdbcType, boolean isColumnNameDelimited) {
+            this.column = column;
+            this.javaProperty = javaProperty;
+            this.jdbcType = jdbcType;
+            this.isColumnNameDelimited = isColumnNameDelimited;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public String desc() {
+            return this.getEscapedColumnName() + " DESC";
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public String asc() {
+            return this.getEscapedColumnName() + " ASC";
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public static Column[] excludes(Column ... excludes) {
+            ArrayList<Column> columns = new ArrayList<>(Arrays.asList(Column.values()));
+            if (excludes != null && excludes.length > 0) {
+                columns.removeAll(new ArrayList<>(Arrays.asList(excludes)));
+            }
+            return columns.toArray(new Column[]{});
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public static Column[] all() {
+            return Column.values();
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public String getEscapedColumnName() {
+            if (this.isColumnNameDelimited) {
+                return new StringBuilder().append(BEGINNING_DELIMITER).append(this.column).append(ENDING_DELIMITER).toString();
+            } else {
+                return this.column;
+            }
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public String getAliasedEscapedColumnName() {
+            return this.getEscapedColumnName();
+        }
+    }
+}

+ 164 - 0
book-dao/src/main/java/com/book/dao/cps/mapper/GoodsMapper.java

@@ -0,0 +1,164 @@
+package com.book.dao.cps.mapper;
+
+import com.book.dao.cps.entity.Goods;
+import com.book.dao.cps.pojo.example.GoodsExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface GoodsMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    long countByExample(GoodsExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    int deleteByExample(GoodsExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    int deleteByPrimaryKey(Integer id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    int insert(Goods record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    int insertSelective(@Param("record") Goods record, @Param("selective") Goods.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    Goods selectOneByExample(GoodsExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    Goods selectOneByExampleSelective(@Param("example") GoodsExample example, @Param("selective") Goods.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    List<Goods> selectByExampleSelective(@Param("example") GoodsExample example, @Param("selective") Goods.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    List<Goods> selectByExample(GoodsExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    Goods selectByPrimaryKeySelective(@Param("id") Integer id, @Param("selective") Goods.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    Goods selectByPrimaryKey(Integer id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    int updateByExampleSelective(@Param("record") Goods record, @Param("example") GoodsExample example, @Param("selective") Goods.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    int updateByExample(@Param("record") Goods record, @Param("example") GoodsExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    int updateByPrimaryKeySelective(@Param("record") Goods record, @Param("selective") Goods.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    int updateByPrimaryKey(Goods record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    int batchInsert(@Param("list") List<Goods> list);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    int batchInsertSelective(@Param("list") List<Goods> list, @Param("selective") Goods.Column ... selective);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    int upsert(Goods record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    int upsertSelective(@Param("record") Goods record, @Param("selective") Goods.Column ... selective);
+}

+ 2272 - 0
book-dao/src/main/java/com/book/dao/cps/pojo/example/GoodsExample.java

@@ -0,0 +1,2272 @@
+package com.book.dao.cps.pojo.example;
+
+import com.book.dao.cps.entity.Goods;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+public class GoodsExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    protected Integer offset;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    protected Integer rows;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public GoodsExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    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 goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public GoodsExample orderBy(String orderByClause) {
+        this.setOrderByClause(orderByClause);
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public GoodsExample 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 goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    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 goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria(this);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+        rows = null;
+        offset = null;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public void setOffset(Integer offset) {
+        this.offset = offset;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public Integer getOffset() {
+        return this.offset;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public void setRows(Integer rows) {
+        this.rows = rows;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public Integer getRows() {
+        return this.rows;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public GoodsExample limit(Integer rows) {
+        this.rows = rows;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public GoodsExample limit(Integer offset, Integer rows) {
+        this.offset = offset;
+        this.rows = rows;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public GoodsExample page(Integer page, Integer pageSize) {
+        this.offset = page * pageSize;
+        this.rows = pageSize;
+        return this;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public static Criteria newAndCreateCriteria() {
+        GoodsExample example = new GoodsExample();
+        return example.createCriteria();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public GoodsExample 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 goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    public GoodsExample 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 goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Integer value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("id = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Integer value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("id <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Integer value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("id > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("id >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Integer value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("id < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Integer value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("id <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Integer> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Integer> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Integer value1, Integer value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Integer value1, Integer value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdIsNull() {
+            addCriterion("category_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdIsNotNull() {
+            addCriterion("category_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdEqualTo(String value) {
+            addCriterion("category_id =", value, "categoryId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("category_id = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdNotEqualTo(String value) {
+            addCriterion("category_id <>", value, "categoryId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("category_id <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdGreaterThan(String value) {
+            addCriterion("category_id >", value, "categoryId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("category_id > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdGreaterThanOrEqualTo(String value) {
+            addCriterion("category_id >=", value, "categoryId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("category_id >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdLessThan(String value) {
+            addCriterion("category_id <", value, "categoryId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("category_id < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdLessThanOrEqualTo(String value) {
+            addCriterion("category_id <=", value, "categoryId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("category_id <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdLike(String value) {
+            addCriterion("category_id like", value, "categoryId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdNotLike(String value) {
+            addCriterion("category_id not like", value, "categoryId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdIn(List<String> values) {
+            addCriterion("category_id in", values, "categoryId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdNotIn(List<String> values) {
+            addCriterion("category_id not in", values, "categoryId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdBetween(String value1, String value2) {
+            addCriterion("category_id between", value1, value2, "categoryId");
+            return (Criteria) this;
+        }
+
+        public Criteria andCategoryIdNotBetween(String value1, String value2) {
+            addCriterion("category_id not between", value1, value2, "categoryId");
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyIsNull() {
+            addCriterion("money is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyIsNotNull() {
+            addCriterion("money is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyEqualTo(BigDecimal value) {
+            addCriterion("money =", value, "money");
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("money = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyNotEqualTo(BigDecimal value) {
+            addCriterion("money <>", value, "money");
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("money <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyGreaterThan(BigDecimal value) {
+            addCriterion("money >", value, "money");
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("money > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyGreaterThanOrEqualTo(BigDecimal value) {
+            addCriterion("money >=", value, "money");
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("money >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyLessThan(BigDecimal value) {
+            addCriterion("money <", value, "money");
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("money < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyLessThanOrEqualTo(BigDecimal value) {
+            addCriterion("money <=", value, "money");
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("money <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyIn(List<BigDecimal> values) {
+            addCriterion("money in", values, "money");
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyNotIn(List<BigDecimal> values) {
+            addCriterion("money not in", values, "money");
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyBetween(BigDecimal value1, BigDecimal value2) {
+            addCriterion("money between", value1, value2, "money");
+            return (Criteria) this;
+        }
+
+        public Criteria andMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
+            addCriterion("money not between", value1, value2, "money");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIsNull() {
+            addCriterion("type is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIsNotNull() {
+            addCriterion("type is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeEqualTo(String value) {
+            addCriterion("type =", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("type = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotEqualTo(String value) {
+            addCriterion("type <>", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("type <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThan(String value) {
+            addCriterion("type >", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("type > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThanOrEqualTo(String value) {
+            addCriterion("type >=", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("type >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThan(String value) {
+            addCriterion("type <", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("type < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThanOrEqualTo(String value) {
+            addCriterion("type <=", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("type <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLike(String value) {
+            addCriterion("type like", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotLike(String value) {
+            addCriterion("type not like", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIn(List<String> values) {
+            addCriterion("type in", values, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotIn(List<String> values) {
+            addCriterion("type not in", values, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeBetween(String value1, String value2) {
+            addCriterion("type between", value1, value2, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotBetween(String value1, String value2) {
+            addCriterion("type not between", value1, value2, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineIsNull() {
+            addCriterion("business_line is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineIsNotNull() {
+            addCriterion("business_line is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineEqualTo(String value) {
+            addCriterion("business_line =", value, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("business_line = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineNotEqualTo(String value) {
+            addCriterion("business_line <>", value, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("business_line <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineGreaterThan(String value) {
+            addCriterion("business_line >", value, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("business_line > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineGreaterThanOrEqualTo(String value) {
+            addCriterion("business_line >=", value, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("business_line >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineLessThan(String value) {
+            addCriterion("business_line <", value, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("business_line < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineLessThanOrEqualTo(String value) {
+            addCriterion("business_line <=", value, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("business_line <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineLike(String value) {
+            addCriterion("business_line like", value, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineNotLike(String value) {
+            addCriterion("business_line not like", value, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineIn(List<String> values) {
+            addCriterion("business_line in", values, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineNotIn(List<String> values) {
+            addCriterion("business_line not in", values, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineBetween(String value1, String value2) {
+            addCriterion("business_line between", value1, value2, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andBusinessLineNotBetween(String value1, String value2) {
+            addCriterion("business_line not between", value1, value2, "businessLine");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianIsNull() {
+            addCriterion("kandian is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianIsNotNull() {
+            addCriterion("kandian is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianEqualTo(Integer value) {
+            addCriterion("kandian =", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("kandian = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotEqualTo(Integer value) {
+            addCriterion("kandian <>", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("kandian <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThan(Integer value) {
+            addCriterion("kandian >", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("kandian > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThanOrEqualTo(Integer value) {
+            addCriterion("kandian >=", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("kandian >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThan(Integer value) {
+            addCriterion("kandian <", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("kandian < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThanOrEqualTo(Integer value) {
+            addCriterion("kandian <=", value, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("kandian <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianIn(List<Integer> values) {
+            addCriterion("kandian in", values, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotIn(List<Integer> values) {
+            addCriterion("kandian not in", values, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianBetween(Integer value1, Integer value2) {
+            addCriterion("kandian between", value1, value2, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andKandianNotBetween(Integer value1, Integer value2) {
+            addCriterion("kandian not between", value1, value2, "kandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianIsNull() {
+            addCriterion("free_kandian is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianIsNotNull() {
+            addCriterion("free_kandian is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianEqualTo(Integer value) {
+            addCriterion("free_kandian =", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("free_kandian = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianNotEqualTo(Integer value) {
+            addCriterion("free_kandian <>", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("free_kandian <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianGreaterThan(Integer value) {
+            addCriterion("free_kandian >", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("free_kandian > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianGreaterThanOrEqualTo(Integer value) {
+            addCriterion("free_kandian >=", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("free_kandian >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianLessThan(Integer value) {
+            addCriterion("free_kandian <", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("free_kandian < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianLessThanOrEqualTo(Integer value) {
+            addCriterion("free_kandian <=", value, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("free_kandian <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianIn(List<Integer> values) {
+            addCriterion("free_kandian in", values, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianNotIn(List<Integer> values) {
+            addCriterion("free_kandian not in", values, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianBetween(Integer value1, Integer value2) {
+            addCriterion("free_kandian between", value1, value2, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeKandianNotBetween(Integer value1, Integer value2) {
+            addCriterion("free_kandian not between", value1, value2, "freeKandian");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayIsNull() {
+            addCriterion("day is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayIsNotNull() {
+            addCriterion("day is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayEqualTo(Integer value) {
+            addCriterion("day =", value, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("day = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDayNotEqualTo(Integer value) {
+            addCriterion("day <>", value, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("day <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDayGreaterThan(Integer value) {
+            addCriterion("day >", value, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("day > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDayGreaterThanOrEqualTo(Integer value) {
+            addCriterion("day >=", value, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("day >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDayLessThan(Integer value) {
+            addCriterion("day <", value, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("day < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDayLessThanOrEqualTo(Integer value) {
+            addCriterion("day <=", value, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("day <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDayIn(List<Integer> values) {
+            addCriterion("day in", values, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayNotIn(List<Integer> values) {
+            addCriterion("day not in", values, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayBetween(Integer value1, Integer value2) {
+            addCriterion("day between", value1, value2, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andDayNotBetween(Integer value1, Integer value2) {
+            addCriterion("day not between", value1, value2, "day");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayIsNull() {
+            addCriterion("free_day is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayIsNotNull() {
+            addCriterion("free_day is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayEqualTo(Integer value) {
+            addCriterion("free_day =", value, "freeDay");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("free_day = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayNotEqualTo(Integer value) {
+            addCriterion("free_day <>", value, "freeDay");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("free_day <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayGreaterThan(Integer value) {
+            addCriterion("free_day >", value, "freeDay");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("free_day > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayGreaterThanOrEqualTo(Integer value) {
+            addCriterion("free_day >=", value, "freeDay");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("free_day >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayLessThan(Integer value) {
+            addCriterion("free_day <", value, "freeDay");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("free_day < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayLessThanOrEqualTo(Integer value) {
+            addCriterion("free_day <=", value, "freeDay");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("free_day <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayIn(List<Integer> values) {
+            addCriterion("free_day in", values, "freeDay");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayNotIn(List<Integer> values) {
+            addCriterion("free_day not in", values, "freeDay");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayBetween(Integer value1, Integer value2) {
+            addCriterion("free_day between", value1, value2, "freeDay");
+            return (Criteria) this;
+        }
+
+        public Criteria andFreeDayNotBetween(Integer value1, Integer value2) {
+            addCriterion("free_day not between", value1, value2, "freeDay");
+            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 andTitleEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("title = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotEqualTo(String value) {
+            addCriterion("title <>", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("title <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleGreaterThan(String value) {
+            addCriterion("title >", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("title > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleGreaterThanOrEqualTo(String value) {
+            addCriterion("title >=", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("title >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLessThan(String value) {
+            addCriterion("title <", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("title < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLessThanOrEqualTo(String value) {
+            addCriterion("title <=", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("title <= ").append(column.getEscapedColumnName()).toString());
+            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 andFirstDescriptionIsNull() {
+            addCriterion("first_description is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionIsNotNull() {
+            addCriterion("first_description is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionEqualTo(String value) {
+            addCriterion("first_description =", value, "firstDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("first_description = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionNotEqualTo(String value) {
+            addCriterion("first_description <>", value, "firstDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("first_description <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionGreaterThan(String value) {
+            addCriterion("first_description >", value, "firstDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("first_description > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionGreaterThanOrEqualTo(String value) {
+            addCriterion("first_description >=", value, "firstDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("first_description >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionLessThan(String value) {
+            addCriterion("first_description <", value, "firstDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("first_description < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionLessThanOrEqualTo(String value) {
+            addCriterion("first_description <=", value, "firstDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("first_description <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionLike(String value) {
+            addCriterion("first_description like", value, "firstDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionNotLike(String value) {
+            addCriterion("first_description not like", value, "firstDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionIn(List<String> values) {
+            addCriterion("first_description in", values, "firstDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionNotIn(List<String> values) {
+            addCriterion("first_description not in", values, "firstDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionBetween(String value1, String value2) {
+            addCriterion("first_description between", value1, value2, "firstDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andFirstDescriptionNotBetween(String value1, String value2) {
+            addCriterion("first_description not between", value1, value2, "firstDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionIsNull() {
+            addCriterion("second_description is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionIsNotNull() {
+            addCriterion("second_description is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionEqualTo(String value) {
+            addCriterion("second_description =", value, "secondDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("second_description = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionNotEqualTo(String value) {
+            addCriterion("second_description <>", value, "secondDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("second_description <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionGreaterThan(String value) {
+            addCriterion("second_description >", value, "secondDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("second_description > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionGreaterThanOrEqualTo(String value) {
+            addCriterion("second_description >=", value, "secondDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("second_description >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionLessThan(String value) {
+            addCriterion("second_description <", value, "secondDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("second_description < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionLessThanOrEqualTo(String value) {
+            addCriterion("second_description <=", value, "secondDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("second_description <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionLike(String value) {
+            addCriterion("second_description like", value, "secondDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionNotLike(String value) {
+            addCriterion("second_description not like", value, "secondDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionIn(List<String> values) {
+            addCriterion("second_description in", values, "secondDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionNotIn(List<String> values) {
+            addCriterion("second_description not in", values, "secondDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionBetween(String value1, String value2) {
+            addCriterion("second_description between", value1, value2, "secondDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andSecondDescriptionNotBetween(String value1, String value2) {
+            addCriterion("second_description not between", value1, value2, "secondDescription");
+            return (Criteria) this;
+        }
+
+        public Criteria andIconIsNull() {
+            addCriterion("icon is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIconIsNotNull() {
+            addCriterion("icon is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIconEqualTo(String value) {
+            addCriterion("icon =", value, "icon");
+            return (Criteria) this;
+        }
+
+        public Criteria andIconEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("icon = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIconNotEqualTo(String value) {
+            addCriterion("icon <>", value, "icon");
+            return (Criteria) this;
+        }
+
+        public Criteria andIconNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("icon <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIconGreaterThan(String value) {
+            addCriterion("icon >", value, "icon");
+            return (Criteria) this;
+        }
+
+        public Criteria andIconGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("icon > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIconGreaterThanOrEqualTo(String value) {
+            addCriterion("icon >=", value, "icon");
+            return (Criteria) this;
+        }
+
+        public Criteria andIconGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("icon >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIconLessThan(String value) {
+            addCriterion("icon <", value, "icon");
+            return (Criteria) this;
+        }
+
+        public Criteria andIconLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("icon < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIconLessThanOrEqualTo(String value) {
+            addCriterion("icon <=", value, "icon");
+            return (Criteria) this;
+        }
+
+        public Criteria andIconLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("icon <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andIconLike(String value) {
+            addCriterion("icon like", value, "icon");
+            return (Criteria) this;
+        }
+
+        public Criteria andIconNotLike(String value) {
+            addCriterion("icon not like", value, "icon");
+            return (Criteria) this;
+        }
+
+        public Criteria andIconIn(List<String> values) {
+            addCriterion("icon in", values, "icon");
+            return (Criteria) this;
+        }
+
+        public Criteria andIconNotIn(List<String> values) {
+            addCriterion("icon not in", values, "icon");
+            return (Criteria) this;
+        }
+
+        public Criteria andIconBetween(String value1, String value2) {
+            addCriterion("icon between", value1, value2, "icon");
+            return (Criteria) this;
+        }
+
+        public Criteria andIconNotBetween(String value1, String value2) {
+            addCriterion("icon not between", value1, value2, "icon");
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeIsNull() {
+            addCriterion("show_type is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeIsNotNull() {
+            addCriterion("show_type is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeEqualTo(String value) {
+            addCriterion("show_type =", value, "showType");
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("show_type = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeNotEqualTo(String value) {
+            addCriterion("show_type <>", value, "showType");
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("show_type <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeGreaterThan(String value) {
+            addCriterion("show_type >", value, "showType");
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("show_type > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeGreaterThanOrEqualTo(String value) {
+            addCriterion("show_type >=", value, "showType");
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("show_type >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeLessThan(String value) {
+            addCriterion("show_type <", value, "showType");
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("show_type < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeLessThanOrEqualTo(String value) {
+            addCriterion("show_type <=", value, "showType");
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("show_type <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeLike(String value) {
+            addCriterion("show_type like", value, "showType");
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeNotLike(String value) {
+            addCriterion("show_type not like", value, "showType");
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeIn(List<String> values) {
+            addCriterion("show_type in", values, "showType");
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeNotIn(List<String> values) {
+            addCriterion("show_type not in", values, "showType");
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeBetween(String value1, String value2) {
+            addCriterion("show_type between", value1, value2, "showType");
+            return (Criteria) this;
+        }
+
+        public Criteria andShowTypeNotBetween(String value1, String value2) {
+            addCriterion("show_type not between", value1, value2, "showType");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighIsNull() {
+            addCriterion("weigh is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighIsNotNull() {
+            addCriterion("weigh is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighEqualTo(Integer value) {
+            addCriterion("weigh =", value, "weigh");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("weigh = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighNotEqualTo(Integer value) {
+            addCriterion("weigh <>", value, "weigh");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("weigh <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighGreaterThan(Integer value) {
+            addCriterion("weigh >", value, "weigh");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("weigh > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighGreaterThanOrEqualTo(Integer value) {
+            addCriterion("weigh >=", value, "weigh");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("weigh >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighLessThan(Integer value) {
+            addCriterion("weigh <", value, "weigh");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("weigh < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighLessThanOrEqualTo(Integer value) {
+            addCriterion("weigh <=", value, "weigh");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("weigh <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighIn(List<Integer> values) {
+            addCriterion("weigh in", values, "weigh");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighNotIn(List<Integer> values) {
+            addCriterion("weigh not in", values, "weigh");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighBetween(Integer value1, Integer value2) {
+            addCriterion("weigh between", value1, value2, "weigh");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeighNotBetween(Integer value1, Integer value2) {
+            addCriterion("weigh not between", value1, value2, "weigh");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIsNull() {
+            addCriterion("createtime is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIsNotNull() {
+            addCriterion("createtime is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeEqualTo(Integer value) {
+            addCriterion("createtime =", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("createtime = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotEqualTo(Integer value) {
+            addCriterion("createtime <>", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("createtime <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThan(Integer value) {
+            addCriterion("createtime >", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("createtime > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("createtime >=", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("createtime >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThan(Integer value) {
+            addCriterion("createtime <", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("createtime < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanOrEqualTo(Integer value) {
+            addCriterion("createtime <=", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("createtime <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIn(List<Integer> values) {
+            addCriterion("createtime in", values, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotIn(List<Integer> values) {
+            addCriterion("createtime not in", values, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeBetween(Integer value1, Integer value2) {
+            addCriterion("createtime between", value1, value2, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotBetween(Integer value1, Integer value2) {
+            addCriterion("createtime not between", value1, value2, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIsNull() {
+            addCriterion("updatetime is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIsNotNull() {
+            addCriterion("updatetime is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeEqualTo(Integer value) {
+            addCriterion("updatetime =", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("updatetime = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotEqualTo(Integer value) {
+            addCriterion("updatetime <>", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("updatetime <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThan(Integer value) {
+            addCriterion("updatetime >", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("updatetime > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("updatetime >=", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("updatetime >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThan(Integer value) {
+            addCriterion("updatetime <", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("updatetime < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThanOrEqualTo(Integer value) {
+            addCriterion("updatetime <=", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("updatetime <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIn(List<Integer> values) {
+            addCriterion("updatetime in", values, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotIn(List<Integer> values) {
+            addCriterion("updatetime not in", values, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeBetween(Integer value1, Integer value2) {
+            addCriterion("updatetime between", value1, value2, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotBetween(Integer value1, Integer value2) {
+            addCriterion("updatetime not between", value1, value2, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescIsNull() {
+            addCriterion("desc is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescIsNotNull() {
+            addCriterion("desc is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescEqualTo(String value) {
+            addCriterion("desc =", value, "desc");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("desc = ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDescNotEqualTo(String value) {
+            addCriterion("desc <>", value, "desc");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescNotEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("desc <> ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDescGreaterThan(String value) {
+            addCriterion("desc >", value, "desc");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescGreaterThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("desc > ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDescGreaterThanOrEqualTo(String value) {
+            addCriterion("desc >=", value, "desc");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescGreaterThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("desc >= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDescLessThan(String value) {
+            addCriterion("desc <", value, "desc");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescLessThanColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("desc < ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDescLessThanOrEqualTo(String value) {
+            addCriterion("desc <=", value, "desc");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescLessThanOrEqualToColumn(Goods.Column column) {
+            addCriterion(new StringBuilder("desc <= ").append(column.getEscapedColumnName()).toString());
+            return (Criteria) this;
+        }
+
+        public Criteria andDescLike(String value) {
+            addCriterion("desc like", value, "desc");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescNotLike(String value) {
+            addCriterion("desc not like", value, "desc");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescIn(List<String> values) {
+            addCriterion("desc in", values, "desc");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescNotIn(List<String> values) {
+            addCriterion("desc not in", values, "desc");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescBetween(String value1, String value2) {
+            addCriterion("desc between", value1, value2, "desc");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescNotBetween(String value1, String value2) {
+            addCriterion("desc not between", value1, value2, "desc");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table goods
+     *
+     * @mbg.generated do_not_delete_during_merge Mon Aug 30 22:53:41 CST 2021
+     */
+    public static class Criteria extends GeneratedCriteria {
+        /**
+         * This field was generated by MyBatis Generator.
+         * This field corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        private GoodsExample example;
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        protected Criteria(GoodsExample example) {
+            super();
+            this.example = example;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        public GoodsExample example() {
+            return this.example;
+        }
+
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        @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 goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        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 goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        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 goods
+             *
+             * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+             */
+            Criteria add(Criteria add);
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table goods
+     *
+     * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+     */
+    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 goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        void criteria(Criteria criteria);
+    }
+
+    public interface IExampleWhen {
+        /**
+         * This method was generated by MyBatis Generator.
+         * This method corresponds to the database table goods
+         *
+         * @mbg.generated Mon Aug 30 22:53:41 CST 2021
+         */
+        void example(com.book.dao.cps.pojo.example.GoodsExample example);
+    }
+}

+ 12 - 2
book-dao/src/main/java/com/book/dao/utils/DateUtils.java

@@ -37,7 +37,7 @@ public class DateUtils {
         return Instant.now().getEpochSecond();
     }
 
-    public static Long day3Second = (long) (-3 * 24 * 60 * 60);
+    public static Long day3Second = (long) (3 * 24 * 60 * 60);
 
     /**
      * 获取三天前的时间戳(秒)
@@ -45,6 +45,15 @@ public class DateUtils {
      * @return
      */
     public static Integer get3DayAgo() {
+        return (int) Instant.now().plusSeconds(day3Second * -1).getEpochSecond();
+    }
+
+    /**
+     * 获取三天前的时间戳(秒)
+     *
+     * @return
+     */
+    public static Integer get3DayAfter() {
         return (int) Instant.now().plusSeconds(day3Second).getEpochSecond();
     }
 
@@ -59,6 +68,7 @@ public class DateUtils {
 
     /**
      * 获取当天的秒
+     *
      * @return
      */
     public static long getDateNow() {
@@ -68,7 +78,7 @@ public class DateUtils {
         calendar.set(Calendar.MINUTE, 0);
         calendar.set(Calendar.SECOND, 0);
         Date zero = calendar.getTime();
-        return  zero.getTime()/1000;
+        return zero.getTime() / 1000;
     }
 
     /**

+ 978 - 0
book-dao/src/main/resources/mapper/cps/GoodsMapper.xml

@@ -0,0 +1,978 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.book.dao.cps.mapper.GoodsMapper">
+  <resultMap id="BaseResultMap" type="com.book.dao.cps.entity.Goods">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="category_id" jdbcType="VARCHAR" property="categoryId" />
+    <result column="money" jdbcType="DECIMAL" property="money" />
+    <result column="type" jdbcType="CHAR" property="type" />
+    <result column="business_line" jdbcType="VARCHAR" property="businessLine" />
+    <result column="kandian" jdbcType="INTEGER" property="kandian" />
+    <result column="free_kandian" jdbcType="INTEGER" property="freeKandian" />
+    <result column="day" jdbcType="INTEGER" property="day" />
+    <result column="free_day" jdbcType="INTEGER" property="freeDay" />
+    <result column="title" jdbcType="VARCHAR" property="title" />
+    <result column="first_description" jdbcType="VARCHAR" property="firstDescription" />
+    <result column="second_description" jdbcType="VARCHAR" property="secondDescription" />
+    <result column="icon" jdbcType="VARCHAR" property="icon" />
+    <result column="show_type" jdbcType="CHAR" property="showType" />
+    <result column="weigh" jdbcType="INTEGER" property="weigh" />
+    <result column="createtime" jdbcType="INTEGER" property="createtime" />
+    <result column="updatetime" jdbcType="INTEGER" property="updatetime" />
+    <result column="desc" jdbcType="VARCHAR" property="desc" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    id, category_id, money, type, business_line, kandian, free_kandian, day, free_day, 
+    title, first_description, second_description, icon, show_type, weigh, createtime, 
+    updatetime, desc
+  </sql>
+  <select id="selectByExample" parameterType="com.book.dao.cps.pojo.example.GoodsExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from goods
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+    <if test="rows != null">
+      <if test="offset != null">
+        limit ${offset}, ${rows}
+      </if>
+      <if test="offset == null">
+        limit ${rows}
+      </if>
+    </if>
+  </select>
+  <select id="selectByExampleSelective" parameterType="map" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    select
+    <if test="example != null and example.distinct">
+      distinct
+    </if>
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+      </otherwise>
+    </choose>
+    from goods
+    <if test="example != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+    <if test="example != null and example.orderByClause != null">
+      order by ${example.orderByClause}
+    </if>
+    <if test="example != null and example.rows != null">
+      <if test="example.offset != null">
+        limit ${example.offset}, ${example.rows}
+      </if>
+      <if test="example.offset == null">
+        limit ${example.rows}
+      </if>
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from goods
+    where id = #{id,jdbcType=INTEGER}
+  </select>
+  <select id="selectByPrimaryKeySelective" parameterType="map" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    select
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+      </otherwise>
+    </choose>
+    from goods
+    where id = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    delete from goods
+    where id = #{id,jdbcType=INTEGER}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.book.dao.cps.pojo.example.GoodsExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    delete from goods
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.book.dao.cps.entity.Goods">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    insert into goods (id, category_id, money, 
+      type, business_line, kandian, 
+      free_kandian, day, free_day, 
+      title, first_description, second_description, 
+      icon, show_type, weigh, 
+      createtime, updatetime, desc
+      )
+    values (#{id,jdbcType=INTEGER}, #{categoryId,jdbcType=VARCHAR}, #{money,jdbcType=DECIMAL}, 
+      #{type,jdbcType=CHAR}, #{businessLine,jdbcType=VARCHAR}, #{kandian,jdbcType=INTEGER}, 
+      #{freeKandian,jdbcType=INTEGER}, #{day,jdbcType=INTEGER}, #{freeDay,jdbcType=INTEGER}, 
+      #{title,jdbcType=VARCHAR}, #{firstDescription,jdbcType=VARCHAR}, #{secondDescription,jdbcType=VARCHAR}, 
+      #{icon,jdbcType=VARCHAR}, #{showType,jdbcType=CHAR}, #{weigh,jdbcType=INTEGER}, 
+      #{createtime,jdbcType=INTEGER}, #{updatetime,jdbcType=INTEGER}, #{desc,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    insert into goods
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          ${column.escapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            id,
+          </if>
+          <if test="record.categoryId != null">
+            category_id,
+          </if>
+          <if test="record.money != null">
+            money,
+          </if>
+          <if test="record.type != null">
+            type,
+          </if>
+          <if test="record.businessLine != null">
+            business_line,
+          </if>
+          <if test="record.kandian != null">
+            kandian,
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian,
+          </if>
+          <if test="record.day != null">
+            day,
+          </if>
+          <if test="record.freeDay != null">
+            free_day,
+          </if>
+          <if test="record.title != null">
+            title,
+          </if>
+          <if test="record.firstDescription != null">
+            first_description,
+          </if>
+          <if test="record.secondDescription != null">
+            second_description,
+          </if>
+          <if test="record.icon != null">
+            icon,
+          </if>
+          <if test="record.showType != null">
+            show_type,
+          </if>
+          <if test="record.weigh != null">
+            weigh,
+          </if>
+          <if test="record.createtime != null">
+            createtime,
+          </if>
+          <if test="record.updatetime != null">
+            updatetime,
+          </if>
+          <if test="record.desc != null">
+            desc,
+          </if>
+        </trim>
+        <trim prefix="(" suffix=")" suffixOverrides="," />
+      </otherwise>
+    </choose>
+    values
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            #{record.id,jdbcType=INTEGER},
+          </if>
+          <if test="record.categoryId != null">
+            #{record.categoryId,jdbcType=VARCHAR},
+          </if>
+          <if test="record.money != null">
+            #{record.money,jdbcType=DECIMAL},
+          </if>
+          <if test="record.type != null">
+            #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.businessLine != null">
+            #{record.businessLine,jdbcType=VARCHAR},
+          </if>
+          <if test="record.kandian != null">
+            #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.day != null">
+            #{record.day,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeDay != null">
+            #{record.freeDay,jdbcType=INTEGER},
+          </if>
+          <if test="record.title != null">
+            #{record.title,jdbcType=VARCHAR},
+          </if>
+          <if test="record.firstDescription != null">
+            #{record.firstDescription,jdbcType=VARCHAR},
+          </if>
+          <if test="record.secondDescription != null">
+            #{record.secondDescription,jdbcType=VARCHAR},
+          </if>
+          <if test="record.icon != null">
+            #{record.icon,jdbcType=VARCHAR},
+          </if>
+          <if test="record.showType != null">
+            #{record.showType,jdbcType=CHAR},
+          </if>
+          <if test="record.weigh != null">
+            #{record.weigh,jdbcType=INTEGER},
+          </if>
+          <if test="record.createtime != null">
+            #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.desc != null">
+            #{record.desc,jdbcType=VARCHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+  </insert>
+  <select id="countByExample" parameterType="com.book.dao.cps.pojo.example.GoodsExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    select count(*) from goods
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    update goods
+    SET
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.id != null">
+            id = #{record.id,jdbcType=INTEGER},
+          </if>
+          <if test="record.categoryId != null">
+            category_id = #{record.categoryId,jdbcType=VARCHAR},
+          </if>
+          <if test="record.money != null">
+            money = #{record.money,jdbcType=DECIMAL},
+          </if>
+          <if test="record.type != null">
+            type = #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.businessLine != null">
+            business_line = #{record.businessLine,jdbcType=VARCHAR},
+          </if>
+          <if test="record.kandian != null">
+            kandian = #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian = #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.day != null">
+            day = #{record.day,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeDay != null">
+            free_day = #{record.freeDay,jdbcType=INTEGER},
+          </if>
+          <if test="record.title != null">
+            title = #{record.title,jdbcType=VARCHAR},
+          </if>
+          <if test="record.firstDescription != null">
+            first_description = #{record.firstDescription,jdbcType=VARCHAR},
+          </if>
+          <if test="record.secondDescription != null">
+            second_description = #{record.secondDescription,jdbcType=VARCHAR},
+          </if>
+          <if test="record.icon != null">
+            icon = #{record.icon,jdbcType=VARCHAR},
+          </if>
+          <if test="record.showType != null">
+            show_type = #{record.showType,jdbcType=CHAR},
+          </if>
+          <if test="record.weigh != null">
+            weigh = #{record.weigh,jdbcType=INTEGER},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            updatetime = #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.desc != null">
+            desc = #{record.desc,jdbcType=VARCHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    update goods
+    set id = #{record.id,jdbcType=INTEGER},
+      category_id = #{record.categoryId,jdbcType=VARCHAR},
+      money = #{record.money,jdbcType=DECIMAL},
+      type = #{record.type,jdbcType=CHAR},
+      business_line = #{record.businessLine,jdbcType=VARCHAR},
+      kandian = #{record.kandian,jdbcType=INTEGER},
+      free_kandian = #{record.freeKandian,jdbcType=INTEGER},
+      day = #{record.day,jdbcType=INTEGER},
+      free_day = #{record.freeDay,jdbcType=INTEGER},
+      title = #{record.title,jdbcType=VARCHAR},
+      first_description = #{record.firstDescription,jdbcType=VARCHAR},
+      second_description = #{record.secondDescription,jdbcType=VARCHAR},
+      icon = #{record.icon,jdbcType=VARCHAR},
+      show_type = #{record.showType,jdbcType=CHAR},
+      weigh = #{record.weigh,jdbcType=INTEGER},
+      createtime = #{record.createtime,jdbcType=INTEGER},
+      updatetime = #{record.updatetime,jdbcType=INTEGER},
+      desc = #{record.desc,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    update goods
+    SET
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.categoryId != null">
+            category_id = #{record.categoryId,jdbcType=VARCHAR},
+          </if>
+          <if test="record.money != null">
+            money = #{record.money,jdbcType=DECIMAL},
+          </if>
+          <if test="record.type != null">
+            type = #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.businessLine != null">
+            business_line = #{record.businessLine,jdbcType=VARCHAR},
+          </if>
+          <if test="record.kandian != null">
+            kandian = #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian = #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.day != null">
+            day = #{record.day,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeDay != null">
+            free_day = #{record.freeDay,jdbcType=INTEGER},
+          </if>
+          <if test="record.title != null">
+            title = #{record.title,jdbcType=VARCHAR},
+          </if>
+          <if test="record.firstDescription != null">
+            first_description = #{record.firstDescription,jdbcType=VARCHAR},
+          </if>
+          <if test="record.secondDescription != null">
+            second_description = #{record.secondDescription,jdbcType=VARCHAR},
+          </if>
+          <if test="record.icon != null">
+            icon = #{record.icon,jdbcType=VARCHAR},
+          </if>
+          <if test="record.showType != null">
+            show_type = #{record.showType,jdbcType=CHAR},
+          </if>
+          <if test="record.weigh != null">
+            weigh = #{record.weigh,jdbcType=INTEGER},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            updatetime = #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.desc != null">
+            desc = #{record.desc,jdbcType=VARCHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    where id = #{record.id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.book.dao.cps.entity.Goods">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    update goods
+    set category_id = #{categoryId,jdbcType=VARCHAR},
+      money = #{money,jdbcType=DECIMAL},
+      type = #{type,jdbcType=CHAR},
+      business_line = #{businessLine,jdbcType=VARCHAR},
+      kandian = #{kandian,jdbcType=INTEGER},
+      free_kandian = #{freeKandian,jdbcType=INTEGER},
+      day = #{day,jdbcType=INTEGER},
+      free_day = #{freeDay,jdbcType=INTEGER},
+      title = #{title,jdbcType=VARCHAR},
+      first_description = #{firstDescription,jdbcType=VARCHAR},
+      second_description = #{secondDescription,jdbcType=VARCHAR},
+      icon = #{icon,jdbcType=VARCHAR},
+      show_type = #{showType,jdbcType=CHAR},
+      weigh = #{weigh,jdbcType=INTEGER},
+      createtime = #{createtime,jdbcType=INTEGER},
+      updatetime = #{updatetime,jdbcType=INTEGER},
+      desc = #{desc,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=INTEGER}
+  </update>
+  <select id="selectOneByExample" parameterType="com.book.dao.cps.pojo.example.GoodsExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    select
+    <include refid="Base_Column_List" />
+    from goods
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+    limit 1
+  </select>
+  <select id="selectOneByExampleSelective" parameterType="map" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    select
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.aliasedEscapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <include refid="Base_Column_List" />
+      </otherwise>
+    </choose>
+    from goods
+    <if test="example != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+    <if test="example != null and example.orderByClause != null">
+      order by ${example.orderByClause}
+    </if>
+    limit 1
+  </select>
+  <insert id="batchInsert" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    insert into goods
+    (id, category_id, money, type, business_line, kandian, free_kandian, day, free_day, 
+      title, first_description, second_description, icon, show_type, weigh, createtime, 
+      updatetime, desc)
+    values
+    <foreach collection="list" item="item" separator=",">
+      (#{item.id,jdbcType=INTEGER}, #{item.categoryId,jdbcType=VARCHAR}, #{item.money,jdbcType=DECIMAL}, 
+        #{item.type,jdbcType=CHAR}, #{item.businessLine,jdbcType=VARCHAR}, #{item.kandian,jdbcType=INTEGER}, 
+        #{item.freeKandian,jdbcType=INTEGER}, #{item.day,jdbcType=INTEGER}, #{item.freeDay,jdbcType=INTEGER}, 
+        #{item.title,jdbcType=VARCHAR}, #{item.firstDescription,jdbcType=VARCHAR}, #{item.secondDescription,jdbcType=VARCHAR}, 
+        #{item.icon,jdbcType=VARCHAR}, #{item.showType,jdbcType=CHAR}, #{item.weigh,jdbcType=INTEGER}, 
+        #{item.createtime,jdbcType=INTEGER}, #{item.updatetime,jdbcType=INTEGER}, #{item.desc,jdbcType=VARCHAR}
+        )
+    </foreach>
+  </insert>
+  <insert id="batchInsertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    insert into goods (
+    <foreach collection="selective" item="column" separator=",">
+      ${column.escapedColumnName}
+    </foreach>
+    )
+    values
+    <foreach collection="list" item="item" separator=",">
+      (
+      <foreach collection="selective" item="column" separator=",">
+        <if test="'id'.toString() == column.value">
+          #{item.id,jdbcType=INTEGER}
+        </if>
+        <if test="'category_id'.toString() == column.value">
+          #{item.categoryId,jdbcType=VARCHAR}
+        </if>
+        <if test="'money'.toString() == column.value">
+          #{item.money,jdbcType=DECIMAL}
+        </if>
+        <if test="'type'.toString() == column.value">
+          #{item.type,jdbcType=CHAR}
+        </if>
+        <if test="'business_line'.toString() == column.value">
+          #{item.businessLine,jdbcType=VARCHAR}
+        </if>
+        <if test="'kandian'.toString() == column.value">
+          #{item.kandian,jdbcType=INTEGER}
+        </if>
+        <if test="'free_kandian'.toString() == column.value">
+          #{item.freeKandian,jdbcType=INTEGER}
+        </if>
+        <if test="'day'.toString() == column.value">
+          #{item.day,jdbcType=INTEGER}
+        </if>
+        <if test="'free_day'.toString() == column.value">
+          #{item.freeDay,jdbcType=INTEGER}
+        </if>
+        <if test="'title'.toString() == column.value">
+          #{item.title,jdbcType=VARCHAR}
+        </if>
+        <if test="'first_description'.toString() == column.value">
+          #{item.firstDescription,jdbcType=VARCHAR}
+        </if>
+        <if test="'second_description'.toString() == column.value">
+          #{item.secondDescription,jdbcType=VARCHAR}
+        </if>
+        <if test="'icon'.toString() == column.value">
+          #{item.icon,jdbcType=VARCHAR}
+        </if>
+        <if test="'show_type'.toString() == column.value">
+          #{item.showType,jdbcType=CHAR}
+        </if>
+        <if test="'weigh'.toString() == column.value">
+          #{item.weigh,jdbcType=INTEGER}
+        </if>
+        <if test="'createtime'.toString() == column.value">
+          #{item.createtime,jdbcType=INTEGER}
+        </if>
+        <if test="'updatetime'.toString() == column.value">
+          #{item.updatetime,jdbcType=INTEGER}
+        </if>
+        <if test="'desc'.toString() == column.value">
+          #{item.desc,jdbcType=VARCHAR}
+        </if>
+      </foreach>
+      )
+    </foreach>
+  </insert>
+  <insert id="upsertSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    insert into goods
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          ${column.escapedColumnName}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            id,
+          </if>
+          <if test="record.categoryId != null">
+            category_id,
+          </if>
+          <if test="record.money != null">
+            money,
+          </if>
+          <if test="record.type != null">
+            type,
+          </if>
+          <if test="record.businessLine != null">
+            business_line,
+          </if>
+          <if test="record.kandian != null">
+            kandian,
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian,
+          </if>
+          <if test="record.day != null">
+            day,
+          </if>
+          <if test="record.freeDay != null">
+            free_day,
+          </if>
+          <if test="record.title != null">
+            title,
+          </if>
+          <if test="record.firstDescription != null">
+            first_description,
+          </if>
+          <if test="record.secondDescription != null">
+            second_description,
+          </if>
+          <if test="record.icon != null">
+            icon,
+          </if>
+          <if test="record.showType != null">
+            show_type,
+          </if>
+          <if test="record.weigh != null">
+            weigh,
+          </if>
+          <if test="record.createtime != null">
+            createtime,
+          </if>
+          <if test="record.updatetime != null">
+            updatetime,
+          </if>
+          <if test="record.desc != null">
+            desc,
+          </if>
+        </trim>
+        <trim prefix="(" suffix=")" suffixOverrides="," />
+      </otherwise>
+    </choose>
+    values
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach close=")" collection="selective" item="column" open="(" separator=",">
+          #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+          <if test="record.id != null">
+            #{record.id,jdbcType=INTEGER},
+          </if>
+          <if test="record.categoryId != null">
+            #{record.categoryId,jdbcType=VARCHAR},
+          </if>
+          <if test="record.money != null">
+            #{record.money,jdbcType=DECIMAL},
+          </if>
+          <if test="record.type != null">
+            #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.businessLine != null">
+            #{record.businessLine,jdbcType=VARCHAR},
+          </if>
+          <if test="record.kandian != null">
+            #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.day != null">
+            #{record.day,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeDay != null">
+            #{record.freeDay,jdbcType=INTEGER},
+          </if>
+          <if test="record.title != null">
+            #{record.title,jdbcType=VARCHAR},
+          </if>
+          <if test="record.firstDescription != null">
+            #{record.firstDescription,jdbcType=VARCHAR},
+          </if>
+          <if test="record.secondDescription != null">
+            #{record.secondDescription,jdbcType=VARCHAR},
+          </if>
+          <if test="record.icon != null">
+            #{record.icon,jdbcType=VARCHAR},
+          </if>
+          <if test="record.showType != null">
+            #{record.showType,jdbcType=CHAR},
+          </if>
+          <if test="record.weigh != null">
+            #{record.weigh,jdbcType=INTEGER},
+          </if>
+          <if test="record.createtime != null">
+            #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.desc != null">
+            #{record.desc,jdbcType=VARCHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+    on duplicate key update 
+    <choose>
+      <when test="selective != null and selective.length > 0">
+        <foreach collection="selective" item="column" separator=",">
+          ${column.escapedColumnName} = #{record.${column.javaProperty},jdbcType=${column.jdbcType}}
+        </foreach>
+      </when>
+      <otherwise>
+        <trim suffixOverrides=",">
+          <if test="record.id != null">
+            id = #{record.id,jdbcType=INTEGER},
+          </if>
+          <if test="record.categoryId != null">
+            category_id = #{record.categoryId,jdbcType=VARCHAR},
+          </if>
+          <if test="record.money != null">
+            money = #{record.money,jdbcType=DECIMAL},
+          </if>
+          <if test="record.type != null">
+            type = #{record.type,jdbcType=CHAR},
+          </if>
+          <if test="record.businessLine != null">
+            business_line = #{record.businessLine,jdbcType=VARCHAR},
+          </if>
+          <if test="record.kandian != null">
+            kandian = #{record.kandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeKandian != null">
+            free_kandian = #{record.freeKandian,jdbcType=INTEGER},
+          </if>
+          <if test="record.day != null">
+            day = #{record.day,jdbcType=INTEGER},
+          </if>
+          <if test="record.freeDay != null">
+            free_day = #{record.freeDay,jdbcType=INTEGER},
+          </if>
+          <if test="record.title != null">
+            title = #{record.title,jdbcType=VARCHAR},
+          </if>
+          <if test="record.firstDescription != null">
+            first_description = #{record.firstDescription,jdbcType=VARCHAR},
+          </if>
+          <if test="record.secondDescription != null">
+            second_description = #{record.secondDescription,jdbcType=VARCHAR},
+          </if>
+          <if test="record.icon != null">
+            icon = #{record.icon,jdbcType=VARCHAR},
+          </if>
+          <if test="record.showType != null">
+            show_type = #{record.showType,jdbcType=CHAR},
+          </if>
+          <if test="record.weigh != null">
+            weigh = #{record.weigh,jdbcType=INTEGER},
+          </if>
+          <if test="record.createtime != null">
+            createtime = #{record.createtime,jdbcType=INTEGER},
+          </if>
+          <if test="record.updatetime != null">
+            updatetime = #{record.updatetime,jdbcType=INTEGER},
+          </if>
+          <if test="record.desc != null">
+            desc = #{record.desc,jdbcType=VARCHAR},
+          </if>
+        </trim>
+      </otherwise>
+    </choose>
+  </insert>
+  <insert id="upsert" parameterType="com.book.dao.cps.entity.Goods">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Mon Aug 30 22:53:41 CST 2021.
+    -->
+    insert into goods
+    (id, category_id, money, type, business_line, kandian, free_kandian, day, free_day, 
+      title, first_description, second_description, icon, show_type, weigh, createtime, 
+      updatetime, desc)
+    values
+    (#{id,jdbcType=INTEGER}, #{categoryId,jdbcType=VARCHAR}, #{money,jdbcType=DECIMAL}, 
+      #{type,jdbcType=CHAR}, #{businessLine,jdbcType=VARCHAR}, #{kandian,jdbcType=INTEGER}, 
+      #{freeKandian,jdbcType=INTEGER}, #{day,jdbcType=INTEGER}, #{freeDay,jdbcType=INTEGER}, 
+      #{title,jdbcType=VARCHAR}, #{firstDescription,jdbcType=VARCHAR}, #{secondDescription,jdbcType=VARCHAR}, 
+      #{icon,jdbcType=VARCHAR}, #{showType,jdbcType=CHAR}, #{weigh,jdbcType=INTEGER}, 
+      #{createtime,jdbcType=INTEGER}, #{updatetime,jdbcType=INTEGER}, #{desc,jdbcType=VARCHAR}
+      )
+    on duplicate key update 
+    id = #{id,jdbcType=INTEGER}, 
+    category_id = #{categoryId,jdbcType=VARCHAR}, 
+    money = #{money,jdbcType=DECIMAL}, 
+    type = #{type,jdbcType=CHAR}, 
+    business_line = #{businessLine,jdbcType=VARCHAR}, 
+    kandian = #{kandian,jdbcType=INTEGER}, 
+    free_kandian = #{freeKandian,jdbcType=INTEGER}, 
+    day = #{day,jdbcType=INTEGER}, 
+    free_day = #{freeDay,jdbcType=INTEGER}, 
+    title = #{title,jdbcType=VARCHAR}, 
+    first_description = #{firstDescription,jdbcType=VARCHAR}, 
+    second_description = #{secondDescription,jdbcType=VARCHAR}, 
+    icon = #{icon,jdbcType=VARCHAR}, 
+    show_type = #{showType,jdbcType=CHAR}, 
+    weigh = #{weigh,jdbcType=INTEGER}, 
+    createtime = #{createtime,jdbcType=INTEGER}, 
+    updatetime = #{updatetime,jdbcType=INTEGER}, 
+    desc = #{desc,jdbcType=VARCHAR}
+  </insert>
+</mapper>

+ 2 - 1
book-dao/src/main/resources/mybatis-generator.xml

@@ -129,7 +129,8 @@
 <!--        <table tableName="bookshelf_recommand"></table>-->
 <!--        <table tableName="smart_recommand"></table>-->
 <!--        <table tableName="upload_book"></table>-->
-        <table tableName="edit_book"></table>
+<!--        <table tableName="edit_book"></table>-->
+        <table tableName="goods"></table>
 
     </context>
 

+ 31 - 6
book-server/src/main/java/com/book/server/service/impl/BookServiceImpl.java

@@ -747,11 +747,36 @@ public class BookServiceImpl implements BookService {
         return bookRes.subList(0, 4);
     }
 
-    public int insertFreeKandian(Long userId, int freeKandian) {
-        // 签到看点
-
-        // 更新到用户信息
-        return 1;
-    }
+    ///**
+    // * 签到或充值
+    // * @param userId
+    // * @param type 充值类型:1=看点充值,2=VIP充值,3=系统操作看点,4=系统操作vip,5=签到
+    // * @param kandian
+    // * @param freeKandian
+    // * @return
+    // */
+    //public int insertFreeKandian(Long userId, String type, int kandian, int freeKandian) {
+    //    // 签到看点
+    //    rechargeMapper.insertSelective(
+    //            Recharge.builder()
+    //                    .userId(userId)
+    //                    .type(type)
+    //                    .kandian(kandian)
+    //                    .freeKandian(freeKandian)
+    //                    .remainFreeKandian(freeKandian)
+    //                    .freeEndtime(DateUtils.get3DayAfter())
+    //                    .
+    //                    .build()
+    //    );
+    //    int i = rechargeMapper.updateByExampleSelective(
+    //            Recharge.builder().remainFreeKandian(recharge.getRemainFreeKandian() - reduceNum).build(),
+    //            RechargeExample.newAndCreateCriteria()
+    //                    .andIdEqualTo(userId)
+    //                    .andRemainFreeKandianEqualTo(recharge.getRemainFreeKandian()).example(),
+    //            Recharge.Column.remainFreeKandian
+    //    );
+    //    // 更新到用户信息
+    //    return 1;
+    //}
 
 }