|
@@ -2,12 +2,9 @@ package org.jeecg.modules.ctop.controller;
|
|
|
|
|
|
import cn.com.ctop.common.module.annotation.AutoLog;
|
|
|
import cn.com.ctop.common.module.entity.MaterialCutFrame;
|
|
|
-import cn.com.ctop.common.module.entity.MaterialCutFrameTask;
|
|
|
-import cn.com.ctop.common.module.entity.MaterialInfo;
|
|
|
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;
|
|
@@ -19,20 +16,13 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.jeecg.common.api.vo.Result;
|
|
|
import org.jeecg.common.system.query.QueryGenerator;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.web.bind.annotation.DeleteMapping;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
-import org.springframework.web.bind.annotation.PostMapping;
|
|
|
-import org.springframework.web.bind.annotation.PutMapping;
|
|
|
-import org.springframework.web.bind.annotation.RequestBody;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
-import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
-import java.util.concurrent.ExecutorService;
|
|
|
-import java.util.concurrent.Executors;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -79,15 +69,6 @@ public class MaterialCutFrameController {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 分页列表查询
|
|
|
- *
|
|
|
- * @param materialCutFrame
|
|
|
- * @param pageNo
|
|
|
- * @param pageSize
|
|
|
- * @param req
|
|
|
- * @return
|
|
|
- */
|
|
|
@AutoLog(value = "截屏-查询")
|
|
|
@ApiOperation(value = "截屏-查询", notes = "截屏-查询")
|
|
|
@GetMapping(value = "/queryByPhotoId")
|
|
@@ -101,199 +82,4 @@ public class MaterialCutFrameController {
|
|
|
return Result.error(e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- /**
|
|
|
- * 添加
|
|
|
- *
|
|
|
- * @param materialCutFrame
|
|
|
- * @return
|
|
|
- */
|
|
|
- @AutoLog(value = "截屏-添加")
|
|
|
- @ApiOperation(value = "截屏-添加", notes = "截屏-添加")
|
|
|
- @PostMapping(value = "/add")
|
|
|
- public Result<MaterialCutFrame> add(@RequestBody MaterialCutFrame materialCutFrame) {
|
|
|
- Result<MaterialCutFrame> result = new Result<MaterialCutFrame>();
|
|
|
- try {
|
|
|
- materialCutFrameService.save(materialCutFrame);
|
|
|
- result.success("添加成功!");
|
|
|
- } catch (Exception e) {
|
|
|
- log.error(e.getMessage(), e);
|
|
|
- result.error500("操作失败");
|
|
|
- }
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 编辑
|
|
|
- *
|
|
|
- * @param materialCutFrame
|
|
|
- * @return
|
|
|
- */
|
|
|
- @AutoLog(value = "截屏-编辑")
|
|
|
- @ApiOperation(value = "截屏-编辑", notes = "截屏-编辑")
|
|
|
- @PutMapping(value = "/edit")
|
|
|
- public Result<MaterialCutFrame> edit(@RequestBody MaterialCutFrame materialCutFrame) {
|
|
|
- Result<MaterialCutFrame> result = new Result<MaterialCutFrame>();
|
|
|
- MaterialCutFrame materialCutFrameEntity = materialCutFrameService.getById(materialCutFrame.getId());
|
|
|
- if (materialCutFrameEntity == null) {
|
|
|
- result.error500("未找到对应实体");
|
|
|
- } else {
|
|
|
- boolean ok = materialCutFrameService.updateById(materialCutFrame);
|
|
|
- if (ok) {
|
|
|
- result.success("修改成功!");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 通过id删除
|
|
|
- *
|
|
|
- * @param id
|
|
|
- * @return
|
|
|
- */
|
|
|
- @AutoLog(value = "截屏-通过id删除")
|
|
|
- @ApiOperation(value = "截屏-通过id删除", notes = "截屏-通过id删除")
|
|
|
- @DeleteMapping(value = "/delete")
|
|
|
- public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
|
|
|
- try {
|
|
|
- materialCutFrameService.removeById(id);
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("删除失败", e.getMessage());
|
|
|
- return Result.error("删除失败!");
|
|
|
- }
|
|
|
- return Result.ok("删除成功!");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 批量删除
|
|
|
- *
|
|
|
- * @param ids
|
|
|
- * @return
|
|
|
- */
|
|
|
- @AutoLog(value = "截屏-批量删除")
|
|
|
- @ApiOperation(value = "截屏-批量删除", notes = "截屏-批量删除")
|
|
|
- @DeleteMapping(value = "/deleteBatch")
|
|
|
- public Result<MaterialCutFrame> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
|
|
|
- Result<MaterialCutFrame> result = new Result<MaterialCutFrame>();
|
|
|
- if (ids == null || "".equals(ids.trim())) {
|
|
|
- result.error500("参数不识别!");
|
|
|
- } else {
|
|
|
- this.materialCutFrameService.removeByIds(Arrays.asList(ids.split(",")));
|
|
|
- result.success("删除成功!");
|
|
|
- }
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 通过id查询
|
|
|
- *
|
|
|
- * @param id
|
|
|
- * @return
|
|
|
- */
|
|
|
- @AutoLog(value = "截屏-通过id查询")
|
|
|
- @ApiOperation(value = "截屏-通过id查询", notes = "截屏-通过id查询")
|
|
|
- @GetMapping(value = "/queryById")
|
|
|
- public Result<MaterialCutFrame> queryById(@RequestParam(name = "id", required = true) String id) {
|
|
|
- Result<MaterialCutFrame> result = new Result<MaterialCutFrame>();
|
|
|
- MaterialCutFrame materialCutFrame = materialCutFrameService.getById(id);
|
|
|
- if (materialCutFrame == null) {
|
|
|
- result.error500("未找到对应实体");
|
|
|
- } else {
|
|
|
- result.setResult(materialCutFrame);
|
|
|
- result.setSuccess(true);
|
|
|
- }
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @AutoLog(value = "腾讯云抽帧按照素材创建时间筛选素材进行抽帧操作")
|
|
|
- @ApiOperation(value = "腾讯云抽帧", notes = "腾讯云抽帧")
|
|
|
- @GetMapping(value = "/getCosCutFrameByTime")
|
|
|
- public Result getCosCutFrameByTime(@RequestParam(name = "startDate", required = true) String startDate,
|
|
|
- @RequestParam(name = "endDate", required = true) String endDate) {
|
|
|
- Result result = new Result();
|
|
|
- result.setSuccess(true);
|
|
|
-
|
|
|
- try {
|
|
|
- List<MaterialInfo> materialInfos = materialInfoService.getListByDate(startDate, endDate);
|
|
|
- if (!Check.isNull(materialInfos)) {
|
|
|
- for (MaterialInfo materialInfo : materialInfos) {
|
|
|
- if (!Check.isNull(materialInfo)) {
|
|
|
- String code = materialInfo.getCode();
|
|
|
- materialCutFrameService.getCosCutFrame(materialInfo.getUrl(), code);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- log.error(e.getMessage());
|
|
|
- e.printStackTrace();
|
|
|
- result.setSuccess(false);
|
|
|
- }
|
|
|
-
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
- @AutoLog(value = "腾讯云抽帧--根据md5抽帧")
|
|
|
- @ApiOperation(value = "腾讯云抽帧", notes = "腾讯云抽帧")
|
|
|
- @GetMapping(value = "/getCosCutFrame")
|
|
|
- public Result getCosCutFrame(@RequestParam(name = "code", required = true) String code) {
|
|
|
- Result result = new Result();
|
|
|
- result.setSuccess(true);
|
|
|
-
|
|
|
- try {
|
|
|
- MaterialInfo materialInfo = materialInfoService.getMaterialInfoByCode(code);
|
|
|
- if (!Check.isNull(materialInfo)) {
|
|
|
- materialCutFrameService.getCosCutFrame(materialInfo.getUrl(), code);
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- log.error(e.getMessage());
|
|
|
- e.printStackTrace();
|
|
|
- result.setSuccess(false);
|
|
|
- }
|
|
|
-
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @AutoLog(value = "腾讯云抽帧--获取任务状态并将图片入库")
|
|
|
- @ApiOperation(value = "腾讯云抽帧", notes = "腾讯云抽帧")
|
|
|
- @GetMapping(value = "/loadCosCutFrame")
|
|
|
- public Result loadCosCutFrame() {
|
|
|
- Result result = new Result();
|
|
|
- result.setSuccess(true);
|
|
|
-
|
|
|
- log.info("开始抽帧定时任务");
|
|
|
- QueryWrapper<MaterialCutFrameTask> taskQueryWrapper = new QueryWrapper<>();
|
|
|
- taskQueryWrapper.eq("job_status", 0);
|
|
|
- taskQueryWrapper.eq("cloud_type", 2); //2为腾讯云 1为阿里云
|
|
|
- List<MaterialCutFrameTask> list = materialCutFrameTaskServiceTask.list(taskQueryWrapper);
|
|
|
-
|
|
|
- if (Check.isNull(list)) {
|
|
|
- result.setCode(500);
|
|
|
- result.setSuccess(false);
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
- ExecutorService executorService = Executors.newFixedThreadPool(5);
|
|
|
- list.forEach(cutFrameTask -> {
|
|
|
- executorService.submit(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- try {
|
|
|
- //获取广告计划信息数据
|
|
|
- materialCutFrameService.loadCosCutFrame(cutFrameTask.getJobId(), cutFrameTask.getVideoSignature());
|
|
|
- } catch (Exception e) {
|
|
|
- log.error(e.getMessage());
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
}
|