瀏覽代碼

增加ai生成视频实验

xueyiming 2 月之前
父節點
當前提交
744d0c7570

+ 30 - 0
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/dao/mapper/longarticle/AIVideoAbTestMapper.java

@@ -0,0 +1,30 @@
+package com.tzld.piaoquan.longarticle.dao.mapper.longarticle;
+
+import com.tzld.piaoquan.longarticle.model.po.longarticle.AIVideoAbTest;
+import com.tzld.piaoquan.longarticle.model.po.longarticle.AIVideoAbTestExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface AIVideoAbTestMapper {
+    long countByExample(AIVideoAbTestExample example);
+
+    int deleteByExample(AIVideoAbTestExample example);
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(AIVideoAbTest record);
+
+    int insertSelective(AIVideoAbTest record);
+
+    List<AIVideoAbTest> selectByExample(AIVideoAbTestExample example);
+
+    AIVideoAbTest selectByPrimaryKey(Integer id);
+
+    int updateByExampleSelective(@Param("record") AIVideoAbTest record, @Param("example") AIVideoAbTestExample example);
+
+    int updateByExample(@Param("record") AIVideoAbTest record, @Param("example") AIVideoAbTestExample example);
+
+    int updateByPrimaryKeySelective(AIVideoAbTest record);
+
+    int updateByPrimaryKey(AIVideoAbTest record);
+}

+ 101 - 0
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/model/po/longarticle/AIVideoAbTest.java

