Sfoglia il codice sorgente

项目增加销售、供应商水印

yumeng 4 anni fa
parent
commit
e6bea108ff
22 ha cambiato i file con 931 aggiunte e 44 eliminazioni
  1. 0 29
      jeecg-boot-base-common/src/main/java/org/jeecg/common/aspect/annotation/PermissionData.java
  2. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialInfoController.java
  3. 8 8
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialPartController.java
  4. 13 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectController.java
  5. 248 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/SupplierListController.java
  6. 248 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/SupplierWatermarkController.java
  7. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/MergeVideoJob.java
  8. 3 0
      module-common/src/main/java/cn/com/ctop/common/module/entity/MaterialInfo.java
  9. 11 1
      module-common/src/main/java/cn/com/ctop/common/module/entity/Project.java
  10. 65 0
      module-common/src/main/java/cn/com/ctop/common/module/entity/SupplierList.java
  11. 65 0
      module-common/src/main/java/cn/com/ctop/common/module/entity/SupplierWatermark.java
  12. 71 0
      module-common/src/main/java/cn/com/ctop/common/module/enums/MaterialSupplierEnum.java
  13. 15 0
      module-common/src/main/java/cn/com/ctop/common/module/mapper/SupplierListMapper.java
  14. 15 0
      module-common/src/main/java/cn/com/ctop/common/module/mapper/SupplierWatermarkMapper.java
  15. 5 0
      module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/SupplierListMapper.xml
  16. 5 0
      module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/SupplierWatermarkMapper.xml
  17. 11 1
      module-common/src/main/java/cn/com/ctop/common/module/service/IMaterialInfoService.java
  18. 15 0
      module-common/src/main/java/cn/com/ctop/common/module/service/ISupplierListService.java
  19. 15 0
      module-common/src/main/java/cn/com/ctop/common/module/service/ISupplierWatermarkService.java
  20. 18 0
      module-common/src/main/java/cn/com/ctop/common/module/service/SupplierWatermarkServiceImpl.java
  21. 79 3
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialInfoServiceImpl.java
  22. 19 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/SupplierListServiceImpl.java

+ 0 - 29
jeecg-boot-base-common/src/main/java/org/jeecg/common/aspect/annotation/PermissionData.java

@@ -1,29 +0,0 @@
-package org.jeecg.common.aspect.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
-  *  数据权限注解
- * @Author taoyan
- * @Date 2019年4月11日
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE,ElementType.METHOD})
-@Documented
-public @interface PermissionData {
-	/**
-	 * 暂时没用
-	 * @return
-	 */
-	String value() default "";
-	
-	
-	/**
-	 * 配置菜单的组件路径,用于数据权限
-	 */
-	String pageComponent() default "";
-}

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

