Browse Source

修改自动回复

xueyiming 2 days ago
parent
commit
8d1840be19

+ 2 - 2
api-module/src/main/java/com/tzld/piaoquan/api/dao/generator/MybatisGeneratorMain.java

@@ -21,9 +21,9 @@ public class MybatisGeneratorMain {
         List<String> warnings = new ArrayList<>();
 
 //        File configFile = new File(MybatisGeneratorMain.class.getResource("/mybatis-generator-config.xml").getFile());
-//        File configFile = new File(MybatisGeneratorMain.class.getResource("/mybatis-api-generator-config.xml").getFile());
+        File configFile = new File(MybatisGeneratorMain.class.getResource("/mybatis-api-generator-config.xml").getFile());
 //        File configFile = new File(MybatisGeneratorMain.class.getResource("/mybatis-api-contentPlatform-generator-config.xml").getFile());
-        File configFile = new File(MybatisGeneratorMain.class.getResource("/mybatis-api-wecomThirdpart-generator-config.xml").getFile());
+//        File configFile = new File(MybatisGeneratorMain.class.getResource("/mybatis-api-wecomThirdpart-generator-config.xml").getFile());
         ConfigurationParser cp = new ConfigurationParser(warnings);
         Configuration config = cp.parseConfiguration(configFile);
         DefaultShellCallback callback = new DefaultShellCallback(true);

+ 35 - 0
api-module/src/main/java/com/tzld/piaoquan/api/dao/mapper/GhDetailExtMapper.java

@@ -0,0 +1,35 @@
+package com.tzld.piaoquan.api.dao.mapper;
+
+import com.tzld.piaoquan.api.model.po.GhDetailExt;
+import com.tzld.piaoquan.api.model.po.GhDetailExtExample;
+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 GhDetailExtMapper {
+    long countByExample(GhDetailExtExample example);
+
+    int deleteByExample(GhDetailExtExample example);
+
+    int deleteByPrimaryKey(Long id);
+
+    int insert(GhDetailExt record);
+
+    int insertSelective(GhDetailExt record);
+
+    List<GhDetailExt> selectByExample(GhDetailExtExample example);
+
+    GhDetailExt selectByPrimaryKey(Long id);
+
+    int updateByExampleSelective(@Param("record") GhDetailExt record, @Param("example") GhDetailExtExample example);
+
+    int updateByExample(@Param("record") GhDetailExt record, @Param("example") GhDetailExtExample example);
+
+    int updateByPrimaryKeySelective(GhDetailExt record);
+
+    int updateByPrimaryKey(GhDetailExt record);
+}

+ 5 - 0
api-module/src/main/java/com/tzld/piaoquan/api/dao/mapper/ReplyStaffMapper.java

@@ -3,8 +3,13 @@ package com.tzld.piaoquan.api.dao.mapper;
 import com.tzld.piaoquan.api.model.po.ReplyStaff;
 import com.tzld.piaoquan.api.model.po.ReplyStaffExample;
 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 ReplyStaffMapper {
     long countByExample(ReplyStaffExample example);
 

+ 1 - 0
api-module/src/main/java/com/tzld/piaoquan/api/model/bo/BucketDataParam.java

@@ -1,5 +1,6 @@
 package com.tzld.piaoquan.api.model.bo;
 
+import com.tzld.piaoquan.api.model.po.GhDetailExt;
 import lombok.Data;
 
 import java.util.List;

+ 114 - 0
api-module/src/main/java/com/tzld/piaoquan/api/model/po/GhDetailExt.java

@@ -0,0 +1,114 @@
+package com.tzld.piaoquan.api.model.po;
+
+import java.util.Date;
+
+public class GhDetailExt {
+    private Long id;
+
+    private Long ghDetailId;
+
+    private String page;
+
+    private String title;
+
+    private String cover;
+
+    private Integer sort;
+
+    private Integer isDelete;
+
+    private Date createTime;
+
+    private Date updateTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getGhDetailId() {
+        return ghDetailId;
+    }
+
+    public void setGhDetailId(Long ghDetailId) {
+        this.ghDetailId = ghDetailId;
+    }
+
+    public String getPage() {
+        return page;
+    }
+
+    public void setPage(String page) {
+        this.page = page;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getCover() {
+        return cover;
+    }
+
+    public void setCover(String cover) {
+        this.cover = cover;
+    }
+
+    public Integer getSort() {
+        return sort;
+    }
+
+    public void setSort(Integer sort) {
+        this.sort = sort;
+    }
+
+    public Integer getIsDelete() {
+        return isDelete;
+    }
+
+    public void setIsDelete(Integer isDelete) {
+        this.isDelete = isDelete;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", ghDetailId=").append(ghDetailId);
+        sb.append(", page=").append(page);
+        sb.append(", title=").append(title);
+        sb.append(", cover=").append(cover);
+        sb.append(", sort=").append(sort);
+        sb.append(", isDelete=").append(isDelete);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 782 - 0
api-module/src/main/java/com/tzld/piaoquan/api/model/po/GhDetailExtExample.java

@@ -0,0 +1,782 @@
+package com.tzld.piaoquan.api.model.po;
+
+import com.tzld.piaoquan.growth.common.utils.page.Page;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class GhDetailExtExample {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    protected Page page;
+
+    public GhDetailExtExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    public void setPage(Page page) {
+        this.page=page;
+    }
+
+    public Page getPage() {
+        return page;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Long value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Long value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Long value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Long value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Long value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Long> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Long> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Long value1, Long value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Long value1, Long value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andGhDetailIdIsNull() {
+            addCriterion("gh_detail_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGhDetailIdIsNotNull() {
+            addCriterion("gh_detail_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGhDetailIdEqualTo(Long value) {
+            addCriterion("gh_detail_id =", value, "ghDetailId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGhDetailIdNotEqualTo(Long value) {
+            addCriterion("gh_detail_id <>", value, "ghDetailId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGhDetailIdGreaterThan(Long value) {
+            addCriterion("gh_detail_id >", value, "ghDetailId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGhDetailIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("gh_detail_id >=", value, "ghDetailId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGhDetailIdLessThan(Long value) {
+            addCriterion("gh_detail_id <", value, "ghDetailId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGhDetailIdLessThanOrEqualTo(Long value) {
+            addCriterion("gh_detail_id <=", value, "ghDetailId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGhDetailIdIn(List<Long> values) {
+            addCriterion("gh_detail_id in", values, "ghDetailId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGhDetailIdNotIn(List<Long> values) {
+            addCriterion("gh_detail_id not in", values, "ghDetailId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGhDetailIdBetween(Long value1, Long value2) {
+            addCriterion("gh_detail_id between", value1, value2, "ghDetailId");
+            return (Criteria) this;
+        }
+
+        public Criteria andGhDetailIdNotBetween(Long value1, Long value2) {
+            addCriterion("gh_detail_id not between", value1, value2, "ghDetailId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPageIsNull() {
+            addCriterion("page is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPageIsNotNull() {
+            addCriterion("page is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPageEqualTo(String value) {
+            addCriterion("page =", value, "page");
+            return (Criteria) this;
+        }
+
+        public Criteria andPageNotEqualTo(String value) {
+            addCriterion("page <>", value, "page");
+            return (Criteria) this;
+        }
+
+        public Criteria andPageGreaterThan(String value) {
+            addCriterion("page >", value, "page");
+            return (Criteria) this;
+        }
+
+        public Criteria andPageGreaterThanOrEqualTo(String value) {
+            addCriterion("page >=", value, "page");
+            return (Criteria) this;
+        }
+
+        public Criteria andPageLessThan(String value) {
+            addCriterion("page <", value, "page");
+            return (Criteria) this;
+        }
+
+        public Criteria andPageLessThanOrEqualTo(String value) {
+            addCriterion("page <=", value, "page");
+            return (Criteria) this;
+        }
+
+        public Criteria andPageLike(String value) {
+            addCriterion("page like", value, "page");
+            return (Criteria) this;
+        }
+
+        public Criteria andPageNotLike(String value) {
+            addCriterion("page not like", value, "page");
+            return (Criteria) this;
+        }
+
+        public Criteria andPageIn(List<String> values) {
+            addCriterion("page in", values, "page");
+            return (Criteria) this;
+        }
+
+        public Criteria andPageNotIn(List<String> values) {
+            addCriterion("page not in", values, "page");
+            return (Criteria) this;
+        }
+
+        public Criteria andPageBetween(String value1, String value2) {
+            addCriterion("page between", value1, value2, "page");
+            return (Criteria) this;
+        }
+
+        public Criteria andPageNotBetween(String value1, String value2) {
+            addCriterion("page not between", value1, value2, "page");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleIsNull() {
+            addCriterion("title is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleIsNotNull() {
+            addCriterion("title is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleEqualTo(String value) {
+            addCriterion("title =", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotEqualTo(String value) {
+            addCriterion("title <>", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleGreaterThan(String value) {
+            addCriterion("title >", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleGreaterThanOrEqualTo(String value) {
+            addCriterion("title >=", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLessThan(String value) {
+            addCriterion("title <", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLessThanOrEqualTo(String value) {
+            addCriterion("title <=", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleLike(String value) {
+            addCriterion("title like", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotLike(String value) {
+            addCriterion("title not like", value, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleIn(List<String> values) {
+            addCriterion("title in", values, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotIn(List<String> values) {
+            addCriterion("title not in", values, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleBetween(String value1, String value2) {
+            addCriterion("title between", value1, value2, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andTitleNotBetween(String value1, String value2) {
+            addCriterion("title not between", value1, value2, "title");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverIsNull() {
+            addCriterion("cover is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverIsNotNull() {
+            addCriterion("cover is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverEqualTo(String value) {
+            addCriterion("cover =", value, "cover");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverNotEqualTo(String value) {
+            addCriterion("cover <>", value, "cover");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverGreaterThan(String value) {
+            addCriterion("cover >", value, "cover");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverGreaterThanOrEqualTo(String value) {
+            addCriterion("cover >=", value, "cover");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverLessThan(String value) {
+            addCriterion("cover <", value, "cover");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverLessThanOrEqualTo(String value) {
+            addCriterion("cover <=", value, "cover");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverLike(String value) {
+            addCriterion("cover like", value, "cover");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverNotLike(String value) {
+            addCriterion("cover not like", value, "cover");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverIn(List<String> values) {
+            addCriterion("cover in", values, "cover");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverNotIn(List<String> values) {
+            addCriterion("cover not in", values, "cover");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverBetween(String value1, String value2) {
+            addCriterion("cover between", value1, value2, "cover");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverNotBetween(String value1, String value2) {
+            addCriterion("cover not between", value1, value2, "cover");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortIsNull() {
+            addCriterion("sort is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortIsNotNull() {
+            addCriterion("sort is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortEqualTo(Integer value) {
+            addCriterion("sort =", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNotEqualTo(Integer value) {
+            addCriterion("sort <>", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortGreaterThan(Integer value) {
+            addCriterion("sort >", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortGreaterThanOrEqualTo(Integer value) {
+            addCriterion("sort >=", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortLessThan(Integer value) {
+            addCriterion("sort <", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortLessThanOrEqualTo(Integer value) {
+            addCriterion("sort <=", value, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortIn(List<Integer> values) {
+            addCriterion("sort in", values, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNotIn(List<Integer> values) {
+            addCriterion("sort not in", values, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortBetween(Integer value1, Integer value2) {
+            addCriterion("sort between", value1, value2, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andSortNotBetween(Integer value1, Integer value2) {
+            addCriterion("sort not between", value1, value2, "sort");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDeleteIsNull() {
+            addCriterion("is_delete is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDeleteIsNotNull() {
+            addCriterion("is_delete is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDeleteEqualTo(Integer value) {
+            addCriterion("is_delete =", value, "isDelete");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDeleteNotEqualTo(Integer value) {
+            addCriterion("is_delete <>", value, "isDelete");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDeleteGreaterThan(Integer value) {
+            addCriterion("is_delete >", value, "isDelete");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDeleteGreaterThanOrEqualTo(Integer value) {
+            addCriterion("is_delete >=", value, "isDelete");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDeleteLessThan(Integer value) {
+            addCriterion("is_delete <", value, "isDelete");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDeleteLessThanOrEqualTo(Integer value) {
+            addCriterion("is_delete <=", value, "isDelete");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDeleteIn(List<Integer> values) {
+            addCriterion("is_delete in", values, "isDelete");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDeleteNotIn(List<Integer> values) {
+            addCriterion("is_delete not in", values, "isDelete");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDeleteBetween(Integer value1, Integer value2) {
+            addCriterion("is_delete between", value1, value2, "isDelete");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsDeleteNotBetween(Integer value1, Integer value2) {
+            addCriterion("is_delete not between", value1, value2, "isDelete");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIsNull() {
+            addCriterion("create_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIsNotNull() {
+            addCriterion("create_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeEqualTo(Date value) {
+            addCriterion("create_time =", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotEqualTo(Date value) {
+            addCriterion("create_time <>", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeGreaterThan(Date value) {
+            addCriterion("create_time >", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("create_time >=", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLessThan(Date value) {
+            addCriterion("create_time <", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("create_time <=", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIn(List<Date> values) {
+            addCriterion("create_time in", values, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotIn(List<Date> values) {
+            addCriterion("create_time not in", values, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeBetween(Date value1, Date value2) {
+            addCriterion("create_time between", value1, value2, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("create_time not between", value1, value2, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNull() {
+            addCriterion("update_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIsNotNull() {
+            addCriterion("update_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeEqualTo(Date value) {
+            addCriterion("update_time =", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotEqualTo(Date value) {
+            addCriterion("update_time <>", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThan(Date value) {
+            addCriterion("update_time >", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("update_time >=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThan(Date value) {
+            addCriterion("update_time <", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
+            addCriterion("update_time <=", value, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeIn(List<Date> values) {
+            addCriterion("update_time in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotIn(List<Date> values) {
+            addCriterion("update_time not in", values, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
+            addCriterion("update_time between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
+            addCriterion("update_time not between", value1, value2, "updateTime");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 23 - 4
api-module/src/main/java/com/tzld/piaoquan/api/service/impl/CgiReplyServiceImpl.java

@@ -5,8 +5,12 @@ import com.alibaba.fastjson.JSONObject;
 import com.tzld.piaoquan.api.common.enums.ExceptionEnum;
 import com.tzld.piaoquan.api.common.enums.ReplyStrategyServiceEnum;
 import com.tzld.piaoquan.api.common.exception.CommonException;
+import com.tzld.piaoquan.api.dao.mapper.GhDetailExtMapper;
 import com.tzld.piaoquan.api.model.bo.BucketDataParam;
+import com.tzld.piaoquan.api.model.bo.MiniPageData;
 import com.tzld.piaoquan.api.model.bo.ReplyBucketData;
+import com.tzld.piaoquan.api.model.po.GhDetailExt;
+import com.tzld.piaoquan.api.model.po.GhDetailExtExample;
 import com.tzld.piaoquan.api.model.vo.VideoCharacteristicVO;
 import com.tzld.piaoquan.api.service.CgiReplyService;
 import com.tzld.piaoquan.api.service.GhDetailService;
@@ -27,10 +31,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.PostConstruct;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 
 @Service
 public class CgiReplyServiceImpl implements CgiReplyService {
@@ -43,6 +44,9 @@ public class CgiReplyServiceImpl implements CgiReplyService {
     @Autowired
     private GhDetailMapper ghDetailMapper;
 
+    @Autowired
+    private GhDetailExtMapper ghDetailExtMapper;
+
     @Autowired
     private CgiReplyBucketDataMapper cgiReplyBucketDataMapper;
 
@@ -75,6 +79,21 @@ public class CgiReplyServiceImpl implements CgiReplyService {
         if (StringUtils.isNotEmpty(ghDetail.getVideoIds())) {
             bucketDataParam.setVideos(JSONArray.parseArray(ghDetail.getVideoIds(), Long.class));
         }
+        GhDetailExtExample ghDetailExtExample = new GhDetailExtExample();
+        ghDetailExtExample.createCriteria().andGhDetailIdEqualTo(ghDetail.getId()).andIsDeleteEqualTo(0);
+        ghDetailExtExample.setOrderByClause("sort desc, id asc");
+        List<GhDetailExt> ghDetailExts = ghDetailExtMapper.selectByExample(ghDetailExtExample);
+        if (!CollectionUtils.isEmpty(ghDetailExts)) {
+            List<MiniPageData> miniPageDatas = new ArrayList<>();
+            for (GhDetailExt ghDetailExt : ghDetailExts) {
+                MiniPageData miniPageData = new MiniPageData();
+                miniPageData.setCover(ghDetailExt.getCover());
+                miniPageData.setPage(ghDetailExt.getPage());
+                miniPageData.setTitle(ghDetailExt.getTitle());
+                miniPageDatas.add(miniPageData);
+            }
+            bucketDataParam.setMiniPageDatas(miniPageDatas);
+        }
         if (Objects.equals(ghDetail.getType(), GhTypeEnum.THIRD_PARTY_GH.type)) {
             bucketDataParam.setChannel(ghDetail.getChannel());
             return getPushMessageData(bucketDataParam);

+ 21 - 0
api-module/src/main/java/com/tzld/piaoquan/api/service/impl/ThirdPartyServiceImpl.java

@@ -5,7 +5,10 @@ import com.alibaba.fastjson.JSONArray;
 import com.aliyun.odps.data.Record;
 import com.tzld.piaoquan.api.common.enums.ReplyStrategyServiceEnum;
 import com.tzld.piaoquan.api.common.enums.SecretEnum;
+import com.tzld.piaoquan.api.dao.mapper.GhDetailExtMapper;
 import com.tzld.piaoquan.api.model.bo.*;
+import com.tzld.piaoquan.api.model.po.GhDetailExt;
+import com.tzld.piaoquan.api.model.po.GhDetailExtExample;
 import com.tzld.piaoquan.api.model.vo.PushMessageParam;
 import com.tzld.piaoquan.api.model.vo.PushMessageVo;
 import com.tzld.piaoquan.api.model.vo.ReportUvVo;
@@ -56,6 +59,9 @@ public class ThirdPartyServiceImpl implements ThirdPartyService {
     @Autowired
     private GhDetailMapper ghDetailMapper;
 
+    @Autowired
+    private GhDetailExtMapper ghDetailExtMapper;
+
     private static final String canViewReportDate = "2024-10-31";
 
     private Map<String, ReplyStrategyService> strategyServiceMap;
@@ -180,6 +186,21 @@ public class ThirdPartyServiceImpl implements ThirdPartyService {
                 if (StringUtils.isNotEmpty(ghDetail.getVideoIds())) {
                     bucketDataParam.setVideos(JSONArray.parseArray(ghDetail.getVideoIds(), Long.class));
                 }
+                GhDetailExtExample ghDetailExtExample = new GhDetailExtExample();
+                ghDetailExtExample.createCriteria().andGhDetailIdEqualTo(ghDetail.getId()).andIsDeleteEqualTo(0);
+                ghDetailExtExample.setOrderByClause("sort desc, id asc");
+                List<GhDetailExt> ghDetailExts = ghDetailExtMapper.selectByExample(ghDetailExtExample);
+                if (!CollectionUtils.isEmpty(ghDetailExts)) {
+                    List<MiniPageData> miniPageDatas = new ArrayList<>();
+                    for (GhDetailExt ghDetailExt : ghDetailExts) {
+                        MiniPageData miniPageData = new MiniPageData();
+                        miniPageData.setCover(ghDetailExt.getCover());
+                        miniPageData.setPage(ghDetailExt.getPage());
+                        miniPageData.setTitle(ghDetailExt.getTitle());
+                        miniPageDatas.add(miniPageData);
+                    }
+                    bucketDataParam.setMiniPageDatas(miniPageDatas);
+                }
                 return replyStrategyService.getResult(bucketDataParam);
             }
         }

+ 34 - 34
api-module/src/main/java/com/tzld/piaoquan/api/service/strategy/impl/BuckStrategyV1.java

@@ -398,7 +398,40 @@ public class BuckStrategyV1 implements ReplyStrategyService {
         countExample.createCriteria().andIsDeleteEqualTo(0).andStrategyEqualTo(key)
                 .andGhIdEqualTo(bucketDataParam.getGhId());
         long allCount = cgiReplyBucketDataMapper.countByExample(countExample);
-        if (!CollectionUtils.isEmpty(bucketDataParam.getVideos())) {
+        if (!CollectionUtils.isEmpty(bucketDataParam.getMiniPageDatas())) {
+            if (allCount == bucketDataParam.getMiniPageDatas().size()) {
+                int existNum = 0;
+                for (int i = 0; i < bucketDataParam.getMiniPageDatas().size(); i++) {
+                    int sort = i + 1;
+                    MiniPageData miniPageData = bucketDataParam.getMiniPageDatas().get(i);
+                    CgiReplyBucketDataExample cgiReplyBucketDataExample = new CgiReplyBucketDataExample();
+                    cgiReplyBucketDataExample.createCriteria().andIsDeleteEqualTo(0).andStrategyEqualTo(key)
+                            .andGhIdEqualTo(bucketDataParam.getGhId()).andMiniPagePathEqualTo(miniPageData.getPage()).andSortEqualTo(sort);
+                    long count = cgiReplyBucketDataMapper.countByExample(cgiReplyBucketDataExample);
+                    if (count > 0) {
+                        existNum++;
+                    }
+                }
+                if (existNum == bucketDataParam.getMiniPageDatas().size()) {
+                    return null;
+                }
+            }
+
+            for (int i = 0; i < bucketDataParam.getMiniPageDatas().size(); i++) {
+                int sort = i + 1;
+                MiniPageData miniPageData = bucketDataParam.getMiniPageDatas().get(i);
+                CgiReplyBucketData cgiReplyBucketData = new CgiReplyBucketData();
+                cgiReplyBucketData.setStrategy(key);
+                cgiReplyBucketData.setSort(sort);
+                cgiReplyBucketData.setGhId(bucketDataParam.getGhId());
+                cgiReplyBucketData.setMsgType(1);
+                cgiReplyBucketData.setCoverUrl(miniPageData.getCover());
+                cgiReplyBucketData.setTitle(miniPageData.getTitle());
+                cgiReplyBucketData.setMiniPagePath(miniPageData.getPage());
+                cgiReplyBucketData.setMiniAppId(SMALL_APP_Id);
+                result.add(cgiReplyBucketData);
+            }
+        } else if (!CollectionUtils.isEmpty(bucketDataParam.getVideos())) {
             if (allCount == bucketDataParam.getVideos().size()) {
                 int existNum = 0;
                 for (int i = 0; i < bucketDataParam.getVideos().size(); i++) {
@@ -452,39 +485,6 @@ public class BuckStrategyV1 implements ReplyStrategyService {
                 cgiReplyBucketData.setMiniVideoId(videoId);
                 result.add(cgiReplyBucketData);
             }
-        } else if (!CollectionUtils.isEmpty(bucketDataParam.getMiniPageDatas())) {
-            if (allCount == bucketDataParam.getVideos().size()) {
-                int existNum = 0;
-                for (int i = 0; i < bucketDataParam.getMiniPageDatas().size(); i++) {
-                    int sort = i + 1;
-                    MiniPageData miniPageData = bucketDataParam.getMiniPageDatas().get(i);
-                    CgiReplyBucketDataExample cgiReplyBucketDataExample = new CgiReplyBucketDataExample();
-                    cgiReplyBucketDataExample.createCriteria().andIsDeleteEqualTo(0).andStrategyEqualTo(key)
-                            .andGhIdEqualTo(bucketDataParam.getGhId()).andMiniPagePathEqualTo(miniPageData.getPage()).andSortEqualTo(sort);
-                    long count = cgiReplyBucketDataMapper.countByExample(cgiReplyBucketDataExample);
-                    if (count > 0) {
-                        existNum++;
-                    }
-                }
-                if (existNum == bucketDataParam.getMiniPageDatas().size()) {
-                    return null;
-                }
-            }
-
-            for (int i = 0; i < bucketDataParam.getMiniPageDatas().size(); i++) {
-                int sort = i + 1;
-                MiniPageData miniPageData = bucketDataParam.getMiniPageDatas().get(i);
-                CgiReplyBucketData cgiReplyBucketData = new CgiReplyBucketData();
-                cgiReplyBucketData.setStrategy(key);
-                cgiReplyBucketData.setSort(sort);
-                cgiReplyBucketData.setGhId(bucketDataParam.getGhId());
-                cgiReplyBucketData.setMsgType(1);
-                cgiReplyBucketData.setCoverUrl(miniPageData.getCover());
-                cgiReplyBucketData.setTitle(miniPageData.getTitle());
-                cgiReplyBucketData.setMiniPagePath(miniPageData.getPage());
-                cgiReplyBucketData.setMiniAppId(SMALL_APP_Id);
-                result.add(cgiReplyBucketData);
-            }
         } else {
             return null;
         }

+ 33 - 33
api-module/src/main/java/com/tzld/piaoquan/api/service/strategy/impl/ThirdPartyPushMessageStrategyV1.java

@@ -253,7 +253,39 @@ public class ThirdPartyPushMessageStrategyV1 implements ReplyStrategyService {
                 countExample.createCriteria().andIsDeleteEqualTo(0).andStrategyEqualTo(key)
                         .andGhIdEqualTo(bucketDataParam.getGhId());
                 long allCount = cgiReplyBucketDataMapper.countByExample(countExample);
-                if (!CollectionUtils.isEmpty(bucketDataParam.getVideos())) {
+                if (!CollectionUtils.isEmpty(bucketDataParam.getMiniPageDatas())) {
+                    if (allCount == bucketDataParam.getMiniPageDatas().size()) {
+                        int existNum = 0;
+                        for (int i = 0; i < bucketDataParam.getMiniPageDatas().size(); i++) {
+                            int sort = i + 1;
+                            MiniPageData miniPageData = bucketDataParam.getMiniPageDatas().get(i);
+                            CgiReplyBucketDataExample cgiReplyBucketDataExample = new CgiReplyBucketDataExample();
+                            cgiReplyBucketDataExample.createCriteria().andIsDeleteEqualTo(0).andStrategyEqualTo(key)
+                                    .andGhIdEqualTo(bucketDataParam.getGhId()).andMiniPagePathEqualTo(miniPageData.getPage()).andSortEqualTo(sort);
+                            long count = cgiReplyBucketDataMapper.countByExample(cgiReplyBucketDataExample);
+                            if (count > 0) {
+                                existNum++;
+                            }
+                        }
+                        if (existNum == bucketDataParam.getMiniPageDatas().size()) {
+                            return null;
+                        }
+                    }
+                    for (int i = 0; i < bucketDataParam.getMiniPageDatas().size(); i++) {
+                        int sort = i + 1;
+                        MiniPageData miniPageData = bucketDataParam.getMiniPageDatas().get(i);
+                        CgiReplyBucketData cgiReplyBucketData = new CgiReplyBucketData();
+                        cgiReplyBucketData.setStrategy(key);
+                        cgiReplyBucketData.setSort(sort);
+                        cgiReplyBucketData.setGhId(bucketDataParam.getGhId());
+                        cgiReplyBucketData.setMsgType(1);
+                        cgiReplyBucketData.setCoverUrl(miniPageData.getCover());
+                        cgiReplyBucketData.setTitle(miniPageData.getTitle());
+                        cgiReplyBucketData.setMiniPagePath(miniPageData.getPage());
+                        cgiReplyBucketData.setMiniAppId(SMALL_APP_Id);
+                        result.add(cgiReplyBucketData);
+                    }
+                } else if (!CollectionUtils.isEmpty(bucketDataParam.getVideos())) {
                     if (allCount == bucketDataParam.getVideos().size()) {
                         int existNum = 0;
                         for (int i = 0; i < bucketDataParam.getVideos().size(); i++) {
@@ -312,38 +344,6 @@ public class ThirdPartyPushMessageStrategyV1 implements ReplyStrategyService {
                         result.add(cgiReplyBucketData);
                     }
 
-                } else if (!CollectionUtils.isEmpty(bucketDataParam.getMiniPageDatas())) {
-                    if (allCount == bucketDataParam.getVideos().size()) {
-                        int existNum = 0;
-                        for (int i = 0; i < bucketDataParam.getMiniPageDatas().size(); i++) {
-                            int sort = i + 1;
-                            MiniPageData miniPageData = bucketDataParam.getMiniPageDatas().get(i);
-                            CgiReplyBucketDataExample cgiReplyBucketDataExample = new CgiReplyBucketDataExample();
-                            cgiReplyBucketDataExample.createCriteria().andIsDeleteEqualTo(0).andStrategyEqualTo(key)
-                                    .andGhIdEqualTo(bucketDataParam.getGhId()).andMiniPagePathEqualTo(miniPageData.getPage()).andSortEqualTo(sort);
-                            long count = cgiReplyBucketDataMapper.countByExample(cgiReplyBucketDataExample);
-                            if (count > 0) {
-                                existNum++;
-                            }
-                        }
-                        if (existNum == bucketDataParam.getMiniPageDatas().size()) {
-                            return null;
-                        }
-                    }
-                    for (int i = 0; i < bucketDataParam.getMiniPageDatas().size(); i++) {
-                        int sort = i + 1;
-                        MiniPageData miniPageData = bucketDataParam.getMiniPageDatas().get(i);
-                        CgiReplyBucketData cgiReplyBucketData = new CgiReplyBucketData();
-                        cgiReplyBucketData.setStrategy(key);
-                        cgiReplyBucketData.setSort(sort);
-                        cgiReplyBucketData.setGhId(bucketDataParam.getGhId());
-                        cgiReplyBucketData.setMsgType(1);
-                        cgiReplyBucketData.setCoverUrl(miniPageData.getCover());
-                        cgiReplyBucketData.setTitle(miniPageData.getTitle());
-                        cgiReplyBucketData.setMiniPagePath(miniPageData.getPage());
-                        cgiReplyBucketData.setMiniAppId(SMALL_APP_Id);
-                        result.add(cgiReplyBucketData);
-                    }
                 } else {
                     return null;
                 }

+ 278 - 0
api-module/src/main/resources/mapper/GhDetailExtMapper.xml

@@ -0,0 +1,278 @@
+<?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.tzld.piaoquan.api.dao.mapper.GhDetailExtMapper">
+  <resultMap id="BaseResultMap" type="com.tzld.piaoquan.api.model.po.GhDetailExt">
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="gh_detail_id" jdbcType="BIGINT" property="ghDetailId" />
+    <result column="page" jdbcType="VARCHAR" property="page" />
+    <result column="title" jdbcType="VARCHAR" property="title" />
+    <result column="cover" jdbcType="VARCHAR" property="cover" />
+    <result column="sort" jdbcType="INTEGER" property="sort" />
+    <result column="is_delete" jdbcType="INTEGER" property="isDelete" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <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">
+    <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">
+    id, gh_detail_id, page, title, cover, sort, is_delete, create_time, update_time
+  </sql>
+  <select id="selectByExample" parameterType="com.tzld.piaoquan.api.model.po.GhDetailExtExample" resultMap="BaseResultMap">
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from gh_detail_ext
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+    <if test="page != null">
+      limit #{page.offset} , #{page.pageSize}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from gh_detail_ext
+    where id = #{id,jdbcType=BIGINT}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    delete from gh_detail_ext
+    where id = #{id,jdbcType=BIGINT}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.tzld.piaoquan.api.model.po.GhDetailExtExample">
+    delete from gh_detail_ext
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.tzld.piaoquan.api.model.po.GhDetailExt">
+    insert into gh_detail_ext (id, gh_detail_id, page, 
+      title, cover, sort, 
+      is_delete, create_time, update_time
+      )
+    values (#{id,jdbcType=BIGINT}, #{ghDetailId,jdbcType=BIGINT}, #{page,jdbcType=VARCHAR}, 
+      #{title,jdbcType=VARCHAR}, #{cover,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, 
+      #{isDelete,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.tzld.piaoquan.api.model.po.GhDetailExt">
+    insert into gh_detail_ext
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="ghDetailId != null">
+        gh_detail_id,
+      </if>
+      <if test="page != null">
+        page,
+      </if>
+      <if test="title != null">
+        title,
+      </if>
+      <if test="cover != null">
+        cover,
+      </if>
+      <if test="sort != null">
+        sort,
+      </if>
+      <if test="isDelete != null">
+        is_delete,
+      </if>
+      <if test="createTime != null">
+        create_time,
+      </if>
+      <if test="updateTime != null">
+        update_time,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=BIGINT},
+      </if>
+      <if test="ghDetailId != null">
+        #{ghDetailId,jdbcType=BIGINT},
+      </if>
+      <if test="page != null">
+        #{page,jdbcType=VARCHAR},
+      </if>
+      <if test="title != null">
+        #{title,jdbcType=VARCHAR},
+      </if>
+      <if test="cover != null">
+        #{cover,jdbcType=VARCHAR},
+      </if>
+      <if test="sort != null">
+        #{sort,jdbcType=INTEGER},
+      </if>
+      <if test="isDelete != null">
+        #{isDelete,jdbcType=INTEGER},
+      </if>
+      <if test="createTime != null">
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.tzld.piaoquan.api.model.po.GhDetailExtExample" resultType="java.lang.Long">
+    select count(*) from gh_detail_ext
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    update gh_detail_ext
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=BIGINT},
+      </if>
+      <if test="record.ghDetailId != null">
+        gh_detail_id = #{record.ghDetailId,jdbcType=BIGINT},
+      </if>
+      <if test="record.page != null">
+        page = #{record.page,jdbcType=VARCHAR},
+      </if>
+      <if test="record.title != null">
+        title = #{record.title,jdbcType=VARCHAR},
+      </if>
+      <if test="record.cover != null">
+        cover = #{record.cover,jdbcType=VARCHAR},
+      </if>
+      <if test="record.sort != null">
+        sort = #{record.sort,jdbcType=INTEGER},
+      </if>
+      <if test="record.isDelete != null">
+        is_delete = #{record.isDelete,jdbcType=INTEGER},
+      </if>
+      <if test="record.createTime != null">
+        create_time = #{record.createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.updateTime != null">
+        update_time = #{record.updateTime,jdbcType=TIMESTAMP},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    update gh_detail_ext
+    set id = #{record.id,jdbcType=BIGINT},
+      gh_detail_id = #{record.ghDetailId,jdbcType=BIGINT},
+      page = #{record.page,jdbcType=VARCHAR},
+      title = #{record.title,jdbcType=VARCHAR},
+      cover = #{record.cover,jdbcType=VARCHAR},
+      sort = #{record.sort,jdbcType=INTEGER},
+      is_delete = #{record.isDelete,jdbcType=INTEGER},
+      create_time = #{record.createTime,jdbcType=TIMESTAMP},
+      update_time = #{record.updateTime,jdbcType=TIMESTAMP}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.tzld.piaoquan.api.model.po.GhDetailExt">
+    update gh_detail_ext
+    <set>
+      <if test="ghDetailId != null">
+        gh_detail_id = #{ghDetailId,jdbcType=BIGINT},
+      </if>
+      <if test="page != null">
+        page = #{page,jdbcType=VARCHAR},
+      </if>
+      <if test="title != null">
+        title = #{title,jdbcType=VARCHAR},
+      </if>
+      <if test="cover != null">
+        cover = #{cover,jdbcType=VARCHAR},
+      </if>
+      <if test="sort != null">
+        sort = #{sort,jdbcType=INTEGER},
+      </if>
+      <if test="isDelete != null">
+        is_delete = #{isDelete,jdbcType=INTEGER},
+      </if>
+      <if test="createTime != null">
+        create_time = #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateTime != null">
+        update_time = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+    </set>
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.tzld.piaoquan.api.model.po.GhDetailExt">
+    update gh_detail_ext
+    set gh_detail_id = #{ghDetailId,jdbcType=BIGINT},
+      page = #{page,jdbcType=VARCHAR},
+      title = #{title,jdbcType=VARCHAR},
+      cover = #{cover,jdbcType=VARCHAR},
+      sort = #{sort,jdbcType=INTEGER},
+      is_delete = #{isDelete,jdbcType=INTEGER},
+      create_time = #{createTime,jdbcType=TIMESTAMP},
+      update_time = #{updateTime,jdbcType=TIMESTAMP}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+</mapper>

+ 2 - 1
api-module/src/main/resources/mybatis-api-generator-config.xml

@@ -58,7 +58,8 @@
 <!--        <table tableName="reply_staff" domainObjectName="ReplyStaff" alias=""/>-->
 <!--        <table tableName="we_com_send_msg_result" domainObjectName="SendMsgResult" alias=""/>-->
 <!--        <table tableName="we_com_corp" domainObjectName="Corp" alias=""/>-->
-        <table tableName="workwx_auto_reply_msg_send_record" domainObjectName="AutoReplyMsgSendRecord" alias=""/>
+<!--        <table tableName="workwx_auto_reply_msg_send_record" domainObjectName="AutoReplyMsgSendRecord" alias=""/>-->
+        <table tableName="gh_detail_ext" domainObjectName="GhDetailExt" alias=""/>
 
 
     </context>