Przeglądaj źródła

用户上传视频

wangyunpeng 3 tygodni temu
rodzic
commit
3447f43168
15 zmienionych plików z 440 dodań i 19 usunięć
  1. 42 0
      api-module/src/main/java/com/tzld/piaoquan/api/common/enums/contentplatform/UploadVideoAuditStatusEnum.java
  2. 1 1
      api-module/src/main/java/com/tzld/piaoquan/api/component/VideoApiService.java
  3. 2 1
      api-module/src/main/java/com/tzld/piaoquan/api/controller/contentplatform/ContentPlatformSettingController.java
  4. 20 0
      api-module/src/main/java/com/tzld/piaoquan/api/controller/contentplatform/ContentPlatformUploadContentController.java
  5. 5 0
      api-module/src/main/java/com/tzld/piaoquan/api/dao/mapper/contentplatform/ext/ContentPlatformPlanMapperExt.java
  6. 57 0
      api-module/src/main/java/com/tzld/piaoquan/api/job/contentplatform/ContentPlatformVideoJob.java
  7. 196 0
      api-module/src/main/java/com/tzld/piaoquan/api/model/param/contentplatform/VideoApiBaseParam.java
  8. 1 1
      api-module/src/main/java/com/tzld/piaoquan/api/model/param/contentplatform/WxWebLoginParam.java
  9. 11 0
      api-module/src/main/java/com/tzld/piaoquan/api/model/po/contentplatform/ContentPlatformUploadVideo.java
  10. 60 0
      api-module/src/main/java/com/tzld/piaoquan/api/model/po/contentplatform/ContentPlatformUploadVideoExample.java
  11. 2 3
      api-module/src/main/java/com/tzld/piaoquan/api/service/contentplatform/impl/ContentPlatformPlanServiceImpl.java
  12. 3 0
      api-module/src/main/java/com/tzld/piaoquan/api/service/contentplatform/impl/ContentPlatformSettingServiceImpl.java
  13. 8 5
      api-module/src/main/java/com/tzld/piaoquan/api/service/contentplatform/impl/ContentPlatformUploadContentServiceImpl.java
  14. 23 6
      api-module/src/main/resources/mapper/contentplatform/ContentPlatformUploadVideoMapper.xml
  15. 9 2
      api-module/src/main/resources/mapper/contentplatform/ext/ContentPlatformPlanMapperExt.xml

+ 42 - 0
api-module/src/main/java/com/tzld/piaoquan/api/common/enums/contentplatform/UploadVideoAuditStatusEnum.java

@@ -0,0 +1,42 @@
+package com.tzld.piaoquan.api.common.enums.contentplatform;
+
+import lombok.Getter;
+
+@Getter
+public enum UploadVideoAuditStatusEnum {
+    WAIT_AUDIT(0, "待审核"),
+    AUDITING(1, "审核中"),
+    AUDIT_PASS(2, "审核通过"),
+    AUDIT_REJECT(3, "审核不通过"),
+
+    other(999, "其他");
+
+    // 状态 0-待审核 1-审核中 2-审核通过 3-审核不通过
+    private final int val;
+    private final String description;
+
+    UploadVideoAuditStatusEnum(int val, String description) {
+        this.val = val;
+        this.description = description;
+    }
+
+    public static UploadVideoAuditStatusEnum from(int val) {
+        for (UploadVideoAuditStatusEnum typeEnum : UploadVideoAuditStatusEnum.values()) {
+            if (typeEnum.getVal() == val) {
+                return typeEnum;
+            }
+        }
+        return other;
+    }
+
+    public static UploadVideoAuditStatusEnum from(String description) {
+        for (UploadVideoAuditStatusEnum typeEnum : UploadVideoAuditStatusEnum.values()) {
+            if (typeEnum.getDescription().equals(description)) {
+                return typeEnum;
+            }
+        }
+        return other;
+    }
+
+
+}

+ 1 - 1
api-module/src/main/java/com/tzld/piaoquan/api/component/ManagerApiService.java → api-module/src/main/java/com/tzld/piaoquan/api/component/VideoApiService.java

@@ -11,7 +11,7 @@ import java.util.List;
 
 @Slf4j
 @Component
