فهرست منبع

Merge remote-tracking branch 'origin/V1.1.2' into V1.1.2

syh 4 سال پیش
والد
کامیت
55fad8766b

+ 18 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialCutFrameController.java

@@ -8,6 +8,8 @@ import cn.com.ctop.common.module.service.IMaterialCutFrameService;
 import cn.com.ctop.common.module.service.IMaterialCutFrameTaskService;
 import cn.com.ctop.common.module.service.IMaterialInfoService;
 import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouVideoGet;
+import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouVideoGetService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -44,6 +46,8 @@ public class MaterialCutFrameController {
     private IMaterialInfoService materialInfoService;
     @Autowired
     private IMaterialCutFrameTaskService materialCutFrameTaskServiceTask;
+    @Autowired
+    private IKuaiShouVideoGetService videoGetService;
 
     /**
      * 分页列表查询
@@ -67,4 +71,18 @@ public class MaterialCutFrameController {
         result.setResult(pageList);
         return result;
     }
+
+    @AutoLog(value = "截屏-查询")
+    @ApiOperation(value = "截屏-查询", notes = "截屏-查询")
+    @GetMapping(value = "/queryByPhotoId")
+    public Result<Object> queryByPhotoId(Long photoId) {
+        try {
+            KuaiShouVideoGet videoGet = videoGetService.getVideoByPhotoId(photoId);
+            List<MaterialCutFrame> list = materialCutFrameService.getListByVideoSignature(videoGet.getSignature());
+            return Result.ok(list);
+        } catch (Exception e) {
+            log.error("queryByPhotoId error", e);
+            return Result.error(e.getMessage());
+        }
+    }
 }

+ 6 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/controller/PlatformMaterialCtrl.java

@@ -12,6 +12,7 @@ import org.jeecg.modules.orderplatform.service.IPlatformMaterialService;
 import org.jeecg.modules.orderplatform.service.IPlatformOrderService;
 import org.jeecg.modules.orderplatform.util.ApprovalNodeNoticeHandler;
 import org.jeecg.modules.orderplatform.util.DictHandler;
+import org.jeecg.modules.orderplatform.util.NewAndOldInteract;
 import org.jeecg.modules.orderplatform.util.OperateRecordHandler;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -43,6 +44,9 @@ public class PlatformMaterialCtrl {
     @Autowired
     private DictHandler dictHandler;
 
+    @Autowired
+    private NewAndOldInteract  newAndOldInteract;
+
     /**
      * 根据orderCode查询关联物料
      */
@@ -199,6 +203,8 @@ public class PlatformMaterialCtrl {
             if (order) {
                 operateRecordHandler.Approval(platformMaterial.getMaterialCode(), "ACCEPT_VIDEO");
                 approvalNodeNoticeHandler.NOTICE_WE_CHAT_MATERIAL("ACCEPT_VIDEO",platformMaterial.getMaterialCode());
+                //todo new->old
+                newAndOldInteract.NEW_2_OLD(platformMaterial.getVideoId());
                 result.success("视频审核通过!");
             }
         } else {

+ 10 - 11
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/mapper/xml/PlatformScriptMapper.xml

@@ -4,18 +4,17 @@
 
     <select id="pageQuery" resultType="com.alibaba.fastjson.JSONObject">
         SELECT
-            t1.id,
-            t1.`name`,
-            t1.size,
-            t1.create_time,
-            FROM_UNIXTIME(CAST(t1.create_time/1000 AS INT)) as createTime,
-            (SELECT realname from sys_user where id=t1.creator limit 1) as creatorName,
-            (SELECT project_name from ctop_project where id=t1.project_id limit 1) as projectName,
-            t2.material_name as materialName
-
+        t1.id,
+        t1.`name`,
+        t1.size,
+        t1.create_time,
+        FROM_UNIXTIME(ROUND((t1.create_time/1000),0)) as createTime,
+        (SELECT realname from sys_user where id=t1.creator limit 1) as creatorName,
+        (SELECT project_name from ctop_project where id=t1.project_id limit 1) as projectName,
+        t2.material_name as materialName
         FROM
-            ctop_platform_script t1
-                LEFT JOIN ctop_platform_material t2 ON t1.id = t2.script_id
+        ctop_platform_script t1
+        LEFT JOIN ctop_platform_material t2 ON t1.id = t2.script_id
         where t2.material_code is not null
         <if test="projectId != null">
             AND t1.project_id= #{projectId}

+ 3 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/util/ApprovalNodeNoticeHandler.java

@@ -93,7 +93,7 @@ public class ApprovalNodeNoticeHandler {
             //订单完结
             case "ORDER_END":
                 sendWeChat(orderRelatePerson.getString("design"),
-                        String.format("您的订单“%s”物料已全部制作完成,订单已被系统自动完结\n 订单ID:%s\n操作人:%s",
+                        String.format("您的订单“%s”物料已全部制作完成,订单已被系统自动完结\n 订单ID:%s\n审核人:%s",
                                 orderRelatePerson.getString("orderTitle"),
                                 orderRelatePerson.getLong("orderId"),
                                 orderRelatePerson.getString("operatorName")));
@@ -102,7 +102,7 @@ public class ApprovalNodeNoticeHandler {
             //脚本上传成功,通知运营审核
             case "SCRIPT":
                 sendWeChat(materialRelatePerson.getString("operator"),
-                        String.format("您的订单“%s”收到一条新的脚本,请及时审核!\n 订单ID:%s\n操作人:%s",
+                        String.format("您的订单“%s”收到一条新的脚本,请及时审核!\n 订单ID:%s\n上传人:%s",
                                 materialRelatePerson.getString("orderTitle"),
                                 materialRelatePerson.getLong("orderId"),
                                 materialRelatePerson.getString("planName")));
@@ -111,7 +111,7 @@ public class ApprovalNodeNoticeHandler {
             //视频上传成功,通知运营审核
             case "VIDEO":
                 sendWeChat(materialRelatePerson.getString("operator"),
-                        String.format("您的订单“%s”收到一条新的视频,请及时审核!\n 订单ID:%s\n操作人:%s",
+                        String.format("您的订单“%s”收到一条新的视频,请及时审核!\n 订单ID:%s\n上传人:%s",
                                 materialRelatePerson.getString("orderTitle"),
                                 materialRelatePerson.getLong("orderId"),
                                 materialRelatePerson.getString("clipName")));

+ 78 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/util/NewAndOldInteract.java

@@ -0,0 +1,78 @@
+package org.jeecg.modules.orderplatform.util;
+
+import cn.com.ctop.common.module.entity.MaterialAscription;
+import cn.com.ctop.common.module.entity.MaterialCutFrame;
+import cn.com.ctop.common.module.entity.MaterialInfo;
+import cn.com.ctop.common.module.entity.MaterialParameter;
+import cn.com.ctop.common.module.material.mapper.MaterialVideoInfoMapper;
+import cn.com.ctop.common.module.service.IMaterialAscriptionService;
+import cn.com.ctop.common.module.service.IMaterialCutFrameService;
+import cn.com.ctop.common.module.service.IMaterialInfoService;
+import cn.com.ctop.common.module.service.IMaterialParameterService;
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Slf4j
+@Component
+public class NewAndOldInteract {
+
+    @Autowired
+    private MaterialVideoInfoMapper materialVideoInfoMapper;
+
+    @Autowired
+    private IMaterialInfoService materialInfoService;
+
+    @Autowired
+    private IMaterialAscriptionService materialAscriptionService;
+
+    @Autowired
+    private IMaterialCutFrameService materialCutFrameService;
+
+    @Autowired
+    private IMaterialParameterService materialParameterService;
+
+    /**
+     *  根据视频Md5从新版素材库中查询老版需要的数据做insert
+     */
+    public boolean NEW_2_OLD(String md5){
+
+        try{
+            JSONObject materialInfoNew = materialVideoInfoMapper.joinMaterialInfo(md5);
+
+            if(null!=materialInfoNew&&!materialInfoNew.isEmpty()){
+                MaterialInfo materialInfoOld = JSONObject.toJavaObject(materialInfoNew,MaterialInfo.class);
+                materialInfoService.save(materialInfoOld);
+            }
+            JSONObject materialAscriptionNew = materialVideoInfoMapper.joinMaterialAscription(md5);
+
+            if(null!=materialAscriptionNew&&!materialAscriptionNew.isEmpty()){
+                MaterialAscription materialAscriptionOld = JSONObject.toJavaObject(materialAscriptionNew,MaterialAscription.class);
+                materialAscriptionService.save(materialAscriptionOld);
+            }
+
+            JSONObject materialParameterNew = materialVideoInfoMapper.joinMaterialParameter(md5);
+
+            if(null!=materialParameterNew&&!materialParameterNew.isEmpty()){
+                MaterialParameter materialParameterOld = JSONObject.toJavaObject(materialParameterNew,MaterialParameter.class);
+                materialParameterService.save(materialParameterOld);
+            }
+
+            List<JSONObject> materialCutFrameNew = materialVideoInfoMapper.joinMaterialCutFrame(md5);
+
+            if(null!=materialCutFrameNew&&!materialCutFrameNew.isEmpty()){
+                materialCutFrameNew.forEach(it->{
+                    MaterialCutFrame materialCutFrameOld = JSONObject.toJavaObject(it,MaterialCutFrame.class);
+                    materialCutFrameService.save(materialCutFrameOld);
+                });
+            }
+        }catch (Exception e){
+            log.error(e.getMessage());
+            return false;
+        }
+        return true;
+    }
+}

+ 11 - 0
module-common/src/main/java/cn/com/ctop/common/module/material/mapper/MaterialVideoInfoMapper.java

@@ -1,9 +1,12 @@
 package cn.com.ctop.common.module.material.mapper;
 
 import cn.com.ctop.common.module.material.entity.MaterialVideoInfo;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * 视频素材基础信息
  */
@@ -11,4 +14,12 @@ public interface MaterialVideoInfoMapper extends BaseMapper<MaterialVideoInfo> {
 
     void deleteByMd5(@Param("md5") String md5);
 
+    JSONObject joinMaterialInfo(@Param("md5") String md5);
+
+    JSONObject joinMaterialAscription(@Param("md5") String md5);
+
+    List<JSONObject> joinMaterialCutFrame(@Param("md5") String md5);
+
+    JSONObject joinMaterialParameter(@Param("md5") String md5);
+
 }

+ 64 - 0
module-common/src/main/java/cn/com/ctop/common/module/material/mapper/xml/MaterialVideoInfoMapper.xml

@@ -5,4 +5,68 @@
     <delete id="deleteByMd5" >
         delete from ctop_material_video_info where md5=#{md5}
     </delete>
+
+    <select id="joinMaterialInfo" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+            CONCAT(t1.md5, t2.project_id) AS id,
+            t1.md5 as code,
+            t1.url,
+            t1.cover_url AS coverUrl,
+            t3.clip AS userId,
+            t1.description AS materialDescribe,
+            t2.project_id AS projectId,
+            'VIDEO' AS type,
+            t1.supplier_code as supplierCode
+        FROM
+            ctop_material_video_info t1
+                LEFT JOIN ctop_material_video_project t2 ON t1.md5 = t2.video_md5
+                LEFT JOIN ctop_platform_material t3 ON t1.md5 = t3.video_id
+        WHERE
+            t1.md5 = #{md5}
+        limit 1
+    </select>
+
+    <select id="joinMaterialAscription" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+            video_md5 as materialId,
+            clip_id as clipId,
+            clip_id as clipId,
+            clip_id as clipId,
+            video_md5 as code
+        FROM
+            ctop_material_video_author
+        WHERE
+            video_md5 = #{md5}
+        limit 1
+    </select>
+
+    <select id="joinMaterialCutFrame" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+            video_md5 as videoSignature,
+            md5 as signature,
+            url,
+            frame_index as imageIndex,
+            create_time as createTime
+        FROM
+            ctop_material_video_frame
+        WHERE
+            video_md5 = #{md5}
+    </select>
+
+    <select id="joinMaterialParameter" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+            md5 as materialId,
+            duration as 'second',
+            format,
+            width,
+            height,
+            ROUND(size/1000000,2) as size,
+            create_time as createTime
+        FROM
+            ctop_material_video_info
+        WHERE
+            md5 = #{md5}
+        limit 1
+    </select>
+
 </mapper>

+ 1 - 1
module-common/src/main/java/cn/com/ctop/common/module/material/service/IMaterialVideoInfoService.java

@@ -1,6 +1,7 @@
 package cn.com.ctop.common.module.material.service;
 
 import cn.com.ctop.common.module.material.entity.MaterialVideoInfo;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**
@@ -9,5 +10,4 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface IMaterialVideoInfoService extends IService<MaterialVideoInfo> {
 
     void deleteByMd5(String md5);
-
 }

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/material/service/impl/MaterialVideoInfoServiceImpl.java

@@ -3,6 +3,7 @@ package cn.com.ctop.common.module.material.service.impl;
 import cn.com.ctop.common.module.material.entity.MaterialVideoInfo;
 import cn.com.ctop.common.module.material.mapper.MaterialVideoInfoMapper;
 import cn.com.ctop.common.module.material.service.IMaterialVideoInfoService;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -20,4 +21,5 @@ public class MaterialVideoInfoServiceImpl extends ServiceImpl<MaterialVideoInfoM
     public void deleteByMd5(String md5) {
         materialVideoInfoMapper.deleteByMd5(md5);
     }
+
 }

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/xml/KuaishouStrategyMapper.xml

@@ -12,7 +12,7 @@
     </select>
 
     <select id="queryActiveAccount" resultType="java.lang.Long">
-        SELECT account_id FROM ctop_ai_kuaishou_auto_creative_account_info
+        SELECT account_id FROM ctop_ai_kuaishou_advertiser_strategy
         WHERE status = 1
         GROUP BY account_id
     </select>