Procházet zdrojové kódy

Merge remote-tracking branch 'origin/test' into test

# Conflicts:
#	jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/EffiVideoJob.java
#	jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/IPerformanceService.java
#	performance-appraisal/src/main/java/cn/com/ctop/userefficientvideomap/mapper/UserEfficientVideoMapMapper.java
hcst_sunzhen před 5 roky
rodič
revize
9ffd5bf020

+ 38 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialInfoController.java

@@ -5,6 +5,7 @@ import cn.com.ctop.common.module.entity.MaterialInfo;
 import cn.com.ctop.common.module.service.IMaterialInfoService;
 import cn.com.ctop.common.module.utils.Check;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -68,16 +69,18 @@ public class MaterialInfoController {
         return materialInfoService.getDetail(materialId);
 
     }
+
     @PostMapping("watermark")
-    public Result<Object> watermarkVideo(@RequestParam(name = "id")String id,@RequestParam(name = "watermarkTemplateId")Integer watermarkTemplateId){
+    public Result<Object> watermarkVideo(@RequestParam(name = "id") String id, @RequestParam(name = "watermarkTemplateId") Integer watermarkTemplateId) {
         Result<Object> result = new Result<>();
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        materialInfoService.watermarkVideo(id,watermarkTemplateId,sysUser.getId());
+        materialInfoService.watermarkVideo(id, watermarkTemplateId, sysUser.getId());
         result.setCode(200);
         result.setSuccess(true);
         result.setMessage("水印合成任务执行成功,请稍后查看");
         return result;
     }
+
     /**
      * 分页列表查询
      *
@@ -142,6 +145,39 @@ public class MaterialInfoController {
         return result;
     }
 
+
+    /**
+     * 批量修改项目
+     *
+     * @param jsonObject
+     * @return
+     */
+    @PostMapping(value = "/batchEdit")
+    public Result<MaterialInfo> batchEdit(@RequestBody JSONObject jsonObject) {
+        Result<MaterialInfo> result = new Result<>();
+        try {
+            Long projectId = jsonObject.getLong("projectId");
+            JSONArray materialIds = jsonObject.getJSONArray("materialIds");
+            for (int i = 0; i < materialIds.size(); i++) {
+                String materialId = materialIds.getString(i);
+                MaterialInfo updateMaterial = new MaterialInfo();
+                updateMaterial.setId(materialId);
+                updateMaterial.setProjectId(projectId);
+                materialInfoService.updateById(updateMaterial);
+
+            }
+            result.setSuccess(true);
+            result.success("修改成功!");
+        } catch (Exception e) {
+            result.setSuccess(false);
+        }
+
+
+        return result;
+
+    }
+
+
     /**
      * 编辑
      *

+ 9 - 9
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/MergeVideoJob.java

@@ -15,26 +15,25 @@ import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import java.io.IOException;
 import java.util.List;
-import java.util.UUID;
 
 public class MergeVideoJob implements Job {
     @Autowired
     private IVideoMergeTaskService videoMergeTaskService;
     @Autowired
     private IMaterialInfoService materialInfoService;
+
     @Override
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
         QueryWrapper<VideoMergeTask> queryWrapper = new QueryWrapper<>();
-        queryWrapper.in("status","Submitted","Transcoding");
+        queryWrapper.in("status", "Submitted", "Transcoding");
         List<VideoMergeTask> list = videoMergeTaskService.list(queryWrapper);
-        if(list != null && list.size() > 0){
-            for (VideoMergeTask videoMergeTask : list){
+        if (list != null && list.size() > 0) {
+            for (VideoMergeTask videoMergeTask : list) {
                 MpsUtils mpsUtils = new MpsUtils();
                 QueryJobListResponse.Job job = mpsUtils.getJobStatus(videoMergeTask.getJobId());
-                if (job.getState().equals("TranscodeSuccess")){
-                    String url = "https://ctop-part.oss-cn-beijing.aliyuncs.com/"+job.getOutput().getOutputFile().getObject();
+                if (job.getState().equals("TranscodeSuccess")) {
+                    String url = "https://ctop-part.oss-cn-beijing.aliyuncs.com/" + job.getOutput().getOutputFile().getObject();
 
                     try {
                         String localPath = LoadFileUtil.downLoadFromUrl(url, PropertiesUtils.getValue("kuaishou_config", "video_sava_path"));
@@ -48,14 +47,15 @@ public class MergeVideoJob implements Job {
                         materialInfo.setUserId(videoMergeTask.getUserId());
                         materialInfo.setStatus(0);
                         materialInfo.setType("VIDEO");
-                        materialInfo.setMaterialName("合成"+ DateUtils.getMillis());
+                        materialInfo.setMaterialName("合成" + DateUtils.getMillis());
                         materialInfoService.saveOrUpdate(materialInfo);
+                        Thread.sleep(3 * 1000);
                         materialInfoService.getFile(materialInfo);
                         videoMergeTask.setVideoUrl(url);
                         videoMergeTask.setStatus(job.getState());
                         videoMergeTask.setVideoId(materialInfo.getId());
                         videoMergeTaskService.updateById(videoMergeTask);
-                    } catch (IOException e) {
+                    } catch (Exception e) {
                         e.printStackTrace();
                     }
                 }

+ 43 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/fileupload/controller/FileController.java

@@ -1,6 +1,10 @@
 package org.jeecg.modules.fileupload.controller;
 
 import cn.com.ctop.common.module.service.IMaterialInfoService;
+import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.common.module.utils.ResultMapUtils;
+import cn.com.ctop.common.module.utils.StatusCode;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.system.vo.LoginUser;
@@ -10,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.HashMap;
 import java.util.Map;
 
 /**
@@ -35,4 +40,42 @@ public class FileController {
         json.put("userId", user.getId());
         return materialInfoService.insert(json);
     }
+
+
+    @PostMapping("file/batchInsert")
+    public Map<String, Object> batchInsert(@RequestBody JSONObject json) {
+
+
+        Map<String, Object> resultMap = new HashMap<>();
+
+
+        try {
+            LoginUser user = (LoginUser) SecurityUtils.getSubject()
+                    .getPrincipal();
+            json.put("userId", user.getId());
+            JSONArray videoArr = json.getJSONArray("videoArr");
+            if (!Check.isNull(videoArr)) {
+                json.remove("videoArr");
+
+                for (int i = 0; i < videoArr.size(); i++) {
+                    JSONObject video = videoArr.getJSONObject(i);
+                    json.put("code", video.getString("code"));
+                    json.put("url", video.getString("url"));
+                    materialInfoService.insert(json);
+
+                }
+            }
+
+            ResultMapUtils.setResultMap(resultMap, StatusCode.COMMON_SUCCESS.getCode());
+
+        } catch (Exception e) {
+            ResultMapUtils.setResultMap(resultMap, StatusCode.MATERIAL_UPLOAD_FAIL.getCode());
+            e.printStackTrace();
+        }
+
+
+        return resultMap;
+    }
+
+
 }

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/LoginController.java

@@ -91,6 +91,10 @@ public class LoginController {
                     result.error500("该用户未注册系统账户,请联系管理员");
                     return result;
                 }
+                if(sysUser.getStatus() != 1){
+                    result.error500("该用户已冻结,请联系管理员");
+                    return result;
+                }
                 String departId = sysDepartService.selectIdByOrdCode(sysUser.getOrgCode());
                 sysUser.setDepartId(departId);
                 result = sysUserService.checkUserIsEffective(sysUser);

+ 9 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/PerformanceServiceImpl2.java

@@ -1,3 +1,4 @@
+/*
 package org.jeecg.modules.system.service.impl;
 
 import cn.com.ctop.performanceappraisal.entity.OptimizerConfig;
@@ -25,13 +26,15 @@ import java.math.BigDecimal;
 import java.text.ParseException;
 import java.util.*;
 
+*/
 /**
  * 设计师季度绩效表
  *
  * @author jeecg-boot
  * @version V1.0
  * @date 2019-12-10
- */
+ *//*
+
 @Service
 public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Performance> implements IPerformanceService2 {
 
@@ -127,7 +130,8 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
         }
     }
 