-public class ManagerApiService {
+public class VideoApiService {
 
     @Autowired
     private HttpPoolClient httpPoolClient;

+ 2 - 1
api-module/src/main/java/com/tzld/piaoquan/api/controller/contentplatform/ContentPlatformSettingController.java

@@ -6,6 +6,7 @@ import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformSettingServi
 import com.tzld.piaoquan.growth.common.common.base.CommonResponse;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 @RestController
@@ -18,7 +19,7 @@ public class ContentPlatformSettingController {
 
     @ApiOperation(value = "票圈账号绑定")
     @PostMapping(value = "/webLogin")
-    public CommonResponse<WxBaseUserInfoVO> wxLoginByWeb(@RequestBody WxWebLoginParam param) {
+    public CommonResponse<WxBaseUserInfoVO> wxLoginByWeb(@Validated WxWebLoginParam param) {
         return CommonResponse.success(service.wxLoginByWeb(param));
     }
 

+ 20 - 0
api-module/src/main/java/com/tzld/piaoquan/api/controller/contentplatform/ContentPlatformUploadContentController.java

@@ -1,5 +1,7 @@
 package com.tzld.piaoquan.api.controller.contentplatform;
 
+import com.tzld.piaoquan.api.annotation.JwtIgnore;
+import com.tzld.piaoquan.api.job.contentplatform.ContentPlatformVideoJob;
 import com.tzld.piaoquan.api.model.param.contentplatform.DeleteVideoParam;
 import com.tzld.piaoquan.api.model.param.contentplatform.PublishVideoParam;
 import com.tzld.piaoquan.api.model.param.contentplatform.UploadVideoListParam;
@@ -19,6 +21,8 @@ public class ContentPlatformUploadContentController {
 
     @Autowired
     ContentPlatformUploadContentService service;
+    @Autowired
+    ContentPlatformVideoJob job;
 
     @ApiOperation(value = "发布视频")
     @PostMapping("/publishVideo")
@@ -52,4 +56,20 @@ public class ContentPlatformUploadContentController {
         return CommonResponse.success(service.uploadVideoList(param));
     }
 
+    @JwtIgnore
+    @ApiOperation(value = "同步手动上传视频裂变分", hidden = true)
+    @GetMapping("/job/syncContentPlatformUploadVideoScoreJob")
+    public CommonResponse<Void> syncContentPlatformUploadVideoScoreJob() {
+        job.syncContentPlatformUploadVideoScoreJob(null);
+        return CommonResponse.success();
+    }
+
+    @JwtIgnore
+    @ApiOperation(value = "检查手动上传视频状态", hidden = true)
+    @GetMapping("/job/checkContentPlatformUploadVideoStatusJob")
+    public CommonResponse<Void> checkContentPlatformUploadVideoStatusJob() {
+        job.checkContentPlatformUploadVideoStatusJob(null);
+        return CommonResponse.success();
+    }
+
 }

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

@@ -124,4 +124,9 @@ public interface ContentPlatformPlanMapperExt {
                                                   @Param("offset") int offset,
                                                   @Param("pageSize") Integer pageSize,
                                                   @Param("sort") String sort);
+
+    void updateUploadVideoStatusWithOldStatus(@Param("videoId") Long videoId,
+                                              @Param("status") Integer status,
+                                              @Param("now") Long now);
+
 }

+ 57 - 0
api-module/src/main/java/com/tzld/piaoquan/api/job/contentplatform/ContentPlatformVideoJob.java

@@ -2,6 +2,7 @@ package com.tzld.piaoquan.api.job.contentplatform;
 
 import com.aliyun.odps.data.Record;
 import com.google.common.collect.Lists;
+import com.tzld.piaoquan.api.common.enums.contentplatform.UploadVideoAuditStatusEnum;
 import com.tzld.piaoquan.api.dao.mapper.contentplatform.*;
 import com.tzld.piaoquan.api.dao.mapper.contentplatform.ext.ContentPlatformPlanMapperExt;
 import com.tzld.piaoquan.api.model.po.contentplatform.*;
@@ -46,6 +47,9 @@ public class ContentPlatformVideoJob {
     @Autowired
     private MessageAttachmentService messageAttachmentService;
 
+    @Autowired
+    ContentPlatformUploadVideoMapper uploadVideoMapper;
+
     @Value("${video.agg.days:3}")
     private Integer videoAggDays;
 
@@ -325,6 +329,59 @@ public class ContentPlatformVideoJob {
         return videoDataStatMapper.selectByExample(example);
     }
 
+    @XxlJob("syncContentPlatformUploadVideoScoreJob")
+    public ReturnT<String> syncContentPlatformUploadVideoScoreJob(String param) {
+        String aggDt = DateUtil.getBeforeDayDateString("yyyyMMdd");
+        List<ContentPlatformVideoAgg> saveAggList = getVideoListByDt(aggDt);
+        Map<Long, ContentPlatformVideoAgg> videoIdMap = saveAggList.stream().collect(Collectors.toMap(ContentPlatformVideoAgg::getVideoId, o -> o));
+        List<ContentPlatformUploadVideo> uploadVideoList = getAllUploadVideo();
+        if (CollectionUtils.isNotEmpty(uploadVideoList)) {
+            for (ContentPlatformUploadVideo uploadVideo : uploadVideoList) {
+                ContentPlatformVideoAgg agg = videoIdMap.get(uploadVideo.getVideoId());
+                if (Objects.nonNull(agg)) {
+                    uploadVideo.setScore(agg.getScore());
+                    uploadVideoMapper.updateByPrimaryKeySelective(uploadVideo);
+                }
+            }
+        }
+        return ReturnT.SUCCESS;
+    }
+
+    private List<ContentPlatformUploadVideo> getAllUploadVideo() {
+        ContentPlatformUploadVideoExample example = new ContentPlatformUploadVideoExample();
+        example.createCriteria().andIsDeleteEqualTo(0);
+        return uploadVideoMapper.selectByExample(example);
+    }
+
+    @XxlJob("checkContentPlatformUploadVideoStatusJob")
+    public ReturnT<String> checkContentPlatformUploadVideoStatusJob(String param) {
+        List<ContentPlatformUploadVideo> uploadVideoList = getAllUploadVideo();
+        Long now = System.currentTimeMillis();
+        for (List<ContentPlatformUploadVideo> partition : Lists.partition(uploadVideoList, 20)) {
+            List<Long> videoIds = partition.stream().map(ContentPlatformUploadVideo::getVideoId).collect(Collectors.toList());
+            Map<Long, VideoDetail> videoDetailMap = messageAttachmentService.getVideoDetail(new HashSet<>(videoIds));
+            for (ContentPlatformUploadVideo video : partition) {
+                VideoDetail videoDetail = videoDetailMap.get(video.getVideoId());
+                if (videoDetail == null || videoDetail.getAuditStatus() != 5) {
+                    updateUploadVideoStatusWithOldStatus(video.getVideoId(), UploadVideoAuditStatusEnum.AUDIT_REJECT.getVal(), now);
+                }
+            }
+        }
+        // 检查视频是否违规
+        List<ContentPlatformIllegalVideo> illegalVideoList = getAllIllegalVideoList();
+        List<Long> illegalVideoIds = illegalVideoList.stream().map(ContentPlatformIllegalVideo::getVideoId).collect(Collectors.toList());
+        if (CollectionUtils.isNotEmpty(illegalVideoIds)) {
+            for (Long illegalVideoId : illegalVideoIds) {
+                updateUploadVideoStatusWithOldStatus(illegalVideoId, UploadVideoAuditStatusEnum.AUDIT_REJECT.getVal(), now);
+            }
+        }
+        return ReturnT.SUCCESS;
+    }
+
+    private void updateUploadVideoStatusWithOldStatus(Long videoId, Integer status, Long now) {
+        planMapperExt.updateUploadVideoStatusWithOldStatus(videoId, status, now);
+    }
+
 }
 
 

+ 196 - 0
api-module/src/main/java/com/tzld/piaoquan/api/model/param/contentplatform/VideoApiBaseParam.java

@@ -0,0 +1,196 @@
+package com.tzld.piaoquan.api.model.param.contentplatform;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class VideoApiBaseParam {
+
+	//用户登陆相关的参数
+	@ApiModelProperty(value = "公共参数-登录用户ID")
+	private Long loginUid;
+	@ApiModelProperty(value = "公共参数-token值")
+	private String token;
+
+	//APP相关的参数
+	@ApiModelProperty(value = "公共参数-版本号")
+	private Integer versionCode;
+	@ApiModelProperty(value = "公共参数-app发布版本")
+	private String versionName;
+	@ApiModelProperty(value = "公共参数-产品类型:0-VLOG,1-轻趣视频,2-搞笑视频,3-爱电影,4-爱生活,5-长视频,6-短视频,7-惊奇视频,8-PC端,9-票圈长视频APP,10-票圈长视频lite,11-票圈相册,12-H5,13-票圈视频APP,14-小程序极速版,15-闪音卡点APP,16-社区APP")
+	private Integer appType;
+	@ApiModelProperty(value = "公共参数-appid")
+	private String appId;
+
+	//手机设备信息相关的参数
+	@ApiModelProperty(value = "公共参数-手机设备的唯一码")
+	private String machineCode;
+	@ApiModelProperty(value = "公共参数-ios,android")
+	private String platform;
+	@ApiModelProperty(value = "公共参数-精确到ios,android的哪个版本")
+	private String system;
+	@ApiModelProperty(value = "公共参数-手机信息")
+	private String machineInfo;
+	@ApiModelProperty(value = "公共参数-网络类型")
+	private String networkType;
+	@ApiModelProperty(value = "公共参数-客户端ip")
+	private String clientIp;
+
+	//pageSource相关的参数
+	@ApiModelProperty(value = "公共参数-页面来源")
+	private String pageSource;
+	@ApiModelProperty(value = "公共参数-页面分类ID,只在首页分发列表中才有")
+	private Long pageCategoryId;
+	@ApiModelProperty(value = "公共参数-root页面来源")
+	private String rootPageSource;
+	@ApiModelProperty(value = "公共参数-root页面分类ID")
+	private Long rootPageCategoryId;
+	@ApiModelProperty(value = "公共参数-root页面时间戳")
+	private Long rootPageTimestamp;
+
+	//某次操作相关的参数
+	@ApiModelProperty(value = "公共参数-小程序打开类型")
+	private String openType;
+	@ApiModelProperty(value = "公共参数-前端请求时间")
+	private Long clientTimestamp;
+	@ApiModelProperty(value = "公共参数-sessionId")
+	private String sessionId;
+
+	//视频相关的参数
+	@ApiModelProperty(value = "公共参数-视频加载时长,毫秒")
+	private Long videoLoadTime;
+	@ApiModelProperty(value = "公共参数-视频事件发生的时间点,相对于视频时长,秒")
+	private Long videoEventTime;
+	@ApiModelProperty(value = "公共参数-videoPlayError事件,播放器返回的错误信息")
+	private String errorMsg;
+
+	//分享相关的参数
+	@ApiModelProperty(value = "公共参数-分享的深度")
+	private Integer shareDepth;
+	@ApiModelProperty(value = "公共参数-分享者手机设备的唯一码,只有在分享页才有")
+	private String shareMachineCode;
+	@ApiModelProperty(value = "公共参数-分享者uid,只有在分享页才有")
+	private Long shareUid;
+	@ApiModelProperty(value = "公共参数-是否为分享页标识,0:不是分享页,1:是分享页")
+	private Integer sharePageFlag;
+	@ApiModelProperty(value = "公共参数-分享按钮类型")
+	private Integer shareButtonType;
+	@ApiModelProperty(value = "公共参数-从哪个产品分享出来的")
+	private Integer shareAppType;
+
+	@ApiModelProperty(value = "公共参数-0 综合模块 1 feed流 ")
+	private String sharePageType;
+	@ApiModelProperty(value = "公共参数-分享页跳转")
+	private String videoShareJumpModel;
+	//推荐相关的参数
+	@ApiModelProperty(value = "公共参数-推荐来源 0 默认")
+	private Integer recommendSource = 0;
+
+	@ApiModelProperty(value = "公共参数-视频上报数据,使用后端返回的原样数据")
+	private String videoReportMeta;
+
+	@ApiModelProperty(value = "公共参数-事件ID")
+	private String eventId;
+	@ApiModelProperty(value = "公共参数-root事件ID")
+	private String rootEventId;
+
+	@ApiModelProperty(value = "公共参数-root分享页面类型")
+	private String rootSharePageType;
+	@ApiModelProperty(value = "公共参数-自动标志位类型")
+	private String autoType;
+	@ApiModelProperty(value = "公共参数-动作发生的页面位置")
+	private String actionPosition;
+
+	@ApiModelProperty(value = "公共参数-运营消息ID")
+	private String operationMsgId;
+	@ApiModelProperty(value = "公共参数-playId")
+	private String playId;
+	@ApiModelProperty(value = "公共参数-活动id")
+	private String activityId;
+
+	@ApiModelProperty(value = "公共参数-AB信息")
+	private String abInfoData;
+
+	// h5
+	@ApiModelProperty(value = "公共参数-h5分享id")
+	private String h5ShareId;
+	@ApiModelProperty(value = "公共参数-h5打开场景")
+	private String h5OpenFrom;
+	@ApiModelProperty(value = "公共参数-h5分享场景")
+	private String h5ShareFrom;
+	@ApiModelProperty(value = "公共参数-h5页面-小程序分享根源rootPageSource")
+	private String h5WxRootPageSource;
+
+	@ApiModelProperty(value = "公共参数-搜索上报")
+	private String searchActionCode;
+
+	@ApiModelProperty(value = "公共参数-AB的根实验集合")
+	private String rootEventIds;
+
+	@ApiModelProperty(value = "公共参数-returnId")
+	private String returnId;
+	@ApiModelProperty(value = "公共参数-viewId")
+	private String viewId;
+	@ApiModelProperty(value = "公共参数-shareId")
+	private String shareId;
+	@ApiModelProperty(value = "公共参数-subSessionId")
+	private String subSessionId;
+
+	@ApiModelProperty(value = "公共参数-headVideoId")
+	private String headVideoId;
+    @ApiModelProperty(value = "公共参数-推荐链路ID")
+    private String recommendId;
+	@ApiModelProperty(value = "公共参数-推荐日志对象")
+	private String recommendLogVO;
+
+	@ApiModelProperty(value = "公共参数-分享ID")
+	private String jumpHomeVideoId;
+	@ApiModelProperty(value = "公共参数-根分享ID")
+	private String rootJumpHomeVideoId;
+
+	@ApiModelProperty(value = "公共参数-小程序打开场景")
+	private Integer senceType=-1;
+	@ApiModelProperty(value = "公共参数-小程序打开场景 热启动")
+	private Integer hotSenceType;
+	@ApiModelProperty(value = "公共参数-rootMid")
+	private String rootMid;
+	@ApiModelProperty(value = "公共参数-渠道:yybstore xmstore hwstore oppostore vivostore sougou bdstore mzstore store360 douyin kuaishou")
+	private String appChannel;
+	//	@ApiModelProperty(value = "微信AB实验参数 例如:22031801")
+//	private String wechatAbcode;
+	@ApiModelProperty(value = "通过微信实验分流获取到的对应数据")
+    private String abExpInfo; //Map<String, List<AbExpItemDTO>>
+    @ApiModelProperty(value = "H5")
+    private Long adBlockVideoId;
+
+    private Boolean showDistribute;
+
+    private Boolean showShare;
+
+    private Boolean showFocusExp;
+
+    private Boolean isFirstPageOrFirstPageFeed;
+
+	private String newExpGroup;
+
+	private Boolean isTest;
+	/**
+	 * 代表用户来自哪个外部来源,包括:公众号文章、投流等等,
+	 */
+	private String rootSourceId;
+	/**
+	 * 代表一个通过分享卡片进入的用户,他最初来自哪个用户mid的分享
+	 */
+	private String rootShareMid;
+	/**
+	 * 代表一个通过分享卡片进入的用户,他最初来自哪个用户mid的哪次冷启动sessionId的分享
+	 */
+	private String rootSessionId;
+
+	private String rootShareId;
+	/**
+	 * 微信群ID
+	 */
+	private String openGId;
+
+}

+ 1 - 1
api-module/src/main/java/com/tzld/piaoquan/api/model/param/contentplatform/WxWebLoginParam.java

@@ -5,7 +5,7 @@ import lombok.Data;
 import org.hibernate.validator.constraints.NotBlank;
 
 @Data
-public class WxWebLoginParam {
+public class WxWebLoginParam extends VideoApiBaseParam {
 
     @ApiModelProperty(value = "code")
     @NotBlank(message = "code不能为空")

+ 11 - 0
api-module/src/main/java/com/tzld/piaoquan/api/model/po/contentplatform/ContentPlatformUploadVideo.java

@@ -15,6 +15,8 @@ public class ContentPlatformUploadVideo {
 
     private String auditReason;
 
+    private Double score;
+
     private Integer isDelete;
 
     private Long createAccountId;
@@ -79,6 +81,14 @@ public class ContentPlatformUploadVideo {
         this.auditReason = auditReason;
     }
 
+    public Double getScore() {
+        return score;
+    }
+
+    public void setScore(Double score) {
+        this.score = score;
+    }
+
     public Integer getIsDelete() {
         return isDelete;
     }
@@ -124,6 +134,7 @@ public class ContentPlatformUploadVideo {
         sb.append(", video=").append(video);
         sb.append(", auditStatus=").append(auditStatus);
         sb.append(", auditReason=").append(auditReason);
+        sb.append(", score=").append(score);
         sb.append(", isDelete=").append(isDelete);
         sb.append(", createAccountId=").append(createAccountId);
         sb.append(", createTimestamp=").append(createTimestamp);

+ 60 - 0
api-module/src/main/java/com/tzld/piaoquan/api/model/po/contentplatform/ContentPlatformUploadVideoExample.java

@@ -575,6 +575,66 @@ public class ContentPlatformUploadVideoExample {
             return (Criteria) this;
         }
 
+        public Criteria andScoreIsNull() {
+            addCriterion("score is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andScoreIsNotNull() {
+            addCriterion("score is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andScoreEqualTo(Double value) {
+            addCriterion("score =", value, "score");
+            return (Criteria) this;
+        }
+
+        public Criteria andScoreNotEqualTo(Double value) {
+            addCriterion("score <>", value, "score");
+            return (Criteria) this;
+        }
+
+        public Criteria andScoreGreaterThan(Double value) {
+            addCriterion("score >", value, "score");
+            return (Criteria) this;
+        }
+
+        public Criteria andScoreGreaterThanOrEqualTo(Double value) {
+            addCriterion("score >=", value, "score");
+            return (Criteria) this;
+        }
+
+        public Criteria andScoreLessThan(Double value) {
+            addCriterion("score <", value, "score");
+            return (Criteria) this;
+        }
+
+        public Criteria andScoreLessThanOrEqualTo(Double value) {
+            addCriterion("score <=", value, "score");
+            return (Criteria) this;
+        }
+
+        public Criteria andScoreIn(List<Double> values) {
+            addCriterion("score in", values, "score");
+            return (Criteria) this;
+        }
+
+        public Criteria andScoreNotIn(List<Double> values) {
+            addCriterion("score not in", values, "score");
+            return (Criteria) this;
+        }
+
+        public Criteria andScoreBetween(Double value1, Double value2) {
+            addCriterion("score between", value1, value2, "score");
+            return (Criteria) this;
+        }
+
+        public Criteria andScoreNotBetween(Double value1, Double value2) {
+            addCriterion("score not between", value1, value2, "score");
+            return (Criteria) this;
+        }
+
         public Criteria andIsDeleteIsNull() {
             addCriterion("is_delete is null");
             return (Criteria) this;

+ 2 - 3
api-module/src/main/java/com/tzld/piaoquan/api/service/contentplatform/impl/ContentPlatformPlanServiceImpl.java

@@ -78,7 +78,7 @@ public class ContentPlatformPlanServiceImpl implements ContentPlatformPlanServic
     @Autowired
     private AigcApiService aigcApiService;
     @Autowired
-    private ManagerApiService managerApiService;
+    private VideoApiService videoApiService;
     @Autowired
     private MessageAttachmentService messageAttachmentService;
     @Autowired
@@ -587,7 +587,6 @@ public class ContentPlatformPlanServiceImpl implements ContentPlatformPlanServic
             result.setObjs(new ArrayList<>());
             return result;
         }
-        // todo video.score
         String sort = getVideoContentListSort(param.getSort());
         String type = getVideoContentListType(param.getType());
         String channel = getVideoContentListChannel(param.getSort(), user.getChannel());
@@ -606,7 +605,7 @@ public class ContentPlatformPlanServiceImpl implements ContentPlatformPlanServic
 
     @Override
     public List<String> getVideoContentCoverFrameList(VideoContentCoverFrameParam param) {
-        return managerApiService.getCoverImagePaths(param.getVideoId());
+        return videoApiService.getCoverImagePaths(param.getVideoId());
     }
 
     @Override

+ 3 - 0
api-module/src/main/java/com/tzld/piaoquan/api/service/contentplatform/impl/ContentPlatformSettingServiceImpl.java

@@ -1,5 +1,6 @@
 package com.tzld.piaoquan.api.service.contentplatform.impl;
 
+import com.tzld.piaoquan.api.component.VideoApiService;
 import com.tzld.piaoquan.api.dao.mapper.contentplatform.ContentPlatformPqAccountRelMapper;
 import com.tzld.piaoquan.api.model.config.LoginUserContext;
 import com.tzld.piaoquan.api.model.param.contentplatform.WxWebLoginParam;
@@ -23,6 +24,8 @@ public class ContentPlatformSettingServiceImpl implements ContentPlatformSetting
 
     @Autowired
     private ContentPlatformPqAccountRelMapper pqAccountRelMapper;
+    @Autowired
+    VideoApiService videoApiService;
 
     @Override
     public WxBaseUserInfoVO wxLoginByWeb(WxWebLoginParam param) {

+ 8 - 5
api-module/src/main/java/com/tzld/piaoquan/api/service/contentplatform/impl/ContentPlatformUploadContentServiceImpl.java

@@ -1,5 +1,7 @@
 package com.tzld.piaoquan.api.service.contentplatform.impl;
 
+import com.tzld.piaoquan.api.common.enums.contentplatform.UploadVideoAuditStatusEnum;
+import com.tzld.piaoquan.api.component.VideoApiService;
 import com.tzld.piaoquan.api.dao.mapper.contentplatform.ContentPlatformUploadVideoMapper;
 import com.tzld.piaoquan.api.model.config.LoginUserContext;
 import com.tzld.piaoquan.api.model.param.contentplatform.DeleteVideoParam;
@@ -28,6 +30,8 @@ public class ContentPlatformUploadContentServiceImpl implements ContentPlatformU
 
     @Autowired
     ContentPlatformUploadVideoMapper uploadVideoMapper;
+    @Autowired
+    VideoApiService videoApiService;
 
     @Override
     public UploadVideoItemVO publishVideo(PublishVideoParam param) {
@@ -39,7 +43,7 @@ public class ContentPlatformUploadContentServiceImpl implements ContentPlatformU
         uploadVideo.setTitle(param.getTitle());
         uploadVideo.setCover(param.getCoverUrl());
         uploadVideo.setVideo(param.getVideoUrl());
-        uploadVideo.setAuditStatus(0);
+        uploadVideo.setAuditStatus(UploadVideoAuditStatusEnum.WAIT_AUDIT.getVal());
         uploadVideo.setCreateAccountId(user.getId());
         uploadVideo.setCreateTimestamp(System.currentTimeMillis());
         uploadVideo.setUpdateTimestamp(System.currentTimeMillis());
@@ -56,7 +60,7 @@ public class ContentPlatformUploadContentServiceImpl implements ContentPlatformU
         uploadVideo.setTitle(param.getTitle());
         uploadVideo.setCover(param.getCoverUrl());
         uploadVideo.setVideo(param.getVideoUrl());
-        uploadVideo.setAuditStatus(1);
+        uploadVideo.setAuditStatus(UploadVideoAuditStatusEnum.AUDITING.getVal());
         uploadVideo.setUpdateTimestamp(System.currentTimeMillis());
         uploadVideoMapper.updateByPrimaryKeySelective(uploadVideo);
         // todo 调用修改视频接口
@@ -103,14 +107,13 @@ public class ContentPlatformUploadContentServiceImpl implements ContentPlatformU
     public Page<UploadVideoItemVO> uploadVideoList(UploadVideoListParam param) {
         ContentPlatformAccount user = LoginUserContext.getUser();
         Page<UploadVideoItemVO> result = new Page<>(param.getPageNum(), param.getPageSize());
-        int offset = (param.getPageNum() - 1) * param.getPageSize();
         Long count = getUploadVideoCount(param, user.getId());
         result.setTotalSize(count.intValue());
         if (count == 0) {
             result.setObjs(new ArrayList<>());
             return result;
         }
-        List<ContentPlatformUploadVideo> videoList = getUploadVideoList(param, user.getId(), offset, param.getPageSize());
+        List<ContentPlatformUploadVideo> videoList = getUploadVideoList(param, user.getId());
         List<UploadVideoItemVO> list = buildUploadVideoItemVOList(videoList);
         result.setObjs(list);
         return result;
@@ -130,7 +133,7 @@ public class ContentPlatformUploadContentServiceImpl implements ContentPlatformU
         return uploadVideoMapper.countByExample(example);
     }
 
-    private List<ContentPlatformUploadVideo> getUploadVideoList(UploadVideoListParam param, Long id, int offset, Integer pageSize) {
+    private List<ContentPlatformUploadVideo> getUploadVideoList(UploadVideoListParam param, Long id) {
         ContentPlatformUploadVideoExample example = new ContentPlatformUploadVideoExample();
         ContentPlatformUploadVideoExample.Criteria criteria = example.createCriteria();
         if (param.getAuditStatus() != null) {

+ 23 - 6
api-module/src/main/resources/mapper/contentplatform/ContentPlatformUploadVideoMapper.xml

@@ -9,6 +9,7 @@
     <result column="video" jdbcType="VARCHAR" property="video" />
     <result column="audit_status" jdbcType="INTEGER" property="auditStatus" />
     <result column="audit_reason" jdbcType="VARCHAR" property="auditReason" />
+    <result column="score" jdbcType="DOUBLE" property="score" />
     <result column="is_delete" jdbcType="INTEGER" property="isDelete" />
     <result column="create_account_id" jdbcType="BIGINT" property="createAccountId" />
     <result column="create_timestamp" jdbcType="BIGINT" property="createTimestamp" />
@@ -73,8 +74,8 @@
     </where>
   </sql>
   <sql id="Base_Column_List">
-    id, video_id, title, cover, video, audit_status, audit_reason, is_delete, create_account_id, 
-    create_timestamp, update_timestamp
+    id, video_id, title, cover, video, audit_status, audit_reason, score, is_delete, 
+    create_account_id, create_timestamp, update_timestamp
   </sql>
   <select id="selectByExample" parameterType="com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformUploadVideoExample" resultMap="BaseResultMap">
     select
@@ -112,12 +113,14 @@
   <insert id="insert" parameterType="com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformUploadVideo">
     insert into content_platform_upload_video (id, video_id, title, 
       cover, video, audit_status, 
-      audit_reason, is_delete, create_account_id, 
-      create_timestamp, update_timestamp)
+      audit_reason, score, is_delete, 
+      create_account_id, create_timestamp, update_timestamp
+      )
     values (#{id,jdbcType=BIGINT}, #{videoId,jdbcType=BIGINT}, #{title,jdbcType=VARCHAR}, 
       #{cover,jdbcType=VARCHAR}, #{video,jdbcType=VARCHAR}, #{auditStatus,jdbcType=INTEGER}, 
-      #{auditReason,jdbcType=VARCHAR}, #{isDelete,jdbcType=INTEGER}, #{createAccountId,jdbcType=BIGINT}, 
-      #{createTimestamp,jdbcType=BIGINT}, #{updateTimestamp,jdbcType=BIGINT})
+      #{auditReason,jdbcType=VARCHAR}, #{score,jdbcType=DOUBLE}, #{isDelete,jdbcType=INTEGER}, 
+      #{createAccountId,jdbcType=BIGINT}, #{createTimestamp,jdbcType=BIGINT}, #{updateTimestamp,jdbcType=BIGINT}
+      )
   </insert>
   <insert id="insertSelective" parameterType="com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformUploadVideo">
     insert into content_platform_upload_video
@@ -143,6 +146,9 @@
       <if test="auditReason != null">
         audit_reason,
       </if>
+      <if test="score != null">
+        score,
+      </if>
       <if test="isDelete != null">
         is_delete,
       </if>
@@ -178,6 +184,9 @@
       <if test="auditReason != null">
         #{auditReason,jdbcType=VARCHAR},
       </if>
+      <if test="score != null">
+        #{score,jdbcType=DOUBLE},
+      </if>
       <if test="isDelete != null">
         #{isDelete,jdbcType=INTEGER},
       </if>
@@ -222,6 +231,9 @@
       <if test="record.auditReason != null">
         audit_reason = #{record.auditReason,jdbcType=VARCHAR},
       </if>
+      <if test="record.score != null">
+        score = #{record.score,jdbcType=DOUBLE},
+      </if>
       <if test="record.isDelete != null">
         is_delete = #{record.isDelete,jdbcType=INTEGER},
       </if>
@@ -248,6 +260,7 @@
       video = #{record.video,jdbcType=VARCHAR},
       audit_status = #{record.auditStatus,jdbcType=INTEGER},
       audit_reason = #{record.auditReason,jdbcType=VARCHAR},
+      score = #{record.score,jdbcType=DOUBLE},
       is_delete = #{record.isDelete,jdbcType=INTEGER},
       create_account_id = #{record.createAccountId,jdbcType=BIGINT},
       create_timestamp = #{record.createTimestamp,jdbcType=BIGINT},
@@ -277,6 +290,9 @@
       <if test="auditReason != null">
         audit_reason = #{auditReason,jdbcType=VARCHAR},
       </if>
+      <if test="score != null">
+        score = #{score,jdbcType=DOUBLE},
+      </if>
       <if test="isDelete != null">
         is_delete = #{isDelete,jdbcType=INTEGER},
       </if>
@@ -300,6 +316,7 @@
       video = #{video,jdbcType=VARCHAR},
       audit_status = #{auditStatus,jdbcType=INTEGER},
       audit_reason = #{auditReason,jdbcType=VARCHAR},
+      score = #{score,jdbcType=DOUBLE},
       is_delete = #{isDelete,jdbcType=INTEGER},
       create_account_id = #{createAccountId,jdbcType=BIGINT},
       create_timestamp = #{createTimestamp,jdbcType=BIGINT},

+ 9 - 2
api-module/src/main/resources/mapper/contentplatform/ext/ContentPlatformPlanMapperExt.xml

@@ -373,7 +373,7 @@
     <select id="getUploadVideoCount" resultType="java.lang.Integer">
         select count(1)
         from content_platform_upload_video
-        where audit_status = 2 and create_account_id = #{createAccountId}
+        where audit_status = 2 and create_account_id = #{createAccountId} and is_delete = 0
         <if test="param.title!= null and param.title!= ''">
             and title like concat('%', #{param.title}, '%')
         </if>
@@ -385,7 +385,7 @@
         from content_platform_upload_video video
         left join content_platform_video_datastat_agg datastat
         on datastat.dt = #{datastatDt} and datastat.type = #{type} and datastat.channel = #{channel} and datastat.video_id = video.video_id
-        where audit_status = 2 and create_account_id = #{createAccountId}
+        where video.audit_status = 2 and video.create_account_id = #{createAccountId} and video.is_delete = 0
         <if test="param.title!= null and param.title!= ''">
             and video.title like concat('%', #{param.title}, '%')
         </if>
@@ -393,5 +393,12 @@
         limit #{offset}, #{pageSize}
     </select>
 
+    <update id="updateUploadVideoStatusWithOldStatus">
+        update content_platform_upload_video
+        set audit_status = #{status},
+            update_timestamp = #{now}
+        where video_id = #{videoId}
+    </update>
+
 
 </mapper>