浏览代码

release on 2020.07.15

jiequan.bi 5 年之前
父节点
当前提交
bd893dc675

+ 11 - 110
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/VideoWatermarkTemplateController.java

@@ -1,7 +1,7 @@
 package org.jeecg.modules.ctop.controller;
 
-import cn.com.ctop.common.module.entity.VideoWatermarkTemplate;
-import cn.com.ctop.common.module.service.IVideoWatermarkTemplateService;
+import cn.com.ctop.common.module.entity.TencentWatermarkTemplate;
+import cn.com.ctop.common.module.service.ITencentWatermarkTemplateService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -29,7 +29,7 @@ import java.util.Arrays;
 @RequestMapping("/ctop/videoWatermarkTemplate")
 public class VideoWatermarkTemplateController {
 	@Autowired
-	private IVideoWatermarkTemplateService videoWatermarkTemplateService;
+	private ITencentWatermarkTemplateService tencentWatermarkTemplateService;
 
      /**
 	  * 分页列表查询
@@ -42,116 +42,17 @@ public class VideoWatermarkTemplateController {
 	@AutoLog(value = "水印模板-分页列表查询")
 	@ApiOperation(value="水印模板-分页列表查询", notes="水印模板-分页列表查询")
 	@GetMapping(value = "/list")
-	public Result<IPage<VideoWatermarkTemplate>> queryPageList(VideoWatermarkTemplate videoWatermarkTemplate,
-									  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-									  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-									  HttpServletRequest req) {
-        Result<IPage<VideoWatermarkTemplate>> result = new Result<>();
-		QueryWrapper<VideoWatermarkTemplate> queryWrapper = QueryGenerator.initQueryWrapper(videoWatermarkTemplate, req.getParameterMap());
-        Page<VideoWatermarkTemplate> page = new Page<>(pageNo, pageSize);
-		IPage<VideoWatermarkTemplate> pageList = videoWatermarkTemplateService.page(page, queryWrapper);
+	public Result<IPage<TencentWatermarkTemplate>> queryPageList(TencentWatermarkTemplate videoWatermarkTemplate,
+																 @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+																 @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+																 HttpServletRequest req) {
+        Result<IPage<TencentWatermarkTemplate>> result = new Result<>();
+		QueryWrapper<TencentWatermarkTemplate> queryWrapper = QueryGenerator.initQueryWrapper(videoWatermarkTemplate, req.getParameterMap());
+        Page<TencentWatermarkTemplate> page = new Page<>(pageNo, pageSize);
+		IPage<TencentWatermarkTemplate> pageList = tencentWatermarkTemplateService.page(page, queryWrapper);
 		result.setSuccess(true);
 		result.setResult(pageList);
 		return result;
 	}
 
-     /**
-	  *   添加
-	 * @param videoWatermarkTemplate
-	 * @return
-	 */
-	@AutoLog(value = "水印模板-添加")
-	@ApiOperation(value="水印模板-添加", notes="水印模板-添加")
-	@PostMapping(value = "/add")
-	public Result<VideoWatermarkTemplate> add(@RequestBody VideoWatermarkTemplate videoWatermarkTemplate) {
-        Result<VideoWatermarkTemplate> result = new Result<>();
-		try {
-			videoWatermarkTemplateService.save(videoWatermarkTemplate);
-			result.success("添加成功!");
-		} catch (Exception e) {
-			log.error(e.getMessage(),e);
-			result.error500("操作失败");
-		}
-		return result;
-	}
-
-     /**
-	  *  编辑
-	 * @param videoWatermarkTemplate
-	 * @return
-	 */
-	@AutoLog(value = "水印模板-编辑")
-	@ApiOperation(value="水印模板-编辑", notes="水印模板-编辑")
-	@PutMapping(value = "/edit")
-	public Result<VideoWatermarkTemplate> edit(@RequestBody VideoWatermarkTemplate videoWatermarkTemplate) {
-        Result<VideoWatermarkTemplate> result = new Result<>();
-		VideoWatermarkTemplate videoWatermarkTemplateEntity = videoWatermarkTemplateService.getById(videoWatermarkTemplate.getId());
-		if(videoWatermarkTemplateEntity==null) {
-			result.error500("未找到对应实体");
-		}else {
-			boolean ok = videoWatermarkTemplateService.updateById(videoWatermarkTemplate);
-			if(ok) {
-				result.success("修改成功!");
-			}
-		}
-
-        return result;
-	}
-
-     /**
-	  *   通过id删除
-	 * @param id
-	 * @return
-	 */
-	@AutoLog(value = "水印模板-通过id删除")
-	@ApiOperation(value="水印模板-通过id删除", notes="水印模板-通过id删除")
-	@DeleteMapping(value = "/delete")
-    public Result<Object> delete(@RequestParam(name = "id", required = true) String id) {
-		try {
-			videoWatermarkTemplateService.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<VideoWatermarkTemplate> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-        Result<VideoWatermarkTemplate> result = new Result<>();
-		if(ids==null || "".equals(ids.trim())) {
-			result.error500("参数不识别!");
-		}else {
-			this.videoWatermarkTemplateService.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<VideoWatermarkTemplate> queryById(@RequestParam(name="id",required=true) String id) {
-        Result<VideoWatermarkTemplate> result = new Result<>();
-		VideoWatermarkTemplate videoWatermarkTemplate = videoWatermarkTemplateService.getById(id);
-		if(videoWatermarkTemplate==null) {
-			result.error500("未找到对应实体");
-		}else {
-			result.setResult(videoWatermarkTemplate);
-			result.setSuccess(true);
-		}
-		return result;
-	}
 }

+ 26 - 0
module-common/src/main/java/cn/com/ctop/common/module/entity/TencentWatermarkTemplate.java

@@ -0,0 +1,26 @@
+package cn.com.ctop.common.module.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@TableName("ctop_tencent_watermark_template")
+public class TencentWatermarkTemplate {
+
+    @TableId(type = IdType.UUID)
+    private Long id;
+
+    private String name;
+
+    private String radio;
+
+    private Long templateId;
+
+    private Date createTime;
+
+    private Date updateTime;
+}

+ 0 - 61
module-common/src/main/java/cn/com/ctop/common/module/entity/VideoWatermarkTemplate.java

@@ -1,61 +0,0 @@
-package cn.com.ctop.common.module.entity;
-
-import java.io.Serializable;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableField;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
-import org.jeecgframework.poi.excel.annotation.Excel;
-
-/**
- * 水印模板
- * @author jeecg-boot
- * @date   2019-12-20
- * @version V1.0
- */
-@Data
-@TableName("ctop_video_watermark_template")
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@ApiModel(value="ctop_video_watermark_template对象", description="水印模板")
-public class VideoWatermarkTemplate {
-    
-	/**id*/
-	@TableId(type = IdType.UUID)
-    @ApiModelProperty(value = "id")
-	private Integer id;
-	/**name*/
-	@Excel(name = "name", width = 15)
-    @ApiModelProperty(value = "name")
-	private String name;
-	/**width*/
-	@Excel(name = "width", width = 15)
-    @ApiModelProperty(value = "width")
-	private Integer width;
-	/**height*/
-	@Excel(name = "height", width = 15)
-    @ApiModelProperty(value = "height")
-	private Integer height;
-	/**templateId*/
-	@Excel(name = "templateId", width = 15)
-    @ApiModelProperty(value = "templateId")
-	private String templateId;
-	/**templatePath*/
-	@Excel(name = "templatePath", width = 15)
-    @ApiModelProperty(value = "templatePath")
-	private String templatePath;
-	/**createTime*/
-    @ApiModelProperty(value = "createTime")
-	private Date createTime;
-	/**updateTime*/
-    @ApiModelProperty(value = "updateTime")
-	private Date updateTime;
-}

+ 8 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/TencentWatermarkTemplateMapper.java

@@ -0,0 +1,8 @@
+package cn.com.ctop.common.module.mapper;
+
+
+import cn.com.ctop.common.module.entity.TencentWatermarkTemplate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface TencentWatermarkTemplateMapper extends BaseMapper<TencentWatermarkTemplate> {
+}

+ 0 - 17
module-common/src/main/java/cn/com/ctop/common/module/mapper/VideoWatermarkTemplateMapper.java

@@ -1,17 +0,0 @@
-package cn.com.ctop.common.module.mapper;
-
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-import cn.com.ctop.common.module.entity.VideoWatermarkTemplate;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * 水印模板
- * @author: jeecg-boot
- * @date:   2019-12-20
- * @cersion: V1.0
- */
-public interface VideoWatermarkTemplateMapper extends BaseMapper<VideoWatermarkTemplate> {
-
-}

+ 1 - 1
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/VideoWatermarkTemplateMapper.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="cn.com.ctop.common.module.mapper.VideoWatermarkTemplateMapper">
+<mapper namespace="cn.com.ctop.common.module.mapper.TencentWatermarkTemplateMapper">
 
 </mapper>

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

@@ -30,7 +30,7 @@ public interface IMaterialInfoService extends IService<MaterialInfo> {
 
     String getRoleCodeByUserId(String userId);
 
-    void watermarkVideo(String materialId, Integer videoWatermarkTemplateId, String userId);
+    void watermarkVideo(String materialId, Long videoWatermarkTemplateId, String userId);
 
     void getFile(MaterialInfo materialInfo);
 

+ 7 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/ITencentWatermarkTemplateService.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.common.module.service;
+
+import cn.com.ctop.common.module.entity.TencentWatermarkTemplate;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface ITencentWatermarkTemplateService extends IService<TencentWatermarkTemplate> {
+}

+ 0 - 14
module-common/src/main/java/cn/com/ctop/common/module/service/IVideoWatermarkTemplateService.java

@@ -1,14 +0,0 @@
-package cn.com.ctop.common.module.service;
-
-import cn.com.ctop.common.module.entity.VideoWatermarkTemplate;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * 水印模板
- * @author jeecg-boot
- * @date   2019-12-20
- * @version V1.0
- */
-public interface IVideoWatermarkTemplateService extends IService<VideoWatermarkTemplate> {
-
-}

+ 60 - 57
module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialInfoServiceImpl.java

@@ -9,15 +9,14 @@ import cn.com.ctop.common.module.service.*;
 import cn.com.ctop.common.module.utils.*;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.aliyuncs.mts.model.v20140618.QueryJobListResponse;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.tencentcloudapi.mps.v20190612.models.DescribeTaskDetailResponse;
 import it.sauronsoftware.jave.Encoder;
 import it.sauronsoftware.jave.EncoderException;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -27,12 +26,13 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.net.URLDecoder;
 import java.nio.channels.FileChannel;
 import java.util.*;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
-import java.util.regex.Pattern;
+
+import static cn.com.ctop.common.module.utils.CloudVideoProcessUtil.getTaskDetailResponse;
+import static cn.com.ctop.common.module.utils.CloudVideoProcessUtil.videoWatermarkHandle;
 
 /**
  * 素材信息
@@ -43,11 +43,12 @@ import java.util.regex.Pattern;
  */
 @Slf4j
 @Service
-@Primary
 public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, MaterialInfo> implements IMaterialInfoService {
+
     private static ExecutorService uploadExecutorService = Executors.newFixedThreadPool(5);
+
     @Resource
-    private IVideoWatermarkTemplateService videoWatermarkTemplateService;
+    private ITencentWatermarkTemplateService tencentWatermarkTemplateService;
     @Resource
     private IVideoWatermarkTaskService videoWatermarkTaskService;
     @Autowired
@@ -58,27 +59,48 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
     private MaterialAscriptionMapper materialAscriptionMapper;
     @Autowired
     private MaterialTagMapper materialTagMapper;
+    @Resource
+    private IMaterialCutFrameService materialCutFrameService;
 
+    @Value("${oss.replace.replace-value}")
+    private String replaceValue;
+    @Value("${oss.replace.replace-old-value}")
+    private String replaceOldValue;
     @Value("${oss.replace.download}")
     private String downloadUrl;
 
     @Override
-    public void watermarkVideo(String materialId, Integer videoWatermarkTemplateId, String userId) {
-        VideoWatermarkTemplate videoWatermarkTemplate = videoWatermarkTemplateService.getById(videoWatermarkTemplateId);
+    public void watermarkVideo(String materialId, Long videoWatermarkTemplateId, String userId) {
+        TencentWatermarkTemplate tentcentWatermarkTemplate = tencentWatermarkTemplateService.getById(videoWatermarkTemplateId);
         MaterialInfo materialInfo = this.getById(materialId);
-        MpsUtils mpsUtils = new MpsUtils();
-        String path = materialInfo.getUrl().substring(materialInfo.getUrl().indexOf('/', 10) + 1, materialInfo.getUrl().length());
-        String jobId = mpsUtils.videoWaterMark(path, videoWatermarkTemplate.getTemplatePath(), videoWatermarkTemplate.getTemplateId(), videoWatermarkTemplate.getHeight());
-        QueryJobListResponse.Job job = MpsUtils.getJobStatus(jobId);
-        VideoWatermarkTask videoWatermarkTask = new VideoWatermarkTask();
-        videoWatermarkTask.setJobId(jobId);
-        videoWatermarkTask.setUserId(userId);
-        videoWatermarkTask.setStatus(job.getState());
-        videoWatermarkTaskService.save(videoWatermarkTask);
-        materialInfo.setWatermarkCode(jobId);
-        this.updateById(materialInfo);
-    }
+        String path = materialInfo.getUrl().substring(materialInfo.getUrl().indexOf("/", 10) + 1, materialInfo.getUrl().length());
+        String taskId = videoWatermarkHandle(path, tentcentWatermarkTemplate.getTemplateId());
+        DescribeTaskDetailResponse taskDetailResponse=null;
+        for(int i=0;i<10;i++){
+            try {
+                Thread.sleep(2000);
+            } catch (InterruptedException e) {
+                log.error(e.getMessage());
+            }
+            taskDetailResponse = getTaskDetailResponse(taskId);
+            if(taskDetailResponse.getStatus().equals("FINISH")){
+                break;
+            }
+        }
+        if(taskDetailResponse.getStatus().equals("FINISH")){
+            String videoUrl=taskDetailResponse.getWorkflowTask().getMediaProcessResultSet()[0].getTranscodeTask().getOutput().getPath();
+            VideoWatermarkTask videoWatermarkTask = new VideoWatermarkTask();
+            videoWatermarkTask.setVideoUrl(videoUrl);
+            videoWatermarkTask.setVideoId(materialId);
+            videoWatermarkTask.setJobId(taskId);
+            videoWatermarkTask.setUserId(userId);
+            videoWatermarkTask.setStatus(taskDetailResponse.getStatus());
+            videoWatermarkTaskService.save(videoWatermarkTask);
+            materialInfo.setWatermarkCode(taskId);
+            this.updateById(materialInfo);
+        }
 
+    }
     @Override
     public MaterialInfo getMaterialInfoByCodeAndProjectId(String code, Long projectId) {
         QueryWrapper<MaterialInfo> queryWrapper = new QueryWrapper<>();
@@ -113,13 +135,6 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
         }
     }
 
-    public boolean imgLocation(String fileName) throws IOException {
-        String reg = "(mp4|flv|avi|rm|rmvb|wmv|MP4)";
-        Pattern p = Pattern.compile(reg);
-        return p.matcher(fileName).find();
-    }
-
-
     @Override
     public Map<String, Object> insert(JSONObject jsonObject) {
         Map<String, Object> resultMap = new HashMap<>();
@@ -171,13 +186,11 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
         return resultMap;
     }
 
-    @Resource
-    private IMaterialCutFrameService materialCutFrameService;
-
     private void insertMaterialInfo(String url, String type, JSONObject jsonObject) {
         MaterialInfo info = new MaterialInfo();
         Long projectId = jsonObject.getLong("projectId");
         String code = jsonObject.getString("code");
+        info.setId(code + projectId);
         info.setCode(code);
         if (!Check.isNull(jsonObject.getString("watermarkUrl"))) {
             info.setWatermarkUrl(jsonObject.getString("watermarkUrl"));
@@ -241,9 +254,6 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
      * @param materialId
      * @return
      */
-
-    //@Autowired
-    //private MaterialInfoMapper materialInfoMapper;
     @Override
     public JSONObject getDetail(String materialId) {
         JSONObject json = new JSONObject();
@@ -327,7 +337,8 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
                 log.info("获取素材基本信息,code:{}", materialInfo.getCode());
                 if (!Check.isNull(materialInfo)) {
                     long l = System.currentTimeMillis();
-                    String url = materialInfo.getUrl();
+                    String videoUrl = materialInfo.getUrl();
+                    String url = videoUrl.replace(replaceOldValue, replaceValue);
                     log.info("replaceUrl:{}", url);
                     String localUrl = null;
                     it.sauronsoftware.jave.MultimediaInfo m = null;
@@ -369,7 +380,18 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
                         if (insert > 0) {
                             log.info("素材基本信息入库完成,用时:{} s", (System.currentTimeMillis() - l) / 1000);
                         }
-
+                        Thread thread = new Thread() {
+                            @Override
+                            public void run() {
+                                try {
+                                    log.info("开始抽帧");
+                                    materialCutFrameService.getCutFrame(videoUrl, materialInfo.getCode(), secondDuration, height, width);
+                                } catch (Exception e) {
+                                    e.printStackTrace();
+                                }
+                            }
+                        };
+                        thread.start();
                     } catch (FileNotFoundException e) {
                         e.printStackTrace();
                     } catch (IOException e) {
@@ -457,6 +479,7 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
             MaterialInfo info = new MaterialInfo();
             Long projectId = json.getLong("projectId");
             String code = json.getString("code");
+            info.setId(code + projectId);
             info.setCode(code);
             if (!Check.isNull(json.getString("watermarkUrl"))) {
                 info.setWatermarkUrl(json.getString("watermarkUrl"));
@@ -472,29 +495,8 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
             info.setCreateTime(new Date());
             info.setUpdateTime(new Date());
             info.setType(type);
-
-            MaterialCutFrame cutFrame = materialCutFrameService.getCutFrameByCode(code);
-            if (Check.isNull(cutFrame)) {
-                String videoUrl = URLDecoder.decode(info.getUrl()).replace("https://media-1301855440.cos.ap-chongqing.myqcloud.com/", "");
-                String loadImage = "cutFrame/" + code + "/zero.jpg";
-                String coverUrl = CloudVideoProcessUtil.videoCutPictureHandle(videoUrl, loadImage);
-                info.setCoverUrl(coverUrl);
-                Thread thread = new Thread() {
-                    @Override
-                    public void run() {
-                        try {
-                            log.info("开始抽帧");
-                            materialCutFrameService.getTencentCutFrame(videoUrl, code, coverUrl);
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                        }
-                    }
-                };
-                thread.start();
-            } else {
-                info.setCoverUrl(cutFrame.getUrl());
-            }
             this.save(info);
+
             JSONArray imageArr = json.getJSONArray("imageArr");
             if (!Check.isNull(imageArr)) {
                 JSONObject imageJson = new JSONObject();
@@ -542,6 +544,7 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
             }
 
             getFile(info);
+
             ResultMapUtils.setResultMap(resultMap, StatusCode.COMMON_SUCCESS.getCode());
         } catch (Exception e) {
             ResultMapUtils.setResultMap(resultMap, StatusCode.MATERIAL_UPLOAD_FAIL.getCode());

+ 11 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/TencentWatermarkTemplateServiceImpl.java

@@ -0,0 +1,11 @@
+package cn.com.ctop.common.module.service.impl;
+
+import cn.com.ctop.common.module.entity.TencentWatermarkTemplate;
+import cn.com.ctop.common.module.mapper.TencentWatermarkTemplateMapper;
+import cn.com.ctop.common.module.service.ITencentWatermarkTemplateService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class TencentWatermarkTemplateServiceImpl extends ServiceImpl<TencentWatermarkTemplateMapper, TencentWatermarkTemplate> implements ITencentWatermarkTemplateService {
+}

+ 0 - 21
module-common/src/main/java/cn/com/ctop/common/module/service/impl/VideoWatermarkTemplateServiceImpl.java

@@ -1,21 +0,0 @@
-package cn.com.ctop.common.module.service.impl;
-
-import cn.com.ctop.common.module.entity.VideoWatermarkTemplate;
-import cn.com.ctop.common.module.mapper.VideoWatermarkTemplateMapper;
-import cn.com.ctop.common.module.service.IVideoWatermarkTemplateService;
-import org.springframework.context.annotation.Primary;
-import org.springframework.stereotype.Service;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
-/**
- * 水印模板
- * @author jeecg-boot
- * @date   2019-12-20
- * @version V1.0
- */
-@Service
-@Primary
-public class VideoWatermarkTemplateServiceImpl extends ServiceImpl<VideoWatermarkTemplateMapper, VideoWatermarkTemplate> implements IVideoWatermarkTemplateService {
-
-}