@@ -0,0 +1,101 @@
+package com.tzld.piaoquan.longarticle.model.po.longarticle;
+
+public class AIVideoAbTest {
+    private Integer id;
+
+    private String contentId;
+
+    private String publishContentId;
+
+    private String newChannelContentId;
+
+    private String title;
+
+    private Integer pqVideoId;
+
+    private String videoOssPath;
+
+    private Integer status;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getContentId() {
+        return contentId;
+    }
+
+    public void setContentId(String contentId) {
+        this.contentId = contentId;
+    }
+
+    public String getPublishContentId() {
+        return publishContentId;
+    }
+
+    public void setPublishContentId(String publishContentId) {
+        this.publishContentId = publishContentId;
+    }
+
+    public String getNewChannelContentId() {
+        return newChannelContentId;
+    }
+
+    public void setNewChannelContentId(String newChannelContentId) {
+        this.newChannelContentId = newChannelContentId;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public Integer getPqVideoId() {
+        return pqVideoId;
+    }
+
+    public void setPqVideoId(Integer pqVideoId) {
+        this.pqVideoId = pqVideoId;
+    }
+
+    public String getVideoOssPath() {
+        return videoOssPath;
+    }
+
+    public void setVideoOssPath(String videoOssPath) {
+        this.videoOssPath = videoOssPath;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    @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(", contentId=").append(contentId);
+        sb.append(", publishContentId=").append(publishContentId);
+        sb.append(", newChannelContentId=").append(newChannelContentId);
+        sb.append(", title=").append(title);
+        sb.append(", pqVideoId=").append(pqVideoId);
+        sb.append(", videoOssPath=").append(videoOssPath);
+        sb.append(", status=").append(status);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 741 - 0
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/model/po/longarticle/AIVideoAbTestExample.java

@@ -0,0 +1,741 @@
+package com.tzld.piaoquan.longarticle.model.po.longarticle;
+
+import com.tzld.piaoquan.longarticle.utils.page.Page;
+import java.util.ArrayList;
+import java.util.List;
+
+public class AIVideoAbTestExample {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    protected Page page;
+
+    public AIVideoAbTestExample() {
+        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(Integer value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Integer value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Integer value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Integer value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Integer value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Integer> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Integer> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Integer value1, Integer value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Integer value1, Integer value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentIdIsNull() {
+            addCriterion("content_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentIdIsNotNull() {
+            addCriterion("content_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentIdEqualTo(String value) {
+            addCriterion("content_id =", value, "contentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentIdNotEqualTo(String value) {
+            addCriterion("content_id <>", value, "contentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentIdGreaterThan(String value) {
+            addCriterion("content_id >", value, "contentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentIdGreaterThanOrEqualTo(String value) {
+            addCriterion("content_id >=", value, "contentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentIdLessThan(String value) {
+            addCriterion("content_id <", value, "contentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentIdLessThanOrEqualTo(String value) {
+            addCriterion("content_id <=", value, "contentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentIdLike(String value) {
+            addCriterion("content_id like", value, "contentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentIdNotLike(String value) {
+            addCriterion("content_id not like", value, "contentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentIdIn(List<String> values) {
+            addCriterion("content_id in", values, "contentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentIdNotIn(List<String> values) {
+            addCriterion("content_id not in", values, "contentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentIdBetween(String value1, String value2) {
+            addCriterion("content_id between", value1, value2, "contentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentIdNotBetween(String value1, String value2) {
+            addCriterion("content_id not between", value1, value2, "contentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPublishContentIdIsNull() {
+            addCriterion("publish_content_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPublishContentIdIsNotNull() {
+            addCriterion("publish_content_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPublishContentIdEqualTo(String value) {
+            addCriterion("publish_content_id =", value, "publishContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPublishContentIdNotEqualTo(String value) {
+            addCriterion("publish_content_id <>", value, "publishContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPublishContentIdGreaterThan(String value) {
+            addCriterion("publish_content_id >", value, "publishContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPublishContentIdGreaterThanOrEqualTo(String value) {
+            addCriterion("publish_content_id >=", value, "publishContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPublishContentIdLessThan(String value) {
+            addCriterion("publish_content_id <", value, "publishContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPublishContentIdLessThanOrEqualTo(String value) {
+            addCriterion("publish_content_id <=", value, "publishContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPublishContentIdLike(String value) {
+            addCriterion("publish_content_id like", value, "publishContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPublishContentIdNotLike(String value) {
+            addCriterion("publish_content_id not like", value, "publishContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPublishContentIdIn(List<String> values) {
+            addCriterion("publish_content_id in", values, "publishContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPublishContentIdNotIn(List<String> values) {
+            addCriterion("publish_content_id not in", values, "publishContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPublishContentIdBetween(String value1, String value2) {
+            addCriterion("publish_content_id between", value1, value2, "publishContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPublishContentIdNotBetween(String value1, String value2) {
+            addCriterion("publish_content_id not between", value1, value2, "publishContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewChannelContentIdIsNull() {
+            addCriterion("new_channel_content_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewChannelContentIdIsNotNull() {
+            addCriterion("new_channel_content_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewChannelContentIdEqualTo(String value) {
+            addCriterion("new_channel_content_id =", value, "newChannelContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewChannelContentIdNotEqualTo(String value) {
+            addCriterion("new_channel_content_id <>", value, "newChannelContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewChannelContentIdGreaterThan(String value) {
+            addCriterion("new_channel_content_id >", value, "newChannelContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewChannelContentIdGreaterThanOrEqualTo(String value) {
+            addCriterion("new_channel_content_id >=", value, "newChannelContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewChannelContentIdLessThan(String value) {
+            addCriterion("new_channel_content_id <", value, "newChannelContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewChannelContentIdLessThanOrEqualTo(String value) {
+            addCriterion("new_channel_content_id <=", value, "newChannelContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewChannelContentIdLike(String value) {
+            addCriterion("new_channel_content_id like", value, "newChannelContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewChannelContentIdNotLike(String value) {
+            addCriterion("new_channel_content_id not like", value, "newChannelContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewChannelContentIdIn(List<String> values) {
+            addCriterion("new_channel_content_id in", values, "newChannelContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewChannelContentIdNotIn(List<String> values) {
+            addCriterion("new_channel_content_id not in", values, "newChannelContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewChannelContentIdBetween(String value1, String value2) {
+            addCriterion("new_channel_content_id between", value1, value2, "newChannelContentId");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewChannelContentIdNotBetween(String value1, String value2) {
+            addCriterion("new_channel_content_id not between", value1, value2, "newChannelContentId");
+            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 andPqVideoIdIsNull() {
+            addCriterion("pq_video_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPqVideoIdIsNotNull() {
+            addCriterion("pq_video_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPqVideoIdEqualTo(Integer value) {
+            addCriterion("pq_video_id =", value, "pqVideoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPqVideoIdNotEqualTo(Integer value) {
+            addCriterion("pq_video_id <>", value, "pqVideoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPqVideoIdGreaterThan(Integer value) {
+            addCriterion("pq_video_id >", value, "pqVideoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPqVideoIdGreaterThanOrEqualTo(Integer value) {
+            addCriterion("pq_video_id >=", value, "pqVideoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPqVideoIdLessThan(Integer value) {
+            addCriterion("pq_video_id <", value, "pqVideoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPqVideoIdLessThanOrEqualTo(Integer value) {
+            addCriterion("pq_video_id <=", value, "pqVideoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPqVideoIdIn(List<Integer> values) {
+            addCriterion("pq_video_id in", values, "pqVideoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPqVideoIdNotIn(List<Integer> values) {
+            addCriterion("pq_video_id not in", values, "pqVideoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPqVideoIdBetween(Integer value1, Integer value2) {
+            addCriterion("pq_video_id between", value1, value2, "pqVideoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andPqVideoIdNotBetween(Integer value1, Integer value2) {
+            addCriterion("pq_video_id not between", value1, value2, "pqVideoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoOssPathIsNull() {
+            addCriterion("video_oss_path is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoOssPathIsNotNull() {
+            addCriterion("video_oss_path is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoOssPathEqualTo(String value) {
+            addCriterion("video_oss_path =", value, "videoOssPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoOssPathNotEqualTo(String value) {
+            addCriterion("video_oss_path <>", value, "videoOssPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoOssPathGreaterThan(String value) {
+            addCriterion("video_oss_path >", value, "videoOssPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoOssPathGreaterThanOrEqualTo(String value) {
+            addCriterion("video_oss_path >=", value, "videoOssPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoOssPathLessThan(String value) {
+            addCriterion("video_oss_path <", value, "videoOssPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoOssPathLessThanOrEqualTo(String value) {
+            addCriterion("video_oss_path <=", value, "videoOssPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoOssPathLike(String value) {
+            addCriterion("video_oss_path like", value, "videoOssPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoOssPathNotLike(String value) {
+            addCriterion("video_oss_path not like", value, "videoOssPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoOssPathIn(List<String> values) {
+            addCriterion("video_oss_path in", values, "videoOssPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoOssPathNotIn(List<String> values) {
+            addCriterion("video_oss_path not in", values, "videoOssPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoOssPathBetween(String value1, String value2) {
+            addCriterion("video_oss_path between", value1, value2, "videoOssPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoOssPathNotBetween(String value1, String value2) {
+            addCriterion("video_oss_path not between", value1, value2, "videoOssPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIsNull() {
+            addCriterion("`status` is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIsNotNull() {
+            addCriterion("`status` is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusEqualTo(Integer value) {
+            addCriterion("`status` =", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotEqualTo(Integer value) {
+            addCriterion("`status` <>", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusGreaterThan(Integer value) {
+            addCriterion("`status` >", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
+            addCriterion("`status` >=", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusLessThan(Integer value) {
+            addCriterion("`status` <", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusLessThanOrEqualTo(Integer value) {
+            addCriterion("`status` <=", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIn(List<Integer> values) {
+            addCriterion("`status` in", values, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotIn(List<Integer> values) {
+            addCriterion("`status` not in", values, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusBetween(Integer value1, Integer value2) {
+            addCriterion("`status` between", value1, value2, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
+            addCriterion("`status` not between", value1, value2, "status");
+            return (Criteria) this;
+        }
+    }
+
+    public 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);
+        }
+    }
+}

+ 69 - 3
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/service/local/impl/ContentServiceImpl.java

@@ -20,6 +20,7 @@ import com.tzld.piaoquan.longarticle.service.local.KimiService;
 import com.tzld.piaoquan.longarticle.service.remote.AigcService;
 import com.tzld.piaoquan.longarticle.service.remote.SortService;
 import com.tzld.piaoquan.longarticle.service.remote.VideoService;
+import com.tzld.piaoquan.longarticle.utils.DateUtil;
 import com.tzld.piaoquan.longarticle.utils.LarkRobotUtil;
 import com.tzld.piaoquan.longarticle.utils.ToolUtil;
 import lombok.extern.slf4j.Slf4j;
@@ -37,6 +38,24 @@ public class ContentServiceImpl implements ContentService {
     @ApolloJsonValue("${testAccountLevel2:{}}")
     private Map<String, Integer> ghIdMap;
 
+    private Set<String> ghIdSet = new HashSet<String>() {{
+        add("gh_aca0f00404ec");
+        add("gh_631fb48b83a5");
+        add("gh_a42807f192dc");
+        add("gh_64cff9328215");
+        add("gh_6d3aa9d13402");
+        add("gh_7c66e0dbd2cf");
+        add("gh_4f34eb52e641");
+        add("gh_970460d9ccec");
+        add("gh_183d80deffb8");
+        add("gh_09f0b4c51279");
+        add("gh_5ff48e9fb9ef");
+        add("gh_1686250f15b6");
+        add("gh_784083e6713c");
+        add("gh_3e91f0624545");
+        add("gh_ac43eb24376d");
+    }};
+
     private final String SINGLE_VIDEO_UID = "76862180";
 
     private final Integer VIDEO_NUM = 3;
@@ -71,6 +90,9 @@ public class ContentServiceImpl implements ContentService {
     @Autowired
     private VideoEndScreenMapper videoEndScreenMapper;
 
+    @Autowired
+    private AIVideoAbTestMapper aiVideoAbTestMapper;
+
     public void addMatchContent(MatchVideo matchVideo, String publishContentId) {
         PublishMatchContent publishMatchContent = new PublishMatchContent();
         publishMatchContent.setTraceId(matchVideo.getTraceId());
@@ -222,7 +244,7 @@ public class ContentServiceImpl implements ContentService {
         return data.getRank_list();
     }
 
-    public List<VideoDetail> getPublishVideoDetail(MatchVideo matchVideo, Integer publicFlag, PlanAccount planAccount) {
+    public List<VideoDetail> getPublishVideoDetail(MatchVideo matchVideo, Integer publicFlag, PlanAccount planAccount, PublishContent publishContent) {
         List<CrawlerVideo> contentMiniVideos = getContentMiniVideo(matchVideo.getContentId(), publicFlag, planAccount);
         log.info("getPublishVideoDetail contentMiniVideos={}", contentMiniVideos);
         if (CollectionUtils.isEmpty(contentMiniVideos)) {
@@ -231,7 +253,7 @@ public class ContentServiceImpl implements ContentService {
             log.info("文章获取小程序为空 matchVideo={} planAccount={}", matchVideo, planAccount);
             return new ArrayList<>();
         }
-        List<VideoDetail> videoDetails = publishVideo(contentMiniVideos, matchVideo);
+        List<VideoDetail> videoDetails = publishVideo(contentMiniVideos, matchVideo, publishContent);
         log.info("getPublishVideoDetail videoDetails={}", videoDetails);
         if (CollectionUtils.isEmpty(videoDetails)) {
             LarkRobotUtil.sendMessage("发布后小程序为空 matchVideo.getContentId=" + matchVideo.getContentId());
@@ -285,8 +307,42 @@ public class ContentServiceImpl implements ContentService {
         return res;
     }
 
-    public List<VideoDetail> publishVideo(List<CrawlerVideo> contentMiniVideos, MatchVideo matchVideo) {
+    public List<VideoDetail> publishVideo(List<CrawlerVideo> contentMiniVideos, MatchVideo matchVideo, PublishContent publishContent) {
         List<VideoDetail> videoDetails = new ArrayList<>();
+        //ai头条视频改写实验
+        if (ghIdSet.contains(matchVideo.getGhId()) && publishContent != null && Objects.equals(publishContent.getContentPoolType(), "autoArticlePoolLevel1")) {
+            String sourceId = publishContent.getSourceId();
+            AIVideoAbTestExample example = new AIVideoAbTestExample();
+            example.createCriteria().andContentIdEqualTo(sourceId).andStatusEqualTo(1);
+            List<AIVideoAbTest> aiVideoAbTests = aiVideoAbTestMapper.selectByExample(example);
+            if (!CollectionUtils.isEmpty(aiVideoAbTests)) {
+                List<AIVideoAbTest> abTestList = new ArrayList<>();
+                AIVideoAbTest aiVideoAbTest = aiVideoAbTests.get(0);
+                abTestList.add(aiVideoAbTest);
+                int size = abTestList.size();
+                for (int i = size; i < VIDEO_NUM; i++) {
+                    AIVideoAbTest newAiVideoAbTest = new AIVideoAbTest();
+                    BeanUtils.copyProperties(aiVideoAbTest, newAiVideoAbTest);
+                    abTestList.add(newAiVideoAbTest);
+                }
+                for (AIVideoAbTest aiVideoAbTest1 : abTestList) {
+                    LongArticlesText kimiText = kimiService.getKimiText(sourceId);
+                    String title = kimiText.getKimiTitle();
+                    VideoDetail videoDetail = videoService.publish(aiVideoAbTest1.getVideoOssPath(), SINGLE_VIDEO_UID, title);
+                    videoDetail.setCrawlerVideoId(aiVideoAbTest1.getId());
+                    videoDetail.setKimiTitle(title);
+                    videoDetail.setUid(SINGLE_VIDEO_UID);
+                    videoDetail.setVideoOss(aiVideoAbTest1.getVideoOssPath());
+                    videoDetail.setSource("ai");
+                    videoDetail.setTraceId(matchVideo.getTraceId());
+                    videoDetails.add(videoDetail);
+                }
+                aiLogEvent(1, matchVideo.getGhId(), sourceId, DateUtil.getThatDayDateString());
+                return videoDetails;
+            } else {
+                aiLogEvent(0, matchVideo.getGhId(), sourceId, DateUtil.getThatDayDateString());
+            }
+        }
         //发布小程序
         for (CrawlerVideo crawlerVideo : contentMiniVideos) {
             Integer crawlerVideoId = crawlerVideo.getId();
@@ -405,4 +461,14 @@ public class ContentServiceImpl implements ContentService {
         jsonObject.put("data", data);
         log.info(jsonObject.toJSONString());
     }
+
+    public void aiLogEvent(Integer testStatus, String ghId, String contentId, String publishDate) {
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("code", "ad_video_ab_test");
+        jsonObject.put("testStatus", testStatus);
+        jsonObject.put("gh_id", ghId);
+        jsonObject.put("content_id", contentId);
+        jsonObject.put("publish_date", publishDate);
+        log.info(jsonObject.toJSONString());
+    }
 }

+ 6 - 6
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/service/local/impl/CoreServiceImpl.java

@@ -648,7 +648,7 @@ public class CoreServiceImpl implements CoreService {
                             continue;
                         }
                         List<VideoDetail> videoDetails = contentService.
-                                getPublishVideoDetail(matchVideo, PublicFlagEnum.NOT_PUBLIC.getStatusCode(), planAccount);
+                                getPublishVideoDetail(matchVideo, PublicFlagEnum.NOT_PUBLIC.getStatusCode(), planAccount, publishContent);
                         log.info("publishContentId={}, videoDetails={}", publishContent.getId(), videoDetails);
                         if (CollectionUtils.isEmpty(videoDetails)) {
                             continue;
@@ -674,11 +674,11 @@ public class CoreServiceImpl implements CoreService {
             return;
         }
         log.info("gzhPushParam={}", gzhPushParam);
-        String pushId = aigcService.createPushTask(gzhPushParam);
-        log.info("pushId = {}", pushId);
-        if (StringUtils.isNotEmpty(pushId)) {
-            publicContentService.updatePublishContentPushId(sendIds, pushId);
-        }
+//        String pushId = aigcService.createPushTask(gzhPushParam);
+//        log.info("pushId = {}", pushId);
+//        if (StringUtils.isNotEmpty(pushId)) {
+//            publicContentService.updatePublishContentPushId(sendIds, pushId);
+//        }
     }
 
     private List<PublishMiniprogram> getPublishMiniprogramList(List<VideoDetail> videoDetails, PlanAccount planAccount,

+ 1 - 1
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/service/local/impl/MatchVideoServiceImpl.java

@@ -608,7 +608,7 @@ public class MatchVideoServiceImpl {
     }
 
     public void processPublishCrawlerVideo(MatchVideo matchVideo) {
-        List<VideoDetail> videoDetails = contentService.getPublishVideoDetail(matchVideo, PublicFlagEnum.PUBLIC.getStatusCode(), null);
+        List<VideoDetail> videoDetails = contentService.getPublishVideoDetail(matchVideo, PublicFlagEnum.PUBLIC.getStatusCode(), null, null);
         if (CollectionUtils.isEmpty(videoDetails)) {
             return;
         }

+ 262 - 0
long-article-server/src/main/resources/mapper/longarticle/AIVideoAbTestMapper.xml

@@ -0,0 +1,262 @@
+<?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.longarticle.dao.mapper.longarticle.AIVideoAbTestMapper">
+  <resultMap id="BaseResultMap" type="com.tzld.piaoquan.longarticle.model.po.longarticle.AIVideoAbTest">
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="content_id" jdbcType="VARCHAR" property="contentId" />
+    <result column="publish_content_id" jdbcType="VARCHAR" property="publishContentId" />
+    <result column="new_channel_content_id" jdbcType="VARCHAR" property="newChannelContentId" />
+    <result column="title" jdbcType="VARCHAR" property="title" />
+    <result column="pq_video_id" jdbcType="INTEGER" property="pqVideoId" />
+    <result column="video_oss_path" jdbcType="VARCHAR" property="videoOssPath" />
+    <result column="status" jdbcType="INTEGER" property="status" />
+  </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, content_id, publish_content_id, new_channel_content_id, title, pq_video_id, video_oss_path, 
+    `status`
+  </sql>
+  <select id="selectByExample" parameterType="com.tzld.piaoquan.longarticle.model.po.longarticle.AIVideoAbTestExample" resultMap="BaseResultMap">
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from ai_video_ab_test
+    <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.Integer" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from ai_video_ab_test
+    where id = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+    delete from ai_video_ab_test
+    where id = #{id,jdbcType=INTEGER}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.tzld.piaoquan.longarticle.model.po.longarticle.AIVideoAbTestExample">
+    delete from ai_video_ab_test
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.tzld.piaoquan.longarticle.model.po.longarticle.AIVideoAbTest">
+    insert into ai_video_ab_test (id, content_id, publish_content_id, 
+      new_channel_content_id, title, pq_video_id, 
+      video_oss_path, `status`)
+    values (#{id,jdbcType=INTEGER}, #{contentId,jdbcType=VARCHAR}, #{publishContentId,jdbcType=VARCHAR}, 
+      #{newChannelContentId,jdbcType=VARCHAR}, #{title,jdbcType=VARCHAR}, #{pqVideoId,jdbcType=INTEGER}, 
+      #{videoOssPath,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="com.tzld.piaoquan.longarticle.model.po.longarticle.AIVideoAbTest">
+    insert into ai_video_ab_test
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="contentId != null">
+        content_id,
+      </if>
+      <if test="publishContentId != null">
+        publish_content_id,
+      </if>
+      <if test="newChannelContentId != null">
+        new_channel_content_id,
+      </if>
+      <if test="title != null">
+        title,
+      </if>
+      <if test="pqVideoId != null">
+        pq_video_id,
+      </if>
+      <if test="videoOssPath != null">
+        video_oss_path,
+      </if>
+      <if test="status != null">
+        `status`,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=INTEGER},
+      </if>
+      <if test="contentId != null">
+        #{contentId,jdbcType=VARCHAR},
+      </if>
+      <if test="publishContentId != null">
+        #{publishContentId,jdbcType=VARCHAR},
+      </if>
+      <if test="newChannelContentId != null">
+        #{newChannelContentId,jdbcType=VARCHAR},
+      </if>
+      <if test="title != null">
+        #{title,jdbcType=VARCHAR},
+      </if>
+      <if test="pqVideoId != null">
+        #{pqVideoId,jdbcType=INTEGER},
+      </if>
+      <if test="videoOssPath != null">
+        #{videoOssPath,jdbcType=VARCHAR},
+      </if>
+      <if test="status != null">
+        #{status,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.tzld.piaoquan.longarticle.model.po.longarticle.AIVideoAbTestExample" resultType="java.lang.Long">
+    select count(*) from ai_video_ab_test
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    update ai_video_ab_test
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=INTEGER},
+      </if>
+      <if test="record.contentId != null">
+        content_id = #{record.contentId,jdbcType=VARCHAR},
+      </if>
+      <if test="record.publishContentId != null">
+        publish_content_id = #{record.publishContentId,jdbcType=VARCHAR},
+      </if>
+      <if test="record.newChannelContentId != null">
+        new_channel_content_id = #{record.newChannelContentId,jdbcType=VARCHAR},
+      </if>
+      <if test="record.title != null">
+        title = #{record.title,jdbcType=VARCHAR},
+      </if>
+      <if test="record.pqVideoId != null">
+        pq_video_id = #{record.pqVideoId,jdbcType=INTEGER},
+      </if>
+      <if test="record.videoOssPath != null">
+        video_oss_path = #{record.videoOssPath,jdbcType=VARCHAR},
+      </if>
+      <if test="record.status != null">
+        `status` = #{record.status,jdbcType=INTEGER},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    update ai_video_ab_test
+    set id = #{record.id,jdbcType=INTEGER},
+      content_id = #{record.contentId,jdbcType=VARCHAR},
+      publish_content_id = #{record.publishContentId,jdbcType=VARCHAR},
+      new_channel_content_id = #{record.newChannelContentId,jdbcType=VARCHAR},
+      title = #{record.title,jdbcType=VARCHAR},
+      pq_video_id = #{record.pqVideoId,jdbcType=INTEGER},
+      video_oss_path = #{record.videoOssPath,jdbcType=VARCHAR},
+      `status` = #{record.status,jdbcType=INTEGER}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.tzld.piaoquan.longarticle.model.po.longarticle.AIVideoAbTest">
+    update ai_video_ab_test
+    <set>
+      <if test="contentId != null">
+        content_id = #{contentId,jdbcType=VARCHAR},
+      </if>
+      <if test="publishContentId != null">
+        publish_content_id = #{publishContentId,jdbcType=VARCHAR},
+      </if>
+      <if test="newChannelContentId != null">
+        new_channel_content_id = #{newChannelContentId,jdbcType=VARCHAR},
+      </if>
+      <if test="title != null">
+        title = #{title,jdbcType=VARCHAR},
+      </if>
+      <if test="pqVideoId != null">
+        pq_video_id = #{pqVideoId,jdbcType=INTEGER},
+      </if>
+      <if test="videoOssPath != null">
+        video_oss_path = #{videoOssPath,jdbcType=VARCHAR},
+      </if>
+      <if test="status != null">
+        `status` = #{status,jdbcType=INTEGER},
+      </if>
+    </set>
+    where id = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.tzld.piaoquan.longarticle.model.po.longarticle.AIVideoAbTest">
+    update ai_video_ab_test
+    set content_id = #{contentId,jdbcType=VARCHAR},
+      publish_content_id = #{publishContentId,jdbcType=VARCHAR},
+      new_channel_content_id = #{newChannelContentId,jdbcType=VARCHAR},
+      title = #{title,jdbcType=VARCHAR},
+      pq_video_id = #{pqVideoId,jdbcType=INTEGER},
+      video_oss_path = #{videoOssPath,jdbcType=VARCHAR},
+      `status` = #{status,jdbcType=INTEGER}
+    where id = #{id,jdbcType=INTEGER}
+  </update>
+</mapper>

+ 4 - 2
long-article-server/src/main/resources/mybatis-generator-config.xml

@@ -56,8 +56,10 @@
 <!--        <table tableName="long_articles_text" domainObjectName="LongArticlesText" alias="">-->
 <!--            <columnOverride column="article_text" javaType="java.lang.String" jdbcType="LONGVARCHAR" />-->
 <!--        </table>-->
-        <table tableName="long_articles_account_special_settings" domainObjectName="AccountSpecialSettings" alias=""/>
-<!--            <columnOverride column="video_url" javaType="java.lang.String" jdbcType="LONGVARCHAR" />-->
+<!--        <table tableName="long_articles_account_special_settings" domainObjectName="AccountSpecialSettings" alias=""/>-->
+        <table tableName="ai_video_ab_test" domainObjectName="AIVideoAbTest" alias=""/>
+
+        <!--            <columnOverride column="video_url" javaType="java.lang.String" jdbcType="LONGVARCHAR" />-->
 <!--            <columnOverride column="cover_url" javaType="java.lang.String" jdbcType="LONGVARCHAR" />-->
 <!--        </table>-->
 <!--        <table tableName="long_articles_root_source_id" domainObjectName="RootSource" alias=""/>-->