@@ -177,6 +177,7 @@ public class MaterialInfoController {
                                                      @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                      HttpServletRequest req) {
 
+
         Result<IPage<MaterialInfo>> result = new Result<>();
         String materialName = materialInfo.getMaterialName();
         materialInfo.setMaterialName(null);

+ 8 - 8
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialPartController.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.MaterialInfo;
 import cn.com.ctop.common.module.entity.VideoMerge;
 import cn.com.ctop.common.module.entity.VideoMergeTask;
@@ -16,7 +17,6 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.vo.LoginUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -48,22 +48,22 @@ public class MaterialPartController {
         List<String> jobIdList = new ArrayList<>();
         List<VideoMerge> videoMergeList = jsonArray.toJavaList(VideoMerge.class);
         try {
-            for (VideoMerge videoMerge:videoMergeList){
+            for (VideoMerge videoMerge : videoMergeList) {
                 MaterialInfo start = materialInfoService.getMaterialInfoByCode(videoMerge.getStartPart());
                 MaterialInfo end = materialInfoService.getMaterialInfoByCode(videoMerge.getEndPart());
                 List<String> partUrlList = new ArrayList<>();
                 List<String> parts = videoMerge.getParts();
-                for (String part :parts){
+                for (String part : parts) {
                     MaterialInfo materialInfo = materialInfoService.getMaterialInfoByCode(part);
                     String url = materialInfo.getUrl();
                     int i = url.indexOf('/', 10);
-                    partUrlList.add(url.substring(i+1,url.length()));
+                    partUrlList.add(url.substring(i + 1, url.length()));
                 }
                 String startUrl = start.getUrl();
                 String startPath = startUrl.substring(startUrl.indexOf('/', 10) + 1, startUrl.length());
                 String endUrl = end.getUrl();
                 String endPath = endUrl.substring(endUrl.indexOf('/', 10) + 1, endUrl.length());
-                String jobId = MpsUtils.mergeOneVideo(startPath,partUrlList,endPath);
+                String jobId = MpsUtils.mergeOneVideo(startPath, partUrlList, endPath);
                 QueryJobListResponse.Job job = MpsUtils.getJobStatus(jobId);
                 VideoMergeTask videoMergeTask = new VideoMergeTask();
                 LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -71,9 +71,9 @@ public class MaterialPartController {
                 videoMergeTask.setJobId(jobId);
                 videoMergeTask.setStatus(job.getState());
                 videoMergeTaskService.save(videoMergeTask);
-                parts.add(0,videoMerge.getStartPart());
+                parts.add(0, videoMerge.getStartPart());
                 parts.add(videoMerge.getStartPart());
-                for(String part :parts){
+                for (String part : parts) {
                     VideoPart videoPart = new VideoPart();
                     videoPart.setJobId(jobId);
                     videoPart.setPartId(part);
@@ -81,7 +81,7 @@ public class MaterialPartController {
                 }
                 jobIdList.add(jobId);
             }
-            result.success("合成中,可在任务列表中查询状态,任务ID:"+new Gson().toJson(jobIdList));
+            result.success("合成中,可在任务列表中查询状态,任务ID:" + new Gson().toJson(jobIdList));
         } catch (Exception e) {
             log.error(e.getMessage(), e);
             result.error500("操作失败");

+ 13 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectController.java

@@ -1,9 +1,12 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.constant.CtopRoleCodeConstant;
+import cn.com.ctop.common.module.entity.MaterialInfo;
 import cn.com.ctop.common.module.entity.Project;
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.mapper.ProjectMapper;
+import cn.com.ctop.common.module.service.IMaterialInfoService;
 import cn.com.ctop.common.module.service.IProjectService;
 import cn.com.ctop.common.module.service.ISysRoleService;
 import cn.com.ctop.common.module.service.IUserAllocationService;
@@ -16,7 +19,6 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.ctop.entity.Advertiser;
@@ -277,6 +279,8 @@ public class ProjectController {
 
     @Autowired
     private ISysRoleService sysRoleService;
+    @Autowired
+    private IMaterialInfoService materialInfoService;
 
     /**
      * 编辑
@@ -324,6 +328,14 @@ public class ProjectController {
             // updateUserAllocation.setMediaId(project.getMediaId());
             userAllocationService.update(updateUserAllocation, userAllocationQueryWrapper);
 
+            if (!projectEntity.getSupplierCode().equals(project.getSupplierCode())) {
+                QueryWrapper<MaterialInfo> materialInfoQueryWrapper = new QueryWrapper<>();
+                materialInfoQueryWrapper.eq("project_id", project.getId());
+                MaterialInfo updateMaterialInfo = new MaterialInfo();
+                updateMaterialInfo.setSupplierCode(project.getSupplierCode());
+                materialInfoService.update(updateMaterialInfo, materialInfoQueryWrapper);
+            }
+
             if (ok) {
                 result.success("修改成功!");
             }

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

@@ -0,0 +1,248 @@
+package org.jeecg.modules.ctop.controller;
+
+import cn.com.ctop.common.module.entity.SupplierList;
+import cn.com.ctop.common.module.service.ISupplierListService;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 供应商列表
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-07-27
+ */
+@Slf4j
+@Api(tags = "供应商列表")
+@RestController
+@RequestMapping("/ctop/supplierList")
+public class SupplierListController {
+    @Autowired
+    private ISupplierListService supplierListService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param supplierList
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "供应商列表-分页列表查询")
+    @ApiOperation(value = "供应商列表-分页列表查询", notes = "供应商列表-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<SupplierList>> queryPageList(SupplierList supplierList,
+                                                     @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                     @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                     HttpServletRequest req) {
+        Result<IPage<SupplierList>> result = new Result<>();
+        QueryWrapper<SupplierList> queryWrapper = QueryGenerator.initQueryWrapper(supplierList, req.getParameterMap());
+        Page<SupplierList> page = new Page<SupplierList>(pageNo, pageSize);
+        IPage<SupplierList> pageList = supplierListService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 添加
+     *
+     * @param supplierList
+     * @return
+     */
+    @AutoLog(value = "供应商列表-添加")
+    @ApiOperation(value = "供应商列表-添加", notes = "供应商列表-添加")
+    @PostMapping(value = "/add")
+    public Result<SupplierList> add(@RequestBody SupplierList supplierList) {
+        Result<SupplierList> result = new Result<>();
+        try {
+            supplierListService.save(supplierList);
+            result.success("添加成功!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("操作失败");
+        }
+        return result;
+    }
+
+    /**
+     * 编辑
+     *
+     * @param supplierList
+     * @return
+     */
+    @AutoLog(value = "供应商列表-编辑")
+    @ApiOperation(value = "供应商列表-编辑", notes = "供应商列表-编辑")
+    @PutMapping(value = "/edit")
+    public Result<SupplierList> edit(@RequestBody SupplierList supplierList) {
+        Result<SupplierList> result = new Result<SupplierList>();
+        SupplierList supplierListEntity = supplierListService.getById(supplierList.getId());
+        if (supplierListEntity == null) {
+            result.error500("未找到对应实体");
+        } else {
+            boolean ok = supplierListService.updateById(supplierList);
+            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 {
+            supplierListService.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<SupplierList> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        Result<SupplierList> result = new Result<>();
+        if (ids == null || "".equals(ids.trim())) {
+            result.error500("参数不识别!");
+        } else {
+            this.supplierListService.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<SupplierList> queryById(@RequestParam(name = "id", required = true) String id) {
+        Result<SupplierList> result = new Result<>();
+        SupplierList supplierList = supplierListService.getById(id);
+        if (supplierList == null) {
+            result.error500("未找到对应实体");
+        } else {
+            result.setResult(supplierList);
+            result.setSuccess(true);
+        }
+        return result;
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param response
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+        // Step.1 组装查询条件
+        QueryWrapper<SupplierList> queryWrapper = null;
+        try {
+            String paramsStr = request.getParameter("paramsStr");
+            if (oConvertUtils.isNotEmpty(paramsStr)) {
+                String deString = URLDecoder.decode(paramsStr, "UTF-8");
+                SupplierList supplierList = JSON.parseObject(deString, SupplierList.class);
+                queryWrapper = QueryGenerator.initQueryWrapper(supplierList, request.getParameterMap());
+            }
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+
+        //Step.2 AutoPoi 导出Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<SupplierList> pageList = supplierListService.list(queryWrapper);
+        //导出文件名称
+        mv.addObject(NormalExcelConstants.FILE_NAME, "供应商列表列表");
+        mv.addObject(NormalExcelConstants.CLASS, SupplierList.class);
+        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("供应商列表列表数据", "导出人:Jeecg", "导出信息"));
+        mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+        return mv;
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+            MultipartFile file = entity.getValue();
+            ImportParams params = new ImportParams();
+            params.setTitleRows(2);
+            params.setHeadRows(1);
+            params.setNeedSave(true);
+            try {
+                List<SupplierList> listSupplierLists = ExcelImportUtil.importExcel(file.getInputStream(), SupplierList.class, params);
+                supplierListService.saveBatch(listSupplierLists);
+                return Result.ok("文件导入成功!数据行数:" + listSupplierLists.size());
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+                return Result.error("文件导入失败:" + e.getMessage());
+            } finally {
+                try {
+                    file.getInputStream().close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return Result.ok("文件导入失败!");
+    }
+
+}

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

@@ -0,0 +1,248 @@
+package org.jeecg.modules.ctop.controller;
+
+import cn.com.ctop.common.module.entity.SupplierWatermark;
+import cn.com.ctop.common.module.service.ISupplierWatermarkService;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 供应商水印
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-07-28
+ */
+@Slf4j
+@Api(tags = "供应商水印")
+@RestController
+@RequestMapping("/a12/supplierWatermark")
+public class SupplierWatermarkController {
+    @Autowired
+    private ISupplierWatermarkService supplierWatermarkService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param supplierWatermark
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "供应商水印-分页列表查询")
+    @ApiOperation(value = "供应商水印-分页列表查询", notes = "供应商水印-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<SupplierWatermark>> queryPageList(SupplierWatermark supplierWatermark,
+                                                          @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                          @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                          HttpServletRequest req) {
+        Result<IPage<SupplierWatermark>> result = new Result<>();
+        QueryWrapper<SupplierWatermark> queryWrapper = QueryGenerator.initQueryWrapper(supplierWatermark, req.getParameterMap());
+        Page<SupplierWatermark> page = new Page<SupplierWatermark>(pageNo, pageSize);
+        IPage<SupplierWatermark> pageList = supplierWatermarkService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 添加
+     *
+     * @param supplierWatermark
+     * @return
+     */
+    @AutoLog(value = "供应商水印-添加")
+    @ApiOperation(value = "供应商水印-添加", notes = "供应商水印-添加")
+    @PostMapping(value = "/add")
+    public Result<SupplierWatermark> add(@RequestBody SupplierWatermark supplierWatermark) {
+        Result<SupplierWatermark> result = new Result<>();
+        try {
+            supplierWatermarkService.save(supplierWatermark);
+            result.success("添加成功!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("操作失败");
+        }
+        return result;
+    }
+
+    /**
+     * 编辑
+     *
+     * @param supplierWatermark
+     * @return
+     */
+    @AutoLog(value = "供应商水印-编辑")
+    @ApiOperation(value = "供应商水印-编辑", notes = "供应商水印-编辑")
+    @PutMapping(value = "/edit")
+    public Result<SupplierWatermark> edit(@RequestBody SupplierWatermark supplierWatermark) {
+        Result<SupplierWatermark> result = new Result<SupplierWatermark>();
+        SupplierWatermark supplierWatermarkEntity = supplierWatermarkService.getById(supplierWatermark.getId());
+        if (supplierWatermarkEntity == null) {
+            result.error500("未找到对应实体");
+        } else {
+            boolean ok = supplierWatermarkService.updateById(supplierWatermark);
+            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 {
+            supplierWatermarkService.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<SupplierWatermark> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        Result<SupplierWatermark> result = new Result<>();
+        if (ids == null || "".equals(ids.trim())) {
+            result.error500("参数不识别!");
+        } else {
+            this.supplierWatermarkService.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<SupplierWatermark> queryById(@RequestParam(name = "id", required = true) String id) {
+        Result<SupplierWatermark> result = new Result<>();
+        SupplierWatermark supplierWatermark = supplierWatermarkService.getById(id);
+        if (supplierWatermark == null) {
+            result.error500("未找到对应实体");
+        } else {
+            result.setResult(supplierWatermark);
+            result.setSuccess(true);
+        }
+        return result;
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param response
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+        // Step.1 组装查询条件
+        QueryWrapper<SupplierWatermark> queryWrapper = null;
+        try {
+            String paramsStr = request.getParameter("paramsStr");
+            if (oConvertUtils.isNotEmpty(paramsStr)) {
+                String deString = URLDecoder.decode(paramsStr, "UTF-8");
+                SupplierWatermark supplierWatermark = JSON.parseObject(deString, SupplierWatermark.class);
+                queryWrapper = QueryGenerator.initQueryWrapper(supplierWatermark, request.getParameterMap());
+            }
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+
+        //Step.2 AutoPoi 导出Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<SupplierWatermark> pageList = supplierWatermarkService.list(queryWrapper);
+        //导出文件名称
+        mv.addObject(NormalExcelConstants.FILE_NAME, "供应商水印列表");
+        mv.addObject(NormalExcelConstants.CLASS, SupplierWatermark.class);
+        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("供应商水印列表数据", "导出人:Jeecg", "导出信息"));
+        mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+        return mv;
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+            MultipartFile file = entity.getValue();
+            ImportParams params = new ImportParams();
+            params.setTitleRows(2);
+            params.setHeadRows(1);
+            params.setNeedSave(true);
+            try {
+                List<SupplierWatermark> listSupplierWatermarks = ExcelImportUtil.importExcel(file.getInputStream(), SupplierWatermark.class, params);
+                supplierWatermarkService.saveBatch(listSupplierWatermarks);
+                return Result.ok("文件导入成功!数据行数:" + listSupplierWatermarks.size());
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+                return Result.error("文件导入失败:" + e.getMessage());
+            } finally {
+                try {
+                    file.getInputStream().close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return Result.ok("文件导入失败!");
+    }
+
+}

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

@@ -49,7 +49,7 @@ public class MergeVideoJob implements Job {
                         materialInfo.setMaterialName("合成" + DateUtils.getMillis());
                         materialInfoService.saveOrUpdate(materialInfo);
                         Thread.sleep(3 * 1000);
-                        materialInfoService.getFile(materialInfo);
+                  //      materialInfoService.getFile(materialInfo);
                         videoMergeTask.setVideoUrl(url);
                         videoMergeTask.setStatus(job.getState());
                         videoMergeTask.setVideoId(materialInfo.getId());

+ 3 - 0
module-common/src/main/java/cn/com/ctop/common/module/entity/MaterialInfo.java

@@ -165,4 +165,7 @@ public class MaterialInfo {
     private String projectName;  // 是否有未审核封面
 
 
+    private String supplierCode; // 素造供应商
+
+
 }

+ 11 - 1
module-common/src/main/java/cn/com/ctop/common/module/entity/Project.java

@@ -54,7 +54,7 @@ public class Project {
     @ApiModelProperty(value = "广告主名称")
     private String advertiserName;
 
-    @Dict(dicCode = "id",dictTable="sys_category",dicText="name")
+    @Dict(dicCode = "id", dictTable = "sys_category", dicText = "name")
     private String industryId;
     private String industryCode;
     /**
@@ -98,6 +98,13 @@ public class Project {
      * 最高出价
      */
     private Long maxBid;
+
+    //供应商
+    private String supplierCode;
+
+    // 销售
+    @Dict(dicCode = "id", dictTable = "sys_user", dicText = "realname")
+    private String saleId;
     /**
      * 最高深度转化出价
      */
@@ -122,4 +129,7 @@ public class Project {
 
     @TableField(exist = false)
     private Integer needExamine;
+
+
+
 }

+ 65 - 0
module-common/src/main/java/cn/com/ctop/common/module/entity/SupplierList.java

@@ -0,0 +1,65 @@
+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 com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * 供应商列表
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-07-27
+ */
+@Data
+@TableName("ctop_supplier_list")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "ctop_supplier_list对象", description = "供应商列表")
+public class SupplierList {
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "id")
+    private Integer id;
+    /**
+     * 供应商code
+     */
+    @Excel(name = "供应商code", width = 15)
+    @ApiModelProperty(value = "供应商code")
+    private String supplierCode;
+    /**
+     * 供应商名称
+     */
+    @Excel(name = "供应商名称", width = 15)
+    @ApiModelProperty(value = "供应商名称")
+    private String supplierName;
+    /**
+     * 创建时间
+     */
+    @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+    /**
+     * 修改时间
+     */
+    @Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "修改时间")
+    private Date updateTime;
+}

+ 65 - 0
module-common/src/main/java/cn/com/ctop/common/module/entity/SupplierWatermark.java

@@ -0,0 +1,65 @@
+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 com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * 供应商水印
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-07-28
+ */
+@Data
+@TableName("ctop_supplier_watermark")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "ctop_supplier_watermark对象", description = "供应商水印")
+public class SupplierWatermark {
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "id")
+    private Long id;
+    /**
+     * 项目名称
+     */
+    @Excel(name = "项目名称", width = 15)
+    @ApiModelProperty(value = "项目名称")
+    private String videoSignature;
+    /**
+     * 水印
+     */
+    @Excel(name = "水印", width = 15)
+    @ApiModelProperty(value = "水印")
+    private String watermarkUrl;
+    /**
+     * 创建时间
+     */
+    @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+    /**
+     * 修改时间
+     */
+    @Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "修改时间")
+    private Date updateTime;
+}

+ 71 - 0
module-common/src/main/java/cn/com/ctop/common/module/enums/MaterialSupplierEnum.java

@@ -0,0 +1,71 @@
+package cn.com.ctop.common.module.enums;
+
+/**
+ * 素材类型
+ */
+public enum MaterialSupplierEnum {
+
+
+    VerticalVideoSmall(559368L, 720, 1280),
+    VerticalVideoBig(560827L, 1080, 1920),
+    HorizontalVideoSmall(560828L, 1280, 720),
+    HorizontalVideoBig(560829L, 1920, 1080);
+
+
+    private Long templateId;
+    private Integer width;
+    private Integer height;
+
+
+    private MaterialSupplierEnum(Long templateId, Integer width, Integer height) {
+        this.templateId = templateId;
+        this.width = width;
+        this.height = height;
+    }
+
+    public static Long getTemplateIdBySize(Integer widthStr, Integer heightStr) {
+        for (MaterialSupplierEnum material : MaterialSupplierEnum.values()) {
+            Integer width = material.getWidth();
+            Integer height = material.getHeight();
+            if (widthStr == width && heightStr == height) {
+                return material.getTemplateId();
+            }
+        }
+
+        return 0L;
+    }
+
+
+    public Long getTemplateId() {
+        return templateId;
+    }
+
+    public void setTemplateId(Long templateId) {
+        this.templateId = templateId;
+    }
+
+    public Integer getWidth() {
+        return width;
+    }
+
+    public void setWidth(Integer width) {
+        this.width = width;
+    }
+
+    public Integer getHeight() {
+        return height;
+    }
+
+    public void setHeight(Integer height) {
+        this.height = height;
+    }
+
+    @Override
+    public String toString() {
+        return "MaterialSupplierEnum{" +
+                "templateId=" + templateId +
+                ", width=" + width +
+                ", height=" + height +
+                '}';
+    }
+}

+ 15 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/SupplierListMapper.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.common.module.mapper;
+
+import cn.com.ctop.common.module.entity.SupplierList;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 供应商列表
+ *
+ * @author: jeecg-boot
+ * @date: 2020-07-27
+ * @cersion: V1.0
+ */
+public interface SupplierListMapper extends BaseMapper<SupplierList> {
+
+}

+ 15 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/SupplierWatermarkMapper.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.common.module.mapper;
+
+import cn.com.ctop.common.module.entity.SupplierWatermark;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 供应商水印
+ *
+ * @author: jeecg-boot
+ * @date: 2020-07-28
+ * @cersion: V1.0
+ */
+public interface SupplierWatermarkMapper extends BaseMapper<SupplierWatermark> {
+
+}

+ 5 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/SupplierListMapper.xml

@@ -0,0 +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.SupplierListMapper">
+
+</mapper>

+ 5 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/SupplierWatermarkMapper.xml

@@ -0,0 +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.SupplierWatermarkMapper">
+
+</mapper>

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

@@ -16,6 +16,16 @@ import java.util.Map;
  * @date 2019-10-11
  */
 public interface IMaterialInfoService extends IService<MaterialInfo> {
+
+    /**
+     * 快手供应商打水印
+     *
+     * @param videoSignature
+     * @param videoUrl
+     * @param templateId
+     */
+    void watermarkVideoBySupplierCode(String videoSignature, String videoUrl, Long templateId);
+
     MaterialInfo getMaterialInfoByCodeAndProjectId(String code, Long projectId);
 
     MaterialInfo getMaterialInfoByCode(String code);
@@ -32,7 +42,7 @@ public interface IMaterialInfoService extends IService<MaterialInfo> {
 
     void watermarkVideo(String materialId, Long videoWatermarkTemplateId, String userId);
 
-    void getFile(MaterialInfo materialInfo);
+    void getFile(MaterialInfo materialInfo, String mediaId);
 
     void setExcellent(String id, Integer excellent);
 

+ 15 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/ISupplierListService.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.common.module.service;
+
+import cn.com.ctop.common.module.entity.SupplierList;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 供应商列表
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-07-27
+ */
+public interface ISupplierListService extends IService<SupplierList> {
+
+}

+ 15 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/ISupplierWatermarkService.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.common.module.service;
+
+import cn.com.ctop.common.module.entity.SupplierWatermark;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 供应商水印
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-07-28
+ */
+public interface ISupplierWatermarkService extends IService<SupplierWatermark> {
+
+}

+ 18 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/SupplierWatermarkServiceImpl.java

@@ -0,0 +1,18 @@
+package cn.com.ctop.common.module.service;
+
+import cn.com.ctop.common.module.entity.SupplierWatermark;
+import cn.com.ctop.common.module.mapper.SupplierWatermarkMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * 供应商水印
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-07-28
+ */
+@Service
+public class SupplierWatermarkServiceImpl extends ServiceImpl<SupplierWatermarkMapper, SupplierWatermark> implements ISupplierWatermarkService {
+
+}

+ 79 - 3
module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialInfoServiceImpl.java

@@ -2,6 +2,7 @@ package cn.com.ctop.common.module.service.impl;
 
 import cn.com.ctop.common.module.constant.CosConstant;
 import cn.com.ctop.common.module.entity.*;
+import cn.com.ctop.common.module.enums.MaterialSupplierEnum;
 import cn.com.ctop.common.module.mapper.MaterialAscriptionMapper;
 import cn.com.ctop.common.module.mapper.MaterialInfoMapper;
 import cn.com.ctop.common.module.mapper.MaterialParameterMapper;
@@ -63,6 +64,8 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
     private MaterialTagMapper materialTagMapper;
     @Resource
     private IMaterialCutFrameService materialCutFrameService;
+    @Autowired
+    private ISupplierWatermarkService supplierWatermarkService;
 
 
     @Value("${oss.replace.download}")
@@ -102,6 +105,57 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
 
     }
 
+
+    @Override
+    public void watermarkVideoBySupplierCode(String videoSignature, String videoUrl, Long templateId) {
+        try {
+
+            QueryWrapper<SupplierWatermark> supplierWatermarkQueryWrapper = new QueryWrapper<>();
+            supplierWatermarkQueryWrapper.eq("video_signature", videoSignature);
+            supplierWatermarkQueryWrapper.last("limit 1");
+            SupplierWatermark one = supplierWatermarkService.getOne(supplierWatermarkQueryWrapper);
+            if (!Check.isNull(one)) {
+                return;
+            }
+
+
+            Thread thread = new Thread() {
+                @Override
+                public void run() {
+                    String path = URLDecoder.decode(videoUrl).replace("https://media-1301855440.cos.ap-chongqing.myqcloud.com/", "");
+                    String taskId = videoWatermarkHandle(path, templateId);
+                    DescribeTaskDetailResponse taskDetailResponse = null;
+                    for (int i = 0; i < 20; 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 url = taskDetailResponse.getWorkflowTask().getMediaProcessResultSet()[0].getTranscodeTask().getOutput().getPath();
+                        SupplierWatermark supplierWatermark = new SupplierWatermark();
+                        supplierWatermark.setVideoSignature(videoSignature);
+                        supplierWatermark.setWatermarkUrl(url);
+                        supplierWatermarkService.save(supplierWatermark);
+                    }
+                }
+            };
+            thread.start();
+
+        } catch (Exception e) {
+            e.printStackTrace();
+
+        }
+
+
+    }
+
+
     @Override
     public MaterialInfo getMaterialInfoByCodeAndProjectId(String code, Long projectId) {
         QueryWrapper<MaterialInfo> queryWrapper = new QueryWrapper<>();
@@ -244,7 +298,7 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
             }
         }
 
-        getFile(info);
+        // getFile(info,);
 
     }
 
@@ -330,7 +384,7 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
 
 
     @Override
-    public void getFile(MaterialInfo materialInfo) {
+    public void getFile(MaterialInfo materialInfo, String mediaId) {
         uploadExecutorService.submit(new Runnable() {
             @Override
             public void run() {
@@ -377,6 +431,20 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
                         if (insert > 0) {
                             log.info("素材基本信息入库完成,用时:{} s", (System.currentTimeMillis() - l) / 1000);
                         }
+
+                        if ("2".equals(mediaId) || "4".equals(mediaId)) {
+                            if (!"kuaishou_001".equals(materialInfo.getSupplierCode())) {
+                                // 默认抽帧 素造供应商
+                                Long templateId = MaterialSupplierEnum.getTemplateIdBySize(Integer.valueOf(width), Integer.valueOf(height));
+                                if (!Check.isNull(templateId)) {
+                                    watermarkVideoBySupplierCode(materialInfo.getCode(), materialInfo.getUrl(), templateId);
+                                }
+                            }
+
+
+                        }
+
+
                     } catch (FileNotFoundException e) {
                         e.printStackTrace();
                     } catch (IOException e) {
@@ -432,6 +500,8 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
 
     @Autowired
     private IMaterialImageInfoService materialImageInfoService;
+    @Autowired
+    private IProjectService projectService;
 
     /**
      * 素材库关联上传素材 1
@@ -470,6 +540,12 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
             info.setUpdateTime(new Date());
             info.setType(type);
 
+            Project project = projectService.getById(projectId);
+            if (!Check.isNull(project)) {
+                info.setSupplierCode(project.getSupplierCode());
+            }
+
+
             MaterialCutFrame cutFrame = materialCutFrameService.getCutFrameByCode(code);
             if (Check.isNull(cutFrame)) {
                 String videoUrl = URLDecoder.decode(info.getUrl()).replace("https://media-1301855440.cos.ap-chongqing.myqcloud.com/", "");
@@ -540,7 +616,7 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
                 }
             }
 
-            getFile(info);
+            getFile(info, project.getMediaId());
 
             ResultMapUtils.setResultMap(resultMap, StatusCode.COMMON_SUCCESS.getCode());
         } catch (Exception e) {

+ 19 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/SupplierListServiceImpl.java

@@ -0,0 +1,19 @@
+package cn.com.ctop.common.module.service.impl;
+
+import cn.com.ctop.common.module.entity.SupplierList;
+import cn.com.ctop.common.module.mapper.SupplierListMapper;
+import cn.com.ctop.common.module.service.ISupplierListService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * 供应商列表
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-07-27
+ */
+@Service
+public class SupplierListServiceImpl extends ServiceImpl<SupplierListMapper, SupplierList> implements ISupplierListService {
+
+}