-    /**
+    */
+/**
      * 分平台:快手、抖音
      *
      * 编导、剪辑、拍摄:
@@ -147,7 +151,8 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
      * 2.查询出所有设计部门的代码,并找出每部门的leader,和部门下所有人员
      * 3.根据编导(或剪辑、拍摄)算出素材的总消耗
      * 4.根据部门当中是否有平面设计师来判断提成绩效。有平面,按照15%计算;没有按照20%计算
-     */
+     *//*
+
     //季度定时任务(在有效视频绑定人定时任务之后跑):设计师绩效计算-----包括快手和头条的计算逻辑
     public void designerPerformanceTask(){
         kuaishouDesigner();//快手
@@ -706,3 +711,4 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
 
 
 }
+*/

+ 4 - 3
performance-appraisal/src/main/java/cn/com/ctop/userefficientvideomap/entity/ProjectDTO.java

@@ -2,11 +2,12 @@ package cn.com.ctop.userefficientvideomap.entity;
 
 import lombok.Data;
 
+import java.io.Serializable;
 import java.math.BigDecimal;
 
 
 @Data
-public class ProjectDTO {
-	private Long projectId;
-	private BigDecimal projectName;
+public class ProjectDTO implements Serializable {
+    private Long projectId;
+    private BigDecimal projectName;
 }