supeng преди 1 седмица
родител
ревизия
e4c0492165
променени са 26 файла, в които са добавени 9936 реда и са изтрити 12 реда
  1. 8 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/common/base/Constant.java
  2. 96 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/dao/mapper/WxVideoMapper.java
  3. 96 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/dao/mapper/WxVideoTranscodeMapper.java
  4. 65 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/job/VideoContentUnderstandingJob.java
  5. 1738 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/po/WxVideo.java
  6. 3333 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/po/WxVideoExample.java
  7. 780 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/po/WxVideoTranscode.java
  8. 1662 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/po/WxVideoTranscodeExample.java
  9. 37 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/rocketmq/consumer/OldVersionRemainVideoUnderstandingConsumer.java
  10. 33 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/rocketmq/producer/OldVersionRemainVideoUnderstandingProducer.java
  11. 17 1
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/ContentService.java
  12. 155 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/ODPSManager.java
  13. 262 3
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/ContentServiceImpl.java
  14. 12 1
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/PipelineServiceImpl.java
  15. 27 0
      content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/util/UrlUtil.java
  16. 968 0
      content-understanding-core/src/main/resources/mapper/WxVideoMapper.xml
  17. 541 0
      content-understanding-core/src/main/resources/mapper/WxVideoTranscodeMapper.xml
  18. 3 1
      content-understanding-core/src/main/resources/mybatis-generator-config.xml
  19. 8 1
      content-understanding-server/src/main/resources/application-dev.yml
  20. 6 1
      content-understanding-server/src/main/resources/application-pre.yml
  21. 5 1
      content-understanding-server/src/main/resources/application-prod.yml
  22. 5 1
      content-understanding-server/src/main/resources/application-stress.yml
  23. 6 1
      content-understanding-server/src/main/resources/application-test.yml
  24. 6 1
      content-understanding-server/src/main/resources/application.yml
  25. 46 0
      content-understanding-server/src/test/java/com/tzld/piaoquan/content/understanding/service/ContentServiceTest.java
  26. 21 0
      pom.xml

+ 8 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/common/base/Constant.java

@@ -14,4 +14,12 @@ public class Constant {
      * gemini api 默认model
      */
     public static final String GEMINI_DEFAULT_MODEL = "gemini-2.0-flash";
+    /**
+     * 多码率CDN域名
+     */
+    public static final String MULTI_CDN_HTTP_DOMAIN = "http://visionularcdn.yishihui.com/";
+    /**
+     * 原视频 普通视频 CDN域名
+     */
+    public static final String VIDEO_CDN_HTTP_DOMAIN = "http://rescdn.yishihui.com/";
 }

+ 96 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/dao/mapper/WxVideoMapper.java

