فهرست منبع

fix of 下单制2.0 on 2021.1.22

jiequan.bi 4 سال پیش
والد
کامیت
85b22f04c3

+ 8 - 46
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/controller/PlatformFileCtrl.java

@@ -2,18 +2,15 @@ package org.jeecg.modules.orderplatform.controller;
 
 import cn.com.ctop.common.module.utils.CosUtils;
 import com.alibaba.fastjson.JSONObject;
-import com.xxl.job.core.biz.model.ReturnT;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.modules.orderplatform.entity.PlatformMaterial;
+import org.jeecg.modules.orderplatform.entity.PlatformScript;
 import org.jeecg.modules.orderplatform.service.IPlatformMaterialService;
+import org.jeecg.modules.orderplatform.service.IPlatformScriptService;
 import org.jeecg.modules.orderplatform.service.IPlatformVideoService;
 import org.jeecg.modules.orderplatform.util.OperateRecordHandler;
-import org.jeecg.modules.wps.entity.WpsFile;
-import org.jeecg.modules.wps.service.IWpsFileService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -35,7 +32,7 @@ public class PlatformFileCtrl {
     private IPlatformVideoService platformVideoService;
 
     @Autowired
-    private IWpsFileService wpsFileService;
+    private IPlatformScriptService platformScriptService;
 
     @Autowired
     private IPlatformMaterialService platformMaterialService;
@@ -79,10 +76,9 @@ public class PlatformFileCtrl {
                                        @RequestParam("projectId") Long projectId) {
         Result<Object> result = new Result<>();
         try {
-            LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
             // 脚本上传成功需要返回脚本id,更新物料表,更新完成后去更新脚本库的绑定项目
-            WpsFile wpsFile = wpsFileService.uploadFile(file, user.getId());
-            if (null == wpsFile) {
+            PlatformScript script = platformScriptService.saveScript(file);
+            if (null == script) {
                 result.error500("脚本上传失败");
                 return result;
             }
@@ -91,14 +87,12 @@ public class PlatformFileCtrl {
             platformMaterial.setId(materialId);
             platformMaterial.setMaterialStatus(2);
             platformMaterial.setScriptStatus(1);
-            platformMaterial.setScriptId(wpsFile.getId());
+            platformMaterial.setScriptId(script.getId());
             boolean save = platformMaterialService.updateById(platformMaterial);
             if (save) {
                 // 更新脚本库的绑定项目
-                wpsFile.setProjectId(projectId);
-                //  Todo 暂时兼容题库
-                wpsFile.setIsScript(0);
-                wpsFileService.updateById(wpsFile);
+                script.setProjectId(projectId);
+                platformScriptService.updateById(script);
                 operateRecordHandler.Submit(platformMaterialService.getById(materialId).getMaterialCode(), "SCRIPT");
             }
         } catch (Exception e) {
@@ -107,38 +101,6 @@ public class PlatformFileCtrl {
         return result;
     }
 
-    /**
-     * 剪辑上传视频
-     * Todo 在下单制正式上线后,这个接口会改造
-     */
-/*    @PostMapping("/uploadVideo")
-    public Result<Object> uploadVideoOld(@RequestBody JSONObject requestBody) {
-        Result<Object> result = new Result<>();
-        String videoId = materialInfoService.platformUploadVideo(requestBody);
-        if (videoId.isEmpty()) {
-            result.error500("同步素材库失败,请联系管理员");
-        } else {
-            //物料状态->视频已上传,待审核
-            PlatformMaterial platformMaterial = new PlatformMaterial();
-            platformMaterial.setId(requestBody.getLong("materialId"));
-            platformMaterial.setMaterialStatus(5);
-            platformMaterial.setVideoStatus(1);
-            platformMaterial.setVideoId(videoId);
-            boolean save = platformMaterialService.updateById(platformMaterial);
-            if (save) {
-                operateRecordHandler.Submit(platformMaterialService.getById(requestBody.getString("materialId")).getMaterialCode(), "VIDEO");
-                result.success("同步素材库成功");
-            }
-        }
-        return result;
-    }*/
-
-    /*
-     * 改造上传视频接口,视频上传后会存在下单制视频列表,审核通过后会被写入汇创思拓素材库ctop_material_video_info
-     * 下单制视频列表不会有删除操作,被驳回后标记逻辑删除
-     *  审批通过后视频关联信息被写入ctop_material_video_project、ctop_material_video_author、ctop_material_video_frame
-     *  ctop_material_video_cover、ctop_material_video_tag、ctop_material_video_watermark
-     */
     @PostMapping("/uploadVideo")
     public Result<Object> uploadVideo(@RequestBody JSONObject requestBody){
         Result<Object> result = new Result<>();

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/controller/PlatformScriptController.java

@@ -19,7 +19,7 @@ import java.util.Arrays;
  */
 @Slf4j
 @RestController
-@RequestMapping("/com.cn/platformScript")
+@RequestMapping("/platformScript")
 public class PlatformScriptController {
 	@Autowired
 	private IPlatformScriptService platformScriptService;

+ 20 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/entity/PlatformScript.java

@@ -14,7 +14,7 @@ import lombok.Data;
 public class PlatformScript {
     
 	/**id*/
-	@TableId(type = IdType.AUTO)
+	@TableId(type = IdType.UUID)
 	private String id;
 	/**name*/
 	private String name;
@@ -25,17 +25,33 @@ public class PlatformScript {
 	/**creator*/
 	private String creator;
 	/**createTime*/
-	private Integer createTime;
+	private long createTime;
 	/**modifier*/
 	private String modifier;
 	/**modifyTime*/
-	private Integer modifyTime;
+	private long modifyTime;
 	/**downloadUrl*/
 	private Object downloadUrl;
 	/**projectId*/
-	private Integer projectId;
+	private Long projectId;
 	/**deleted*/
 	private String deleted;
 	/**canDelete*/
 	private String canDelete;
+
+	public PlatformScript(){super();}
+
+	public PlatformScript(String name, int version, int size, String creator,
+				   String modifier, long createTime, long modifyTime, String downloadUrl) {
+		this.name = name;
+		this.version = version;
+		this.size = size;
+		this.creator = creator;
+		this.modifier = modifier;
+		this.createTime = createTime;
+		this.modifyTime = modifyTime;
+		this.downloadUrl = downloadUrl;
+		this.deleted = "N";
+		this.canDelete = "Y";
+	}
 }

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/mapper/PlatformMaterialMapper.java

@@ -29,7 +29,7 @@ public interface PlatformMaterialMapper extends BaseMapper<PlatformMaterial> {
 
     PlatformMaterial queryByCode(@Param("materialCode") String materialCode);
 
-    int queryCountByMaterialAndVideo(@Param("materialCode") String materialCode,@Param("videoMd5") String videoMd5);
+    int queryCountByMaterialAndVideo(@Param("materialCode") String materialCode, @Param("videoMd5") String videoMd5);
 
     //查询物料相关人员
     JSONObject queryMaterialRelatePersonByMaterialCode(@Param("materialCode") String materialCode);

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/mapper/PlatformVideoMapper.java

@@ -9,6 +9,6 @@ import org.jeecg.modules.orderplatform.entity.PlatformVideo;
  */
 public interface PlatformVideoMapper extends BaseMapper<PlatformVideo> {
 
-    int deleteByMd5(@Param("md5") String  md5);
+    int deleteByMd5(@Param("md5") String md5);
 
 }

+ 4 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/mapper/xml/PlatformMaterialMapper.xml

@@ -138,7 +138,7 @@
             t2.download_url as url
         FROM
             ctop_platform_material t1
-            LEFT JOIN wps_file t2 ON t1.script_id = t2.id
+            LEFT JOIN ctop_platform_script t2 ON t1.script_id = t2.id
         where t2.id=#{scriptId}
     </select>
 
@@ -195,7 +195,7 @@
             t1.shot,
             t1.clip,
             t2.design,
-            t2.create_by as operator,
+            t2.operator,
             (SELECT realname from sys_user where id=t1.clip limit 1) as clipName,
             (SELECT realname from sys_user where id=t1.shot limit 1) as shotName,
             (SELECT realname from sys_user where id=t1.plan limit 1) as planName,
@@ -206,7 +206,7 @@
         FROM
             ctop_platform_material t1
                 LEFT JOIN ctop_platform_order t2 ON t1.order_code = t2.order_code
-                LEFT JOIN wps_file t3 ON t1.script_id = t3.id
+                LEFT JOIN ctop_platform_script t3 ON t1.script_id = t3.id
                 LEFT JOIN ctop_platform_video t4 ON t1.video_id = t4.md5
         where t1.material_code=#{materialCode}
     </select>
@@ -224,4 +224,4 @@
         WHERE
             order_code = #{orderCode}
     </select>
-</mapper>
+</mapper>

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/service/IPlatformMaterialService.java

@@ -39,7 +39,7 @@ public interface IPlatformMaterialService extends IService<PlatformMaterial> {
     /**
      *  查询上传视频是否出现在其他物料中
      */
-    int queryCountByMaterialAndVideo(String  materialCode, String videoMd5);
+    int queryCountByMaterialAndVideo(String materialCode, String videoMd5);
     /**
      *  同步视频到汇创素材库(包括关联的项目)
      */

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/service/IPlatformScriptService.java

@@ -2,10 +2,13 @@ package org.jeecg.modules.orderplatform.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.orderplatform.entity.PlatformScript;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  *  下单平台关联脚本
  */
 public interface IPlatformScriptService extends IService<PlatformScript> {
 
+    PlatformScript saveScript(MultipartFile file);
+
 }

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/service/IPlatformVideoService.java

@@ -9,6 +9,6 @@ import org.jeecg.modules.orderplatform.entity.PlatformVideo;
  */
 public interface IPlatformVideoService extends IService<PlatformVideo> {
 
-    String uploadVideo (JSONObject params);
+    String uploadVideo(JSONObject params);
 
 }

+ 31 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/service/impl/PlatformScriptServiceImpl.java

@@ -1,10 +1,18 @@
 package org.jeecg.modules.orderplatform.service.impl;
 
+import cn.com.ctop.common.module.utils.CosUtils;
+import cn.com.ctop.common.module.vo.ResFileDTO;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.orderplatform.entity.PlatformScript;
 import org.jeecg.modules.orderplatform.mapper.PlatformScriptMapper;
 import org.jeecg.modules.orderplatform.service.IPlatformScriptService;
+import org.jeecg.modules.wps.service.IWpsFileWatermarkService;
+import org.jeecg.modules.wps.service.IWpsUserAclService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 下单平台关联脚本
@@ -12,4 +20,27 @@ import org.springframework.stereotype.Service;
 @Service
 public class PlatformScriptServiceImpl extends ServiceImpl<PlatformScriptMapper, PlatformScript> implements IPlatformScriptService {
 
+    @Autowired
+    private IWpsUserAclService wpsUserAclService;
+
+    @Autowired
+    private IWpsFileWatermarkService wpsFileWatermarkService;
+
+    @Override
+    public PlatformScript saveScript(MultipartFile file) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        //上传文件到cos
+        ResFileDTO resFileDTO = CosUtils.uploadMultipartFile(file,"script-lib/wps/");
+        //构造下单制脚本库参数
+        PlatformScript script=new PlatformScript(resFileDTO.getFileName(),1,((int) resFileDTO.getFileSize()),
+                user.getId(),user.getId(),System.currentTimeMillis(),System.currentTimeMillis(), resFileDTO.getFileUrl());
+        this.save(script);
+        // 处理权限
+        wpsUserAclService.saveUserFileAcl(user.getId(),script.getId());
+        // 处理水印
+        wpsFileWatermarkService.saveWatermark(script.getId());
+
+        return script;
+
+    }
 }