@@ -0,0 +1,96 @@
+package com.tzld.piaoquan.content.understanding.dao.mapper;
+
+import com.tzld.piaoquan.content.understanding.model.po.WxVideo;
+import com.tzld.piaoquan.content.understanding.model.po.WxVideoExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface WxVideoMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    long countByExample(WxVideoExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int deleteByExample(WxVideoExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int deleteByPrimaryKey(Long id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int insert(WxVideo record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int insertSelective(WxVideo record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    List<WxVideo> selectByExample(WxVideoExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    WxVideo selectByPrimaryKey(Long id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int updateByExampleSelective(@Param("record") WxVideo record, @Param("example") WxVideoExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int updateByExample(@Param("record") WxVideo record, @Param("example") WxVideoExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int updateByPrimaryKeySelective(WxVideo record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int updateByPrimaryKey(WxVideo record);
+}

+ 96 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/dao/mapper/WxVideoTranscodeMapper.java

@@ -0,0 +1,96 @@
+package com.tzld.piaoquan.content.understanding.dao.mapper;
+
+import com.tzld.piaoquan.content.understanding.model.po.WxVideoTranscode;
+import com.tzld.piaoquan.content.understanding.model.po.WxVideoTranscodeExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface WxVideoTranscodeMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    long countByExample(WxVideoTranscodeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int deleteByExample(WxVideoTranscodeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int deleteByPrimaryKey(Long id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int insert(WxVideoTranscode record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int insertSelective(WxVideoTranscode record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    List<WxVideoTranscode> selectByExample(WxVideoTranscodeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    WxVideoTranscode selectByPrimaryKey(Long id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int updateByExampleSelective(@Param("record") WxVideoTranscode record, @Param("example") WxVideoTranscodeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int updateByExample(@Param("record") WxVideoTranscode record, @Param("example") WxVideoTranscodeExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int updateByPrimaryKeySelective(WxVideoTranscode record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    int updateByPrimaryKey(WxVideoTranscode record);
+}

+ 65 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/job/VideoContentUnderstandingJob.java

@@ -0,0 +1,65 @@
+package com.tzld.piaoquan.content.understanding.job;
+
+import com.tzld.piaoquan.content.understanding.service.ContentService;
+import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import com.xxl.job.core.log.XxlJobLogger;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 视频理解任务
+ *
+ * @author supeng
+ */
+@Slf4j
+@Component
+public class VideoContentUnderstandingJob {
+
+    @Autowired
+    private ContentService contentService;
+
+    @XxlJob("newRecommendVideoUnderstandingHandler")
+    public ReturnT<String> newRecommendVideoUnderstandingHandler(String params) {
+        XxlJobLogger.log("newRecommendVideoUnderstandingHandler start");
+        try {
+            contentService.newRecommendVideoUnderstandingHandler();
+        } catch (Exception e) {
+            XxlJobLogger.log("newRecommendVideoUnderstandingHandler error", e);
+            return ReturnT.FAIL;
+        } finally {
+            XxlJobLogger.log("newRecommendVideoUnderstandingHandler end");
+        }
+        return ReturnT.SUCCESS;
+    }
+
+    @XxlJob("dayTopVideoUnderstandingHandler")
+    public ReturnT<String> dayTopVideoUnderstandingHandler(String params) {
+        XxlJobLogger.log("dayTopVideoUnderstandingHandler start");
+        try {
+            contentService.dayTopVideoUnderstandingHandler();
+        } catch (Exception e) {
+            XxlJobLogger.log("dayTopVideoUnderstandingHandler error", e);
+            return ReturnT.FAIL;
+        } finally {
+            XxlJobLogger.log("dayTopVideoUnderstandingHandler end");
+        }
+        return ReturnT.SUCCESS;
+    }
+
+
+    @XxlJob("remainVideoUnderstandingHandler")
+    public ReturnT<String> remainVideoUnderstandingHandler(String params) {
+        XxlJobLogger.log("remainVideoUnderstandingHandler start");
+        try {
+            contentService.remainVideoUnderstandingHandler();
+        } catch (Exception e) {
+            XxlJobLogger.log("remainVideoUnderstandingHandler error", e);
+            return ReturnT.FAIL;
+        } finally {
+            XxlJobLogger.log("remainVideoUnderstandingHandler end");
+        }
+        return ReturnT.SUCCESS;
+    }
+}

+ 1738 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/po/WxVideo.java

@@ -0,0 +1,1738 @@
+package com.tzld.piaoquan.content.understanding.model.po;
+
+import java.util.Date;
+
+/**
+ *
+ * This class was generated by MyBatis Generator.
+ * This class corresponds to the database table wx_video
+ */
+public class WxVideo {
+    /**
+     * Database Column Remarks:
+     *   主键编号,取值来源为REDIS分布式主键
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Long id;
+
+    /**
+     * Database Column Remarks:
+     *   用户编号,用户信息表中的uid字段
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.uid
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Long uid;
+
+    /**
+     * Database Column Remarks:
+     *   标题
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.title
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String title;
+
+    /**
+     * Database Column Remarks:
+     *   视频地址
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.video_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String videoPath;
+
+    /**
+     * Database Column Remarks:
+     *   封面图片地址
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.cover_img_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String coverImgPath;
+
+    /**
+     * Database Column Remarks:
+     *   自定义封面图片地址
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.self_cover_img_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String selfCoverImgPath;
+
+    /**
+     * Database Column Remarks:
+     *   分享到朋友圈的图片保存地址
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.share_moment_img_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String shareMomentImgPath;
+
+    /**
+     * Database Column Remarks:
+     *   PC端生成二维码的保存路径
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.qrimg_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String qrimgPath;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.width
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer width;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.height
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer height;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.cover_img_width
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer coverImgWidth;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.cover_img_height
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer coverImgHeight;
+
+    /**
+     * Database Column Remarks:
+     *   播放次数,去重
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.play_count
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer playCount;
+
+    /**
+     * Database Column Remarks:
+     *   被播放总次数,不去重
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.play_count_total
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer playCountTotal;
+
+    /**
+     * Database Column Remarks:
+     *   分享次数,去重
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.share_count
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer shareCount;
+
+    /**
+     * Database Column Remarks:
+     *   被分享到朋友圈总次数,不去重
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.share_count_total
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer shareCountTotal;
+
+    /**
+     * Database Column Remarks:
+     *   被举报次数
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.reported_count
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer reportedCount;
+
+    /**
+     * Database Column Remarks:
+     *   微信分享给朋友的次数,不去重
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.share_count_friend
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer shareCountFriend;
+
+    /**
+     * Database Column Remarks:
+     *   被分享给微信好友的总次数,不去重
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.share_count_friend_total
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer shareCountFriendTotal;
+
+    /**
+     * Database Column Remarks:
+     *   视频被收藏的次数
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.favoriteds
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Long favoriteds;
+
+    /**
+     * Database Column Remarks:
+     *   视频时长
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.total_time
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer totalTime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.rotate
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String rotate;
+
+    /**
+     * Database Column Remarks:
+     *   比率
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.bit_rate
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Long bitRate;
+
+    /**
+     * Database Column Remarks:
+     *   转码状态(1:发送转码失败,2:转码中,3:转码完成,4:转码失败)
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.transcode_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer transcodeStatus;
+
+    /**
+     * Database Column Remarks:
+     *   转码完成时间
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.transcode_done_datetime
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Date transcodeDoneDatetime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.request_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String requestId;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.job_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String jobId;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.transed_video_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String transedVideoPath;
+
+    /**
+     * Database Column Remarks:
+     *   创建时间
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.gmt_create
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Date gmtCreate;
+
+    /**
+     * Database Column Remarks:
+     *   由谁修改
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.changed_by
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Long changedBy;
+
+    /**
+     * Database Column Remarks:
+     *   最后修改时间
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.gmt_modified
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Date gmtModified;
+
+    /**
+     * Database Column Remarks:
+     *   创建时间戳,用来排序和分页查询
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.gmt_create_timestamp
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Long gmtCreateTimestamp;
+
+    /**
+     * Database Column Remarks:
+     *   最后修改时间戳,用来排序和分页查询
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.gmt_modified_timestamp
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Long gmtModifiedTimestamp;
+
+    /**
+     * Database Column Remarks:
+     *   数据版本号,用来做版本控制和乐观锁
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.version
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer version;
+
+    /**
+     * Database Column Remarks:
+     *   发送视频时的操作系统
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.system
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String system;
+
+    /**
+     * Database Column Remarks:
+     *   数据状态,1有效(公开),2 已删除,3 已屏蔽(不可见),4关注可见(可见),5分享可见(私密),6自己可见
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer status;
+
+    /**
+     * Database Column Remarks:
+     *   视频后缀名
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.file_extensions
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String fileExtensions;
+
+    /**
+     * Database Column Remarks:
+     *   审核状态(0:上传未审,1:上传已审)
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.examine_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer examineStatus;
+
+    /**
+     * Database Column Remarks:
+     *   原视频的MD5
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.content_md5
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String contentMd5;
+
+    /**
+     * Database Column Remarks:
+     *   原文件大小
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.size
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Long size;
+
+    /**
+     * Database Column Remarks:
+     *   原文件编码格式
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.code_name
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String codeName;
+
+    /**
+     * Database Column Remarks:
+     *   用户的视频集编号
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.video_collection_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Long videoCollectionId;
+
+    /**
+     * Database Column Remarks:
+     *   推荐状态(0:不可搜,-6:待推荐,1:普通推荐,10:编辑推荐,-7:可搜索)
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.recommend_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer recommendStatus;
+
+    /**
+     * Database Column Remarks:
+     *   标签个数
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.tag_count
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer tagCount;
+
+    /**
+     * Database Column Remarks:
+     *   待推荐审核状态(0:待推荐未审,1:待推荐已审)
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.stage_recommend_examine_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer stageRecommendExamineStatus;
+
+    /**
+     * Database Column Remarks:
+     *   内容敏感状态(0:未检验,1:不敏感,2:敏感,3:敏感已审)
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.sensitive_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer sensitiveStatus;
+
+    /**
+     * Database Column Remarks:
+     *   是否是存放在境外bucket,针对境外用户上传后转码前的地址
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.is_foreogn_bucket
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Byte isForeognBucket;
+
+    /**
+     * Database Column Remarks:
+     *   后台自定义封面图对应的分享图,用来在首页或者其他地方的分享图片上显示
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video.new_share_image_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String newShareImagePath;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.id
+     *
+     * @return the value of wx_video.id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Long getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.id
+     *
+     * @param id the value for wx_video.id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.uid
+     *
+     * @return the value of wx_video.uid
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Long getUid() {
+        return uid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.uid
+     *
+     * @param uid the value for wx_video.uid
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setUid(Long uid) {
+        this.uid = uid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.title
+     *
+     * @return the value of wx_video.title
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getTitle() {
+        return title;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.title
+     *
+     * @param title the value for wx_video.title
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.video_path
+     *
+     * @return the value of wx_video.video_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getVideoPath() {
+        return videoPath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.video_path
+     *
+     * @param videoPath the value for wx_video.video_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setVideoPath(String videoPath) {
+        this.videoPath = videoPath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.cover_img_path
+     *
+     * @return the value of wx_video.cover_img_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getCoverImgPath() {
+        return coverImgPath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.cover_img_path
+     *
+     * @param coverImgPath the value for wx_video.cover_img_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setCoverImgPath(String coverImgPath) {
+        this.coverImgPath = coverImgPath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.self_cover_img_path
+     *
+     * @return the value of wx_video.self_cover_img_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getSelfCoverImgPath() {
+        return selfCoverImgPath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.self_cover_img_path
+     *
+     * @param selfCoverImgPath the value for wx_video.self_cover_img_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setSelfCoverImgPath(String selfCoverImgPath) {
+        this.selfCoverImgPath = selfCoverImgPath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.share_moment_img_path
+     *
+     * @return the value of wx_video.share_moment_img_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getShareMomentImgPath() {
+        return shareMomentImgPath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.share_moment_img_path
+     *
+     * @param shareMomentImgPath the value for wx_video.share_moment_img_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setShareMomentImgPath(String shareMomentImgPath) {
+        this.shareMomentImgPath = shareMomentImgPath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.qrimg_path
+     *
+     * @return the value of wx_video.qrimg_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getQrimgPath() {
+        return qrimgPath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.qrimg_path
+     *
+     * @param qrimgPath the value for wx_video.qrimg_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setQrimgPath(String qrimgPath) {
+        this.qrimgPath = qrimgPath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.width
+     *
+     * @return the value of wx_video.width
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getWidth() {
+        return width;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.width
+     *
+     * @param width the value for wx_video.width
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setWidth(Integer width) {
+        this.width = width;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.height
+     *
+     * @return the value of wx_video.height
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getHeight() {
+        return height;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.height
+     *
+     * @param height the value for wx_video.height
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setHeight(Integer height) {
+        this.height = height;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.cover_img_width
+     *
+     * @return the value of wx_video.cover_img_width
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getCoverImgWidth() {
+        return coverImgWidth;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.cover_img_width
+     *
+     * @param coverImgWidth the value for wx_video.cover_img_width
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setCoverImgWidth(Integer coverImgWidth) {
+        this.coverImgWidth = coverImgWidth;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.cover_img_height
+     *
+     * @return the value of wx_video.cover_img_height
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getCoverImgHeight() {
+        return coverImgHeight;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.cover_img_height
+     *
+     * @param coverImgHeight the value for wx_video.cover_img_height
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setCoverImgHeight(Integer coverImgHeight) {
+        this.coverImgHeight = coverImgHeight;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.play_count
+     *
+     * @return the value of wx_video.play_count
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getPlayCount() {
+        return playCount;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.play_count
+     *
+     * @param playCount the value for wx_video.play_count
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setPlayCount(Integer playCount) {
+        this.playCount = playCount;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.play_count_total
+     *
+     * @return the value of wx_video.play_count_total
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getPlayCountTotal() {
+        return playCountTotal;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.play_count_total
+     *
+     * @param playCountTotal the value for wx_video.play_count_total
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setPlayCountTotal(Integer playCountTotal) {
+        this.playCountTotal = playCountTotal;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.share_count
+     *
+     * @return the value of wx_video.share_count
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getShareCount() {
+        return shareCount;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.share_count
+     *
+     * @param shareCount the value for wx_video.share_count
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setShareCount(Integer shareCount) {
+        this.shareCount = shareCount;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.share_count_total
+     *
+     * @return the value of wx_video.share_count_total
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getShareCountTotal() {
+        return shareCountTotal;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.share_count_total
+     *
+     * @param shareCountTotal the value for wx_video.share_count_total
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setShareCountTotal(Integer shareCountTotal) {
+        this.shareCountTotal = shareCountTotal;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.reported_count
+     *
+     * @return the value of wx_video.reported_count
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getReportedCount() {
+        return reportedCount;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.reported_count
+     *
+     * @param reportedCount the value for wx_video.reported_count
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setReportedCount(Integer reportedCount) {
+        this.reportedCount = reportedCount;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.share_count_friend
+     *
+     * @return the value of wx_video.share_count_friend
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getShareCountFriend() {
+        return shareCountFriend;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.share_count_friend
+     *
+     * @param shareCountFriend the value for wx_video.share_count_friend
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setShareCountFriend(Integer shareCountFriend) {
+        this.shareCountFriend = shareCountFriend;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.share_count_friend_total
+     *
+     * @return the value of wx_video.share_count_friend_total
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getShareCountFriendTotal() {
+        return shareCountFriendTotal;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.share_count_friend_total
+     *
+     * @param shareCountFriendTotal the value for wx_video.share_count_friend_total
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setShareCountFriendTotal(Integer shareCountFriendTotal) {
+        this.shareCountFriendTotal = shareCountFriendTotal;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.favoriteds
+     *
+     * @return the value of wx_video.favoriteds
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Long getFavoriteds() {
+        return favoriteds;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.favoriteds
+     *
+     * @param favoriteds the value for wx_video.favoriteds
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setFavoriteds(Long favoriteds) {
+        this.favoriteds = favoriteds;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.total_time
+     *
+     * @return the value of wx_video.total_time
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getTotalTime() {
+        return totalTime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.total_time
+     *
+     * @param totalTime the value for wx_video.total_time
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setTotalTime(Integer totalTime) {
+        this.totalTime = totalTime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.rotate
+     *
+     * @return the value of wx_video.rotate
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getRotate() {
+        return rotate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.rotate
+     *
+     * @param rotate the value for wx_video.rotate
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setRotate(String rotate) {
+        this.rotate = rotate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.bit_rate
+     *
+     * @return the value of wx_video.bit_rate
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Long getBitRate() {
+        return bitRate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.bit_rate
+     *
+     * @param bitRate the value for wx_video.bit_rate
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setBitRate(Long bitRate) {
+        this.bitRate = bitRate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.transcode_status
+     *
+     * @return the value of wx_video.transcode_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getTranscodeStatus() {
+        return transcodeStatus;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.transcode_status
+     *
+     * @param transcodeStatus the value for wx_video.transcode_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setTranscodeStatus(Integer transcodeStatus) {
+        this.transcodeStatus = transcodeStatus;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.transcode_done_datetime
+     *
+     * @return the value of wx_video.transcode_done_datetime
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Date getTranscodeDoneDatetime() {
+        return transcodeDoneDatetime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.transcode_done_datetime
+     *
+     * @param transcodeDoneDatetime the value for wx_video.transcode_done_datetime
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setTranscodeDoneDatetime(Date transcodeDoneDatetime) {
+        this.transcodeDoneDatetime = transcodeDoneDatetime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.request_id
+     *
+     * @return the value of wx_video.request_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getRequestId() {
+        return requestId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.request_id
+     *
+     * @param requestId the value for wx_video.request_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setRequestId(String requestId) {
+        this.requestId = requestId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.job_id
+     *
+     * @return the value of wx_video.job_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getJobId() {
+        return jobId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.job_id
+     *
+     * @param jobId the value for wx_video.job_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setJobId(String jobId) {
+        this.jobId = jobId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.transed_video_path
+     *
+     * @return the value of wx_video.transed_video_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getTransedVideoPath() {
+        return transedVideoPath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.transed_video_path
+     *
+     * @param transedVideoPath the value for wx_video.transed_video_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setTransedVideoPath(String transedVideoPath) {
+        this.transedVideoPath = transedVideoPath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.gmt_create
+     *
+     * @return the value of wx_video.gmt_create
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.gmt_create
+     *
+     * @param gmtCreate the value for wx_video.gmt_create
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.changed_by
+     *
+     * @return the value of wx_video.changed_by
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Long getChangedBy() {
+        return changedBy;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.changed_by
+     *
+     * @param changedBy the value for wx_video.changed_by
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setChangedBy(Long changedBy) {
+        this.changedBy = changedBy;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.gmt_modified
+     *
+     * @return the value of wx_video.gmt_modified
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.gmt_modified
+     *
+     * @param gmtModified the value for wx_video.gmt_modified
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.gmt_create_timestamp
+     *
+     * @return the value of wx_video.gmt_create_timestamp
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Long getGmtCreateTimestamp() {
+        return gmtCreateTimestamp;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.gmt_create_timestamp
+     *
+     * @param gmtCreateTimestamp the value for wx_video.gmt_create_timestamp
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setGmtCreateTimestamp(Long gmtCreateTimestamp) {
+        this.gmtCreateTimestamp = gmtCreateTimestamp;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.gmt_modified_timestamp
+     *
+     * @return the value of wx_video.gmt_modified_timestamp
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Long getGmtModifiedTimestamp() {
+        return gmtModifiedTimestamp;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.gmt_modified_timestamp
+     *
+     * @param gmtModifiedTimestamp the value for wx_video.gmt_modified_timestamp
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setGmtModifiedTimestamp(Long gmtModifiedTimestamp) {
+        this.gmtModifiedTimestamp = gmtModifiedTimestamp;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.version
+     *
+     * @return the value of wx_video.version
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getVersion() {
+        return version;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.version
+     *
+     * @param version the value for wx_video.version
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setVersion(Integer version) {
+        this.version = version;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.system
+     *
+     * @return the value of wx_video.system
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getSystem() {
+        return system;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.system
+     *
+     * @param system the value for wx_video.system
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setSystem(String system) {
+        this.system = system;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.status
+     *
+     * @return the value of wx_video.status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getStatus() {
+        return status;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.status
+     *
+     * @param status the value for wx_video.status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.file_extensions
+     *
+     * @return the value of wx_video.file_extensions
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getFileExtensions() {
+        return fileExtensions;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.file_extensions
+     *
+     * @param fileExtensions the value for wx_video.file_extensions
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setFileExtensions(String fileExtensions) {
+        this.fileExtensions = fileExtensions;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.examine_status
+     *
+     * @return the value of wx_video.examine_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getExamineStatus() {
+        return examineStatus;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.examine_status
+     *
+     * @param examineStatus the value for wx_video.examine_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setExamineStatus(Integer examineStatus) {
+        this.examineStatus = examineStatus;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.content_md5
+     *
+     * @return the value of wx_video.content_md5
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getContentMd5() {
+        return contentMd5;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.content_md5
+     *
+     * @param contentMd5 the value for wx_video.content_md5
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setContentMd5(String contentMd5) {
+        this.contentMd5 = contentMd5;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.size
+     *
+     * @return the value of wx_video.size
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Long getSize() {
+        return size;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.size
+     *
+     * @param size the value for wx_video.size
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setSize(Long size) {
+        this.size = size;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.code_name
+     *
+     * @return the value of wx_video.code_name
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getCodeName() {
+        return codeName;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.code_name
+     *
+     * @param codeName the value for wx_video.code_name
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setCodeName(String codeName) {
+        this.codeName = codeName;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.video_collection_id
+     *
+     * @return the value of wx_video.video_collection_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Long getVideoCollectionId() {
+        return videoCollectionId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.video_collection_id
+     *
+     * @param videoCollectionId the value for wx_video.video_collection_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setVideoCollectionId(Long videoCollectionId) {
+        this.videoCollectionId = videoCollectionId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.recommend_status
+     *
+     * @return the value of wx_video.recommend_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getRecommendStatus() {
+        return recommendStatus;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.recommend_status
+     *
+     * @param recommendStatus the value for wx_video.recommend_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setRecommendStatus(Integer recommendStatus) {
+        this.recommendStatus = recommendStatus;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.tag_count
+     *
+     * @return the value of wx_video.tag_count
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getTagCount() {
+        return tagCount;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.tag_count
+     *
+     * @param tagCount the value for wx_video.tag_count
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setTagCount(Integer tagCount) {
+        this.tagCount = tagCount;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.stage_recommend_examine_status
+     *
+     * @return the value of wx_video.stage_recommend_examine_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getStageRecommendExamineStatus() {
+        return stageRecommendExamineStatus;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.stage_recommend_examine_status
+     *
+     * @param stageRecommendExamineStatus the value for wx_video.stage_recommend_examine_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setStageRecommendExamineStatus(Integer stageRecommendExamineStatus) {
+        this.stageRecommendExamineStatus = stageRecommendExamineStatus;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.sensitive_status
+     *
+     * @return the value of wx_video.sensitive_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getSensitiveStatus() {
+        return sensitiveStatus;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.sensitive_status
+     *
+     * @param sensitiveStatus the value for wx_video.sensitive_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setSensitiveStatus(Integer sensitiveStatus) {
+        this.sensitiveStatus = sensitiveStatus;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.is_foreogn_bucket
+     *
+     * @return the value of wx_video.is_foreogn_bucket
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Byte getIsForeognBucket() {
+        return isForeognBucket;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.is_foreogn_bucket
+     *
+     * @param isForeognBucket the value for wx_video.is_foreogn_bucket
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setIsForeognBucket(Byte isForeognBucket) {
+        this.isForeognBucket = isForeognBucket;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video.new_share_image_path
+     *
+     * @return the value of wx_video.new_share_image_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getNewShareImagePath() {
+        return newShareImagePath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video.new_share_image_path
+     *
+     * @param newShareImagePath the value for wx_video.new_share_image_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setNewShareImagePath(String newShareImagePath) {
+        this.newShareImagePath = newShareImagePath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    @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(", uid=").append(uid);
+        sb.append(", title=").append(title);
+        sb.append(", videoPath=").append(videoPath);
+        sb.append(", coverImgPath=").append(coverImgPath);
+        sb.append(", selfCoverImgPath=").append(selfCoverImgPath);
+        sb.append(", shareMomentImgPath=").append(shareMomentImgPath);
+        sb.append(", qrimgPath=").append(qrimgPath);
+        sb.append(", width=").append(width);
+        sb.append(", height=").append(height);
+        sb.append(", coverImgWidth=").append(coverImgWidth);
+        sb.append(", coverImgHeight=").append(coverImgHeight);
+        sb.append(", playCount=").append(playCount);
+        sb.append(", playCountTotal=").append(playCountTotal);
+        sb.append(", shareCount=").append(shareCount);
+        sb.append(", shareCountTotal=").append(shareCountTotal);
+        sb.append(", reportedCount=").append(reportedCount);
+        sb.append(", shareCountFriend=").append(shareCountFriend);
+        sb.append(", shareCountFriendTotal=").append(shareCountFriendTotal);
+        sb.append(", favoriteds=").append(favoriteds);
+        sb.append(", totalTime=").append(totalTime);
+        sb.append(", rotate=").append(rotate);
+        sb.append(", bitRate=").append(bitRate);
+        sb.append(", transcodeStatus=").append(transcodeStatus);
+        sb.append(", transcodeDoneDatetime=").append(transcodeDoneDatetime);
+        sb.append(", requestId=").append(requestId);
+        sb.append(", jobId=").append(jobId);
+        sb.append(", transedVideoPath=").append(transedVideoPath);
+        sb.append(", gmtCreate=").append(gmtCreate);
+        sb.append(", changedBy=").append(changedBy);
+        sb.append(", gmtModified=").append(gmtModified);
+        sb.append(", gmtCreateTimestamp=").append(gmtCreateTimestamp);
+        sb.append(", gmtModifiedTimestamp=").append(gmtModifiedTimestamp);
+        sb.append(", version=").append(version);
+        sb.append(", system=").append(system);
+        sb.append(", status=").append(status);
+        sb.append(", fileExtensions=").append(fileExtensions);
+        sb.append(", examineStatus=").append(examineStatus);
+        sb.append(", contentMd5=").append(contentMd5);
+        sb.append(", size=").append(size);
+        sb.append(", codeName=").append(codeName);
+        sb.append(", videoCollectionId=").append(videoCollectionId);
+        sb.append(", recommendStatus=").append(recommendStatus);
+        sb.append(", tagCount=").append(tagCount);
+        sb.append(", stageRecommendExamineStatus=").append(stageRecommendExamineStatus);
+        sb.append(", sensitiveStatus=").append(sensitiveStatus);
+        sb.append(", isForeognBucket=").append(isForeognBucket);
+        sb.append(", newShareImagePath=").append(newShareImagePath);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 3333 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/po/WxVideoExample.java

@@ -0,0 +1,3333 @@
+package com.tzld.piaoquan.content.understanding.model.po;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class WxVideoExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public WxVideoExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    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 andUidIsNull() {
+            addCriterion("`uid` is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidIsNotNull() {
+            addCriterion("`uid` is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidEqualTo(Long value) {
+            addCriterion("`uid` =", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotEqualTo(Long value) {
+            addCriterion("`uid` <>", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidGreaterThan(Long value) {
+            addCriterion("`uid` >", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidGreaterThanOrEqualTo(Long value) {
+            addCriterion("`uid` >=", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidLessThan(Long value) {
+            addCriterion("`uid` <", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidLessThanOrEqualTo(Long value) {
+            addCriterion("`uid` <=", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidIn(List<Long> values) {
+            addCriterion("`uid` in", values, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotIn(List<Long> values) {
+            addCriterion("`uid` not in", values, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidBetween(Long value1, Long value2) {
+            addCriterion("`uid` between", value1, value2, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotBetween(Long value1, Long value2) {
+            addCriterion("`uid` not between", value1, value2, "uid");
+            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 andVideoPathIsNull() {
+            addCriterion("video_path is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoPathIsNotNull() {
+            addCriterion("video_path is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoPathEqualTo(String value) {
+            addCriterion("video_path =", value, "videoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoPathNotEqualTo(String value) {
+            addCriterion("video_path <>", value, "videoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoPathGreaterThan(String value) {
+            addCriterion("video_path >", value, "videoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoPathGreaterThanOrEqualTo(String value) {
+            addCriterion("video_path >=", value, "videoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoPathLessThan(String value) {
+            addCriterion("video_path <", value, "videoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoPathLessThanOrEqualTo(String value) {
+            addCriterion("video_path <=", value, "videoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoPathLike(String value) {
+            addCriterion("video_path like", value, "videoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoPathNotLike(String value) {
+            addCriterion("video_path not like", value, "videoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoPathIn(List<String> values) {
+            addCriterion("video_path in", values, "videoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoPathNotIn(List<String> values) {
+            addCriterion("video_path not in", values, "videoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoPathBetween(String value1, String value2) {
+            addCriterion("video_path between", value1, value2, "videoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoPathNotBetween(String value1, String value2) {
+            addCriterion("video_path not between", value1, value2, "videoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgPathIsNull() {
+            addCriterion("cover_img_path is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgPathIsNotNull() {
+            addCriterion("cover_img_path is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgPathEqualTo(String value) {
+            addCriterion("cover_img_path =", value, "coverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgPathNotEqualTo(String value) {
+            addCriterion("cover_img_path <>", value, "coverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgPathGreaterThan(String value) {
+            addCriterion("cover_img_path >", value, "coverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgPathGreaterThanOrEqualTo(String value) {
+            addCriterion("cover_img_path >=", value, "coverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgPathLessThan(String value) {
+            addCriterion("cover_img_path <", value, "coverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgPathLessThanOrEqualTo(String value) {
+            addCriterion("cover_img_path <=", value, "coverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgPathLike(String value) {
+            addCriterion("cover_img_path like", value, "coverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgPathNotLike(String value) {
+            addCriterion("cover_img_path not like", value, "coverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgPathIn(List<String> values) {
+            addCriterion("cover_img_path in", values, "coverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgPathNotIn(List<String> values) {
+            addCriterion("cover_img_path not in", values, "coverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgPathBetween(String value1, String value2) {
+            addCriterion("cover_img_path between", value1, value2, "coverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgPathNotBetween(String value1, String value2) {
+            addCriterion("cover_img_path not between", value1, value2, "coverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andSelfCoverImgPathIsNull() {
+            addCriterion("self_cover_img_path is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSelfCoverImgPathIsNotNull() {
+            addCriterion("self_cover_img_path is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSelfCoverImgPathEqualTo(String value) {
+            addCriterion("self_cover_img_path =", value, "selfCoverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andSelfCoverImgPathNotEqualTo(String value) {
+            addCriterion("self_cover_img_path <>", value, "selfCoverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andSelfCoverImgPathGreaterThan(String value) {
+            addCriterion("self_cover_img_path >", value, "selfCoverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andSelfCoverImgPathGreaterThanOrEqualTo(String value) {
+            addCriterion("self_cover_img_path >=", value, "selfCoverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andSelfCoverImgPathLessThan(String value) {
+            addCriterion("self_cover_img_path <", value, "selfCoverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andSelfCoverImgPathLessThanOrEqualTo(String value) {
+            addCriterion("self_cover_img_path <=", value, "selfCoverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andSelfCoverImgPathLike(String value) {
+            addCriterion("self_cover_img_path like", value, "selfCoverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andSelfCoverImgPathNotLike(String value) {
+            addCriterion("self_cover_img_path not like", value, "selfCoverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andSelfCoverImgPathIn(List<String> values) {
+            addCriterion("self_cover_img_path in", values, "selfCoverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andSelfCoverImgPathNotIn(List<String> values) {
+            addCriterion("self_cover_img_path not in", values, "selfCoverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andSelfCoverImgPathBetween(String value1, String value2) {
+            addCriterion("self_cover_img_path between", value1, value2, "selfCoverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andSelfCoverImgPathNotBetween(String value1, String value2) {
+            addCriterion("self_cover_img_path not between", value1, value2, "selfCoverImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareMomentImgPathIsNull() {
+            addCriterion("share_moment_img_path is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareMomentImgPathIsNotNull() {
+            addCriterion("share_moment_img_path is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareMomentImgPathEqualTo(String value) {
+            addCriterion("share_moment_img_path =", value, "shareMomentImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareMomentImgPathNotEqualTo(String value) {
+            addCriterion("share_moment_img_path <>", value, "shareMomentImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareMomentImgPathGreaterThan(String value) {
+            addCriterion("share_moment_img_path >", value, "shareMomentImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareMomentImgPathGreaterThanOrEqualTo(String value) {
+            addCriterion("share_moment_img_path >=", value, "shareMomentImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareMomentImgPathLessThan(String value) {
+            addCriterion("share_moment_img_path <", value, "shareMomentImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareMomentImgPathLessThanOrEqualTo(String value) {
+            addCriterion("share_moment_img_path <=", value, "shareMomentImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareMomentImgPathLike(String value) {
+            addCriterion("share_moment_img_path like", value, "shareMomentImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareMomentImgPathNotLike(String value) {
+            addCriterion("share_moment_img_path not like", value, "shareMomentImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareMomentImgPathIn(List<String> values) {
+            addCriterion("share_moment_img_path in", values, "shareMomentImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareMomentImgPathNotIn(List<String> values) {
+            addCriterion("share_moment_img_path not in", values, "shareMomentImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareMomentImgPathBetween(String value1, String value2) {
+            addCriterion("share_moment_img_path between", value1, value2, "shareMomentImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareMomentImgPathNotBetween(String value1, String value2) {
+            addCriterion("share_moment_img_path not between", value1, value2, "shareMomentImgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andQrimgPathIsNull() {
+            addCriterion("qrimg_path is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andQrimgPathIsNotNull() {
+            addCriterion("qrimg_path is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andQrimgPathEqualTo(String value) {
+            addCriterion("qrimg_path =", value, "qrimgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andQrimgPathNotEqualTo(String value) {
+            addCriterion("qrimg_path <>", value, "qrimgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andQrimgPathGreaterThan(String value) {
+            addCriterion("qrimg_path >", value, "qrimgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andQrimgPathGreaterThanOrEqualTo(String value) {
+            addCriterion("qrimg_path >=", value, "qrimgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andQrimgPathLessThan(String value) {
+            addCriterion("qrimg_path <", value, "qrimgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andQrimgPathLessThanOrEqualTo(String value) {
+            addCriterion("qrimg_path <=", value, "qrimgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andQrimgPathLike(String value) {
+            addCriterion("qrimg_path like", value, "qrimgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andQrimgPathNotLike(String value) {
+            addCriterion("qrimg_path not like", value, "qrimgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andQrimgPathIn(List<String> values) {
+            addCriterion("qrimg_path in", values, "qrimgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andQrimgPathNotIn(List<String> values) {
+            addCriterion("qrimg_path not in", values, "qrimgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andQrimgPathBetween(String value1, String value2) {
+            addCriterion("qrimg_path between", value1, value2, "qrimgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andQrimgPathNotBetween(String value1, String value2) {
+            addCriterion("qrimg_path not between", value1, value2, "qrimgPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthIsNull() {
+            addCriterion("width is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthIsNotNull() {
+            addCriterion("width is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthEqualTo(Integer value) {
+            addCriterion("width =", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthNotEqualTo(Integer value) {
+            addCriterion("width <>", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthGreaterThan(Integer value) {
+            addCriterion("width >", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthGreaterThanOrEqualTo(Integer value) {
+            addCriterion("width >=", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthLessThan(Integer value) {
+            addCriterion("width <", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthLessThanOrEqualTo(Integer value) {
+            addCriterion("width <=", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthIn(List<Integer> values) {
+            addCriterion("width in", values, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthNotIn(List<Integer> values) {
+            addCriterion("width not in", values, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthBetween(Integer value1, Integer value2) {
+            addCriterion("width between", value1, value2, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthNotBetween(Integer value1, Integer value2) {
+            addCriterion("width not between", value1, value2, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightIsNull() {
+            addCriterion("height is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightIsNotNull() {
+            addCriterion("height is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightEqualTo(Integer value) {
+            addCriterion("height =", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightNotEqualTo(Integer value) {
+            addCriterion("height <>", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightGreaterThan(Integer value) {
+            addCriterion("height >", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightGreaterThanOrEqualTo(Integer value) {
+            addCriterion("height >=", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightLessThan(Integer value) {
+            addCriterion("height <", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightLessThanOrEqualTo(Integer value) {
+            addCriterion("height <=", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightIn(List<Integer> values) {
+            addCriterion("height in", values, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightNotIn(List<Integer> values) {
+            addCriterion("height not in", values, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightBetween(Integer value1, Integer value2) {
+            addCriterion("height between", value1, value2, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightNotBetween(Integer value1, Integer value2) {
+            addCriterion("height not between", value1, value2, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgWidthIsNull() {
+            addCriterion("cover_img_width is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgWidthIsNotNull() {
+            addCriterion("cover_img_width is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgWidthEqualTo(Integer value) {
+            addCriterion("cover_img_width =", value, "coverImgWidth");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgWidthNotEqualTo(Integer value) {
+            addCriterion("cover_img_width <>", value, "coverImgWidth");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgWidthGreaterThan(Integer value) {
+            addCriterion("cover_img_width >", value, "coverImgWidth");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgWidthGreaterThanOrEqualTo(Integer value) {
+            addCriterion("cover_img_width >=", value, "coverImgWidth");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgWidthLessThan(Integer value) {
+            addCriterion("cover_img_width <", value, "coverImgWidth");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgWidthLessThanOrEqualTo(Integer value) {
+            addCriterion("cover_img_width <=", value, "coverImgWidth");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgWidthIn(List<Integer> values) {
+            addCriterion("cover_img_width in", values, "coverImgWidth");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgWidthNotIn(List<Integer> values) {
+            addCriterion("cover_img_width not in", values, "coverImgWidth");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgWidthBetween(Integer value1, Integer value2) {
+            addCriterion("cover_img_width between", value1, value2, "coverImgWidth");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgWidthNotBetween(Integer value1, Integer value2) {
+            addCriterion("cover_img_width not between", value1, value2, "coverImgWidth");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgHeightIsNull() {
+            addCriterion("cover_img_height is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgHeightIsNotNull() {
+            addCriterion("cover_img_height is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgHeightEqualTo(Integer value) {
+            addCriterion("cover_img_height =", value, "coverImgHeight");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgHeightNotEqualTo(Integer value) {
+            addCriterion("cover_img_height <>", value, "coverImgHeight");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgHeightGreaterThan(Integer value) {
+            addCriterion("cover_img_height >", value, "coverImgHeight");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgHeightGreaterThanOrEqualTo(Integer value) {
+            addCriterion("cover_img_height >=", value, "coverImgHeight");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgHeightLessThan(Integer value) {
+            addCriterion("cover_img_height <", value, "coverImgHeight");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgHeightLessThanOrEqualTo(Integer value) {
+            addCriterion("cover_img_height <=", value, "coverImgHeight");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgHeightIn(List<Integer> values) {
+            addCriterion("cover_img_height in", values, "coverImgHeight");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgHeightNotIn(List<Integer> values) {
+            addCriterion("cover_img_height not in", values, "coverImgHeight");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgHeightBetween(Integer value1, Integer value2) {
+            addCriterion("cover_img_height between", value1, value2, "coverImgHeight");
+            return (Criteria) this;
+        }
+
+        public Criteria andCoverImgHeightNotBetween(Integer value1, Integer value2) {
+            addCriterion("cover_img_height not between", value1, value2, "coverImgHeight");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountIsNull() {
+            addCriterion("play_count is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountIsNotNull() {
+            addCriterion("play_count is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountEqualTo(Integer value) {
+            addCriterion("play_count =", value, "playCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountNotEqualTo(Integer value) {
+            addCriterion("play_count <>", value, "playCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountGreaterThan(Integer value) {
+            addCriterion("play_count >", value, "playCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountGreaterThanOrEqualTo(Integer value) {
+            addCriterion("play_count >=", value, "playCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountLessThan(Integer value) {
+            addCriterion("play_count <", value, "playCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountLessThanOrEqualTo(Integer value) {
+            addCriterion("play_count <=", value, "playCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountIn(List<Integer> values) {
+            addCriterion("play_count in", values, "playCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountNotIn(List<Integer> values) {
+            addCriterion("play_count not in", values, "playCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountBetween(Integer value1, Integer value2) {
+            addCriterion("play_count between", value1, value2, "playCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountNotBetween(Integer value1, Integer value2) {
+            addCriterion("play_count not between", value1, value2, "playCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountTotalIsNull() {
+            addCriterion("play_count_total is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountTotalIsNotNull() {
+            addCriterion("play_count_total is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountTotalEqualTo(Integer value) {
+            addCriterion("play_count_total =", value, "playCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountTotalNotEqualTo(Integer value) {
+            addCriterion("play_count_total <>", value, "playCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountTotalGreaterThan(Integer value) {
+            addCriterion("play_count_total >", value, "playCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountTotalGreaterThanOrEqualTo(Integer value) {
+            addCriterion("play_count_total >=", value, "playCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountTotalLessThan(Integer value) {
+            addCriterion("play_count_total <", value, "playCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountTotalLessThanOrEqualTo(Integer value) {
+            addCriterion("play_count_total <=", value, "playCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountTotalIn(List<Integer> values) {
+            addCriterion("play_count_total in", values, "playCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountTotalNotIn(List<Integer> values) {
+            addCriterion("play_count_total not in", values, "playCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountTotalBetween(Integer value1, Integer value2) {
+            addCriterion("play_count_total between", value1, value2, "playCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andPlayCountTotalNotBetween(Integer value1, Integer value2) {
+            addCriterion("play_count_total not between", value1, value2, "playCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountIsNull() {
+            addCriterion("share_count is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountIsNotNull() {
+            addCriterion("share_count is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountEqualTo(Integer value) {
+            addCriterion("share_count =", value, "shareCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountNotEqualTo(Integer value) {
+            addCriterion("share_count <>", value, "shareCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountGreaterThan(Integer value) {
+            addCriterion("share_count >", value, "shareCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountGreaterThanOrEqualTo(Integer value) {
+            addCriterion("share_count >=", value, "shareCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountLessThan(Integer value) {
+            addCriterion("share_count <", value, "shareCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountLessThanOrEqualTo(Integer value) {
+            addCriterion("share_count <=", value, "shareCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountIn(List<Integer> values) {
+            addCriterion("share_count in", values, "shareCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountNotIn(List<Integer> values) {
+            addCriterion("share_count not in", values, "shareCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountBetween(Integer value1, Integer value2) {
+            addCriterion("share_count between", value1, value2, "shareCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountNotBetween(Integer value1, Integer value2) {
+            addCriterion("share_count not between", value1, value2, "shareCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountTotalIsNull() {
+            addCriterion("share_count_total is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountTotalIsNotNull() {
+            addCriterion("share_count_total is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountTotalEqualTo(Integer value) {
+            addCriterion("share_count_total =", value, "shareCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountTotalNotEqualTo(Integer value) {
+            addCriterion("share_count_total <>", value, "shareCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountTotalGreaterThan(Integer value) {
+            addCriterion("share_count_total >", value, "shareCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountTotalGreaterThanOrEqualTo(Integer value) {
+            addCriterion("share_count_total >=", value, "shareCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountTotalLessThan(Integer value) {
+            addCriterion("share_count_total <", value, "shareCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountTotalLessThanOrEqualTo(Integer value) {
+            addCriterion("share_count_total <=", value, "shareCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountTotalIn(List<Integer> values) {
+            addCriterion("share_count_total in", values, "shareCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountTotalNotIn(List<Integer> values) {
+            addCriterion("share_count_total not in", values, "shareCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountTotalBetween(Integer value1, Integer value2) {
+            addCriterion("share_count_total between", value1, value2, "shareCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountTotalNotBetween(Integer value1, Integer value2) {
+            addCriterion("share_count_total not between", value1, value2, "shareCountTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andReportedCountIsNull() {
+            addCriterion("reported_count is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andReportedCountIsNotNull() {
+            addCriterion("reported_count is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andReportedCountEqualTo(Integer value) {
+            addCriterion("reported_count =", value, "reportedCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andReportedCountNotEqualTo(Integer value) {
+            addCriterion("reported_count <>", value, "reportedCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andReportedCountGreaterThan(Integer value) {
+            addCriterion("reported_count >", value, "reportedCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andReportedCountGreaterThanOrEqualTo(Integer value) {
+            addCriterion("reported_count >=", value, "reportedCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andReportedCountLessThan(Integer value) {
+            addCriterion("reported_count <", value, "reportedCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andReportedCountLessThanOrEqualTo(Integer value) {
+            addCriterion("reported_count <=", value, "reportedCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andReportedCountIn(List<Integer> values) {
+            addCriterion("reported_count in", values, "reportedCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andReportedCountNotIn(List<Integer> values) {
+            addCriterion("reported_count not in", values, "reportedCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andReportedCountBetween(Integer value1, Integer value2) {
+            addCriterion("reported_count between", value1, value2, "reportedCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andReportedCountNotBetween(Integer value1, Integer value2) {
+            addCriterion("reported_count not between", value1, value2, "reportedCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendIsNull() {
+            addCriterion("share_count_friend is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendIsNotNull() {
+            addCriterion("share_count_friend is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendEqualTo(Integer value) {
+            addCriterion("share_count_friend =", value, "shareCountFriend");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendNotEqualTo(Integer value) {
+            addCriterion("share_count_friend <>", value, "shareCountFriend");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendGreaterThan(Integer value) {
+            addCriterion("share_count_friend >", value, "shareCountFriend");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendGreaterThanOrEqualTo(Integer value) {
+            addCriterion("share_count_friend >=", value, "shareCountFriend");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendLessThan(Integer value) {
+            addCriterion("share_count_friend <", value, "shareCountFriend");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendLessThanOrEqualTo(Integer value) {
+            addCriterion("share_count_friend <=", value, "shareCountFriend");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendIn(List<Integer> values) {
+            addCriterion("share_count_friend in", values, "shareCountFriend");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendNotIn(List<Integer> values) {
+            addCriterion("share_count_friend not in", values, "shareCountFriend");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendBetween(Integer value1, Integer value2) {
+            addCriterion("share_count_friend between", value1, value2, "shareCountFriend");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendNotBetween(Integer value1, Integer value2) {
+            addCriterion("share_count_friend not between", value1, value2, "shareCountFriend");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendTotalIsNull() {
+            addCriterion("share_count_friend_total is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendTotalIsNotNull() {
+            addCriterion("share_count_friend_total is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendTotalEqualTo(Integer value) {
+            addCriterion("share_count_friend_total =", value, "shareCountFriendTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendTotalNotEqualTo(Integer value) {
+            addCriterion("share_count_friend_total <>", value, "shareCountFriendTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendTotalGreaterThan(Integer value) {
+            addCriterion("share_count_friend_total >", value, "shareCountFriendTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendTotalGreaterThanOrEqualTo(Integer value) {
+            addCriterion("share_count_friend_total >=", value, "shareCountFriendTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendTotalLessThan(Integer value) {
+            addCriterion("share_count_friend_total <", value, "shareCountFriendTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendTotalLessThanOrEqualTo(Integer value) {
+            addCriterion("share_count_friend_total <=", value, "shareCountFriendTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendTotalIn(List<Integer> values) {
+            addCriterion("share_count_friend_total in", values, "shareCountFriendTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendTotalNotIn(List<Integer> values) {
+            addCriterion("share_count_friend_total not in", values, "shareCountFriendTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendTotalBetween(Integer value1, Integer value2) {
+            addCriterion("share_count_friend_total between", value1, value2, "shareCountFriendTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andShareCountFriendTotalNotBetween(Integer value1, Integer value2) {
+            addCriterion("share_count_friend_total not between", value1, value2, "shareCountFriendTotal");
+            return (Criteria) this;
+        }
+
+        public Criteria andFavoritedsIsNull() {
+            addCriterion("favoriteds is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFavoritedsIsNotNull() {
+            addCriterion("favoriteds is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFavoritedsEqualTo(Long value) {
+            addCriterion("favoriteds =", value, "favoriteds");
+            return (Criteria) this;
+        }
+
+        public Criteria andFavoritedsNotEqualTo(Long value) {
+            addCriterion("favoriteds <>", value, "favoriteds");
+            return (Criteria) this;
+        }
+
+        public Criteria andFavoritedsGreaterThan(Long value) {
+            addCriterion("favoriteds >", value, "favoriteds");
+            return (Criteria) this;
+        }
+
+        public Criteria andFavoritedsGreaterThanOrEqualTo(Long value) {
+            addCriterion("favoriteds >=", value, "favoriteds");
+            return (Criteria) this;
+        }
+
+        public Criteria andFavoritedsLessThan(Long value) {
+            addCriterion("favoriteds <", value, "favoriteds");
+            return (Criteria) this;
+        }
+
+        public Criteria andFavoritedsLessThanOrEqualTo(Long value) {
+            addCriterion("favoriteds <=", value, "favoriteds");
+            return (Criteria) this;
+        }
+
+        public Criteria andFavoritedsIn(List<Long> values) {
+            addCriterion("favoriteds in", values, "favoriteds");
+            return (Criteria) this;
+        }
+
+        public Criteria andFavoritedsNotIn(List<Long> values) {
+            addCriterion("favoriteds not in", values, "favoriteds");
+            return (Criteria) this;
+        }
+
+        public Criteria andFavoritedsBetween(Long value1, Long value2) {
+            addCriterion("favoriteds between", value1, value2, "favoriteds");
+            return (Criteria) this;
+        }
+
+        public Criteria andFavoritedsNotBetween(Long value1, Long value2) {
+            addCriterion("favoriteds not between", value1, value2, "favoriteds");
+            return (Criteria) this;
+        }
+
+        public Criteria andTotalTimeIsNull() {
+            addCriterion("total_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTotalTimeIsNotNull() {
+            addCriterion("total_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTotalTimeEqualTo(Integer value) {
+            addCriterion("total_time =", value, "totalTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTotalTimeNotEqualTo(Integer value) {
+            addCriterion("total_time <>", value, "totalTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTotalTimeGreaterThan(Integer value) {
+            addCriterion("total_time >", value, "totalTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTotalTimeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("total_time >=", value, "totalTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTotalTimeLessThan(Integer value) {
+            addCriterion("total_time <", value, "totalTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTotalTimeLessThanOrEqualTo(Integer value) {
+            addCriterion("total_time <=", value, "totalTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTotalTimeIn(List<Integer> values) {
+            addCriterion("total_time in", values, "totalTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTotalTimeNotIn(List<Integer> values) {
+            addCriterion("total_time not in", values, "totalTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTotalTimeBetween(Integer value1, Integer value2) {
+            addCriterion("total_time between", value1, value2, "totalTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTotalTimeNotBetween(Integer value1, Integer value2) {
+            addCriterion("total_time not between", value1, value2, "totalTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andRotateIsNull() {
+            addCriterion("rotate is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRotateIsNotNull() {
+            addCriterion("rotate is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRotateEqualTo(String value) {
+            addCriterion("rotate =", value, "rotate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRotateNotEqualTo(String value) {
+            addCriterion("rotate <>", value, "rotate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRotateGreaterThan(String value) {
+            addCriterion("rotate >", value, "rotate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRotateGreaterThanOrEqualTo(String value) {
+            addCriterion("rotate >=", value, "rotate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRotateLessThan(String value) {
+            addCriterion("rotate <", value, "rotate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRotateLessThanOrEqualTo(String value) {
+            addCriterion("rotate <=", value, "rotate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRotateLike(String value) {
+            addCriterion("rotate like", value, "rotate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRotateNotLike(String value) {
+            addCriterion("rotate not like", value, "rotate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRotateIn(List<String> values) {
+            addCriterion("rotate in", values, "rotate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRotateNotIn(List<String> values) {
+            addCriterion("rotate not in", values, "rotate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRotateBetween(String value1, String value2) {
+            addCriterion("rotate between", value1, value2, "rotate");
+            return (Criteria) this;
+        }
+
+        public Criteria andRotateNotBetween(String value1, String value2) {
+            addCriterion("rotate not between", value1, value2, "rotate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitRateIsNull() {
+            addCriterion("bit_rate is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitRateIsNotNull() {
+            addCriterion("bit_rate is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitRateEqualTo(Long value) {
+            addCriterion("bit_rate =", value, "bitRate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitRateNotEqualTo(Long value) {
+            addCriterion("bit_rate <>", value, "bitRate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitRateGreaterThan(Long value) {
+            addCriterion("bit_rate >", value, "bitRate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitRateGreaterThanOrEqualTo(Long value) {
+            addCriterion("bit_rate >=", value, "bitRate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitRateLessThan(Long value) {
+            addCriterion("bit_rate <", value, "bitRate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitRateLessThanOrEqualTo(Long value) {
+            addCriterion("bit_rate <=", value, "bitRate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitRateIn(List<Long> values) {
+            addCriterion("bit_rate in", values, "bitRate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitRateNotIn(List<Long> values) {
+            addCriterion("bit_rate not in", values, "bitRate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitRateBetween(Long value1, Long value2) {
+            addCriterion("bit_rate between", value1, value2, "bitRate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitRateNotBetween(Long value1, Long value2) {
+            addCriterion("bit_rate not between", value1, value2, "bitRate");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusIsNull() {
+            addCriterion("transcode_status is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusIsNotNull() {
+            addCriterion("transcode_status is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusEqualTo(Integer value) {
+            addCriterion("transcode_status =", value, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusNotEqualTo(Integer value) {
+            addCriterion("transcode_status <>", value, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusGreaterThan(Integer value) {
+            addCriterion("transcode_status >", value, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusGreaterThanOrEqualTo(Integer value) {
+            addCriterion("transcode_status >=", value, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusLessThan(Integer value) {
+            addCriterion("transcode_status <", value, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusLessThanOrEqualTo(Integer value) {
+            addCriterion("transcode_status <=", value, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusIn(List<Integer> values) {
+            addCriterion("transcode_status in", values, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusNotIn(List<Integer> values) {
+            addCriterion("transcode_status not in", values, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusBetween(Integer value1, Integer value2) {
+            addCriterion("transcode_status between", value1, value2, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusNotBetween(Integer value1, Integer value2) {
+            addCriterion("transcode_status not between", value1, value2, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneDatetimeIsNull() {
+            addCriterion("transcode_done_datetime is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneDatetimeIsNotNull() {
+            addCriterion("transcode_done_datetime is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneDatetimeEqualTo(Date value) {
+            addCriterion("transcode_done_datetime =", value, "transcodeDoneDatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneDatetimeNotEqualTo(Date value) {
+            addCriterion("transcode_done_datetime <>", value, "transcodeDoneDatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneDatetimeGreaterThan(Date value) {
+            addCriterion("transcode_done_datetime >", value, "transcodeDoneDatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneDatetimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("transcode_done_datetime >=", value, "transcodeDoneDatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneDatetimeLessThan(Date value) {
+            addCriterion("transcode_done_datetime <", value, "transcodeDoneDatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneDatetimeLessThanOrEqualTo(Date value) {
+            addCriterion("transcode_done_datetime <=", value, "transcodeDoneDatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneDatetimeIn(List<Date> values) {
+            addCriterion("transcode_done_datetime in", values, "transcodeDoneDatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneDatetimeNotIn(List<Date> values) {
+            addCriterion("transcode_done_datetime not in", values, "transcodeDoneDatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneDatetimeBetween(Date value1, Date value2) {
+            addCriterion("transcode_done_datetime between", value1, value2, "transcodeDoneDatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneDatetimeNotBetween(Date value1, Date value2) {
+            addCriterion("transcode_done_datetime not between", value1, value2, "transcodeDoneDatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdIsNull() {
+            addCriterion("request_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdIsNotNull() {
+            addCriterion("request_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdEqualTo(String value) {
+            addCriterion("request_id =", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdNotEqualTo(String value) {
+            addCriterion("request_id <>", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdGreaterThan(String value) {
+            addCriterion("request_id >", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdGreaterThanOrEqualTo(String value) {
+            addCriterion("request_id >=", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdLessThan(String value) {
+            addCriterion("request_id <", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdLessThanOrEqualTo(String value) {
+            addCriterion("request_id <=", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdLike(String value) {
+            addCriterion("request_id like", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdNotLike(String value) {
+            addCriterion("request_id not like", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdIn(List<String> values) {
+            addCriterion("request_id in", values, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdNotIn(List<String> values) {
+            addCriterion("request_id not in", values, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdBetween(String value1, String value2) {
+            addCriterion("request_id between", value1, value2, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdNotBetween(String value1, String value2) {
+            addCriterion("request_id not between", value1, value2, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdIsNull() {
+            addCriterion("job_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdIsNotNull() {
+            addCriterion("job_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdEqualTo(String value) {
+            addCriterion("job_id =", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdNotEqualTo(String value) {
+            addCriterion("job_id <>", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdGreaterThan(String value) {
+            addCriterion("job_id >", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdGreaterThanOrEqualTo(String value) {
+            addCriterion("job_id >=", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdLessThan(String value) {
+            addCriterion("job_id <", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdLessThanOrEqualTo(String value) {
+            addCriterion("job_id <=", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdLike(String value) {
+            addCriterion("job_id like", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdNotLike(String value) {
+            addCriterion("job_id not like", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdIn(List<String> values) {
+            addCriterion("job_id in", values, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdNotIn(List<String> values) {
+            addCriterion("job_id not in", values, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdBetween(String value1, String value2) {
+            addCriterion("job_id between", value1, value2, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdNotBetween(String value1, String value2) {
+            addCriterion("job_id not between", value1, value2, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransedVideoPathIsNull() {
+            addCriterion("transed_video_path is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransedVideoPathIsNotNull() {
+            addCriterion("transed_video_path is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransedVideoPathEqualTo(String value) {
+            addCriterion("transed_video_path =", value, "transedVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransedVideoPathNotEqualTo(String value) {
+            addCriterion("transed_video_path <>", value, "transedVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransedVideoPathGreaterThan(String value) {
+            addCriterion("transed_video_path >", value, "transedVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransedVideoPathGreaterThanOrEqualTo(String value) {
+            addCriterion("transed_video_path >=", value, "transedVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransedVideoPathLessThan(String value) {
+            addCriterion("transed_video_path <", value, "transedVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransedVideoPathLessThanOrEqualTo(String value) {
+            addCriterion("transed_video_path <=", value, "transedVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransedVideoPathLike(String value) {
+            addCriterion("transed_video_path like", value, "transedVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransedVideoPathNotLike(String value) {
+            addCriterion("transed_video_path not like", value, "transedVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransedVideoPathIn(List<String> values) {
+            addCriterion("transed_video_path in", values, "transedVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransedVideoPathNotIn(List<String> values) {
+            addCriterion("transed_video_path not in", values, "transedVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransedVideoPathBetween(String value1, String value2) {
+            addCriterion("transed_video_path between", value1, value2, "transedVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransedVideoPathNotBetween(String value1, String value2) {
+            addCriterion("transed_video_path not between", value1, value2, "transedVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateIsNull() {
+            addCriterion("gmt_create is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateIsNotNull() {
+            addCriterion("gmt_create is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateEqualTo(Date value) {
+            addCriterion("gmt_create =", value, "gmtCreate");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateNotEqualTo(Date value) {
+            addCriterion("gmt_create <>", value, "gmtCreate");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateGreaterThan(Date value) {
+            addCriterion("gmt_create >", value, "gmtCreate");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateGreaterThanOrEqualTo(Date value) {
+            addCriterion("gmt_create >=", value, "gmtCreate");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateLessThan(Date value) {
+            addCriterion("gmt_create <", value, "gmtCreate");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateLessThanOrEqualTo(Date value) {
+            addCriterion("gmt_create <=", value, "gmtCreate");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateIn(List<Date> values) {
+            addCriterion("gmt_create in", values, "gmtCreate");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateNotIn(List<Date> values) {
+            addCriterion("gmt_create not in", values, "gmtCreate");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateBetween(Date value1, Date value2) {
+            addCriterion("gmt_create between", value1, value2, "gmtCreate");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateNotBetween(Date value1, Date value2) {
+            addCriterion("gmt_create not between", value1, value2, "gmtCreate");
+            return (Criteria) this;
+        }
+
+        public Criteria andChangedByIsNull() {
+            addCriterion("changed_by is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andChangedByIsNotNull() {
+            addCriterion("changed_by is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andChangedByEqualTo(Long value) {
+            addCriterion("changed_by =", value, "changedBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andChangedByNotEqualTo(Long value) {
+            addCriterion("changed_by <>", value, "changedBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andChangedByGreaterThan(Long value) {
+            addCriterion("changed_by >", value, "changedBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andChangedByGreaterThanOrEqualTo(Long value) {
+            addCriterion("changed_by >=", value, "changedBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andChangedByLessThan(Long value) {
+            addCriterion("changed_by <", value, "changedBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andChangedByLessThanOrEqualTo(Long value) {
+            addCriterion("changed_by <=", value, "changedBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andChangedByIn(List<Long> values) {
+            addCriterion("changed_by in", values, "changedBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andChangedByNotIn(List<Long> values) {
+            addCriterion("changed_by not in", values, "changedBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andChangedByBetween(Long value1, Long value2) {
+            addCriterion("changed_by between", value1, value2, "changedBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andChangedByNotBetween(Long value1, Long value2) {
+            addCriterion("changed_by not between", value1, value2, "changedBy");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedIsNull() {
+            addCriterion("gmt_modified is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedIsNotNull() {
+            addCriterion("gmt_modified is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedEqualTo(Date value) {
+            addCriterion("gmt_modified =", value, "gmtModified");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedNotEqualTo(Date value) {
+            addCriterion("gmt_modified <>", value, "gmtModified");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedGreaterThan(Date value) {
+            addCriterion("gmt_modified >", value, "gmtModified");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedGreaterThanOrEqualTo(Date value) {
+            addCriterion("gmt_modified >=", value, "gmtModified");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedLessThan(Date value) {
+            addCriterion("gmt_modified <", value, "gmtModified");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedLessThanOrEqualTo(Date value) {
+            addCriterion("gmt_modified <=", value, "gmtModified");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedIn(List<Date> values) {
+            addCriterion("gmt_modified in", values, "gmtModified");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedNotIn(List<Date> values) {
+            addCriterion("gmt_modified not in", values, "gmtModified");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedBetween(Date value1, Date value2) {
+            addCriterion("gmt_modified between", value1, value2, "gmtModified");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedNotBetween(Date value1, Date value2) {
+            addCriterion("gmt_modified not between", value1, value2, "gmtModified");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateTimestampIsNull() {
+            addCriterion("gmt_create_timestamp is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateTimestampIsNotNull() {
+            addCriterion("gmt_create_timestamp is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateTimestampEqualTo(Long value) {
+            addCriterion("gmt_create_timestamp =", value, "gmtCreateTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateTimestampNotEqualTo(Long value) {
+            addCriterion("gmt_create_timestamp <>", value, "gmtCreateTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateTimestampGreaterThan(Long value) {
+            addCriterion("gmt_create_timestamp >", value, "gmtCreateTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateTimestampGreaterThanOrEqualTo(Long value) {
+            addCriterion("gmt_create_timestamp >=", value, "gmtCreateTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateTimestampLessThan(Long value) {
+            addCriterion("gmt_create_timestamp <", value, "gmtCreateTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateTimestampLessThanOrEqualTo(Long value) {
+            addCriterion("gmt_create_timestamp <=", value, "gmtCreateTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateTimestampIn(List<Long> values) {
+            addCriterion("gmt_create_timestamp in", values, "gmtCreateTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateTimestampNotIn(List<Long> values) {
+            addCriterion("gmt_create_timestamp not in", values, "gmtCreateTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateTimestampBetween(Long value1, Long value2) {
+            addCriterion("gmt_create_timestamp between", value1, value2, "gmtCreateTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtCreateTimestampNotBetween(Long value1, Long value2) {
+            addCriterion("gmt_create_timestamp not between", value1, value2, "gmtCreateTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedTimestampIsNull() {
+            addCriterion("gmt_modified_timestamp is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedTimestampIsNotNull() {
+            addCriterion("gmt_modified_timestamp is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedTimestampEqualTo(Long value) {
+            addCriterion("gmt_modified_timestamp =", value, "gmtModifiedTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedTimestampNotEqualTo(Long value) {
+            addCriterion("gmt_modified_timestamp <>", value, "gmtModifiedTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedTimestampGreaterThan(Long value) {
+            addCriterion("gmt_modified_timestamp >", value, "gmtModifiedTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedTimestampGreaterThanOrEqualTo(Long value) {
+            addCriterion("gmt_modified_timestamp >=", value, "gmtModifiedTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedTimestampLessThan(Long value) {
+            addCriterion("gmt_modified_timestamp <", value, "gmtModifiedTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedTimestampLessThanOrEqualTo(Long value) {
+            addCriterion("gmt_modified_timestamp <=", value, "gmtModifiedTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedTimestampIn(List<Long> values) {
+            addCriterion("gmt_modified_timestamp in", values, "gmtModifiedTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedTimestampNotIn(List<Long> values) {
+            addCriterion("gmt_modified_timestamp not in", values, "gmtModifiedTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedTimestampBetween(Long value1, Long value2) {
+            addCriterion("gmt_modified_timestamp between", value1, value2, "gmtModifiedTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andGmtModifiedTimestampNotBetween(Long value1, Long value2) {
+            addCriterion("gmt_modified_timestamp not between", value1, value2, "gmtModifiedTimestamp");
+            return (Criteria) this;
+        }
+
+        public Criteria andVersionIsNull() {
+            addCriterion("version is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andVersionIsNotNull() {
+            addCriterion("version is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andVersionEqualTo(Integer value) {
+            addCriterion("version =", value, "version");
+            return (Criteria) this;
+        }
+
+        public Criteria andVersionNotEqualTo(Integer value) {
+            addCriterion("version <>", value, "version");
+            return (Criteria) this;
+        }
+
+        public Criteria andVersionGreaterThan(Integer value) {
+            addCriterion("version >", value, "version");
+            return (Criteria) this;
+        }
+
+        public Criteria andVersionGreaterThanOrEqualTo(Integer value) {
+            addCriterion("version >=", value, "version");
+            return (Criteria) this;
+        }
+
+        public Criteria andVersionLessThan(Integer value) {
+            addCriterion("version <", value, "version");
+            return (Criteria) this;
+        }
+
+        public Criteria andVersionLessThanOrEqualTo(Integer value) {
+            addCriterion("version <=", value, "version");
+            return (Criteria) this;
+        }
+
+        public Criteria andVersionIn(List<Integer> values) {
+            addCriterion("version in", values, "version");
+            return (Criteria) this;
+        }
+
+        public Criteria andVersionNotIn(List<Integer> values) {
+            addCriterion("version not in", values, "version");
+            return (Criteria) this;
+        }
+
+        public Criteria andVersionBetween(Integer value1, Integer value2) {
+            addCriterion("version between", value1, value2, "version");
+            return (Criteria) this;
+        }
+
+        public Criteria andVersionNotBetween(Integer value1, Integer value2) {
+            addCriterion("version not between", value1, value2, "version");
+            return (Criteria) this;
+        }
+
+        public Criteria andSystemIsNull() {
+            addCriterion("`system` is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSystemIsNotNull() {
+            addCriterion("`system` is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSystemEqualTo(String value) {
+            addCriterion("`system` =", value, "system");
+            return (Criteria) this;
+        }
+
+        public Criteria andSystemNotEqualTo(String value) {
+            addCriterion("`system` <>", value, "system");
+            return (Criteria) this;
+        }
+
+        public Criteria andSystemGreaterThan(String value) {
+            addCriterion("`system` >", value, "system");
+            return (Criteria) this;
+        }
+
+        public Criteria andSystemGreaterThanOrEqualTo(String value) {
+            addCriterion("`system` >=", value, "system");
+            return (Criteria) this;
+        }
+
+        public Criteria andSystemLessThan(String value) {
+            addCriterion("`system` <", value, "system");
+            return (Criteria) this;
+        }
+
+        public Criteria andSystemLessThanOrEqualTo(String value) {
+            addCriterion("`system` <=", value, "system");
+            return (Criteria) this;
+        }
+
+        public Criteria andSystemLike(String value) {
+            addCriterion("`system` like", value, "system");
+            return (Criteria) this;
+        }
+
+        public Criteria andSystemNotLike(String value) {
+            addCriterion("`system` not like", value, "system");
+            return (Criteria) this;
+        }
+
+        public Criteria andSystemIn(List<String> values) {
+            addCriterion("`system` in", values, "system");
+            return (Criteria) this;
+        }
+
+        public Criteria andSystemNotIn(List<String> values) {
+            addCriterion("`system` not in", values, "system");
+            return (Criteria) this;
+        }
+
+        public Criteria andSystemBetween(String value1, String value2) {
+            addCriterion("`system` between", value1, value2, "system");
+            return (Criteria) this;
+        }
+
+        public Criteria andSystemNotBetween(String value1, String value2) {
+            addCriterion("`system` not between", value1, value2, "system");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIsNull() {
+            addCriterion("`status` is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIsNotNull() {
+            addCriterion("`status` is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusEqualTo(Integer value) {
+            addCriterion("`status` =", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotEqualTo(Integer value) {
+            addCriterion("`status` <>", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusGreaterThan(Integer value) {
+            addCriterion("`status` >", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
+            addCriterion("`status` >=", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusLessThan(Integer value) {
+            addCriterion("`status` <", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusLessThanOrEqualTo(Integer value) {
+            addCriterion("`status` <=", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIn(List<Integer> values) {
+            addCriterion("`status` in", values, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotIn(List<Integer> values) {
+            addCriterion("`status` not in", values, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusBetween(Integer value1, Integer value2) {
+            addCriterion("`status` between", value1, value2, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
+            addCriterion("`status` not between", value1, value2, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileExtensionsIsNull() {
+            addCriterion("file_extensions is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileExtensionsIsNotNull() {
+            addCriterion("file_extensions is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileExtensionsEqualTo(String value) {
+            addCriterion("file_extensions =", value, "fileExtensions");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileExtensionsNotEqualTo(String value) {
+            addCriterion("file_extensions <>", value, "fileExtensions");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileExtensionsGreaterThan(String value) {
+            addCriterion("file_extensions >", value, "fileExtensions");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileExtensionsGreaterThanOrEqualTo(String value) {
+            addCriterion("file_extensions >=", value, "fileExtensions");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileExtensionsLessThan(String value) {
+            addCriterion("file_extensions <", value, "fileExtensions");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileExtensionsLessThanOrEqualTo(String value) {
+            addCriterion("file_extensions <=", value, "fileExtensions");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileExtensionsLike(String value) {
+            addCriterion("file_extensions like", value, "fileExtensions");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileExtensionsNotLike(String value) {
+            addCriterion("file_extensions not like", value, "fileExtensions");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileExtensionsIn(List<String> values) {
+            addCriterion("file_extensions in", values, "fileExtensions");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileExtensionsNotIn(List<String> values) {
+            addCriterion("file_extensions not in", values, "fileExtensions");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileExtensionsBetween(String value1, String value2) {
+            addCriterion("file_extensions between", value1, value2, "fileExtensions");
+            return (Criteria) this;
+        }
+
+        public Criteria andFileExtensionsNotBetween(String value1, String value2) {
+            addCriterion("file_extensions not between", value1, value2, "fileExtensions");
+            return (Criteria) this;
+        }
+
+        public Criteria andExamineStatusIsNull() {
+            addCriterion("examine_status is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExamineStatusIsNotNull() {
+            addCriterion("examine_status is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andExamineStatusEqualTo(Integer value) {
+            addCriterion("examine_status =", value, "examineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andExamineStatusNotEqualTo(Integer value) {
+            addCriterion("examine_status <>", value, "examineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andExamineStatusGreaterThan(Integer value) {
+            addCriterion("examine_status >", value, "examineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andExamineStatusGreaterThanOrEqualTo(Integer value) {
+            addCriterion("examine_status >=", value, "examineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andExamineStatusLessThan(Integer value) {
+            addCriterion("examine_status <", value, "examineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andExamineStatusLessThanOrEqualTo(Integer value) {
+            addCriterion("examine_status <=", value, "examineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andExamineStatusIn(List<Integer> values) {
+            addCriterion("examine_status in", values, "examineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andExamineStatusNotIn(List<Integer> values) {
+            addCriterion("examine_status not in", values, "examineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andExamineStatusBetween(Integer value1, Integer value2) {
+            addCriterion("examine_status between", value1, value2, "examineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andExamineStatusNotBetween(Integer value1, Integer value2) {
+            addCriterion("examine_status not between", value1, value2, "examineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentMd5IsNull() {
+            addCriterion("content_md5 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentMd5IsNotNull() {
+            addCriterion("content_md5 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentMd5EqualTo(String value) {
+            addCriterion("content_md5 =", value, "contentMd5");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentMd5NotEqualTo(String value) {
+            addCriterion("content_md5 <>", value, "contentMd5");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentMd5GreaterThan(String value) {
+            addCriterion("content_md5 >", value, "contentMd5");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentMd5GreaterThanOrEqualTo(String value) {
+            addCriterion("content_md5 >=", value, "contentMd5");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentMd5LessThan(String value) {
+            addCriterion("content_md5 <", value, "contentMd5");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentMd5LessThanOrEqualTo(String value) {
+            addCriterion("content_md5 <=", value, "contentMd5");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentMd5Like(String value) {
+            addCriterion("content_md5 like", value, "contentMd5");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentMd5NotLike(String value) {
+            addCriterion("content_md5 not like", value, "contentMd5");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentMd5In(List<String> values) {
+            addCriterion("content_md5 in", values, "contentMd5");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentMd5NotIn(List<String> values) {
+            addCriterion("content_md5 not in", values, "contentMd5");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentMd5Between(String value1, String value2) {
+            addCriterion("content_md5 between", value1, value2, "contentMd5");
+            return (Criteria) this;
+        }
+
+        public Criteria andContentMd5NotBetween(String value1, String value2) {
+            addCriterion("content_md5 not between", value1, value2, "contentMd5");
+            return (Criteria) this;
+        }
+
+        public Criteria andSizeIsNull() {
+            addCriterion("`size` is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSizeIsNotNull() {
+            addCriterion("`size` is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSizeEqualTo(Long value) {
+            addCriterion("`size` =", value, "size");
+            return (Criteria) this;
+        }
+
+        public Criteria andSizeNotEqualTo(Long value) {
+            addCriterion("`size` <>", value, "size");
+            return (Criteria) this;
+        }
+
+        public Criteria andSizeGreaterThan(Long value) {
+            addCriterion("`size` >", value, "size");
+            return (Criteria) this;
+        }
+
+        public Criteria andSizeGreaterThanOrEqualTo(Long value) {
+            addCriterion("`size` >=", value, "size");
+            return (Criteria) this;
+        }
+
+        public Criteria andSizeLessThan(Long value) {
+            addCriterion("`size` <", value, "size");
+            return (Criteria) this;
+        }
+
+        public Criteria andSizeLessThanOrEqualTo(Long value) {
+            addCriterion("`size` <=", value, "size");
+            return (Criteria) this;
+        }
+
+        public Criteria andSizeIn(List<Long> values) {
+            addCriterion("`size` in", values, "size");
+            return (Criteria) this;
+        }
+
+        public Criteria andSizeNotIn(List<Long> values) {
+            addCriterion("`size` not in", values, "size");
+            return (Criteria) this;
+        }
+
+        public Criteria andSizeBetween(Long value1, Long value2) {
+            addCriterion("`size` between", value1, value2, "size");
+            return (Criteria) this;
+        }
+
+        public Criteria andSizeNotBetween(Long value1, Long value2) {
+            addCriterion("`size` not between", value1, value2, "size");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNameIsNull() {
+            addCriterion("code_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNameIsNotNull() {
+            addCriterion("code_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNameEqualTo(String value) {
+            addCriterion("code_name =", value, "codeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNameNotEqualTo(String value) {
+            addCriterion("code_name <>", value, "codeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNameGreaterThan(String value) {
+            addCriterion("code_name >", value, "codeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNameGreaterThanOrEqualTo(String value) {
+            addCriterion("code_name >=", value, "codeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNameLessThan(String value) {
+            addCriterion("code_name <", value, "codeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNameLessThanOrEqualTo(String value) {
+            addCriterion("code_name <=", value, "codeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNameLike(String value) {
+            addCriterion("code_name like", value, "codeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNameNotLike(String value) {
+            addCriterion("code_name not like", value, "codeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNameIn(List<String> values) {
+            addCriterion("code_name in", values, "codeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNameNotIn(List<String> values) {
+            addCriterion("code_name not in", values, "codeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNameBetween(String value1, String value2) {
+            addCriterion("code_name between", value1, value2, "codeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andCodeNameNotBetween(String value1, String value2) {
+            addCriterion("code_name not between", value1, value2, "codeName");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoCollectionIdIsNull() {
+            addCriterion("video_collection_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoCollectionIdIsNotNull() {
+            addCriterion("video_collection_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoCollectionIdEqualTo(Long value) {
+            addCriterion("video_collection_id =", value, "videoCollectionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoCollectionIdNotEqualTo(Long value) {
+            addCriterion("video_collection_id <>", value, "videoCollectionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoCollectionIdGreaterThan(Long value) {
+            addCriterion("video_collection_id >", value, "videoCollectionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoCollectionIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("video_collection_id >=", value, "videoCollectionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoCollectionIdLessThan(Long value) {
+            addCriterion("video_collection_id <", value, "videoCollectionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoCollectionIdLessThanOrEqualTo(Long value) {
+            addCriterion("video_collection_id <=", value, "videoCollectionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoCollectionIdIn(List<Long> values) {
+            addCriterion("video_collection_id in", values, "videoCollectionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoCollectionIdNotIn(List<Long> values) {
+            addCriterion("video_collection_id not in", values, "videoCollectionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoCollectionIdBetween(Long value1, Long value2) {
+            addCriterion("video_collection_id between", value1, value2, "videoCollectionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoCollectionIdNotBetween(Long value1, Long value2) {
+            addCriterion("video_collection_id not between", value1, value2, "videoCollectionId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecommendStatusIsNull() {
+            addCriterion("recommend_status is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecommendStatusIsNotNull() {
+            addCriterion("recommend_status is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecommendStatusEqualTo(Integer value) {
+            addCriterion("recommend_status =", value, "recommendStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecommendStatusNotEqualTo(Integer value) {
+            addCriterion("recommend_status <>", value, "recommendStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecommendStatusGreaterThan(Integer value) {
+            addCriterion("recommend_status >", value, "recommendStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecommendStatusGreaterThanOrEqualTo(Integer value) {
+            addCriterion("recommend_status >=", value, "recommendStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecommendStatusLessThan(Integer value) {
+            addCriterion("recommend_status <", value, "recommendStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecommendStatusLessThanOrEqualTo(Integer value) {
+            addCriterion("recommend_status <=", value, "recommendStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecommendStatusIn(List<Integer> values) {
+            addCriterion("recommend_status in", values, "recommendStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecommendStatusNotIn(List<Integer> values) {
+            addCriterion("recommend_status not in", values, "recommendStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecommendStatusBetween(Integer value1, Integer value2) {
+            addCriterion("recommend_status between", value1, value2, "recommendStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecommendStatusNotBetween(Integer value1, Integer value2) {
+            addCriterion("recommend_status not between", value1, value2, "recommendStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTagCountIsNull() {
+            addCriterion("tag_count is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTagCountIsNotNull() {
+            addCriterion("tag_count is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTagCountEqualTo(Integer value) {
+            addCriterion("tag_count =", value, "tagCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andTagCountNotEqualTo(Integer value) {
+            addCriterion("tag_count <>", value, "tagCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andTagCountGreaterThan(Integer value) {
+            addCriterion("tag_count >", value, "tagCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andTagCountGreaterThanOrEqualTo(Integer value) {
+            addCriterion("tag_count >=", value, "tagCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andTagCountLessThan(Integer value) {
+            addCriterion("tag_count <", value, "tagCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andTagCountLessThanOrEqualTo(Integer value) {
+            addCriterion("tag_count <=", value, "tagCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andTagCountIn(List<Integer> values) {
+            addCriterion("tag_count in", values, "tagCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andTagCountNotIn(List<Integer> values) {
+            addCriterion("tag_count not in", values, "tagCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andTagCountBetween(Integer value1, Integer value2) {
+            addCriterion("tag_count between", value1, value2, "tagCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andTagCountNotBetween(Integer value1, Integer value2) {
+            addCriterion("tag_count not between", value1, value2, "tagCount");
+            return (Criteria) this;
+        }
+
+        public Criteria andStageRecommendExamineStatusIsNull() {
+            addCriterion("stage_recommend_examine_status is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStageRecommendExamineStatusIsNotNull() {
+            addCriterion("stage_recommend_examine_status is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStageRecommendExamineStatusEqualTo(Integer value) {
+            addCriterion("stage_recommend_examine_status =", value, "stageRecommendExamineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andStageRecommendExamineStatusNotEqualTo(Integer value) {
+            addCriterion("stage_recommend_examine_status <>", value, "stageRecommendExamineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andStageRecommendExamineStatusGreaterThan(Integer value) {
+            addCriterion("stage_recommend_examine_status >", value, "stageRecommendExamineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andStageRecommendExamineStatusGreaterThanOrEqualTo(Integer value) {
+            addCriterion("stage_recommend_examine_status >=", value, "stageRecommendExamineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andStageRecommendExamineStatusLessThan(Integer value) {
+            addCriterion("stage_recommend_examine_status <", value, "stageRecommendExamineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andStageRecommendExamineStatusLessThanOrEqualTo(Integer value) {
+            addCriterion("stage_recommend_examine_status <=", value, "stageRecommendExamineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andStageRecommendExamineStatusIn(List<Integer> values) {
+            addCriterion("stage_recommend_examine_status in", values, "stageRecommendExamineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andStageRecommendExamineStatusNotIn(List<Integer> values) {
+            addCriterion("stage_recommend_examine_status not in", values, "stageRecommendExamineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andStageRecommendExamineStatusBetween(Integer value1, Integer value2) {
+            addCriterion("stage_recommend_examine_status between", value1, value2, "stageRecommendExamineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andStageRecommendExamineStatusNotBetween(Integer value1, Integer value2) {
+            addCriterion("stage_recommend_examine_status not between", value1, value2, "stageRecommendExamineStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andSensitiveStatusIsNull() {
+            addCriterion("sensitive_status is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSensitiveStatusIsNotNull() {
+            addCriterion("sensitive_status is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSensitiveStatusEqualTo(Integer value) {
+            addCriterion("sensitive_status =", value, "sensitiveStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andSensitiveStatusNotEqualTo(Integer value) {
+            addCriterion("sensitive_status <>", value, "sensitiveStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andSensitiveStatusGreaterThan(Integer value) {
+            addCriterion("sensitive_status >", value, "sensitiveStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andSensitiveStatusGreaterThanOrEqualTo(Integer value) {
+            addCriterion("sensitive_status >=", value, "sensitiveStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andSensitiveStatusLessThan(Integer value) {
+            addCriterion("sensitive_status <", value, "sensitiveStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andSensitiveStatusLessThanOrEqualTo(Integer value) {
+            addCriterion("sensitive_status <=", value, "sensitiveStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andSensitiveStatusIn(List<Integer> values) {
+            addCriterion("sensitive_status in", values, "sensitiveStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andSensitiveStatusNotIn(List<Integer> values) {
+            addCriterion("sensitive_status not in", values, "sensitiveStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andSensitiveStatusBetween(Integer value1, Integer value2) {
+            addCriterion("sensitive_status between", value1, value2, "sensitiveStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andSensitiveStatusNotBetween(Integer value1, Integer value2) {
+            addCriterion("sensitive_status not between", value1, value2, "sensitiveStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsForeognBucketIsNull() {
+            addCriterion("is_foreogn_bucket is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsForeognBucketIsNotNull() {
+            addCriterion("is_foreogn_bucket is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsForeognBucketEqualTo(Byte value) {
+            addCriterion("is_foreogn_bucket =", value, "isForeognBucket");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsForeognBucketNotEqualTo(Byte value) {
+            addCriterion("is_foreogn_bucket <>", value, "isForeognBucket");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsForeognBucketGreaterThan(Byte value) {
+            addCriterion("is_foreogn_bucket >", value, "isForeognBucket");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsForeognBucketGreaterThanOrEqualTo(Byte value) {
+            addCriterion("is_foreogn_bucket >=", value, "isForeognBucket");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsForeognBucketLessThan(Byte value) {
+            addCriterion("is_foreogn_bucket <", value, "isForeognBucket");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsForeognBucketLessThanOrEqualTo(Byte value) {
+            addCriterion("is_foreogn_bucket <=", value, "isForeognBucket");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsForeognBucketIn(List<Byte> values) {
+            addCriterion("is_foreogn_bucket in", values, "isForeognBucket");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsForeognBucketNotIn(List<Byte> values) {
+            addCriterion("is_foreogn_bucket not in", values, "isForeognBucket");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsForeognBucketBetween(Byte value1, Byte value2) {
+            addCriterion("is_foreogn_bucket between", value1, value2, "isForeognBucket");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsForeognBucketNotBetween(Byte value1, Byte value2) {
+            addCriterion("is_foreogn_bucket not between", value1, value2, "isForeognBucket");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewShareImagePathIsNull() {
+            addCriterion("new_share_image_path is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewShareImagePathIsNotNull() {
+            addCriterion("new_share_image_path is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewShareImagePathEqualTo(String value) {
+            addCriterion("new_share_image_path =", value, "newShareImagePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewShareImagePathNotEqualTo(String value) {
+            addCriterion("new_share_image_path <>", value, "newShareImagePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewShareImagePathGreaterThan(String value) {
+            addCriterion("new_share_image_path >", value, "newShareImagePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewShareImagePathGreaterThanOrEqualTo(String value) {
+            addCriterion("new_share_image_path >=", value, "newShareImagePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewShareImagePathLessThan(String value) {
+            addCriterion("new_share_image_path <", value, "newShareImagePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewShareImagePathLessThanOrEqualTo(String value) {
+            addCriterion("new_share_image_path <=", value, "newShareImagePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewShareImagePathLike(String value) {
+            addCriterion("new_share_image_path like", value, "newShareImagePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewShareImagePathNotLike(String value) {
+            addCriterion("new_share_image_path not like", value, "newShareImagePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewShareImagePathIn(List<String> values) {
+            addCriterion("new_share_image_path in", values, "newShareImagePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewShareImagePathNotIn(List<String> values) {
+            addCriterion("new_share_image_path not in", values, "newShareImagePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewShareImagePathBetween(String value1, String value2) {
+            addCriterion("new_share_image_path between", value1, value2, "newShareImagePath");
+            return (Criteria) this;
+        }
+
+        public Criteria andNewShareImagePathNotBetween(String value1, String value2) {
+            addCriterion("new_share_image_path not between", value1, value2, "newShareImagePath");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table wx_video
+     *
+     * @mbg.generated do_not_delete_during_merge Tue Apr 15 20:36:38 CST 2025
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table wx_video
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    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);
+        }
+    }
+}

+ 780 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/po/WxVideoTranscode.java

@@ -0,0 +1,780 @@
+package com.tzld.piaoquan.content.understanding.model.po;
+
+/**
+ *
+ * This class was generated by MyBatis Generator.
+ * This class corresponds to the database table wx_video_transcode
+ */
+public class WxVideoTranscode {
+    /**
+     * Database Column Remarks:
+     *   自增ID主键
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Long id;
+
+    /**
+     * Database Column Remarks:
+     *   视频ID
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.video_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Long videoId;
+
+    /**
+     * Database Column Remarks:
+     *   多码率文件存储bucket-默认pubbucket
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.bucket_name
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String bucketName;
+
+    /**
+     * Database Column Remarks:
+     *   处理多码率的渠道-默认阿里云
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.trans_channel
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String transChannel;
+
+    /**
+     * Database Column Remarks:
+     *   转码输出格式
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.transcode_format
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String transcodeFormat;
+
+    /**
+     * Database Column Remarks:
+     *   清晰度等级(4:全高清,3:高清,2:标清,1:流畅)
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.level_code
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer levelCode;
+
+    /**
+     * Database Column Remarks:
+     *   清晰度等级描述(FHD:全高清,HD:高清,SD:标清,LD:流畅)
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.level_desc
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String levelDesc;
+
+    /**
+     * Database Column Remarks:
+     *   是否为初始默认码率状态值(0:否,1:是)
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.origin_default_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer originDefaultStatus;
+
+    /**
+     * Database Column Remarks:
+     *   转码输出视频宽
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.width
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer width;
+
+    /**
+     * Database Column Remarks:
+     *   转码输出视频高
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.height
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer height;
+
+    /**
+     * Database Column Remarks:
+     *   转码输出视频码率
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.bitrate
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer bitrate;
+
+    /**
+     * Database Column Remarks:
+     *   转码模板id
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.template_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String templateId;
+
+    /**
+     * Database Column Remarks:
+     *   转码请求id
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.request_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String requestId;
+
+    /**
+     * Database Column Remarks:
+     *   转码任务id
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.job_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String jobId;
+
+    /**
+     * Database Column Remarks:
+     *   转码状态(0:未提交,1:发送转码失败,2:转码中,3:转码成功,4:转码失败)
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.transcode_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Integer transcodeStatus;
+
+    /**
+     * Database Column Remarks:
+     *   转码输出视频文件地址
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.transcode_video_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String transcodeVideoPath;
+
+    /**
+     * Database Column Remarks:
+     *   转码提交时间
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.transcode_submit_time
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Long transcodeSubmitTime;
+
+    /**
+     * Database Column Remarks:
+     *   转码完成时间
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.transcode_done_time
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Long transcodeDoneTime;
+
+    /**
+     * Database Column Remarks:
+     *   转码失败错误代码
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.error_code
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String errorCode;
+
+    /**
+     * Database Column Remarks:
+     *   转码失败错误消息
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.error_msg
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private String errorMsg;
+
+    /**
+     * Database Column Remarks:
+     *   创建时间
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column wx_video_transcode.create_time
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    private Long createTime;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.id
+     *
+     * @return the value of wx_video_transcode.id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Long getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.id
+     *
+     * @param id the value for wx_video_transcode.id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.video_id
+     *
+     * @return the value of wx_video_transcode.video_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Long getVideoId() {
+        return videoId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.video_id
+     *
+     * @param videoId the value for wx_video_transcode.video_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setVideoId(Long videoId) {
+        this.videoId = videoId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.bucket_name
+     *
+     * @return the value of wx_video_transcode.bucket_name
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getBucketName() {
+        return bucketName;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.bucket_name
+     *
+     * @param bucketName the value for wx_video_transcode.bucket_name
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setBucketName(String bucketName) {
+        this.bucketName = bucketName;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.trans_channel
+     *
+     * @return the value of wx_video_transcode.trans_channel
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getTransChannel() {
+        return transChannel;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.trans_channel
+     *
+     * @param transChannel the value for wx_video_transcode.trans_channel
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setTransChannel(String transChannel) {
+        this.transChannel = transChannel;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.transcode_format
+     *
+     * @return the value of wx_video_transcode.transcode_format
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getTranscodeFormat() {
+        return transcodeFormat;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.transcode_format
+     *
+     * @param transcodeFormat the value for wx_video_transcode.transcode_format
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setTranscodeFormat(String transcodeFormat) {
+        this.transcodeFormat = transcodeFormat;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.level_code
+     *
+     * @return the value of wx_video_transcode.level_code
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getLevelCode() {
+        return levelCode;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.level_code
+     *
+     * @param levelCode the value for wx_video_transcode.level_code
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setLevelCode(Integer levelCode) {
+        this.levelCode = levelCode;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.level_desc
+     *
+     * @return the value of wx_video_transcode.level_desc
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getLevelDesc() {
+        return levelDesc;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.level_desc
+     *
+     * @param levelDesc the value for wx_video_transcode.level_desc
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setLevelDesc(String levelDesc) {
+        this.levelDesc = levelDesc;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.origin_default_status
+     *
+     * @return the value of wx_video_transcode.origin_default_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getOriginDefaultStatus() {
+        return originDefaultStatus;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.origin_default_status
+     *
+     * @param originDefaultStatus the value for wx_video_transcode.origin_default_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setOriginDefaultStatus(Integer originDefaultStatus) {
+        this.originDefaultStatus = originDefaultStatus;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.width
+     *
+     * @return the value of wx_video_transcode.width
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getWidth() {
+        return width;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.width
+     *
+     * @param width the value for wx_video_transcode.width
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setWidth(Integer width) {
+        this.width = width;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.height
+     *
+     * @return the value of wx_video_transcode.height
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getHeight() {
+        return height;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.height
+     *
+     * @param height the value for wx_video_transcode.height
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setHeight(Integer height) {
+        this.height = height;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.bitrate
+     *
+     * @return the value of wx_video_transcode.bitrate
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getBitrate() {
+        return bitrate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.bitrate
+     *
+     * @param bitrate the value for wx_video_transcode.bitrate
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setBitrate(Integer bitrate) {
+        this.bitrate = bitrate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.template_id
+     *
+     * @return the value of wx_video_transcode.template_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getTemplateId() {
+        return templateId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.template_id
+     *
+     * @param templateId the value for wx_video_transcode.template_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setTemplateId(String templateId) {
+        this.templateId = templateId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.request_id
+     *
+     * @return the value of wx_video_transcode.request_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getRequestId() {
+        return requestId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.request_id
+     *
+     * @param requestId the value for wx_video_transcode.request_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setRequestId(String requestId) {
+        this.requestId = requestId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.job_id
+     *
+     * @return the value of wx_video_transcode.job_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getJobId() {
+        return jobId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.job_id
+     *
+     * @param jobId the value for wx_video_transcode.job_id
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setJobId(String jobId) {
+        this.jobId = jobId;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.transcode_status
+     *
+     * @return the value of wx_video_transcode.transcode_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Integer getTranscodeStatus() {
+        return transcodeStatus;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.transcode_status
+     *
+     * @param transcodeStatus the value for wx_video_transcode.transcode_status
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setTranscodeStatus(Integer transcodeStatus) {
+        this.transcodeStatus = transcodeStatus;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.transcode_video_path
+     *
+     * @return the value of wx_video_transcode.transcode_video_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getTranscodeVideoPath() {
+        return transcodeVideoPath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.transcode_video_path
+     *
+     * @param transcodeVideoPath the value for wx_video_transcode.transcode_video_path
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setTranscodeVideoPath(String transcodeVideoPath) {
+        this.transcodeVideoPath = transcodeVideoPath;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.transcode_submit_time
+     *
+     * @return the value of wx_video_transcode.transcode_submit_time
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Long getTranscodeSubmitTime() {
+        return transcodeSubmitTime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.transcode_submit_time
+     *
+     * @param transcodeSubmitTime the value for wx_video_transcode.transcode_submit_time
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setTranscodeSubmitTime(Long transcodeSubmitTime) {
+        this.transcodeSubmitTime = transcodeSubmitTime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.transcode_done_time
+     *
+     * @return the value of wx_video_transcode.transcode_done_time
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Long getTranscodeDoneTime() {
+        return transcodeDoneTime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.transcode_done_time
+     *
+     * @param transcodeDoneTime the value for wx_video_transcode.transcode_done_time
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setTranscodeDoneTime(Long transcodeDoneTime) {
+        this.transcodeDoneTime = transcodeDoneTime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.error_code
+     *
+     * @return the value of wx_video_transcode.error_code
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getErrorCode() {
+        return errorCode;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.error_code
+     *
+     * @param errorCode the value for wx_video_transcode.error_code
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setErrorCode(String errorCode) {
+        this.errorCode = errorCode;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.error_msg
+     *
+     * @return the value of wx_video_transcode.error_msg
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getErrorMsg() {
+        return errorMsg;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.error_msg
+     *
+     * @param errorMsg the value for wx_video_transcode.error_msg
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setErrorMsg(String errorMsg) {
+        this.errorMsg = errorMsg;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column wx_video_transcode.create_time
+     *
+     * @return the value of wx_video_transcode.create_time
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Long getCreateTime() {
+        return createTime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column wx_video_transcode.create_time
+     *
+     * @param createTime the value for wx_video_transcode.create_time
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setCreateTime(Long createTime) {
+        this.createTime = createTime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    @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(", videoId=").append(videoId);
+        sb.append(", bucketName=").append(bucketName);
+        sb.append(", transChannel=").append(transChannel);
+        sb.append(", transcodeFormat=").append(transcodeFormat);
+        sb.append(", levelCode=").append(levelCode);
+        sb.append(", levelDesc=").append(levelDesc);
+        sb.append(", originDefaultStatus=").append(originDefaultStatus);
+        sb.append(", width=").append(width);
+        sb.append(", height=").append(height);
+        sb.append(", bitrate=").append(bitrate);
+        sb.append(", templateId=").append(templateId);
+        sb.append(", requestId=").append(requestId);
+        sb.append(", jobId=").append(jobId);
+        sb.append(", transcodeStatus=").append(transcodeStatus);
+        sb.append(", transcodeVideoPath=").append(transcodeVideoPath);
+        sb.append(", transcodeSubmitTime=").append(transcodeSubmitTime);
+        sb.append(", transcodeDoneTime=").append(transcodeDoneTime);
+        sb.append(", errorCode=").append(errorCode);
+        sb.append(", errorMsg=").append(errorMsg);
+        sb.append(", createTime=").append(createTime);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 1662 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/model/po/WxVideoTranscodeExample.java

@@ -0,0 +1,1662 @@
+package com.tzld.piaoquan.content.understanding.model.po;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class WxVideoTranscodeExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public WxVideoTranscodeExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    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 andVideoIdIsNull() {
+            addCriterion("video_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoIdIsNotNull() {
+            addCriterion("video_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoIdEqualTo(Long value) {
+            addCriterion("video_id =", value, "videoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoIdNotEqualTo(Long value) {
+            addCriterion("video_id <>", value, "videoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoIdGreaterThan(Long value) {
+            addCriterion("video_id >", value, "videoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoIdGreaterThanOrEqualTo(Long value) {
+            addCriterion("video_id >=", value, "videoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoIdLessThan(Long value) {
+            addCriterion("video_id <", value, "videoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoIdLessThanOrEqualTo(Long value) {
+            addCriterion("video_id <=", value, "videoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoIdIn(List<Long> values) {
+            addCriterion("video_id in", values, "videoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoIdNotIn(List<Long> values) {
+            addCriterion("video_id not in", values, "videoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoIdBetween(Long value1, Long value2) {
+            addCriterion("video_id between", value1, value2, "videoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andVideoIdNotBetween(Long value1, Long value2) {
+            addCriterion("video_id not between", value1, value2, "videoId");
+            return (Criteria) this;
+        }
+
+        public Criteria andBucketNameIsNull() {
+            addCriterion("bucket_name is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBucketNameIsNotNull() {
+            addCriterion("bucket_name is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBucketNameEqualTo(String value) {
+            addCriterion("bucket_name =", value, "bucketName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBucketNameNotEqualTo(String value) {
+            addCriterion("bucket_name <>", value, "bucketName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBucketNameGreaterThan(String value) {
+            addCriterion("bucket_name >", value, "bucketName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBucketNameGreaterThanOrEqualTo(String value) {
+            addCriterion("bucket_name >=", value, "bucketName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBucketNameLessThan(String value) {
+            addCriterion("bucket_name <", value, "bucketName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBucketNameLessThanOrEqualTo(String value) {
+            addCriterion("bucket_name <=", value, "bucketName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBucketNameLike(String value) {
+            addCriterion("bucket_name like", value, "bucketName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBucketNameNotLike(String value) {
+            addCriterion("bucket_name not like", value, "bucketName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBucketNameIn(List<String> values) {
+            addCriterion("bucket_name in", values, "bucketName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBucketNameNotIn(List<String> values) {
+            addCriterion("bucket_name not in", values, "bucketName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBucketNameBetween(String value1, String value2) {
+            addCriterion("bucket_name between", value1, value2, "bucketName");
+            return (Criteria) this;
+        }
+
+        public Criteria andBucketNameNotBetween(String value1, String value2) {
+            addCriterion("bucket_name not between", value1, value2, "bucketName");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransChannelIsNull() {
+            addCriterion("trans_channel is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransChannelIsNotNull() {
+            addCriterion("trans_channel is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransChannelEqualTo(String value) {
+            addCriterion("trans_channel =", value, "transChannel");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransChannelNotEqualTo(String value) {
+            addCriterion("trans_channel <>", value, "transChannel");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransChannelGreaterThan(String value) {
+            addCriterion("trans_channel >", value, "transChannel");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransChannelGreaterThanOrEqualTo(String value) {
+            addCriterion("trans_channel >=", value, "transChannel");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransChannelLessThan(String value) {
+            addCriterion("trans_channel <", value, "transChannel");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransChannelLessThanOrEqualTo(String value) {
+            addCriterion("trans_channel <=", value, "transChannel");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransChannelLike(String value) {
+            addCriterion("trans_channel like", value, "transChannel");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransChannelNotLike(String value) {
+            addCriterion("trans_channel not like", value, "transChannel");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransChannelIn(List<String> values) {
+            addCriterion("trans_channel in", values, "transChannel");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransChannelNotIn(List<String> values) {
+            addCriterion("trans_channel not in", values, "transChannel");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransChannelBetween(String value1, String value2) {
+            addCriterion("trans_channel between", value1, value2, "transChannel");
+            return (Criteria) this;
+        }
+
+        public Criteria andTransChannelNotBetween(String value1, String value2) {
+            addCriterion("trans_channel not between", value1, value2, "transChannel");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeFormatIsNull() {
+            addCriterion("transcode_format is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeFormatIsNotNull() {
+            addCriterion("transcode_format is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeFormatEqualTo(String value) {
+            addCriterion("transcode_format =", value, "transcodeFormat");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeFormatNotEqualTo(String value) {
+            addCriterion("transcode_format <>", value, "transcodeFormat");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeFormatGreaterThan(String value) {
+            addCriterion("transcode_format >", value, "transcodeFormat");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeFormatGreaterThanOrEqualTo(String value) {
+            addCriterion("transcode_format >=", value, "transcodeFormat");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeFormatLessThan(String value) {
+            addCriterion("transcode_format <", value, "transcodeFormat");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeFormatLessThanOrEqualTo(String value) {
+            addCriterion("transcode_format <=", value, "transcodeFormat");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeFormatLike(String value) {
+            addCriterion("transcode_format like", value, "transcodeFormat");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeFormatNotLike(String value) {
+            addCriterion("transcode_format not like", value, "transcodeFormat");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeFormatIn(List<String> values) {
+            addCriterion("transcode_format in", values, "transcodeFormat");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeFormatNotIn(List<String> values) {
+            addCriterion("transcode_format not in", values, "transcodeFormat");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeFormatBetween(String value1, String value2) {
+            addCriterion("transcode_format between", value1, value2, "transcodeFormat");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeFormatNotBetween(String value1, String value2) {
+            addCriterion("transcode_format not between", value1, value2, "transcodeFormat");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelCodeIsNull() {
+            addCriterion("level_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelCodeIsNotNull() {
+            addCriterion("level_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelCodeEqualTo(Integer value) {
+            addCriterion("level_code =", value, "levelCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelCodeNotEqualTo(Integer value) {
+            addCriterion("level_code <>", value, "levelCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelCodeGreaterThan(Integer value) {
+            addCriterion("level_code >", value, "levelCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelCodeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("level_code >=", value, "levelCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelCodeLessThan(Integer value) {
+            addCriterion("level_code <", value, "levelCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelCodeLessThanOrEqualTo(Integer value) {
+            addCriterion("level_code <=", value, "levelCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelCodeIn(List<Integer> values) {
+            addCriterion("level_code in", values, "levelCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelCodeNotIn(List<Integer> values) {
+            addCriterion("level_code not in", values, "levelCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelCodeBetween(Integer value1, Integer value2) {
+            addCriterion("level_code between", value1, value2, "levelCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelCodeNotBetween(Integer value1, Integer value2) {
+            addCriterion("level_code not between", value1, value2, "levelCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelDescIsNull() {
+            addCriterion("level_desc is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelDescIsNotNull() {
+            addCriterion("level_desc is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelDescEqualTo(String value) {
+            addCriterion("level_desc =", value, "levelDesc");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelDescNotEqualTo(String value) {
+            addCriterion("level_desc <>", value, "levelDesc");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelDescGreaterThan(String value) {
+            addCriterion("level_desc >", value, "levelDesc");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelDescGreaterThanOrEqualTo(String value) {
+            addCriterion("level_desc >=", value, "levelDesc");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelDescLessThan(String value) {
+            addCriterion("level_desc <", value, "levelDesc");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelDescLessThanOrEqualTo(String value) {
+            addCriterion("level_desc <=", value, "levelDesc");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelDescLike(String value) {
+            addCriterion("level_desc like", value, "levelDesc");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelDescNotLike(String value) {
+            addCriterion("level_desc not like", value, "levelDesc");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelDescIn(List<String> values) {
+            addCriterion("level_desc in", values, "levelDesc");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelDescNotIn(List<String> values) {
+            addCriterion("level_desc not in", values, "levelDesc");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelDescBetween(String value1, String value2) {
+            addCriterion("level_desc between", value1, value2, "levelDesc");
+            return (Criteria) this;
+        }
+
+        public Criteria andLevelDescNotBetween(String value1, String value2) {
+            addCriterion("level_desc not between", value1, value2, "levelDesc");
+            return (Criteria) this;
+        }
+
+        public Criteria andOriginDefaultStatusIsNull() {
+            addCriterion("origin_default_status is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andOriginDefaultStatusIsNotNull() {
+            addCriterion("origin_default_status is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andOriginDefaultStatusEqualTo(Integer value) {
+            addCriterion("origin_default_status =", value, "originDefaultStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andOriginDefaultStatusNotEqualTo(Integer value) {
+            addCriterion("origin_default_status <>", value, "originDefaultStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andOriginDefaultStatusGreaterThan(Integer value) {
+            addCriterion("origin_default_status >", value, "originDefaultStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andOriginDefaultStatusGreaterThanOrEqualTo(Integer value) {
+            addCriterion("origin_default_status >=", value, "originDefaultStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andOriginDefaultStatusLessThan(Integer value) {
+            addCriterion("origin_default_status <", value, "originDefaultStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andOriginDefaultStatusLessThanOrEqualTo(Integer value) {
+            addCriterion("origin_default_status <=", value, "originDefaultStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andOriginDefaultStatusIn(List<Integer> values) {
+            addCriterion("origin_default_status in", values, "originDefaultStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andOriginDefaultStatusNotIn(List<Integer> values) {
+            addCriterion("origin_default_status not in", values, "originDefaultStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andOriginDefaultStatusBetween(Integer value1, Integer value2) {
+            addCriterion("origin_default_status between", value1, value2, "originDefaultStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andOriginDefaultStatusNotBetween(Integer value1, Integer value2) {
+            addCriterion("origin_default_status not between", value1, value2, "originDefaultStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthIsNull() {
+            addCriterion("width is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthIsNotNull() {
+            addCriterion("width is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthEqualTo(Integer value) {
+            addCriterion("width =", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthNotEqualTo(Integer value) {
+            addCriterion("width <>", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthGreaterThan(Integer value) {
+            addCriterion("width >", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthGreaterThanOrEqualTo(Integer value) {
+            addCriterion("width >=", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthLessThan(Integer value) {
+            addCriterion("width <", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthLessThanOrEqualTo(Integer value) {
+            addCriterion("width <=", value, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthIn(List<Integer> values) {
+            addCriterion("width in", values, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthNotIn(List<Integer> values) {
+            addCriterion("width not in", values, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthBetween(Integer value1, Integer value2) {
+            addCriterion("width between", value1, value2, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andWidthNotBetween(Integer value1, Integer value2) {
+            addCriterion("width not between", value1, value2, "width");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightIsNull() {
+            addCriterion("height is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightIsNotNull() {
+            addCriterion("height is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightEqualTo(Integer value) {
+            addCriterion("height =", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightNotEqualTo(Integer value) {
+            addCriterion("height <>", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightGreaterThan(Integer value) {
+            addCriterion("height >", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightGreaterThanOrEqualTo(Integer value) {
+            addCriterion("height >=", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightLessThan(Integer value) {
+            addCriterion("height <", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightLessThanOrEqualTo(Integer value) {
+            addCriterion("height <=", value, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightIn(List<Integer> values) {
+            addCriterion("height in", values, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightNotIn(List<Integer> values) {
+            addCriterion("height not in", values, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightBetween(Integer value1, Integer value2) {
+            addCriterion("height between", value1, value2, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andHeightNotBetween(Integer value1, Integer value2) {
+            addCriterion("height not between", value1, value2, "height");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitrateIsNull() {
+            addCriterion("bitrate is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitrateIsNotNull() {
+            addCriterion("bitrate is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitrateEqualTo(Integer value) {
+            addCriterion("bitrate =", value, "bitrate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitrateNotEqualTo(Integer value) {
+            addCriterion("bitrate <>", value, "bitrate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitrateGreaterThan(Integer value) {
+            addCriterion("bitrate >", value, "bitrate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitrateGreaterThanOrEqualTo(Integer value) {
+            addCriterion("bitrate >=", value, "bitrate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitrateLessThan(Integer value) {
+            addCriterion("bitrate <", value, "bitrate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitrateLessThanOrEqualTo(Integer value) {
+            addCriterion("bitrate <=", value, "bitrate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitrateIn(List<Integer> values) {
+            addCriterion("bitrate in", values, "bitrate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitrateNotIn(List<Integer> values) {
+            addCriterion("bitrate not in", values, "bitrate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitrateBetween(Integer value1, Integer value2) {
+            addCriterion("bitrate between", value1, value2, "bitrate");
+            return (Criteria) this;
+        }
+
+        public Criteria andBitrateNotBetween(Integer value1, Integer value2) {
+            addCriterion("bitrate not between", value1, value2, "bitrate");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemplateIdIsNull() {
+            addCriterion("template_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemplateIdIsNotNull() {
+            addCriterion("template_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemplateIdEqualTo(String value) {
+            addCriterion("template_id =", value, "templateId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemplateIdNotEqualTo(String value) {
+            addCriterion("template_id <>", value, "templateId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemplateIdGreaterThan(String value) {
+            addCriterion("template_id >", value, "templateId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemplateIdGreaterThanOrEqualTo(String value) {
+            addCriterion("template_id >=", value, "templateId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemplateIdLessThan(String value) {
+            addCriterion("template_id <", value, "templateId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemplateIdLessThanOrEqualTo(String value) {
+            addCriterion("template_id <=", value, "templateId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemplateIdLike(String value) {
+            addCriterion("template_id like", value, "templateId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemplateIdNotLike(String value) {
+            addCriterion("template_id not like", value, "templateId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemplateIdIn(List<String> values) {
+            addCriterion("template_id in", values, "templateId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemplateIdNotIn(List<String> values) {
+            addCriterion("template_id not in", values, "templateId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemplateIdBetween(String value1, String value2) {
+            addCriterion("template_id between", value1, value2, "templateId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemplateIdNotBetween(String value1, String value2) {
+            addCriterion("template_id not between", value1, value2, "templateId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdIsNull() {
+            addCriterion("request_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdIsNotNull() {
+            addCriterion("request_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdEqualTo(String value) {
+            addCriterion("request_id =", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdNotEqualTo(String value) {
+            addCriterion("request_id <>", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdGreaterThan(String value) {
+            addCriterion("request_id >", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdGreaterThanOrEqualTo(String value) {
+            addCriterion("request_id >=", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdLessThan(String value) {
+            addCriterion("request_id <", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdLessThanOrEqualTo(String value) {
+            addCriterion("request_id <=", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdLike(String value) {
+            addCriterion("request_id like", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdNotLike(String value) {
+            addCriterion("request_id not like", value, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdIn(List<String> values) {
+            addCriterion("request_id in", values, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdNotIn(List<String> values) {
+            addCriterion("request_id not in", values, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdBetween(String value1, String value2) {
+            addCriterion("request_id between", value1, value2, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andRequestIdNotBetween(String value1, String value2) {
+            addCriterion("request_id not between", value1, value2, "requestId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdIsNull() {
+            addCriterion("job_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdIsNotNull() {
+            addCriterion("job_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdEqualTo(String value) {
+            addCriterion("job_id =", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdNotEqualTo(String value) {
+            addCriterion("job_id <>", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdGreaterThan(String value) {
+            addCriterion("job_id >", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdGreaterThanOrEqualTo(String value) {
+            addCriterion("job_id >=", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdLessThan(String value) {
+            addCriterion("job_id <", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdLessThanOrEqualTo(String value) {
+            addCriterion("job_id <=", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdLike(String value) {
+            addCriterion("job_id like", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdNotLike(String value) {
+            addCriterion("job_id not like", value, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdIn(List<String> values) {
+            addCriterion("job_id in", values, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdNotIn(List<String> values) {
+            addCriterion("job_id not in", values, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdBetween(String value1, String value2) {
+            addCriterion("job_id between", value1, value2, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andJobIdNotBetween(String value1, String value2) {
+            addCriterion("job_id not between", value1, value2, "jobId");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusIsNull() {
+            addCriterion("transcode_status is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusIsNotNull() {
+            addCriterion("transcode_status is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusEqualTo(Integer value) {
+            addCriterion("transcode_status =", value, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusNotEqualTo(Integer value) {
+            addCriterion("transcode_status <>", value, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusGreaterThan(Integer value) {
+            addCriterion("transcode_status >", value, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusGreaterThanOrEqualTo(Integer value) {
+            addCriterion("transcode_status >=", value, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusLessThan(Integer value) {
+            addCriterion("transcode_status <", value, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusLessThanOrEqualTo(Integer value) {
+            addCriterion("transcode_status <=", value, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusIn(List<Integer> values) {
+            addCriterion("transcode_status in", values, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusNotIn(List<Integer> values) {
+            addCriterion("transcode_status not in", values, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusBetween(Integer value1, Integer value2) {
+            addCriterion("transcode_status between", value1, value2, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeStatusNotBetween(Integer value1, Integer value2) {
+            addCriterion("transcode_status not between", value1, value2, "transcodeStatus");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeVideoPathIsNull() {
+            addCriterion("transcode_video_path is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeVideoPathIsNotNull() {
+            addCriterion("transcode_video_path is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeVideoPathEqualTo(String value) {
+            addCriterion("transcode_video_path =", value, "transcodeVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeVideoPathNotEqualTo(String value) {
+            addCriterion("transcode_video_path <>", value, "transcodeVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeVideoPathGreaterThan(String value) {
+            addCriterion("transcode_video_path >", value, "transcodeVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeVideoPathGreaterThanOrEqualTo(String value) {
+            addCriterion("transcode_video_path >=", value, "transcodeVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeVideoPathLessThan(String value) {
+            addCriterion("transcode_video_path <", value, "transcodeVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeVideoPathLessThanOrEqualTo(String value) {
+            addCriterion("transcode_video_path <=", value, "transcodeVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeVideoPathLike(String value) {
+            addCriterion("transcode_video_path like", value, "transcodeVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeVideoPathNotLike(String value) {
+            addCriterion("transcode_video_path not like", value, "transcodeVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeVideoPathIn(List<String> values) {
+            addCriterion("transcode_video_path in", values, "transcodeVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeVideoPathNotIn(List<String> values) {
+            addCriterion("transcode_video_path not in", values, "transcodeVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeVideoPathBetween(String value1, String value2) {
+            addCriterion("transcode_video_path between", value1, value2, "transcodeVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeVideoPathNotBetween(String value1, String value2) {
+            addCriterion("transcode_video_path not between", value1, value2, "transcodeVideoPath");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeSubmitTimeIsNull() {
+            addCriterion("transcode_submit_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeSubmitTimeIsNotNull() {
+            addCriterion("transcode_submit_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeSubmitTimeEqualTo(Long value) {
+            addCriterion("transcode_submit_time =", value, "transcodeSubmitTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeSubmitTimeNotEqualTo(Long value) {
+            addCriterion("transcode_submit_time <>", value, "transcodeSubmitTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeSubmitTimeGreaterThan(Long value) {
+            addCriterion("transcode_submit_time >", value, "transcodeSubmitTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeSubmitTimeGreaterThanOrEqualTo(Long value) {
+            addCriterion("transcode_submit_time >=", value, "transcodeSubmitTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeSubmitTimeLessThan(Long value) {
+            addCriterion("transcode_submit_time <", value, "transcodeSubmitTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeSubmitTimeLessThanOrEqualTo(Long value) {
+            addCriterion("transcode_submit_time <=", value, "transcodeSubmitTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeSubmitTimeIn(List<Long> values) {
+            addCriterion("transcode_submit_time in", values, "transcodeSubmitTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeSubmitTimeNotIn(List<Long> values) {
+            addCriterion("transcode_submit_time not in", values, "transcodeSubmitTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeSubmitTimeBetween(Long value1, Long value2) {
+            addCriterion("transcode_submit_time between", value1, value2, "transcodeSubmitTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeSubmitTimeNotBetween(Long value1, Long value2) {
+            addCriterion("transcode_submit_time not between", value1, value2, "transcodeSubmitTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneTimeIsNull() {
+            addCriterion("transcode_done_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneTimeIsNotNull() {
+            addCriterion("transcode_done_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneTimeEqualTo(Long value) {
+            addCriterion("transcode_done_time =", value, "transcodeDoneTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneTimeNotEqualTo(Long value) {
+            addCriterion("transcode_done_time <>", value, "transcodeDoneTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneTimeGreaterThan(Long value) {
+            addCriterion("transcode_done_time >", value, "transcodeDoneTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneTimeGreaterThanOrEqualTo(Long value) {
+            addCriterion("transcode_done_time >=", value, "transcodeDoneTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneTimeLessThan(Long value) {
+            addCriterion("transcode_done_time <", value, "transcodeDoneTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneTimeLessThanOrEqualTo(Long value) {
+            addCriterion("transcode_done_time <=", value, "transcodeDoneTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneTimeIn(List<Long> values) {
+            addCriterion("transcode_done_time in", values, "transcodeDoneTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneTimeNotIn(List<Long> values) {
+            addCriterion("transcode_done_time not in", values, "transcodeDoneTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneTimeBetween(Long value1, Long value2) {
+            addCriterion("transcode_done_time between", value1, value2, "transcodeDoneTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andTranscodeDoneTimeNotBetween(Long value1, Long value2) {
+            addCriterion("transcode_done_time not between", value1, value2, "transcodeDoneTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorCodeIsNull() {
+            addCriterion("error_code is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorCodeIsNotNull() {
+            addCriterion("error_code is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorCodeEqualTo(String value) {
+            addCriterion("error_code =", value, "errorCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorCodeNotEqualTo(String value) {
+            addCriterion("error_code <>", value, "errorCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorCodeGreaterThan(String value) {
+            addCriterion("error_code >", value, "errorCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorCodeGreaterThanOrEqualTo(String value) {
+            addCriterion("error_code >=", value, "errorCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorCodeLessThan(String value) {
+            addCriterion("error_code <", value, "errorCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorCodeLessThanOrEqualTo(String value) {
+            addCriterion("error_code <=", value, "errorCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorCodeLike(String value) {
+            addCriterion("error_code like", value, "errorCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorCodeNotLike(String value) {
+            addCriterion("error_code not like", value, "errorCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorCodeIn(List<String> values) {
+            addCriterion("error_code in", values, "errorCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorCodeNotIn(List<String> values) {
+            addCriterion("error_code not in", values, "errorCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorCodeBetween(String value1, String value2) {
+            addCriterion("error_code between", value1, value2, "errorCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorCodeNotBetween(String value1, String value2) {
+            addCriterion("error_code not between", value1, value2, "errorCode");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorMsgIsNull() {
+            addCriterion("error_msg is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorMsgIsNotNull() {
+            addCriterion("error_msg is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorMsgEqualTo(String value) {
+            addCriterion("error_msg =", value, "errorMsg");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorMsgNotEqualTo(String value) {
+            addCriterion("error_msg <>", value, "errorMsg");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorMsgGreaterThan(String value) {
+            addCriterion("error_msg >", value, "errorMsg");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorMsgGreaterThanOrEqualTo(String value) {
+            addCriterion("error_msg >=", value, "errorMsg");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorMsgLessThan(String value) {
+            addCriterion("error_msg <", value, "errorMsg");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorMsgLessThanOrEqualTo(String value) {
+            addCriterion("error_msg <=", value, "errorMsg");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorMsgLike(String value) {
+            addCriterion("error_msg like", value, "errorMsg");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorMsgNotLike(String value) {
+            addCriterion("error_msg not like", value, "errorMsg");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorMsgIn(List<String> values) {
+            addCriterion("error_msg in", values, "errorMsg");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorMsgNotIn(List<String> values) {
+            addCriterion("error_msg not in", values, "errorMsg");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorMsgBetween(String value1, String value2) {
+            addCriterion("error_msg between", value1, value2, "errorMsg");
+            return (Criteria) this;
+        }
+
+        public Criteria andErrorMsgNotBetween(String value1, String value2) {
+            addCriterion("error_msg not between", value1, value2, "errorMsg");
+            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(Long value) {
+            addCriterion("create_time =", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotEqualTo(Long value) {
+            addCriterion("create_time <>", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeGreaterThan(Long value) {
+            addCriterion("create_time >", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeGreaterThanOrEqualTo(Long value) {
+            addCriterion("create_time >=", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLessThan(Long value) {
+            addCriterion("create_time <", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLessThanOrEqualTo(Long value) {
+            addCriterion("create_time <=", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIn(List<Long> values) {
+            addCriterion("create_time in", values, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotIn(List<Long> values) {
+            addCriterion("create_time not in", values, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeBetween(Long value1, Long value2) {
+            addCriterion("create_time between", value1, value2, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotBetween(Long value1, Long value2) {
+            addCriterion("create_time not between", value1, value2, "createTime");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated do_not_delete_during_merge Tue Apr 15 20:36:38 CST 2025
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table wx_video_transcode
+     *
+     * @mbg.generated Tue Apr 15 20:36:38 CST 2025
+     */
+    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);
+        }
+    }
+}

+ 37 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/rocketmq/consumer/OldVersionRemainVideoUnderstandingConsumer.java

@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.tzld.piaoquan.content.understanding.rocketmq.consumer;
+
+
+import org.apache.rocketmq.client.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.client.apis.consumer.ConsumeResult;
+import org.apache.rocketmq.client.apis.message.MessageView;
+import org.apache.rocketmq.client.core.RocketMQListener;
+import org.springframework.stereotype.Service;
+
+@Service
+@RocketMQMessageListener(endpoints = "${demo.trans.rocketmq.endpoints:}", topic = "${demo.trans.rocketmq.topic:}",
+        consumerGroup = "${demo.trans.rocketmq.consumer-group:}", tag = "${demo.trans.rocketmq.tag:}")
+public class OldVersionRemainVideoUnderstandingConsumer implements RocketMQListener {
+
+    @Override
+    public ConsumeResult consume(MessageView messageView) {
+        System.out.println("handle my transaction message:" + messageView);
+
+        return ConsumeResult.SUCCESS;
+    }
+}

+ 33 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/rocketmq/producer/OldVersionRemainVideoUnderstandingProducer.java

@@ -0,0 +1,33 @@
+package com.tzld.piaoquan.content.understanding.rocketmq.producer;
+
+import com.alibaba.fastjson.JSON;
+import com.tzld.piaoquan.content.understanding.util.RetryUtil;
+import org.apache.rocketmq.client.apis.message.MessageId;
+import org.apache.rocketmq.client.apis.producer.SendReceipt;
+import org.apache.rocketmq.client.core.RocketMQClientTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.time.Duration;
+import java.util.Map;
+import java.util.Objects;
+
+@Component
+public class OldVersionRemainVideoUnderstandingProducer {
+    @Autowired
+    private RocketMQClientTemplate rocketMQClientTemplate;
+
+    @Value("${video.understanding.old.version.remain.delay.topic:}")
+    private String oldVersionRemainTopic;
+
+    public MessageId syncSendDelayMessage(Map<String, Object> messageMap, Duration duration) {
+        return RetryUtil.executeWithRetry(() -> {
+            SendReceipt sendReceipt = rocketMQClientTemplate.syncSendDelayMessage(oldVersionRemainTopic, JSON.toJSONString(messageMap), duration);
+            if (Objects.isNull(sendReceipt) || Objects.isNull(sendReceipt.getMessageId())) {
+                throw new RuntimeException("transcode syncSendDelayMessage failure messageMap = " + messageMap);
+            }
+            return sendReceipt.getMessageId();
+        }, "oldVersionRemainVideoSendDelayMessage");
+    }
+}

+ 17 - 1
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/ContentService.java

@@ -1,6 +1,5 @@
 package com.tzld.piaoquan.content.understanding.service;
 
-import com.tzld.piaoquan.content.understanding.model.dto.VideoResultDTO;
 import com.tzld.piaoquan.content.understanding.model.param.*;
 import com.tzld.piaoquan.content.understanding.model.vo.ContentUnderstandingResultVO;
 import com.tzld.piaoquan.content.understanding.model.vo.TaskResultVO;
@@ -42,4 +41,21 @@ public interface ContentService {
      * @return
      */
     ContentUnderstandingResultVO getVideoUnderstandingResult(GetVideoUnderstandingResultParam param);
+
+    /**
+     * 新推荐
+     */
+    void newRecommendVideoUnderstandingHandler();
+
+    /**
+     * 当日头部
+     */
+    void dayTopVideoUnderstandingHandler();
+
+    /**
+     * 剩余视频处理
+     */
+    void remainVideoUnderstandingHandler();
+
+
 }

+ 155 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/ODPSManager.java

@@ -0,0 +1,155 @@
+package com.tzld.piaoquan.content.understanding.service;
+
+import com.aliyun.odps.Instance;
+import com.aliyun.odps.Odps;
+import com.aliyun.odps.OdpsException;
+import com.aliyun.odps.PartitionSpec;
+import com.aliyun.odps.account.Account;
+import com.aliyun.odps.account.AliyunAccount;
+import com.aliyun.odps.data.Record;
+import com.aliyun.odps.data.RecordReader;
+import com.aliyun.odps.task.SQLTask;
+import com.aliyun.odps.tunnel.TableTunnel;
+import com.aliyun.odps.tunnel.TunnelException;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * @author sunxy
+ */
+@Slf4j
+@Component
+public class ODPSManager {
+    private final static String ACCESSID = "LTAIWYUujJAm7CbH";
+    private final static String ACCESSKEY = "RfSjdiWwED1sGFlsjXv0DlfTnZTG1P";
+//    private final static String ENDPOINT = "http://service.cn.maxcompute.aliyun.com/api";
+    //内网
+    private final static String ENDPOINT = "http://service.cn-hangzhou-vpc.maxcompute.aliyun-inc.com/api";
+
+    public List<Record> query(String sql) {
+        Account account = new AliyunAccount(ACCESSID, ACCESSKEY);
+        Odps odps = new Odps(account);
+        odps.setEndpoint(ENDPOINT);
+        odps.setDefaultProject("loghubods");
+        Instance i;
+        try {
+            i = SQLTask.run(odps, sql);
+            i.waitForSuccess();
+            List<Record> records = SQLTask.getResultByInstanceTunnel(i);
+            if (Objects.nonNull(records) && records.size() != 0) {
+                return records;
+            }
+        } catch (Exception e) {
+            log.error("odps query error", e);
+        }
+        return Collections.emptyList();
+    }
+
+    /**
+     * 使用table tunnel的方式获取阿里云dataWork上的数据
+     *
+     * @param partition 分区,格式为:{分区字段}={分区值}
+     */
+    public List<Record> tableTunnelQuery(String project, String table, String partition){
+        log.info("ODPSManager.tableTunnelQuery.param project: {}, table: {}, partition: {}", project, table, partition);
+        Account account = new AliyunAccount(ACCESSID, ACCESSKEY);
+        Odps odps = new Odps(account);
+        odps.setDefaultProject(project);
+        TableTunnel tunnel = new TableTunnel(odps);
+        List<Record> records = new ArrayList<>();
+        RecordReader recordReader = null;
+        try {
+            TableTunnel.DownloadSession downloadSession = tunnel.createDownloadSession(project, table, new PartitionSpec(partition));
+            log.info("ODPSManager.tableTunnelQuery Session Status is : {} ", downloadSession.getStatus().toString());
+            long count = downloadSession.getRecordCount();
+            log.info("ODPSManager.tableTunnelQuery.param RecordCount is: {}", count);
+            recordReader = downloadSession.openRecordReader(0, count);
+            Record record;
+            while ((record = recordReader.read()) != null) {
+                records.add(record);
+            }
+        } catch (
+                TunnelException |
+                IOException ex) {
+            log.error("ex-error", ex);
+        } finally {
+            if (!Objects.isNull(recordReader)) {
+                try {
+                    recordReader.close();
+                } catch (Exception e) {
+                    log.error("error: ", e);
+                }
+            }
+        }
+        return records;
+    }
+
+    public List<Record> tableTunnelQuery(String project, String table){
+        log.info("ODPSManager.tableTunnelQuery.param project: {}, table: {}", project, table);
+        Account account = new AliyunAccount(ACCESSID, ACCESSKEY);
+        Odps odps = new Odps(account);
+        odps.setDefaultProject(project);
+        TableTunnel tunnel = new TableTunnel(odps);
+        List<Record> records =  new ArrayList<>();
+        RecordReader recordReader = null;
+        try {
+            TableTunnel.DownloadSession downloadSession = tunnel.createDownloadSession(project, table);
+            log.info("ODPSManager.tableTunnelQuery Session Status is : {} ", downloadSession.getStatus().toString());
+            long count = downloadSession.getRecordCount();
+            log.info("ODPSManager.tableTunnelQuery.param RecordCount is: {}", count);
+            recordReader = downloadSession.openRecordReader(0, count);
+            Record record;
+            while ((record = recordReader.read()) != null) {
+                records.add(record);
+            }
+        } catch (
+                TunnelException |
+                IOException ex) {
+            log.error("ex-error", ex);
+        } finally {
+            if (!Objects.isNull(recordReader)) {
+                try {
+                    recordReader.close();
+                } catch (Exception e) {
+                    log.error("error: ", e);
+                }
+            }
+        }
+        return records;
+    }
+
+    public Odps getOdps(){
+        Account account = new AliyunAccount(ACCESSID, ACCESSKEY);
+        return new Odps(account);
+    }
+
+    public static void main(String[] args) {
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(new Date());
+        cal.add(Calendar.DATE, -1);
+        Date date2 = cal.getTime();
+        SimpleDateFormat format2 = new SimpleDateFormat("yyyyMMdd");
+
+        Account account = new AliyunAccount(ACCESSID, ACCESSKEY);
+        Odps odps = new Odps(account);
+        odps.setEndpoint(ENDPOINT);
+        odps.setDefaultProject("loghubods");
+        String sql = "select * from yesterday_return_top1000 where dt='" + format2.format(date2) + "';";
+        Instance i;
+        try {
+            i = SQLTask.run(odps, sql);
+            i.waitForSuccess();
+            List<Record> records = SQLTask.getResult(i);
+            for (Record r : records) {
+                System.out.println(Integer.parseInt(r.get(0).toString()));
+                System.out.println(r.get(1).toString());
+            }
+        } catch (OdpsException e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 262 - 3
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/ContentServiceImpl.java

@@ -1,13 +1,18 @@
 package com.tzld.piaoquan.content.understanding.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.aliyun.odps.data.Record;
+import com.aliyun.oss.model.ObjectMetadata;
+import com.aliyun.oss.model.StorageClass;
 import com.ctrip.framework.apollo.spring.annotation.ApolloJsonValue;
+import com.google.common.base.Stopwatch;
+import com.tzld.commons.aliyun.oss.AliyunOssManager;
+import com.tzld.piaoquan.content.understanding.common.base.Constant;
 import com.tzld.piaoquan.content.understanding.common.enums.ContentTypeEnum;
 import com.tzld.piaoquan.content.understanding.common.enums.DataStatusEnum;
 import com.tzld.piaoquan.content.understanding.common.enums.ExceptionEnum;
 import com.tzld.piaoquan.content.understanding.common.exception.CommonException;
-import com.tzld.piaoquan.content.understanding.dao.mapper.CuPipelineMapper;
-import com.tzld.piaoquan.content.understanding.dao.mapper.CuTaskMapper;
-import com.tzld.piaoquan.content.understanding.dao.mapper.CuVideoUnderstandingResultMapper;
+import com.tzld.piaoquan.content.understanding.dao.mapper.*;
 import com.tzld.piaoquan.content.understanding.model.dto.ContentDTO;
 import com.tzld.piaoquan.content.understanding.model.dto.ContentUnderstandingResultDTO;
 import com.tzld.piaoquan.content.understanding.model.dto.TaskResultDTO;
@@ -15,16 +20,28 @@ import com.tzld.piaoquan.content.understanding.model.param.*;
 import com.tzld.piaoquan.content.understanding.model.po.*;
 import com.tzld.piaoquan.content.understanding.model.vo.ContentUnderstandingResultVO;
 import com.tzld.piaoquan.content.understanding.model.vo.TaskResultVO;
+import com.tzld.piaoquan.content.understanding.rocketmq.producer.OldVersionRemainVideoUnderstandingProducer;
 import com.tzld.piaoquan.content.understanding.service.ContentService;
 import com.tzld.piaoquan.content.understanding.service.LoghubService;
+import com.tzld.piaoquan.content.understanding.service.ODPSManager;
 import com.tzld.piaoquan.content.understanding.service.PipelineService;
+import com.tzld.piaoquan.content.understanding.util.HttpClientUtil;
+import com.tzld.piaoquan.content.understanding.util.HttpPoolClient;
+import com.tzld.piaoquan.content.understanding.util.RetryUtil;
+import com.tzld.piaoquan.content.understanding.util.UrlUtil;
+import com.xxl.job.core.log.XxlJobLogger;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.client.apis.message.MessageId;
+import org.apache.rocketmq.client.apis.producer.SendReceipt;
+import org.apache.rocketmq.client.core.RocketMQClientTemplate;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.time.Duration;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 /**
  * @author supeng
@@ -53,6 +70,47 @@ public class ContentServiceImpl implements ContentService {
 
     private static final Integer MAX_SIZE = 20;
 
+    @Autowired
+    private ODPSManager odpsManager;
+
+    @Autowired
+    private WxVideoMapper wxVideoMapper;
+
+    @Autowired
+    private WxVideoTranscodeMapper wxVideoTranscodeMapper;
+
+    private static final String TRANSCODE_CHANNEL = "WEIZHEN";
+
+    @Value("${video.new.recommend.table:content_ai_tag_recommend}")
+    private String newRecommendTable;
+
+    @Value("${video.top.return.table:content_ai_tag_return_top_merge}")
+    private String topReturnTable;
+
+    @Value("${video.top.history.table:history_top2000_add_aitags}")
+    private String topHistoryTable;
+
+    @Value("${video.analyse:overwrite:0}")
+    private String overwriteAnalyse;
+
+    @Value("${longvideoapi.getVideoBaseInfoUrl}")
+    private String videoBaseInfoUrl;
+
+    @Value("${video.understanding.old.version.pipelineId}")
+    private Long oldVersionPipelineId;
+
+    private static HttpPoolClient httpPoolClient = HttpClientUtil.create(1000, 3000, 50, 200, 1, 1000);
+
+    @Autowired
+    private AliyunOssManager aliyunOssManager;
+
+    public static final String TRANSCODE_BUCKET = "art-pubbucket";
+
+    private static final Integer EXPIRE_DAYS = 7;
+
+    @Autowired
+    private OldVersionRemainVideoUnderstandingProducer oldVersionRemainVideoUnderstandingProducer;
+
     @Override
     public void analyse(ContentAnalyseParam param) {
         if (Objects.isNull(param) || Objects.isNull(param.getType())) {
@@ -176,4 +234,205 @@ public class ContentServiceImpl implements ContentService {
         contentUnderstandingResultVO.setResults(contentUnderstandingResultDTOS);
         return contentUnderstandingResultVO;
     }
+
+    @Override
+    public void newRecommendVideoUnderstandingHandler() {
+        Stopwatch stopwatch = Stopwatch.createStarted();
+        List<Record> newRecommendRecords = odpsManager.tableTunnelQuery("loghubods", newRecommendTable);
+        if (Objects.nonNull(newRecommendRecords) && !newRecommendRecords.isEmpty()) {
+            XxlJobLogger.log("table = {} records size = {}", newRecommendTable, newRecommendRecords.size());
+            for (Record record : newRecommendRecords) {
+                try {
+                    Long videoId = record.getBigint("videoid");
+                    if (Objects.isNull(videoId)) {
+                        XxlJobLogger.log("table = {} videoId 为 null", newRecommendTable);
+                        continue;
+                    }
+                    String videoUrl = getVideoUrl(videoId);
+                    if (Objects.isNull(videoUrl)) {
+                        XxlJobLogger.log("table = {} videoId = {} videoUrl is null", newRecommendTable, videoId);
+                        continue;
+                    }
+                    SubmitTasksParam submitTasksParam = new SubmitTasksParam();
+                    List<ContentDTO> contentDTOList = new ArrayList<>();
+                    ContentDTO contentDTO = new ContentDTO();
+                    contentDTO.setVideoId(videoId);
+                    contentDTO.setContentType(ContentTypeEnum.VIDEO.getValue());
+                    contentDTO.setContent(videoUrl);
+                    contentDTO.setPipelineId(oldVersionPipelineId);
+                    contentDTOList.add(contentDTO);
+                    submitTasksParam.setContents(contentDTOList);
+                    submitTasks(submitTasksParam);
+                } catch (Exception e) {
+                    XxlJobLogger.log("record = {} error", record);
+                }
+            }
+        } else {
+            XxlJobLogger.log("table = {} records is empty", newRecommendTable);
+        }
+        XxlJobLogger.log("table = {} execute time = {}", newRecommendTable, stopwatch.stop().elapsed(TimeUnit.MILLISECONDS));
+    }
+
+    @Override
+    public void dayTopVideoUnderstandingHandler() {
+        Stopwatch stopwatch = Stopwatch.createStarted();
+        List<Record> newRecommendRecords = odpsManager.tableTunnelQuery("loghubods", topReturnTable);
+        if (Objects.nonNull(newRecommendRecords) && !newRecommendRecords.isEmpty()) {
+            XxlJobLogger.log("table = {} records size = {}", topReturnTable, newRecommendRecords.size());
+            for (Record record : newRecommendRecords) {
+                try {
+                    Long videoId = record.getBigint("videoid");
+                    if (Objects.isNull(videoId)) {
+                        XxlJobLogger.log("table = {} videoId 为 null", topReturnTable);
+                        continue;
+                    }
+                    String videoUrl = getVideoUrl(videoId);
+                    if (Objects.isNull(videoUrl)) {
+                        XxlJobLogger.log("table = {} videoId = {} videoUrl is null", topReturnTable, videoId);
+                        continue;
+                    }
+                    SubmitTasksParam submitTasksParam = new SubmitTasksParam();
+                    List<ContentDTO> contentDTOList = new ArrayList<>();
+                    ContentDTO contentDTO = new ContentDTO();
+                    contentDTO.setVideoId(videoId);
+                    contentDTO.setContentType(ContentTypeEnum.VIDEO.getValue());
+                    contentDTO.setContent(videoUrl);
+                    contentDTO.setPipelineId(oldVersionPipelineId);
+                    contentDTOList.add(contentDTO);
+                    submitTasksParam.setContents(contentDTOList);
+                    submitTasks(submitTasksParam);
+                } catch (Exception e) {
+                    XxlJobLogger.log("record = {} error", record);
+                }
+            }
+        } else {
+            XxlJobLogger.log("table = {} records is empty", topReturnTable);
+        }
+        XxlJobLogger.log("table = {} execute time = {}", topReturnTable, stopwatch.stop().elapsed(TimeUnit.MILLISECONDS));
+    }
+
+    /**
+     * 获取视频URL
+     * <p>
+     * 有多码率文件使用多码率文件(多码率文件目前不会被冻结/冷归档/深度冷归档和删除)
+     * 没有多码率文件使用转码文件,转码文件被冻结/冷归档/深度冷归档,则需要解冻
+     * 没有转码文件使用原文件,原文件被冻结/冷归档/深度冷归档,则需要解冻
+     * 没有原文件则失败
+     *
+     * @param videoId
+     * @return
+     */
+    private String getVideoUrl(Long videoId) {
+        //获取多码率
+        String videoUrl = null;
+        WxVideoTranscodeExample transcodeExample = new WxVideoTranscodeExample();
+        transcodeExample.createCriteria().andVideoIdEqualTo(videoId).andTransChannelEqualTo(TRANSCODE_CHANNEL)
+                .andTranscodeStatusEqualTo(3);
+        List<WxVideoTranscode> transcodeList = wxVideoTranscodeMapper.selectByExample(transcodeExample);
+        if (Objects.nonNull(transcodeList) && !transcodeList.isEmpty()) {
+            WxVideoTranscode wxVideoTranscode = transcodeList.get(0);
+            String transcodeVideoPath = wxVideoTranscode.getTranscodeVideoPath();
+            if (Objects.nonNull(transcodeVideoPath)) {
+                videoUrl = UrlUtil.processUrl(Constant.MULTI_CDN_HTTP_DOMAIN, transcodeVideoPath);
+            }
+        }
+        //没有多码率文件
+        if (Objects.isNull(videoUrl)) {
+            WxVideo wxVideo = wxVideoMapper.selectByPrimaryKey(videoId);
+            if (Objects.isNull(wxVideo)) {
+                XxlJobLogger.log("table = {} videoId = {} wxVideo is null", topReturnTable, videoId);
+                return null;
+            }
+            String transedVideoPath = wxVideo.getTransedVideoPath();
+            ObjectMetadata objectMetadata = aliyunOssManager.getObjectMetadata(TRANSCODE_BUCKET, transedVideoPath);
+            if (Objects.nonNull(objectMetadata)) {
+                boolean isCodeArchive = Objects.equals(objectMetadata.getObjectStorageClass(), StorageClass.ColdArchive);
+                boolean isDeepColdArchive = Objects.equals(objectMetadata.getObjectStorageClass(), StorageClass.ColdArchive);
+                if (isCodeArchive || isDeepColdArchive) {
+                    try {
+                        //throw NPE 未解冻 true 解冻完成 false 解冻中
+                        if (objectMetadata.isRestoreCompleted()) {
+                            //解冻完成
+                            videoUrl = UrlUtil.processUrl(Constant.VIDEO_CDN_HTTP_DOMAIN, transedVideoPath);
+                        } else {
+                            //解冻中
+                            return null;
+                        }
+                    } catch (Exception e) {
+                        log.error("{} {} not restoreObject", videoId, videoUrl);
+                    }
+                    //解冻
+                    aliyunOssManager.restoreObject(TRANSCODE_BUCKET, transedVideoPath, EXPIRE_DAYS);
+                    Map<String, Object> messageMap = new HashMap<>();
+                    messageMap.put("videoId", videoId);
+                    Duration duration;
+                    if (isCodeArchive) {
+                        duration = Duration.ofHours(1);
+                    } else {
+                        duration = Duration.ofHours(12);
+                    }
+                    try {
+                        oldVersionRemainVideoUnderstandingProducer.syncSendDelayMessage(messageMap, duration);
+                    } catch (Exception e) {
+                        log.error("syncSendDelayMessage error messageMap = {}", e, messageMap);
+                    }
+                    return null;
+                } else {
+                    videoUrl = UrlUtil.processUrl(Constant.VIDEO_CDN_HTTP_DOMAIN, transedVideoPath);
+                }
+            }
+        }
+        //没有转码文件
+        if (Objects.isNull(videoUrl)) {
+            WxVideo wxVideo = wxVideoMapper.selectByPrimaryKey(videoId);
+            if (Objects.isNull(wxVideo)) {
+                XxlJobLogger.log("table = {} videoId = {} wxVideo is null", topReturnTable, videoId);
+                return null;
+            }
+            String videoPath = wxVideo.getVideoPath();
+            ObjectMetadata objectMetadata = aliyunOssManager.getObjectMetadata(TRANSCODE_BUCKET, videoPath);
+            if (Objects.nonNull(objectMetadata)) {
+                boolean isCodeArchive = Objects.equals(objectMetadata.getObjectStorageClass(), StorageClass.ColdArchive);
+                boolean isDeepColdArchive = Objects.equals(objectMetadata.getObjectStorageClass(), StorageClass.ColdArchive);
+                if (isCodeArchive || isDeepColdArchive) {
+                    try {
+                        //throw NPE 未解冻 true 解冻完成 false 解冻中
+                        if (objectMetadata.isRestoreCompleted()) {
+                            //解冻完成
+                            videoUrl = UrlUtil.processUrl(Constant.VIDEO_CDN_HTTP_DOMAIN, videoPath);
+                        } else {
+                            //解冻中
+                            return null;
+                        }
+                    } catch (Exception e) {
+                        log.error("{} {} not restoreObject", videoId, videoUrl);
+                    }
+                    //解冻
+                    aliyunOssManager.restoreObject(TRANSCODE_BUCKET, videoPath, EXPIRE_DAYS);
+                    Map<String, Object> messageMap = new HashMap<>();
+                    messageMap.put("videoId", videoId);
+                    Duration duration;
+                    if (isCodeArchive) {
+                        duration = Duration.ofHours(1);
+                    } else {
+                        duration = Duration.ofHours(12);
+                    }
+                    try {
+                        oldVersionRemainVideoUnderstandingProducer.syncSendDelayMessage(messageMap, duration);
+                    } catch (Exception e) {
+                        log.error("syncSendDelayMessage error messageMap = {}", e, messageMap);
+                    }
+                    return null;
+                } else {
+                    videoUrl = UrlUtil.processUrl(Constant.VIDEO_CDN_HTTP_DOMAIN, videoPath);
+                }
+            }
+        }
+        return videoUrl;
+    }
+
+    @Override
+    public void remainVideoUnderstandingHandler() {
+
+    }
 }

+ 12 - 1
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/PipelineServiceImpl.java

@@ -251,6 +251,7 @@ public class PipelineServiceImpl implements PipelineService {
                         });
                         resultMap.put("video_id", videoId);
                         //保存数据到mongo
+                        mongoTemplate.save(resultMap, COLLECTION_NAME);
                         mongoTemplate.insert(resultMap, COLLECTION_NAME);
                         //保存数据到mysql
                         CuTaskExample example = new CuTaskExample();
@@ -260,11 +261,21 @@ public class PipelineServiceImpl implements PipelineService {
                         cuTask.setTaskStatus(TaskStatusEnum.SUCCESS.getValue());
                         int update = cuTaskMapper.updateByExampleSelective(cuTask, example);
                         if (update <= 0) {
-                            log.error("step execute error step = {}, result = {} insert = {}", JSON.toJSONString(step), result, insert);
+                            log.error("step execute error step = {}, result = {} insert = {}", JSON.toJSONString(step), result, update);
                         }
                     } catch (Exception e) {
                         log.error("step execute error step = {}, result = {}", e, JSON.toJSONString(step), result);
                     }
+                } else {
+                    CuTaskExample example = new CuTaskExample();
+                    example.createCriteria().andTaskIdEqualTo(taskId);
+                    CuTask cuTask = new CuTask();
+                    cuTask.setOutput(result);
+                    cuTask.setTaskStatus(TaskStatusEnum.FAILURE.getValue());
+                    int update = cuTaskMapper.updateByExampleSelective(cuTask, example);
+                    if (update <= 0) {
+                        log.error("step execute error step = {}, result = {} insert = {}", JSON.toJSONString(step), result, update);
+                    }
                 }
                 continue;
             }

+ 27 - 0
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/util/UrlUtil.java

@@ -0,0 +1,27 @@
+package com.tzld.piaoquan.content.understanding.util;
+
+import java.util.Objects;
+
+/**
+ * @author supeng
+ */
+public class UrlUtil {
+    /**
+     * 返回http Url
+     *
+     * @param httpDomain
+     * @param url
+     * @return
+     */
+    public static String processUrl(String httpDomain, String url) {
+        if (Objects.isNull(url)) {
+            return null;
+        }
+        String lowerUrl = url.toLowerCase();
+        if (!lowerUrl.startsWith("http://") && !lowerUrl.startsWith("https://")) {
+            return httpDomain + url;
+        } else {
+            return url;
+        }
+    }
+}

+ 968 - 0
content-understanding-core/src/main/resources/mapper/WxVideoMapper.xml

@@ -0,0 +1,968 @@
+<?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.content.understanding.dao.mapper.WxVideoMapper">
+  <resultMap id="BaseResultMap" type="com.tzld.piaoquan.content.understanding.model.po.WxVideo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="uid" jdbcType="BIGINT" property="uid" />
+    <result column="title" jdbcType="VARCHAR" property="title" />
+    <result column="video_path" jdbcType="VARCHAR" property="videoPath" />
+    <result column="cover_img_path" jdbcType="VARCHAR" property="coverImgPath" />
+    <result column="self_cover_img_path" jdbcType="VARCHAR" property="selfCoverImgPath" />
+    <result column="share_moment_img_path" jdbcType="VARCHAR" property="shareMomentImgPath" />
+    <result column="qrimg_path" jdbcType="VARCHAR" property="qrimgPath" />
+    <result column="width" jdbcType="INTEGER" property="width" />
+    <result column="height" jdbcType="INTEGER" property="height" />
+    <result column="cover_img_width" jdbcType="INTEGER" property="coverImgWidth" />
+    <result column="cover_img_height" jdbcType="INTEGER" property="coverImgHeight" />
+    <result column="play_count" jdbcType="INTEGER" property="playCount" />
+    <result column="play_count_total" jdbcType="INTEGER" property="playCountTotal" />
+    <result column="share_count" jdbcType="INTEGER" property="shareCount" />
+    <result column="share_count_total" jdbcType="INTEGER" property="shareCountTotal" />
+    <result column="reported_count" jdbcType="INTEGER" property="reportedCount" />
+    <result column="share_count_friend" jdbcType="INTEGER" property="shareCountFriend" />
+    <result column="share_count_friend_total" jdbcType="INTEGER" property="shareCountFriendTotal" />
+    <result column="favoriteds" jdbcType="BIGINT" property="favoriteds" />
+    <result column="total_time" jdbcType="INTEGER" property="totalTime" />
+    <result column="rotate" jdbcType="VARCHAR" property="rotate" />
+    <result column="bit_rate" jdbcType="BIGINT" property="bitRate" />
+    <result column="transcode_status" jdbcType="INTEGER" property="transcodeStatus" />
+    <result column="transcode_done_datetime" jdbcType="TIMESTAMP" property="transcodeDoneDatetime" />
+    <result column="request_id" jdbcType="VARCHAR" property="requestId" />
+    <result column="job_id" jdbcType="VARCHAR" property="jobId" />
+    <result column="transed_video_path" jdbcType="VARCHAR" property="transedVideoPath" />
+    <result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate" />
+    <result column="changed_by" jdbcType="BIGINT" property="changedBy" />
+    <result column="gmt_modified" jdbcType="TIMESTAMP" property="gmtModified" />
+    <result column="gmt_create_timestamp" jdbcType="BIGINT" property="gmtCreateTimestamp" />
+    <result column="gmt_modified_timestamp" jdbcType="BIGINT" property="gmtModifiedTimestamp" />
+    <result column="version" jdbcType="INTEGER" property="version" />
+    <result column="system" jdbcType="VARCHAR" property="system" />
+    <result column="status" jdbcType="INTEGER" property="status" />
+    <result column="file_extensions" jdbcType="VARCHAR" property="fileExtensions" />
+    <result column="examine_status" jdbcType="INTEGER" property="examineStatus" />
+    <result column="content_md5" jdbcType="VARCHAR" property="contentMd5" />
+    <result column="size" jdbcType="BIGINT" property="size" />
+    <result column="code_name" jdbcType="VARCHAR" property="codeName" />
+    <result column="video_collection_id" jdbcType="BIGINT" property="videoCollectionId" />
+    <result column="recommend_status" jdbcType="INTEGER" property="recommendStatus" />
+    <result column="tag_count" jdbcType="INTEGER" property="tagCount" />
+    <result column="stage_recommend_examine_status" jdbcType="INTEGER" property="stageRecommendExamineStatus" />
+    <result column="sensitive_status" jdbcType="INTEGER" property="sensitiveStatus" />
+    <result column="is_foreogn_bucket" jdbcType="TINYINT" property="isForeognBucket" />
+    <result column="new_share_image_path" jdbcType="VARCHAR" property="newShareImagePath" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    id, `uid`, title, video_path, cover_img_path, self_cover_img_path, share_moment_img_path, 
+    qrimg_path, width, height, cover_img_width, cover_img_height, play_count, play_count_total, 
+    share_count, share_count_total, reported_count, share_count_friend, share_count_friend_total, 
+    favoriteds, total_time, rotate, bit_rate, transcode_status, transcode_done_datetime, 
+    request_id, job_id, transed_video_path, gmt_create, changed_by, gmt_modified, gmt_create_timestamp, 
+    gmt_modified_timestamp, version, `system`, `status`, file_extensions, examine_status, 
+    content_md5, `size`, code_name, video_collection_id, recommend_status, tag_count, 
+    stage_recommend_examine_status, sensitive_status, is_foreogn_bucket, new_share_image_path
+  </sql>
+  <select id="selectByExample" parameterType="com.tzld.piaoquan.content.understanding.model.po.WxVideoExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from wx_video
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from wx_video
+    where id = #{id,jdbcType=BIGINT}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    delete from wx_video
+    where id = #{id,jdbcType=BIGINT}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.tzld.piaoquan.content.understanding.model.po.WxVideoExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    delete from wx_video
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.tzld.piaoquan.content.understanding.model.po.WxVideo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    insert into wx_video (id, `uid`, title, 
+      video_path, cover_img_path, self_cover_img_path, 
+      share_moment_img_path, qrimg_path, width, 
+      height, cover_img_width, cover_img_height, 
+      play_count, play_count_total, share_count, 
+      share_count_total, reported_count, share_count_friend, 
+      share_count_friend_total, favoriteds, total_time, 
+      rotate, bit_rate, transcode_status, 
+      transcode_done_datetime, request_id, job_id, 
+      transed_video_path, gmt_create, changed_by, 
+      gmt_modified, gmt_create_timestamp, gmt_modified_timestamp, 
+      version, `system`, `status`, 
+      file_extensions, examine_status, content_md5, 
+      `size`, code_name, video_collection_id, 
+      recommend_status, tag_count, stage_recommend_examine_status, 
+      sensitive_status, is_foreogn_bucket, new_share_image_path
+      )
+    values (#{id,jdbcType=BIGINT}, #{uid,jdbcType=BIGINT}, #{title,jdbcType=VARCHAR}, 
+      #{videoPath,jdbcType=VARCHAR}, #{coverImgPath,jdbcType=VARCHAR}, #{selfCoverImgPath,jdbcType=VARCHAR}, 
+      #{shareMomentImgPath,jdbcType=VARCHAR}, #{qrimgPath,jdbcType=VARCHAR}, #{width,jdbcType=INTEGER}, 
+      #{height,jdbcType=INTEGER}, #{coverImgWidth,jdbcType=INTEGER}, #{coverImgHeight,jdbcType=INTEGER}, 
+      #{playCount,jdbcType=INTEGER}, #{playCountTotal,jdbcType=INTEGER}, #{shareCount,jdbcType=INTEGER}, 
+      #{shareCountTotal,jdbcType=INTEGER}, #{reportedCount,jdbcType=INTEGER}, #{shareCountFriend,jdbcType=INTEGER}, 
+      #{shareCountFriendTotal,jdbcType=INTEGER}, #{favoriteds,jdbcType=BIGINT}, #{totalTime,jdbcType=INTEGER}, 
+      #{rotate,jdbcType=VARCHAR}, #{bitRate,jdbcType=BIGINT}, #{transcodeStatus,jdbcType=INTEGER}, 
+      #{transcodeDoneDatetime,jdbcType=TIMESTAMP}, #{requestId,jdbcType=VARCHAR}, #{jobId,jdbcType=VARCHAR}, 
+      #{transedVideoPath,jdbcType=VARCHAR}, #{gmtCreate,jdbcType=TIMESTAMP}, #{changedBy,jdbcType=BIGINT}, 
+      #{gmtModified,jdbcType=TIMESTAMP}, #{gmtCreateTimestamp,jdbcType=BIGINT}, #{gmtModifiedTimestamp,jdbcType=BIGINT}, 
+      #{version,jdbcType=INTEGER}, #{system,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, 
+      #{fileExtensions,jdbcType=VARCHAR}, #{examineStatus,jdbcType=INTEGER}, #{contentMd5,jdbcType=VARCHAR}, 
+      #{size,jdbcType=BIGINT}, #{codeName,jdbcType=VARCHAR}, #{videoCollectionId,jdbcType=BIGINT}, 
+      #{recommendStatus,jdbcType=INTEGER}, #{tagCount,jdbcType=INTEGER}, #{stageRecommendExamineStatus,jdbcType=INTEGER}, 
+      #{sensitiveStatus,jdbcType=INTEGER}, #{isForeognBucket,jdbcType=TINYINT}, #{newShareImagePath,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.tzld.piaoquan.content.understanding.model.po.WxVideo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    insert into wx_video
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="uid != null">
+        `uid`,
+      </if>
+      <if test="title != null">
+        title,
+      </if>
+      <if test="videoPath != null">
+        video_path,
+      </if>
+      <if test="coverImgPath != null">
+        cover_img_path,
+      </if>
+      <if test="selfCoverImgPath != null">
+        self_cover_img_path,
+      </if>
+      <if test="shareMomentImgPath != null">
+        share_moment_img_path,
+      </if>
+      <if test="qrimgPath != null">
+        qrimg_path,
+      </if>
+      <if test="width != null">
+        width,
+      </if>
+      <if test="height != null">
+        height,
+      </if>
+      <if test="coverImgWidth != null">
+        cover_img_width,
+      </if>
+      <if test="coverImgHeight != null">
+        cover_img_height,
+      </if>
+      <if test="playCount != null">
+        play_count,
+      </if>
+      <if test="playCountTotal != null">
+        play_count_total,
+      </if>
+      <if test="shareCount != null">
+        share_count,
+      </if>
+      <if test="shareCountTotal != null">
+        share_count_total,
+      </if>
+      <if test="reportedCount != null">
+        reported_count,
+      </if>
+      <if test="shareCountFriend != null">
+        share_count_friend,
+      </if>
+      <if test="shareCountFriendTotal != null">
+        share_count_friend_total,
+      </if>
+      <if test="favoriteds != null">
+        favoriteds,
+      </if>
+      <if test="totalTime != null">
+        total_time,
+      </if>
+      <if test="rotate != null">
+        rotate,
+      </if>
+      <if test="bitRate != null">
+        bit_rate,
+      </if>
+      <if test="transcodeStatus != null">
+        transcode_status,
+      </if>
+      <if test="transcodeDoneDatetime != null">
+        transcode_done_datetime,
+      </if>
+      <if test="requestId != null">
+        request_id,
+      </if>
+      <if test="jobId != null">
+        job_id,
+      </if>
+      <if test="transedVideoPath != null">
+        transed_video_path,
+      </if>
+      <if test="gmtCreate != null">
+        gmt_create,
+      </if>
+      <if test="changedBy != null">
+        changed_by,
+      </if>
+      <if test="gmtModified != null">
+        gmt_modified,
+      </if>
+      <if test="gmtCreateTimestamp != null">
+        gmt_create_timestamp,
+      </if>
+      <if test="gmtModifiedTimestamp != null">
+        gmt_modified_timestamp,
+      </if>
+      <if test="version != null">
+        version,
+      </if>
+      <if test="system != null">
+        `system`,
+      </if>
+      <if test="status != null">
+        `status`,
+      </if>
+      <if test="fileExtensions != null">
+        file_extensions,
+      </if>
+      <if test="examineStatus != null">
+        examine_status,
+      </if>
+      <if test="contentMd5 != null">
+        content_md5,
+      </if>
+      <if test="size != null">
+        `size`,
+      </if>
+      <if test="codeName != null">
+        code_name,
+      </if>
+      <if test="videoCollectionId != null">
+        video_collection_id,
+      </if>
+      <if test="recommendStatus != null">
+        recommend_status,
+      </if>
+      <if test="tagCount != null">
+        tag_count,
+      </if>
+      <if test="stageRecommendExamineStatus != null">
+        stage_recommend_examine_status,
+      </if>
+      <if test="sensitiveStatus != null">
+        sensitive_status,
+      </if>
+      <if test="isForeognBucket != null">
+        is_foreogn_bucket,
+      </if>
+      <if test="newShareImagePath != null">
+        new_share_image_path,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=BIGINT},
+      </if>
+      <if test="uid != null">
+        #{uid,jdbcType=BIGINT},
+      </if>
+      <if test="title != null">
+        #{title,jdbcType=VARCHAR},
+      </if>
+      <if test="videoPath != null">
+        #{videoPath,jdbcType=VARCHAR},
+      </if>
+      <if test="coverImgPath != null">
+        #{coverImgPath,jdbcType=VARCHAR},
+      </if>
+      <if test="selfCoverImgPath != null">
+        #{selfCoverImgPath,jdbcType=VARCHAR},
+      </if>
+      <if test="shareMomentImgPath != null">
+        #{shareMomentImgPath,jdbcType=VARCHAR},
+      </if>
+      <if test="qrimgPath != null">
+        #{qrimgPath,jdbcType=VARCHAR},
+      </if>
+      <if test="width != null">
+        #{width,jdbcType=INTEGER},
+      </if>
+      <if test="height != null">
+        #{height,jdbcType=INTEGER},
+      </if>
+      <if test="coverImgWidth != null">
+        #{coverImgWidth,jdbcType=INTEGER},
+      </if>
+      <if test="coverImgHeight != null">
+        #{coverImgHeight,jdbcType=INTEGER},
+      </if>
+      <if test="playCount != null">
+        #{playCount,jdbcType=INTEGER},
+      </if>
+      <if test="playCountTotal != null">
+        #{playCountTotal,jdbcType=INTEGER},
+      </if>
+      <if test="shareCount != null">
+        #{shareCount,jdbcType=INTEGER},
+      </if>
+      <if test="shareCountTotal != null">
+        #{shareCountTotal,jdbcType=INTEGER},
+      </if>
+      <if test="reportedCount != null">
+        #{reportedCount,jdbcType=INTEGER},
+      </if>
+      <if test="shareCountFriend != null">
+        #{shareCountFriend,jdbcType=INTEGER},
+      </if>
+      <if test="shareCountFriendTotal != null">
+        #{shareCountFriendTotal,jdbcType=INTEGER},
+      </if>
+      <if test="favoriteds != null">
+        #{favoriteds,jdbcType=BIGINT},
+      </if>
+      <if test="totalTime != null">
+        #{totalTime,jdbcType=INTEGER},
+      </if>
+      <if test="rotate != null">
+        #{rotate,jdbcType=VARCHAR},
+      </if>
+      <if test="bitRate != null">
+        #{bitRate,jdbcType=BIGINT},
+      </if>
+      <if test="transcodeStatus != null">
+        #{transcodeStatus,jdbcType=INTEGER},
+      </if>
+      <if test="transcodeDoneDatetime != null">
+        #{transcodeDoneDatetime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="requestId != null">
+        #{requestId,jdbcType=VARCHAR},
+      </if>
+      <if test="jobId != null">
+        #{jobId,jdbcType=VARCHAR},
+      </if>
+      <if test="transedVideoPath != null">
+        #{transedVideoPath,jdbcType=VARCHAR},
+      </if>
+      <if test="gmtCreate != null">
+        #{gmtCreate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="changedBy != null">
+        #{changedBy,jdbcType=BIGINT},
+      </if>
+      <if test="gmtModified != null">
+        #{gmtModified,jdbcType=TIMESTAMP},
+      </if>
+      <if test="gmtCreateTimestamp != null">
+        #{gmtCreateTimestamp,jdbcType=BIGINT},
+      </if>
+      <if test="gmtModifiedTimestamp != null">
+        #{gmtModifiedTimestamp,jdbcType=BIGINT},
+      </if>
+      <if test="version != null">
+        #{version,jdbcType=INTEGER},
+      </if>
+      <if test="system != null">
+        #{system,jdbcType=VARCHAR},
+      </if>
+      <if test="status != null">
+        #{status,jdbcType=INTEGER},
+      </if>
+      <if test="fileExtensions != null">
+        #{fileExtensions,jdbcType=VARCHAR},
+      </if>
+      <if test="examineStatus != null">
+        #{examineStatus,jdbcType=INTEGER},
+      </if>
+      <if test="contentMd5 != null">
+        #{contentMd5,jdbcType=VARCHAR},
+      </if>
+      <if test="size != null">
+        #{size,jdbcType=BIGINT},
+      </if>
+      <if test="codeName != null">
+        #{codeName,jdbcType=VARCHAR},
+      </if>
+      <if test="videoCollectionId != null">
+        #{videoCollectionId,jdbcType=BIGINT},
+      </if>
+      <if test="recommendStatus != null">
+        #{recommendStatus,jdbcType=INTEGER},
+      </if>
+      <if test="tagCount != null">
+        #{tagCount,jdbcType=INTEGER},
+      </if>
+      <if test="stageRecommendExamineStatus != null">
+        #{stageRecommendExamineStatus,jdbcType=INTEGER},
+      </if>
+      <if test="sensitiveStatus != null">
+        #{sensitiveStatus,jdbcType=INTEGER},
+      </if>
+      <if test="isForeognBucket != null">
+        #{isForeognBucket,jdbcType=TINYINT},
+      </if>
+      <if test="newShareImagePath != null">
+        #{newShareImagePath,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.tzld.piaoquan.content.understanding.model.po.WxVideoExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    select count(*) from wx_video
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    update wx_video
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=BIGINT},
+      </if>
+      <if test="record.uid != null">
+        `uid` = #{record.uid,jdbcType=BIGINT},
+      </if>
+      <if test="record.title != null">
+        title = #{record.title,jdbcType=VARCHAR},
+      </if>
+      <if test="record.videoPath != null">
+        video_path = #{record.videoPath,jdbcType=VARCHAR},
+      </if>
+      <if test="record.coverImgPath != null">
+        cover_img_path = #{record.coverImgPath,jdbcType=VARCHAR},
+      </if>
+      <if test="record.selfCoverImgPath != null">
+        self_cover_img_path = #{record.selfCoverImgPath,jdbcType=VARCHAR},
+      </if>
+      <if test="record.shareMomentImgPath != null">
+        share_moment_img_path = #{record.shareMomentImgPath,jdbcType=VARCHAR},
+      </if>
+      <if test="record.qrimgPath != null">
+        qrimg_path = #{record.qrimgPath,jdbcType=VARCHAR},
+      </if>
+      <if test="record.width != null">
+        width = #{record.width,jdbcType=INTEGER},
+      </if>
+      <if test="record.height != null">
+        height = #{record.height,jdbcType=INTEGER},
+      </if>
+      <if test="record.coverImgWidth != null">
+        cover_img_width = #{record.coverImgWidth,jdbcType=INTEGER},
+      </if>
+      <if test="record.coverImgHeight != null">
+        cover_img_height = #{record.coverImgHeight,jdbcType=INTEGER},
+      </if>
+      <if test="record.playCount != null">
+        play_count = #{record.playCount,jdbcType=INTEGER},
+      </if>
+      <if test="record.playCountTotal != null">
+        play_count_total = #{record.playCountTotal,jdbcType=INTEGER},
+      </if>
+      <if test="record.shareCount != null">
+        share_count = #{record.shareCount,jdbcType=INTEGER},
+      </if>
+      <if test="record.shareCountTotal != null">
+        share_count_total = #{record.shareCountTotal,jdbcType=INTEGER},
+      </if>
+      <if test="record.reportedCount != null">
+        reported_count = #{record.reportedCount,jdbcType=INTEGER},
+      </if>
+      <if test="record.shareCountFriend != null">
+        share_count_friend = #{record.shareCountFriend,jdbcType=INTEGER},
+      </if>
+      <if test="record.shareCountFriendTotal != null">
+        share_count_friend_total = #{record.shareCountFriendTotal,jdbcType=INTEGER},
+      </if>
+      <if test="record.favoriteds != null">
+        favoriteds = #{record.favoriteds,jdbcType=BIGINT},
+      </if>
+      <if test="record.totalTime != null">
+        total_time = #{record.totalTime,jdbcType=INTEGER},
+      </if>
+      <if test="record.rotate != null">
+        rotate = #{record.rotate,jdbcType=VARCHAR},
+      </if>
+      <if test="record.bitRate != null">
+        bit_rate = #{record.bitRate,jdbcType=BIGINT},
+      </if>
+      <if test="record.transcodeStatus != null">
+        transcode_status = #{record.transcodeStatus,jdbcType=INTEGER},
+      </if>
+      <if test="record.transcodeDoneDatetime != null">
+        transcode_done_datetime = #{record.transcodeDoneDatetime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.requestId != null">
+        request_id = #{record.requestId,jdbcType=VARCHAR},
+      </if>
+      <if test="record.jobId != null">
+        job_id = #{record.jobId,jdbcType=VARCHAR},
+      </if>
+      <if test="record.transedVideoPath != null">
+        transed_video_path = #{record.transedVideoPath,jdbcType=VARCHAR},
+      </if>
+      <if test="record.gmtCreate != null">
+        gmt_create = #{record.gmtCreate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.changedBy != null">
+        changed_by = #{record.changedBy,jdbcType=BIGINT},
+      </if>
+      <if test="record.gmtModified != null">
+        gmt_modified = #{record.gmtModified,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.gmtCreateTimestamp != null">
+        gmt_create_timestamp = #{record.gmtCreateTimestamp,jdbcType=BIGINT},
+      </if>
+      <if test="record.gmtModifiedTimestamp != null">
+        gmt_modified_timestamp = #{record.gmtModifiedTimestamp,jdbcType=BIGINT},
+      </if>
+      <if test="record.version != null">
+        version = #{record.version,jdbcType=INTEGER},
+      </if>
+      <if test="record.system != null">
+        `system` = #{record.system,jdbcType=VARCHAR},
+      </if>
+      <if test="record.status != null">
+        `status` = #{record.status,jdbcType=INTEGER},
+      </if>
+      <if test="record.fileExtensions != null">
+        file_extensions = #{record.fileExtensions,jdbcType=VARCHAR},
+      </if>
+      <if test="record.examineStatus != null">
+        examine_status = #{record.examineStatus,jdbcType=INTEGER},
+      </if>
+      <if test="record.contentMd5 != null">
+        content_md5 = #{record.contentMd5,jdbcType=VARCHAR},
+      </if>
+      <if test="record.size != null">
+        `size` = #{record.size,jdbcType=BIGINT},
+      </if>
+      <if test="record.codeName != null">
+        code_name = #{record.codeName,jdbcType=VARCHAR},
+      </if>
+      <if test="record.videoCollectionId != null">
+        video_collection_id = #{record.videoCollectionId,jdbcType=BIGINT},
+      </if>
+      <if test="record.recommendStatus != null">
+        recommend_status = #{record.recommendStatus,jdbcType=INTEGER},
+      </if>
+      <if test="record.tagCount != null">
+        tag_count = #{record.tagCount,jdbcType=INTEGER},
+      </if>
+      <if test="record.stageRecommendExamineStatus != null">
+        stage_recommend_examine_status = #{record.stageRecommendExamineStatus,jdbcType=INTEGER},
+      </if>
+      <if test="record.sensitiveStatus != null">
+        sensitive_status = #{record.sensitiveStatus,jdbcType=INTEGER},
+      </if>
+      <if test="record.isForeognBucket != null">
+        is_foreogn_bucket = #{record.isForeognBucket,jdbcType=TINYINT},
+      </if>
+      <if test="record.newShareImagePath != null">
+        new_share_image_path = #{record.newShareImagePath,jdbcType=VARCHAR},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    update wx_video
+    set id = #{record.id,jdbcType=BIGINT},
+      `uid` = #{record.uid,jdbcType=BIGINT},
+      title = #{record.title,jdbcType=VARCHAR},
+      video_path = #{record.videoPath,jdbcType=VARCHAR},
+      cover_img_path = #{record.coverImgPath,jdbcType=VARCHAR},
+      self_cover_img_path = #{record.selfCoverImgPath,jdbcType=VARCHAR},
+      share_moment_img_path = #{record.shareMomentImgPath,jdbcType=VARCHAR},
+      qrimg_path = #{record.qrimgPath,jdbcType=VARCHAR},
+      width = #{record.width,jdbcType=INTEGER},
+      height = #{record.height,jdbcType=INTEGER},
+      cover_img_width = #{record.coverImgWidth,jdbcType=INTEGER},
+      cover_img_height = #{record.coverImgHeight,jdbcType=INTEGER},
+      play_count = #{record.playCount,jdbcType=INTEGER},
+      play_count_total = #{record.playCountTotal,jdbcType=INTEGER},
+      share_count = #{record.shareCount,jdbcType=INTEGER},
+      share_count_total = #{record.shareCountTotal,jdbcType=INTEGER},
+      reported_count = #{record.reportedCount,jdbcType=INTEGER},
+      share_count_friend = #{record.shareCountFriend,jdbcType=INTEGER},
+      share_count_friend_total = #{record.shareCountFriendTotal,jdbcType=INTEGER},
+      favoriteds = #{record.favoriteds,jdbcType=BIGINT},
+      total_time = #{record.totalTime,jdbcType=INTEGER},
+      rotate = #{record.rotate,jdbcType=VARCHAR},
+      bit_rate = #{record.bitRate,jdbcType=BIGINT},
+      transcode_status = #{record.transcodeStatus,jdbcType=INTEGER},
+      transcode_done_datetime = #{record.transcodeDoneDatetime,jdbcType=TIMESTAMP},
+      request_id = #{record.requestId,jdbcType=VARCHAR},
+      job_id = #{record.jobId,jdbcType=VARCHAR},
+      transed_video_path = #{record.transedVideoPath,jdbcType=VARCHAR},
+      gmt_create = #{record.gmtCreate,jdbcType=TIMESTAMP},
+      changed_by = #{record.changedBy,jdbcType=BIGINT},
+      gmt_modified = #{record.gmtModified,jdbcType=TIMESTAMP},
+      gmt_create_timestamp = #{record.gmtCreateTimestamp,jdbcType=BIGINT},
+      gmt_modified_timestamp = #{record.gmtModifiedTimestamp,jdbcType=BIGINT},
+      version = #{record.version,jdbcType=INTEGER},
+      `system` = #{record.system,jdbcType=VARCHAR},
+      `status` = #{record.status,jdbcType=INTEGER},
+      file_extensions = #{record.fileExtensions,jdbcType=VARCHAR},
+      examine_status = #{record.examineStatus,jdbcType=INTEGER},
+      content_md5 = #{record.contentMd5,jdbcType=VARCHAR},
+      `size` = #{record.size,jdbcType=BIGINT},
+      code_name = #{record.codeName,jdbcType=VARCHAR},
+      video_collection_id = #{record.videoCollectionId,jdbcType=BIGINT},
+      recommend_status = #{record.recommendStatus,jdbcType=INTEGER},
+      tag_count = #{record.tagCount,jdbcType=INTEGER},
+      stage_recommend_examine_status = #{record.stageRecommendExamineStatus,jdbcType=INTEGER},
+      sensitive_status = #{record.sensitiveStatus,jdbcType=INTEGER},
+      is_foreogn_bucket = #{record.isForeognBucket,jdbcType=TINYINT},
+      new_share_image_path = #{record.newShareImagePath,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.tzld.piaoquan.content.understanding.model.po.WxVideo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    update wx_video
+    <set>
+      <if test="uid != null">
+        `uid` = #{uid,jdbcType=BIGINT},
+      </if>
+      <if test="title != null">
+        title = #{title,jdbcType=VARCHAR},
+      </if>
+      <if test="videoPath != null">
+        video_path = #{videoPath,jdbcType=VARCHAR},
+      </if>
+      <if test="coverImgPath != null">
+        cover_img_path = #{coverImgPath,jdbcType=VARCHAR},
+      </if>
+      <if test="selfCoverImgPath != null">
+        self_cover_img_path = #{selfCoverImgPath,jdbcType=VARCHAR},
+      </if>
+      <if test="shareMomentImgPath != null">
+        share_moment_img_path = #{shareMomentImgPath,jdbcType=VARCHAR},
+      </if>
+      <if test="qrimgPath != null">
+        qrimg_path = #{qrimgPath,jdbcType=VARCHAR},
+      </if>
+      <if test="width != null">
+        width = #{width,jdbcType=INTEGER},
+      </if>
+      <if test="height != null">
+        height = #{height,jdbcType=INTEGER},
+      </if>
+      <if test="coverImgWidth != null">
+        cover_img_width = #{coverImgWidth,jdbcType=INTEGER},
+      </if>
+      <if test="coverImgHeight != null">
+        cover_img_height = #{coverImgHeight,jdbcType=INTEGER},
+      </if>
+      <if test="playCount != null">
+        play_count = #{playCount,jdbcType=INTEGER},
+      </if>
+      <if test="playCountTotal != null">
+        play_count_total = #{playCountTotal,jdbcType=INTEGER},
+      </if>
+      <if test="shareCount != null">
+        share_count = #{shareCount,jdbcType=INTEGER},
+      </if>
+      <if test="shareCountTotal != null">
+        share_count_total = #{shareCountTotal,jdbcType=INTEGER},
+      </if>
+      <if test="reportedCount != null">
+        reported_count = #{reportedCount,jdbcType=INTEGER},
+      </if>
+      <if test="shareCountFriend != null">
+        share_count_friend = #{shareCountFriend,jdbcType=INTEGER},
+      </if>
+      <if test="shareCountFriendTotal != null">
+        share_count_friend_total = #{shareCountFriendTotal,jdbcType=INTEGER},
+      </if>
+      <if test="favoriteds != null">
+        favoriteds = #{favoriteds,jdbcType=BIGINT},
+      </if>
+      <if test="totalTime != null">
+        total_time = #{totalTime,jdbcType=INTEGER},
+      </if>
+      <if test="rotate != null">
+        rotate = #{rotate,jdbcType=VARCHAR},
+      </if>
+      <if test="bitRate != null">
+        bit_rate = #{bitRate,jdbcType=BIGINT},
+      </if>
+      <if test="transcodeStatus != null">
+        transcode_status = #{transcodeStatus,jdbcType=INTEGER},
+      </if>
+      <if test="transcodeDoneDatetime != null">
+        transcode_done_datetime = #{transcodeDoneDatetime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="requestId != null">
+        request_id = #{requestId,jdbcType=VARCHAR},
+      </if>
+      <if test="jobId != null">
+        job_id = #{jobId,jdbcType=VARCHAR},
+      </if>
+      <if test="transedVideoPath != null">
+        transed_video_path = #{transedVideoPath,jdbcType=VARCHAR},
+      </if>
+      <if test="gmtCreate != null">
+        gmt_create = #{gmtCreate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="changedBy != null">
+        changed_by = #{changedBy,jdbcType=BIGINT},
+      </if>
+      <if test="gmtModified != null">
+        gmt_modified = #{gmtModified,jdbcType=TIMESTAMP},
+      </if>
+      <if test="gmtCreateTimestamp != null">
+        gmt_create_timestamp = #{gmtCreateTimestamp,jdbcType=BIGINT},
+      </if>
+      <if test="gmtModifiedTimestamp != null">
+        gmt_modified_timestamp = #{gmtModifiedTimestamp,jdbcType=BIGINT},
+      </if>
+      <if test="version != null">
+        version = #{version,jdbcType=INTEGER},
+      </if>
+      <if test="system != null">
+        `system` = #{system,jdbcType=VARCHAR},
+      </if>
+      <if test="status != null">
+        `status` = #{status,jdbcType=INTEGER},
+      </if>
+      <if test="fileExtensions != null">
+        file_extensions = #{fileExtensions,jdbcType=VARCHAR},
+      </if>
+      <if test="examineStatus != null">
+        examine_status = #{examineStatus,jdbcType=INTEGER},
+      </if>
+      <if test="contentMd5 != null">
+        content_md5 = #{contentMd5,jdbcType=VARCHAR},
+      </if>
+      <if test="size != null">
+        `size` = #{size,jdbcType=BIGINT},
+      </if>
+      <if test="codeName != null">
+        code_name = #{codeName,jdbcType=VARCHAR},
+      </if>
+      <if test="videoCollectionId != null">
+        video_collection_id = #{videoCollectionId,jdbcType=BIGINT},
+      </if>
+      <if test="recommendStatus != null">
+        recommend_status = #{recommendStatus,jdbcType=INTEGER},
+      </if>
+      <if test="tagCount != null">
+        tag_count = #{tagCount,jdbcType=INTEGER},
+      </if>
+      <if test="stageRecommendExamineStatus != null">
+        stage_recommend_examine_status = #{stageRecommendExamineStatus,jdbcType=INTEGER},
+      </if>
+      <if test="sensitiveStatus != null">
+        sensitive_status = #{sensitiveStatus,jdbcType=INTEGER},
+      </if>
+      <if test="isForeognBucket != null">
+        is_foreogn_bucket = #{isForeognBucket,jdbcType=TINYINT},
+      </if>
+      <if test="newShareImagePath != null">
+        new_share_image_path = #{newShareImagePath,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.tzld.piaoquan.content.understanding.model.po.WxVideo">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    update wx_video
+    set `uid` = #{uid,jdbcType=BIGINT},
+      title = #{title,jdbcType=VARCHAR},
+      video_path = #{videoPath,jdbcType=VARCHAR},
+      cover_img_path = #{coverImgPath,jdbcType=VARCHAR},
+      self_cover_img_path = #{selfCoverImgPath,jdbcType=VARCHAR},
+      share_moment_img_path = #{shareMomentImgPath,jdbcType=VARCHAR},
+      qrimg_path = #{qrimgPath,jdbcType=VARCHAR},
+      width = #{width,jdbcType=INTEGER},
+      height = #{height,jdbcType=INTEGER},
+      cover_img_width = #{coverImgWidth,jdbcType=INTEGER},
+      cover_img_height = #{coverImgHeight,jdbcType=INTEGER},
+      play_count = #{playCount,jdbcType=INTEGER},
+      play_count_total = #{playCountTotal,jdbcType=INTEGER},
+      share_count = #{shareCount,jdbcType=INTEGER},
+      share_count_total = #{shareCountTotal,jdbcType=INTEGER},
+      reported_count = #{reportedCount,jdbcType=INTEGER},
+      share_count_friend = #{shareCountFriend,jdbcType=INTEGER},
+      share_count_friend_total = #{shareCountFriendTotal,jdbcType=INTEGER},
+      favoriteds = #{favoriteds,jdbcType=BIGINT},
+      total_time = #{totalTime,jdbcType=INTEGER},
+      rotate = #{rotate,jdbcType=VARCHAR},
+      bit_rate = #{bitRate,jdbcType=BIGINT},
+      transcode_status = #{transcodeStatus,jdbcType=INTEGER},
+      transcode_done_datetime = #{transcodeDoneDatetime,jdbcType=TIMESTAMP},
+      request_id = #{requestId,jdbcType=VARCHAR},
+      job_id = #{jobId,jdbcType=VARCHAR},
+      transed_video_path = #{transedVideoPath,jdbcType=VARCHAR},
+      gmt_create = #{gmtCreate,jdbcType=TIMESTAMP},
+      changed_by = #{changedBy,jdbcType=BIGINT},
+      gmt_modified = #{gmtModified,jdbcType=TIMESTAMP},
+      gmt_create_timestamp = #{gmtCreateTimestamp,jdbcType=BIGINT},
+      gmt_modified_timestamp = #{gmtModifiedTimestamp,jdbcType=BIGINT},
+      version = #{version,jdbcType=INTEGER},
+      `system` = #{system,jdbcType=VARCHAR},
+      `status` = #{status,jdbcType=INTEGER},
+      file_extensions = #{fileExtensions,jdbcType=VARCHAR},
+      examine_status = #{examineStatus,jdbcType=INTEGER},
+      content_md5 = #{contentMd5,jdbcType=VARCHAR},
+      `size` = #{size,jdbcType=BIGINT},
+      code_name = #{codeName,jdbcType=VARCHAR},
+      video_collection_id = #{videoCollectionId,jdbcType=BIGINT},
+      recommend_status = #{recommendStatus,jdbcType=INTEGER},
+      tag_count = #{tagCount,jdbcType=INTEGER},
+      stage_recommend_examine_status = #{stageRecommendExamineStatus,jdbcType=INTEGER},
+      sensitive_status = #{sensitiveStatus,jdbcType=INTEGER},
+      is_foreogn_bucket = #{isForeognBucket,jdbcType=TINYINT},
+      new_share_image_path = #{newShareImagePath,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+</mapper>

+ 541 - 0
content-understanding-core/src/main/resources/mapper/WxVideoTranscodeMapper.xml

@@ -0,0 +1,541 @@
+<?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.content.understanding.dao.mapper.WxVideoTranscodeMapper">
+  <resultMap id="BaseResultMap" type="com.tzld.piaoquan.content.understanding.model.po.WxVideoTranscode">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="video_id" jdbcType="BIGINT" property="videoId" />
+    <result column="bucket_name" jdbcType="VARCHAR" property="bucketName" />
+    <result column="trans_channel" jdbcType="VARCHAR" property="transChannel" />
+    <result column="transcode_format" jdbcType="VARCHAR" property="transcodeFormat" />
+    <result column="level_code" jdbcType="INTEGER" property="levelCode" />
+    <result column="level_desc" jdbcType="VARCHAR" property="levelDesc" />
+    <result column="origin_default_status" jdbcType="INTEGER" property="originDefaultStatus" />
+    <result column="width" jdbcType="INTEGER" property="width" />
+    <result column="height" jdbcType="INTEGER" property="height" />
+    <result column="bitrate" jdbcType="INTEGER" property="bitrate" />
+    <result column="template_id" jdbcType="VARCHAR" property="templateId" />
+    <result column="request_id" jdbcType="VARCHAR" property="requestId" />
+    <result column="job_id" jdbcType="VARCHAR" property="jobId" />
+    <result column="transcode_status" jdbcType="INTEGER" property="transcodeStatus" />
+    <result column="transcode_video_path" jdbcType="VARCHAR" property="transcodeVideoPath" />
+    <result column="transcode_submit_time" jdbcType="BIGINT" property="transcodeSubmitTime" />
+    <result column="transcode_done_time" jdbcType="BIGINT" property="transcodeDoneTime" />
+    <result column="error_code" jdbcType="VARCHAR" property="errorCode" />
+    <result column="error_msg" jdbcType="VARCHAR" property="errorMsg" />
+    <result column="create_time" jdbcType="BIGINT" property="createTime" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    id, video_id, bucket_name, trans_channel, transcode_format, level_code, level_desc, 
+    origin_default_status, width, height, bitrate, template_id, request_id, job_id, transcode_status, 
+    transcode_video_path, transcode_submit_time, transcode_done_time, error_code, error_msg, 
+    create_time
+  </sql>
+  <select id="selectByExample" parameterType="com.tzld.piaoquan.content.understanding.model.po.WxVideoTranscodeExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from wx_video_transcode
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from wx_video_transcode
+    where id = #{id,jdbcType=BIGINT}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    delete from wx_video_transcode
+    where id = #{id,jdbcType=BIGINT}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.tzld.piaoquan.content.understanding.model.po.WxVideoTranscodeExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    delete from wx_video_transcode
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.tzld.piaoquan.content.understanding.model.po.WxVideoTranscode">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    insert into wx_video_transcode (id, video_id, bucket_name, 
+      trans_channel, transcode_format, level_code, 
+      level_desc, origin_default_status, width, 
+      height, bitrate, template_id, 
+      request_id, job_id, transcode_status, 
+      transcode_video_path, transcode_submit_time, 
+      transcode_done_time, error_code, error_msg, 
+      create_time)
+    values (#{id,jdbcType=BIGINT}, #{videoId,jdbcType=BIGINT}, #{bucketName,jdbcType=VARCHAR}, 
+      #{transChannel,jdbcType=VARCHAR}, #{transcodeFormat,jdbcType=VARCHAR}, #{levelCode,jdbcType=INTEGER}, 
+      #{levelDesc,jdbcType=VARCHAR}, #{originDefaultStatus,jdbcType=INTEGER}, #{width,jdbcType=INTEGER}, 
+      #{height,jdbcType=INTEGER}, #{bitrate,jdbcType=INTEGER}, #{templateId,jdbcType=VARCHAR}, 
+      #{requestId,jdbcType=VARCHAR}, #{jobId,jdbcType=VARCHAR}, #{transcodeStatus,jdbcType=INTEGER}, 
+      #{transcodeVideoPath,jdbcType=VARCHAR}, #{transcodeSubmitTime,jdbcType=BIGINT}, 
+      #{transcodeDoneTime,jdbcType=BIGINT}, #{errorCode,jdbcType=VARCHAR}, #{errorMsg,jdbcType=VARCHAR}, 
+      #{createTime,jdbcType=BIGINT})
+  </insert>
+  <insert id="insertSelective" parameterType="com.tzld.piaoquan.content.understanding.model.po.WxVideoTranscode">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    insert into wx_video_transcode
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="videoId != null">
+        video_id,
+      </if>
+      <if test="bucketName != null">
+        bucket_name,
+      </if>
+      <if test="transChannel != null">
+        trans_channel,
+      </if>
+      <if test="transcodeFormat != null">
+        transcode_format,
+      </if>
+      <if test="levelCode != null">
+        level_code,
+      </if>
+      <if test="levelDesc != null">
+        level_desc,
+      </if>
+      <if test="originDefaultStatus != null">
+        origin_default_status,
+      </if>
+      <if test="width != null">
+        width,
+      </if>
+      <if test="height != null">
+        height,
+      </if>
+      <if test="bitrate != null">
+        bitrate,
+      </if>
+      <if test="templateId != null">
+        template_id,
+      </if>
+      <if test="requestId != null">
+        request_id,
+      </if>
+      <if test="jobId != null">
+        job_id,
+      </if>
+      <if test="transcodeStatus != null">
+        transcode_status,
+      </if>
+      <if test="transcodeVideoPath != null">
+        transcode_video_path,
+      </if>
+      <if test="transcodeSubmitTime != null">
+        transcode_submit_time,
+      </if>
+      <if test="transcodeDoneTime != null">
+        transcode_done_time,
+      </if>
+      <if test="errorCode != null">
+        error_code,
+      </if>
+      <if test="errorMsg != null">
+        error_msg,
+      </if>
+      <if test="createTime != null">
+        create_time,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=BIGINT},
+      </if>
+      <if test="videoId != null">
+        #{videoId,jdbcType=BIGINT},
+      </if>
+      <if test="bucketName != null">
+        #{bucketName,jdbcType=VARCHAR},
+      </if>
+      <if test="transChannel != null">
+        #{transChannel,jdbcType=VARCHAR},
+      </if>
+      <if test="transcodeFormat != null">
+        #{transcodeFormat,jdbcType=VARCHAR},
+      </if>
+      <if test="levelCode != null">
+        #{levelCode,jdbcType=INTEGER},
+      </if>
+      <if test="levelDesc != null">
+        #{levelDesc,jdbcType=VARCHAR},
+      </if>
+      <if test="originDefaultStatus != null">
+        #{originDefaultStatus,jdbcType=INTEGER},
+      </if>
+      <if test="width != null">
+        #{width,jdbcType=INTEGER},
+      </if>
+      <if test="height != null">
+        #{height,jdbcType=INTEGER},
+      </if>
+      <if test="bitrate != null">
+        #{bitrate,jdbcType=INTEGER},
+      </if>
+      <if test="templateId != null">
+        #{templateId,jdbcType=VARCHAR},
+      </if>
+      <if test="requestId != null">
+        #{requestId,jdbcType=VARCHAR},
+      </if>
+      <if test="jobId != null">
+        #{jobId,jdbcType=VARCHAR},
+      </if>
+      <if test="transcodeStatus != null">
+        #{transcodeStatus,jdbcType=INTEGER},
+      </if>
+      <if test="transcodeVideoPath != null">
+        #{transcodeVideoPath,jdbcType=VARCHAR},
+      </if>
+      <if test="transcodeSubmitTime != null">
+        #{transcodeSubmitTime,jdbcType=BIGINT},
+      </if>
+      <if test="transcodeDoneTime != null">
+        #{transcodeDoneTime,jdbcType=BIGINT},
+      </if>
+      <if test="errorCode != null">
+        #{errorCode,jdbcType=VARCHAR},
+      </if>
+      <if test="errorMsg != null">
+        #{errorMsg,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null">
+        #{createTime,jdbcType=BIGINT},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.tzld.piaoquan.content.understanding.model.po.WxVideoTranscodeExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    select count(*) from wx_video_transcode
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    update wx_video_transcode
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=BIGINT},
+      </if>
+      <if test="record.videoId != null">
+        video_id = #{record.videoId,jdbcType=BIGINT},
+      </if>
+      <if test="record.bucketName != null">
+        bucket_name = #{record.bucketName,jdbcType=VARCHAR},
+      </if>
+      <if test="record.transChannel != null">
+        trans_channel = #{record.transChannel,jdbcType=VARCHAR},
+      </if>
+      <if test="record.transcodeFormat != null">
+        transcode_format = #{record.transcodeFormat,jdbcType=VARCHAR},
+      </if>
+      <if test="record.levelCode != null">
+        level_code = #{record.levelCode,jdbcType=INTEGER},
+      </if>
+      <if test="record.levelDesc != null">
+        level_desc = #{record.levelDesc,jdbcType=VARCHAR},
+      </if>
+      <if test="record.originDefaultStatus != null">
+        origin_default_status = #{record.originDefaultStatus,jdbcType=INTEGER},
+      </if>
+      <if test="record.width != null">
+        width = #{record.width,jdbcType=INTEGER},
+      </if>
+      <if test="record.height != null">
+        height = #{record.height,jdbcType=INTEGER},
+      </if>
+      <if test="record.bitrate != null">
+        bitrate = #{record.bitrate,jdbcType=INTEGER},
+      </if>
+      <if test="record.templateId != null">
+        template_id = #{record.templateId,jdbcType=VARCHAR},
+      </if>
+      <if test="record.requestId != null">
+        request_id = #{record.requestId,jdbcType=VARCHAR},
+      </if>
+      <if test="record.jobId != null">
+        job_id = #{record.jobId,jdbcType=VARCHAR},
+      </if>
+      <if test="record.transcodeStatus != null">
+        transcode_status = #{record.transcodeStatus,jdbcType=INTEGER},
+      </if>
+      <if test="record.transcodeVideoPath != null">
+        transcode_video_path = #{record.transcodeVideoPath,jdbcType=VARCHAR},
+      </if>
+      <if test="record.transcodeSubmitTime != null">
+        transcode_submit_time = #{record.transcodeSubmitTime,jdbcType=BIGINT},
+      </if>
+      <if test="record.transcodeDoneTime != null">
+        transcode_done_time = #{record.transcodeDoneTime,jdbcType=BIGINT},
+      </if>
+      <if test="record.errorCode != null">
+        error_code = #{record.errorCode,jdbcType=VARCHAR},
+      </if>
+      <if test="record.errorMsg != null">
+        error_msg = #{record.errorMsg,jdbcType=VARCHAR},
+      </if>
+      <if test="record.createTime != null">
+        create_time = #{record.createTime,jdbcType=BIGINT},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    update wx_video_transcode
+    set id = #{record.id,jdbcType=BIGINT},
+      video_id = #{record.videoId,jdbcType=BIGINT},
+      bucket_name = #{record.bucketName,jdbcType=VARCHAR},
+      trans_channel = #{record.transChannel,jdbcType=VARCHAR},
+      transcode_format = #{record.transcodeFormat,jdbcType=VARCHAR},
+      level_code = #{record.levelCode,jdbcType=INTEGER},
+      level_desc = #{record.levelDesc,jdbcType=VARCHAR},
+      origin_default_status = #{record.originDefaultStatus,jdbcType=INTEGER},
+      width = #{record.width,jdbcType=INTEGER},
+      height = #{record.height,jdbcType=INTEGER},
+      bitrate = #{record.bitrate,jdbcType=INTEGER},
+      template_id = #{record.templateId,jdbcType=VARCHAR},
+      request_id = #{record.requestId,jdbcType=VARCHAR},
+      job_id = #{record.jobId,jdbcType=VARCHAR},
+      transcode_status = #{record.transcodeStatus,jdbcType=INTEGER},
+      transcode_video_path = #{record.transcodeVideoPath,jdbcType=VARCHAR},
+      transcode_submit_time = #{record.transcodeSubmitTime,jdbcType=BIGINT},
+      transcode_done_time = #{record.transcodeDoneTime,jdbcType=BIGINT},
+      error_code = #{record.errorCode,jdbcType=VARCHAR},
+      error_msg = #{record.errorMsg,jdbcType=VARCHAR},
+      create_time = #{record.createTime,jdbcType=BIGINT}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.tzld.piaoquan.content.understanding.model.po.WxVideoTranscode">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    update wx_video_transcode
+    <set>
+      <if test="videoId != null">
+        video_id = #{videoId,jdbcType=BIGINT},
+      </if>
+      <if test="bucketName != null">
+        bucket_name = #{bucketName,jdbcType=VARCHAR},
+      </if>
+      <if test="transChannel != null">
+        trans_channel = #{transChannel,jdbcType=VARCHAR},
+      </if>
+      <if test="transcodeFormat != null">
+        transcode_format = #{transcodeFormat,jdbcType=VARCHAR},
+      </if>
+      <if test="levelCode != null">
+        level_code = #{levelCode,jdbcType=INTEGER},
+      </if>
+      <if test="levelDesc != null">
+        level_desc = #{levelDesc,jdbcType=VARCHAR},
+      </if>
+      <if test="originDefaultStatus != null">
+        origin_default_status = #{originDefaultStatus,jdbcType=INTEGER},
+      </if>
+      <if test="width != null">
+        width = #{width,jdbcType=INTEGER},
+      </if>
+      <if test="height != null">
+        height = #{height,jdbcType=INTEGER},
+      </if>
+      <if test="bitrate != null">
+        bitrate = #{bitrate,jdbcType=INTEGER},
+      </if>
+      <if test="templateId != null">
+        template_id = #{templateId,jdbcType=VARCHAR},
+      </if>
+      <if test="requestId != null">
+        request_id = #{requestId,jdbcType=VARCHAR},
+      </if>
+      <if test="jobId != null">
+        job_id = #{jobId,jdbcType=VARCHAR},
+      </if>
+      <if test="transcodeStatus != null">
+        transcode_status = #{transcodeStatus,jdbcType=INTEGER},
+      </if>
+      <if test="transcodeVideoPath != null">
+        transcode_video_path = #{transcodeVideoPath,jdbcType=VARCHAR},
+      </if>
+      <if test="transcodeSubmitTime != null">
+        transcode_submit_time = #{transcodeSubmitTime,jdbcType=BIGINT},
+      </if>
+      <if test="transcodeDoneTime != null">
+        transcode_done_time = #{transcodeDoneTime,jdbcType=BIGINT},
+      </if>
+      <if test="errorCode != null">
+        error_code = #{errorCode,jdbcType=VARCHAR},
+      </if>
+      <if test="errorMsg != null">
+        error_msg = #{errorMsg,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null">
+        create_time = #{createTime,jdbcType=BIGINT},
+      </if>
+    </set>
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.tzld.piaoquan.content.understanding.model.po.WxVideoTranscode">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+      This element was generated on Tue Apr 15 20:36:38 CST 2025.
+    -->
+    update wx_video_transcode
+    set video_id = #{videoId,jdbcType=BIGINT},
+      bucket_name = #{bucketName,jdbcType=VARCHAR},
+      trans_channel = #{transChannel,jdbcType=VARCHAR},
+      transcode_format = #{transcodeFormat,jdbcType=VARCHAR},
+      level_code = #{levelCode,jdbcType=INTEGER},
+      level_desc = #{levelDesc,jdbcType=VARCHAR},
+      origin_default_status = #{originDefaultStatus,jdbcType=INTEGER},
+      width = #{width,jdbcType=INTEGER},
+      height = #{height,jdbcType=INTEGER},
+      bitrate = #{bitrate,jdbcType=INTEGER},
+      template_id = #{templateId,jdbcType=VARCHAR},
+      request_id = #{requestId,jdbcType=VARCHAR},
+      job_id = #{jobId,jdbcType=VARCHAR},
+      transcode_status = #{transcodeStatus,jdbcType=INTEGER},
+      transcode_video_path = #{transcodeVideoPath,jdbcType=VARCHAR},
+      transcode_submit_time = #{transcodeSubmitTime,jdbcType=BIGINT},
+      transcode_done_time = #{transcodeDoneTime,jdbcType=BIGINT},
+      error_code = #{errorCode,jdbcType=VARCHAR},
+      error_msg = #{errorMsg,jdbcType=VARCHAR},
+      create_time = #{createTime,jdbcType=BIGINT}
+    where id = #{id,jdbcType=BIGINT}
+  </update>
+</mapper>

+ 3 - 1
content-understanding-core/src/main/resources/mybatis-generator-config.xml

@@ -50,7 +50,9 @@
 <!--        <table tableName="cu_pipeline_step" domainObjectName="CuPipelineStep" alias=""/>-->
 <!--        <table tableName="cu_prompt" domainObjectName="CuPrompt" alias=""/>-->
 <!--        <table tableName="cu_task" domainObjectName="CuTask" alias=""/>-->
-        <table tableName="cu_video_understanding_result" domainObjectName="CuVideoUnderstandingResult" alias=""/>
+<!--        <table tableName="cu_video_understanding_result" domainObjectName="CuVideoUnderstandingResult" alias=""/>-->
+        <table tableName="wx_video" domainObjectName="WxVideo" alias=""/>
+        <table tableName="wx_video_transcode" domainObjectName="WxVideoTranscode" alias=""/>
 
     </context>
 

+ 8 - 1
content-understanding-server/src/main/resources/application-dev.yml

@@ -45,6 +45,7 @@ aliyun:
     logstore:
       action: action-log-test
       request: request-log-test
+      result: result-log-test
     topic:
 
 xxl:
@@ -58,4 +59,10 @@ xxl:
       ip:
       port: 9999
       logpath: /datalog/weblog/${project.name}/xxl-job/
-      logretentiondays: 30
+      logretentiondays: 30
+
+
+longvideoapi:
+  getVideoBaseInfoUrl: http://videotest-internal.yishihui.com/longvideoapi/openapi/video/getBaseInfo
+
+

+ 6 - 1
content-understanding-server/src/main/resources/application-pre.yml

@@ -43,6 +43,7 @@ aliyun:
     logstore:
       action: action-log-pre
       request: request-log-pre
+      result: result-log-pre
     topic:
 
 
@@ -57,4 +58,8 @@ xxl:
       ip:
       port: 9999
       logpath: /datalog/weblog/${project.name}/xxl-job/
-      logretentiondays: 30
+      logretentiondays: 30
+
+
+longvideoapi:
+  getVideoBaseInfoUrl: http://videopre-internal.piaoquantv.com/longvideoapi/openapi/video/getBaseInfo

+ 5 - 1
content-understanding-server/src/main/resources/application-prod.yml

@@ -44,6 +44,7 @@ aliyun:
     logstore:
       action: action-log
       request: request-log
+      result: result-log
     topic:
 
 xxl:
@@ -57,4 +58,7 @@ xxl:
       ip:
       port: 9999
       logpath: /datalog/weblog/${project.name}/xxl-job/
-      logretentiondays: 30
+      logretentiondays: 30
+
+longvideoapi:
+  getVideoBaseInfoUrl: http://longvideoapi-internal.piaoquantv.com/longvideoapi/openapi/video/getBaseInfo

+ 5 - 1
content-understanding-server/src/main/resources/application-stress.yml

@@ -45,6 +45,7 @@ aliyun:
     logstore:
       action: action-log-test
       request: request-log-test
+      result: result-log-test
     topic:
 
 xxl:
@@ -58,4 +59,7 @@ xxl:
       ip:
       port: 9999
       logpath: /datalog/weblog/${project.name}/xxl-job/
-      logretentiondays: 30
+      logretentiondays: 30
+
+longvideoapi:
+  getVideoBaseInfoUrl: http://videotest-internal.yishihui.com/longvideoapi/openapi/video/getBaseInfo

+ 6 - 1
content-understanding-server/src/main/resources/application-test.yml

@@ -45,6 +45,7 @@ aliyun:
     logstore:
       action: action-log-test
       request: request-log-test
+      result: result-log-test
     topic:
 
 
@@ -59,4 +60,8 @@ xxl:
       ip:
       port: 9999
       logpath: /datalog/weblog/${project.name}/xxl-job/
-      logretentiondays: 30
+      logretentiondays: 30
+
+
+longvideoapi:
+  getVideoBaseInfoUrl: http://videotest-internal.yishihui.com/longvideoapi/openapi/video/getBaseInfo

+ 6 - 1
content-understanding-server/src/main/resources/application.yml

@@ -30,4 +30,9 @@ aliyun:
     endpoint: cn-hangzhou-intranet.log.aliyuncs.com
     accessKeyId: LTAIP6x1l3DXfSxm
     accessKeySecret: KbTaM9ars4OX3PMS6Xm7rtxGr1FLon
-    project: content-supply
+    project: content-understanding
+  oss:
+#    endpoint: oss-cn-hangzhou-internal.aliyuncs.com
+    endpoint: oss-cn-hangzhou.aliyuncs.com
+    accessKeyId: LTAIP6x1l3DXfSxm
+    accessKeySecret: KbTaM9ars4OX3PMS6Xm7rtxGr1FLon

+ 46 - 0
content-understanding-server/src/test/java/com/tzld/piaoquan/content/understanding/service/ContentServiceTest.java

@@ -0,0 +1,46 @@
+package com.tzld.piaoquan.content.understanding.service;
+
+import com.aliyun.oss.model.ObjectMetadata;
+import com.tzld.commons.aliyun.oss.AliyunOssManager;
+import com.tzld.piaoquan.content.understanding.BaseTest;
+import com.tzld.piaoquan.content.understanding.service.impl.ContentServiceImpl;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class ContentServiceTest extends BaseTest {
+
+    @Autowired
+    private AliyunOssManager aliyunOssManager;
+
+    @Test
+    public void ossTest() {
+        String origin = "longvideo/crawler_local/video/prod/20240523/adab3bae11b0b168d20ddf0e2a9679a81721808114115297282";
+        String transcode = "longvideo/transcode/crawler_local/video/prod/20231108/adab3bae11b0b168d20ddf0e2a9679a81721808114115297282.mp4";
+        String multi = "output/longvideo/multitranscode/crawler_local/video/prod/20240523/adab3bae11b0b168d20ddf0e2a9679a8172180811411529728220240524131000797723823-1LD.mp4";
+//        ObjectMetadata objectMetadata1 = aliyunOssManager.getObjectMetadata(ContentServiceImpl.TRANSCODE_BUCKET, origin);
+//        try {
+//            objectMetadata1.isRestoreCompleted();
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//        没有获取到会抛NPE
+//        System.out.println(objectMetadata1.isRestoreCompleted());
+        ObjectMetadata objectMetadata2 = aliyunOssManager.getObjectMetadata(ContentServiceImpl.TRANSCODE_BUCKET, transcode);
+        try {
+            System.out.println(objectMetadata2.isRestoreCompleted());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        aliyunOssManager.restoreObject(ContentServiceImpl.TRANSCODE_BUCKET, transcode, 1);
+
+        objectMetadata2 = aliyunOssManager.getObjectMetadata(ContentServiceImpl.TRANSCODE_BUCKET, transcode);
+        System.out.println(objectMetadata2.isRestoreCompleted());
+
+
+//        ObjectMetadata objectMetadata3 = aliyunOssManager.getObjectMetadata("art-visionular-out", multi);
+//        System.out.println(objectMetadata3.isRestoreCompleted());
+
+
+    }
+}

+ 21 - 0
pom.xml

@@ -157,5 +157,26 @@
             <artifactId>aliyun-log-logback-appender</artifactId>
             <version>0.1.18</version>
         </dependency>
+        <!-- xxl-job -->
+        <dependency>
+            <groupId>com.xuxueli</groupId>
+            <artifactId>xxl-job-core</artifactId>
+            <version>2.2.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.aliyun.odps</groupId>
+            <artifactId>odps-sdk-core</artifactId>
+            <version>0.27.2-public</version>
+        </dependency>
+        <dependency>
+            <groupId>com.tzld.commons</groupId>
+            <artifactId>aliyun-oss-spring-boot-starter</artifactId>
+            <version>2.0.5</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.rocketmq</groupId>
+            <artifactId>rocketmq-v5-client-spring-boot-starter</artifactId>
+            <version>2.3.1</version>
+        </dependency>
     </dependencies>
 </project>