Преглед на файлове

Merge branch 'master' of http://git.tjyourong.com.cn/ctop/adsp-boot

zhaoxian преди 4 години
родител
ревизия
330e105899
променени са 25 файла, в които са добавени 720 реда и са изтрити 202 реда
  1. 175 166
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectTransferRecordController.java
  2. 20 17
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ProjectTransferRecordServiceImpl.java
  3. 33 0
      module-common/src/main/java/cn/com/ctop/common/module/enums/MaterialEnum.java
  4. 4 0
      module-common/src/main/java/cn/com/ctop/common/module/mapper/MaterialCutFrameMapper.java
  5. 12 1
      module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/MaterialCutFrameMapper.xml
  6. 3 1
      module-common/src/main/java/cn/com/ctop/common/module/service/IMaterialCutFrameService.java
  7. 1 1
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/BindAccountAuthServiceImpl.java
  8. 5 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialCutFrameServiceImpl.java
  9. 1 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/BatchController.java
  10. 1 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/CollectionSlogansController.java
  11. 248 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCreativeTagCollectionController.java
  12. 32 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaishouProgramCreativeController.java
  13. 77 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/entity/KuaiShouCreativeTagCollection.java
  14. 15 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/KuaiShouCreativeTagCollectionMapper.java
  15. 5 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/xml/KuaiShouCreativeTagCollectionMapper.xml
  16. 14 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/IKuaiShouCreativeTagCollectionService.java
  17. 3 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/IKuaishouProgramCreativeService.java
  18. 9 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/CollectionSlogansServiceImpl.java
  19. 19 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaiShouCreativeTagCollectionServiceImpl.java
  20. 30 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaishouProgramCreativeServiceImpl.java
  21. 2 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/entity/KuaishouReportHourlyAccount.java
  22. 7 9
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/KsVideoReportMapper.xml
  23. 0 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/KuaiShouAccountReportServiceImpl.java
  24. 1 0
      module-kuaishou/src/main/resources/kuaishou_config.properties
  25. 3 3
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/mapper/xml/BytedanceVideoReportMapper.xml

+ 175 - 166
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectTransferRecordController.java

@@ -26,185 +26,194 @@ import java.util.Map;
 
 /**
  * 账户转项目记录
+ *
  * @author jeecg-boot
- * @date   2020-07-22
  * @version V1.0
+ * @date 2020-07-22
  */
 @Slf4j
-@Api(tags="账户转项目记录")
+@Api(tags = "账户转项目记录")
 @RestController
 @RequestMapping("/ctop/projectTransferRecord")
 public class ProjectTransferRecordController {
-	@Autowired
-	private IProjectTransferRecordService projectTransferRecordService;
-	@Autowired
-	private ISysRoleService sysRoleService;
-	/**
-	  * 我发起的
-	 * @param projectTransferRecord
-	 * @param pageNo
-	 * @param pageSize
-	 * @param req
-	 * @return
-	 */
-	@AutoLog(value = "账户转项目记录-分页列表查询")
-	@ApiOperation(value="账户转项目记录-分页列表查询", notes="账户转项目记录-分页列表查询")
-	@GetMapping(value = "/initiatedList")
-	public Result<IPage<ProjectTransferRecord>> initiatedList(ProjectTransferRecord projectTransferRecord,
-									  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-									  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-									  HttpServletRequest req) {
-		Integer status = projectTransferRecord.getStatus();
-		if(null == status||status.equals(0)){
-			projectTransferRecord.setStatus(null);
-		}
-		Result<IPage<ProjectTransferRecord>> result = new Result<>();
-		QueryWrapper<ProjectTransferRecord> queryWrapper = QueryGenerator.initQueryWrapper(projectTransferRecord, req.getParameterMap());
-		LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-		String rodeCode = sysRoleService.getRoleCodeByUserId(sysUser.getId());
-		if(null!=rodeCode&&rodeCode.trim().equals("admin")){
-			queryWrapper.eq("user_id",sysUser.getId());
-		}
-		queryWrapper.ne("status",0);
-		Page<ProjectTransferRecord> page = new Page<>(pageNo, pageSize);
-		IPage<ProjectTransferRecord> pageList = projectTransferRecordService.page(page, queryWrapper);
-		result.setSuccess(true);
-		result.setResult(pageList);
-		return result;
-	}
+    @Autowired
+    private IProjectTransferRecordService projectTransferRecordService;
+    @Autowired
+    private ISysRoleService sysRoleService;
 
-	 /**
-	  * 待审核的
-	  * @param projectTransferRecord
-	  * @param pageNo
-	  * @param pageSize
-	  * @param req
-	  * @return
-	  */
-	 @AutoLog(value = "账户转项目记录-分页列表查询")
-	 @ApiOperation(value="账户转项目记录-分页列表查询", notes="账户转项目记录-分页列表查询")
-	 @GetMapping(value = "/auditList")
-	 public Result<IPage<ProjectTransferRecord>> auditList(ProjectTransferRecord projectTransferRecord,
-															   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-															   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-															   HttpServletRequest req) {
-		 Integer status = projectTransferRecord.getStatus();
-		 if(null == status||status.equals(0)){
-			 projectTransferRecord.setStatus(null);
-		 }
-		 Result<IPage<ProjectTransferRecord>> result = new Result<>();
-		 QueryWrapper<ProjectTransferRecord> queryWrapper = QueryGenerator.initQueryWrapper(projectTransferRecord, req.getParameterMap());
-		 LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-		 String rodeCode = sysRoleService.getRoleCodeByUserId(sysUser.getId());
-		 if(null!=rodeCode&&rodeCode.trim().equals("admin")){
-			 queryWrapper.eq("reviewer_id",sysUser.getId());
-		 }
-		 queryWrapper.ne("status",0);
-		 Page<ProjectTransferRecord> page = new Page<>(pageNo, pageSize);
-		 IPage<ProjectTransferRecord> pageList = projectTransferRecordService.page(page, queryWrapper);
-		 result.setSuccess(true);
-		 result.setResult(pageList);
-		 return result;
-	 }
+    /**
+     * 我发起的
+     *
+     * @param projectTransferRecord
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "账户转项目记录-分页列表查询")
+    @ApiOperation(value = "账户转项目记录-分页列表查询", notes = "账户转项目记录-分页列表查询")
+    @GetMapping(value = "/initiatedList")
+    public Result<IPage<ProjectTransferRecord>> initiatedList(ProjectTransferRecord projectTransferRecord,
+                                                              @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                              @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                              HttpServletRequest req) {
+        Integer status = projectTransferRecord.getStatus();
+        if (null == status || status.equals(0)) {
+            projectTransferRecord.setStatus(null);
+        }
+        Result<IPage<ProjectTransferRecord>> result = new Result<>();
+        QueryWrapper<ProjectTransferRecord> queryWrapper = QueryGenerator.initQueryWrapper(projectTransferRecord, req.getParameterMap());
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String rodeCode = sysRoleService.getRoleCodeByUserId(sysUser.getId());
+        if (null != rodeCode && rodeCode.trim().equals("admin")) {
+            queryWrapper.eq("user_id", sysUser.getId());
+        }
+        queryWrapper.ne("status", 0);
+        Page<ProjectTransferRecord> page = new Page<>(pageNo, pageSize);
+        IPage<ProjectTransferRecord> pageList = projectTransferRecordService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
 
-	 @PostMapping("editStatus")
-	 public Map<String,Object> editStatus(Long id, Integer status){
-	 	Map<String, Object>result = new HashMap<>();
-	 	if(id == null||id == 0||status == null){
-			ResultMapUtils.setResultMap(result, StatusCode.COMMON_PARAM_ERROR);
-			return result;
-		}
-		return projectTransferRecordService.updateStatus(id,status);
-	 }
+    /**
+     * 待审核的
+     *
+     * @param projectTransferRecord
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "账户转项目记录-分页列表查询")
+    @ApiOperation(value = "账户转项目记录-分页列表查询", notes = "账户转项目记录-分页列表查询")
+    @GetMapping(value = "/auditList")
+    public Result<IPage<ProjectTransferRecord>> auditList(ProjectTransferRecord projectTransferRecord,
+                                                          @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                          @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                          HttpServletRequest req) {
+        Integer status = projectTransferRecord.getStatus();
+        if (null == status || status.equals(0)) {
+            projectTransferRecord.setStatus(null);
+        }
+        Result<IPage<ProjectTransferRecord>> result = new Result<>();
+        QueryWrapper<ProjectTransferRecord> queryWrapper = QueryGenerator.initQueryWrapper(projectTransferRecord, req.getParameterMap());
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String rodeCode = sysRoleService.getRoleCodeByUserId(sysUser.getId());
+        if (null != rodeCode && !rodeCode.trim().equals("admin")) {
+            queryWrapper.eq("reviewer_id", sysUser.getId());
+        }
+        queryWrapper.ne("status", 0);
+        Page<ProjectTransferRecord> page = new Page<>(pageNo, pageSize);
+        IPage<ProjectTransferRecord> pageList = projectTransferRecordService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
 
-	/**
-	  *  添加
-	 * @return
-	 */
-	@AutoLog(value = "账户转项目记录-添加")
-	@ApiOperation(value="账户转项目记录-添加", notes="账户转项目记录-添加")
-	@PostMapping(value = "/add")
-	public Map<String,Object> add(Long accountId, Long projectId) {
-		return projectTransferRecordService.addRecord(accountId,projectId);
-	}
+    @PostMapping("editStatus")
+    public Map<String, Object> editStatus(Long id, Integer status) {
+        Map<String, Object> result = new HashMap<>();
+        if (id == null || id == 0 || status == null) {
+            ResultMapUtils.setResultMap(result, StatusCode.COMMON_PARAM_ERROR);
+            return result;
+        }
+        return projectTransferRecordService.updateStatus(id, status);
+    }
 
-	/**
-	  *  编辑
-	 * @param projectTransferRecord
-	 * @return
-	 */
-	@AutoLog(value = "账户转项目记录-编辑")
-	@ApiOperation(value="账户转项目记录-编辑", notes="账户转项目记录-编辑")
-	@PutMapping(value = "/edit")
-	public Result<ProjectTransferRecord> edit(@RequestBody ProjectTransferRecord projectTransferRecord) {
-		Result<ProjectTransferRecord> result = new Result<>();
-		ProjectTransferRecord projectTransferRecordEntity = projectTransferRecordService.getById(projectTransferRecord.getId());
-		if(projectTransferRecordEntity==null) {
-			result.error500("未找到对应实体");
-		}else {
-			boolean ok = projectTransferRecordService.updateById(projectTransferRecord);
-			if(ok) {
-				result.success("修改成功!");
-			}
-		}
+    /**
+     * 添加
+     *
+     * @return
+     */
+    @AutoLog(value = "账户转项目记录-添加")
+    @ApiOperation(value = "账户转项目记录-添加", notes = "账户转项目记录-添加")
+    @PostMapping(value = "/add")
+    public Map<String, Object> add(Long accountId, Long projectId) {
+        return projectTransferRecordService.addRecord(accountId, projectId);
+    }
 
-		return result;
-	}
+    /**
+     * 编辑
+     *
+     * @param projectTransferRecord
+     * @return
+     */
+    @AutoLog(value = "账户转项目记录-编辑")
+    @ApiOperation(value = "账户转项目记录-编辑", notes = "账户转项目记录-编辑")
+    @PutMapping(value = "/edit")
+    public Result<ProjectTransferRecord> edit(@RequestBody ProjectTransferRecord projectTransferRecord) {
+        Result<ProjectTransferRecord> result = new Result<>();
+        ProjectTransferRecord projectTransferRecordEntity = projectTransferRecordService.getById(projectTransferRecord.getId());
+        if (projectTransferRecordEntity == null) {
+            result.error500("未找到对应实体");
+        } else {
+            boolean ok = projectTransferRecordService.updateById(projectTransferRecord);
+            if (ok) {
+                result.success("修改成功!");
+            }
+        }
 
-	/**
-	 * 通过id删除
-	 * @param id
-	 * @return
-	 */
-	@AutoLog(value = "账户转项目记录-通过id删除")
-	@ApiOperation(value="账户转项目记录-通过id删除", notes="账户转项目记录-通过id删除")
-	@DeleteMapping(value = "/delete")
-	public Result<Object> delete(@RequestParam(name="id",required=true) Long id,@RequestParam(name = "status",defaultValue = "0") Integer status) {
-		try {
-			projectTransferRecordService.updateStatus(id,status);
-		} catch (Exception e) {
-			log.error("删除失败",e.getMessage());
-			return Result.error("删除失败!");
-		}
-		return Result.ok("删除成功!");
-	}
+        return result;
+    }
 
-	/**
-	 *  批量删除
-	 * @param ids
-	 * @return
-	 */
-	@AutoLog(value = "账户转项目记录-批量删除")
-	@ApiOperation(value="账户转项目记录-批量删除", notes="账户转项目记录-批量删除")
-	@DeleteMapping(value = "/deleteBatch")
-	public Result<ProjectTransferRecord> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		Result<ProjectTransferRecord> result = new Result<>();
-		if(ids==null || "".equals(ids.trim())) {
-			result.error500("参数不识别!");
-		}else {
-			this.projectTransferRecordService.removeByIds(Arrays.asList(ids.split(",")));
-			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) Long id, @RequestParam(name = "status", defaultValue = "0") Integer status) {
+        try {
+            projectTransferRecordService.updateStatus(id, status);
+        } catch (Exception e) {
+            log.error("删除失败", e.getMessage());
+            return Result.error("删除失败!");
+        }
+        return Result.ok("删除成功!");
+    }
 
-	/**
-	 * 通过id查询
-	 * @param id
-	 * @return
-	 */
-	@AutoLog(value = "账户转项目记录-通过id查询")
-	@ApiOperation(value="账户转项目记录-通过id查询", notes="账户转项目记录-通过id查询")
-	@GetMapping(value = "/queryById")
-	public Result<ProjectTransferRecord> queryById(@RequestParam(name="id",required=true) String id) {
-		Result<ProjectTransferRecord> result = new Result<>();
-		ProjectTransferRecord projectTransferRecord = projectTransferRecordService.getById(id);
-		if(projectTransferRecord==null) {
-			result.error500("未找到对应实体");
-		}else {
-			result.setResult(projectTransferRecord);
-			result.setSuccess(true);
-		}
-		return result;
-	}
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "账户转项目记录-批量删除")
+    @ApiOperation(value = "账户转项目记录-批量删除", notes = "账户转项目记录-批量删除")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<ProjectTransferRecord> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        Result<ProjectTransferRecord> result = new Result<>();
+        if (ids == null || "".equals(ids.trim())) {
+            result.error500("参数不识别!");
+        } else {
+            this.projectTransferRecordService.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<ProjectTransferRecord> queryById(@RequestParam(name = "id", required = true) String id) {
+        Result<ProjectTransferRecord> result = new Result<>();
+        ProjectTransferRecord projectTransferRecord = projectTransferRecordService.getById(id);
+        if (projectTransferRecord == null) {
+            result.error500("未找到对应实体");
+        } else {
+            result.setResult(projectTransferRecord);
+            result.setSuccess(true);
+        }
+        return result;
+    }
 }

+ 20 - 17
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ProjectTransferRecordServiceImpl.java

@@ -25,9 +25,10 @@ import java.util.Map;
 
 /**
  * 账户转项目记录
+ *
  * @author jeecg-boot
- * @date   2020-07-22
  * @version V1.0
+ * @date 2020-07-22
  */
 @Service
 public class ProjectTransferRecordServiceImpl extends ServiceImpl<ProjectTransferRecordMapper, ProjectTransferRecord> implements IProjectTransferRecordService {
@@ -39,46 +40,48 @@ public class ProjectTransferRecordServiceImpl extends ServiceImpl<ProjectTransfe
     private IProjectService projectService;
     @Autowired
     private IUserAllocationService userAllocationService;
+
     @Override
-    public Map<String,Object> updateStatus(Long id, Integer status) {
-        Map<String,Object>result = new HashMap<>();
+    public Map<String, Object> updateStatus(Long id, Integer status) {
+        Map<String, Object> result = new HashMap<>();
         ProjectTransferRecord record = this.getById(id);
-        if(null == record||record.getStatus()==0){
+        if (null == record || record.getStatus() == 0) {
             ResultMapUtils.setResultMap(result, StatusCode.COMMON_PARAM_ERROR);
             return result;
         }
         record.setStatus(status);
         record.setUpdateTime(new Date());
         this.updateById(record);
-        if(status == 2){
+        if (status == 2) {
             //需要转转项目
             UserAllocation userAllocation = userAllocationService.getByAccountId(record.getAccountId());
             SysUser user = sysUserService.getById(record.getUserId());
             Project project = projectService.getById(record.getTargetProject());
             userAllocation.setProjectId(project.getId());
-       //     userAllocation.setProjectName(project.getProjectName());
+            userAllocation.setAdvertiserId(project.getAdvertiserId());
+            //     userAllocation.setProjectName(project.getProjectName());
             userAllocationService.updateById(userAllocation);
-            ProjectMember member = projectMemberService.getProjectByParams(record.getTargetProject(),record.getUserId());
-            if(null == member){
-                projectMemberService.addMember(user,project);
+            ProjectMember member = projectMemberService.getProjectByParams(record.getTargetProject(), record.getUserId());
+            if (null == member) {
+                projectMemberService.addMember(user, project);
             }
         }
-        ResultMapUtils.setResultMap(result,StatusCode.COMMON_SUCCESS);
+        ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS);
         return result;
     }
 
     @Override
     public Map<String, Object> addRecord(Long accountId, Long projectId) {
-        Map<String,Object>result = new HashMap<>();
+        Map<String, Object> result = new HashMap<>();
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        if(accountId == null||projectId==null){
-            ResultMapUtils.setResultMap(result,StatusCode.COMMON_PARAM_ERROR);
+        if (accountId == null || projectId == null) {
+            ResultMapUtils.setResultMap(result, StatusCode.COMMON_PARAM_ERROR);
             return result;
         }
         UserAllocation allocation = userAllocationService.getByAccountId(accountId);
         Project project = projectService.getById(projectId);
-        if(null == allocation||null == project){
-            ResultMapUtils.setResultMap(result,StatusCode.COMMON_PARAM_ERROR);
+        if (null == allocation || null == project) {
+            ResultMapUtils.setResultMap(result, StatusCode.COMMON_PARAM_ERROR);
             return result;
         }
         ProjectTransferRecord record = new ProjectTransferRecord();
@@ -87,11 +90,11 @@ public class ProjectTransferRecordServiceImpl extends ServiceImpl<ProjectTransfe
         record.setSoucreProject(allocation.getProjectId());
         record.setTargetProject(projectId);
         record.setUserId(user.getId());
-        record.setReviewerId(project.getUserId());
+        record.setReviewerId(project.getResponsibleId());
         record.setCreateTime(new Date());
         record.setUpdateTime(new Date());
         this.save(record);
-        ResultMapUtils.setResultMap(result,StatusCode.COMMON_SUCCESS);
+        ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS);
         return result;
     }
 }

+ 33 - 0
module-common/src/main/java/cn/com/ctop/common/module/enums/MaterialEnum.java

@@ -11,8 +11,41 @@ public enum MaterialEnum {
     VerticalVideo846Small(1, 846, 1536),
     VerticalVideo1080mall(1, 1080, 2200),
     VerticalVideoBig(1, 1080, 1920),
+    VerticalVideo360(1, 360, 640),
+    VerticalVideo362(1, 362, 640),
+    VerticalVideo368(1, 368, 490),
+    VerticalVideo363(1, 363, 640),
+    VerticalVideo438(1, 438, 640),
+    VerticalVideo480(1, 480, 640),
+    VerticalVideo525(1, 525, 640),
+    VerticalVideo540(1, 540, 960),
+    VerticalVideo544(1, 544, 726),
+    VerticalVideo590(1, 590, 1280),
+    VerticalVideo694(1, 694, 1236),
+    VerticalVideo704(1, 704, 1252),
+    VerticalVideo710(1, 710, 1264),
+    VerticalVideo714(1, 714, 1270),
+    VerticalVideo716(1, 716, 1276),
+    VerticalVideo718(1, 718, 1278),
+    VerticalVideo719(1, 719, 1170),
+    VerticalVideo720(1, 720, 960),
+    VerticalVideo750(1, 750, 1334),
+    VerticalVideo787(1, 787, 1280),
+    VerticalVideo864(1, 864, 1536),
+    VerticalVideo1088(1, 1088, 1920),
+    VerticalVideo1181(1, 1181, 1920),
+    VerticalVideo1216(1, 1216, 2160),
+    VerticalVideo1296(1, 1296, 2304),
+    VerticalVideo1440(1, 1440, 2560),
+    VerticalVideo2160(1, 2160, 3840),
     HorizontalVideoSmall(2, 1280, 720),
     HorizontalVideoBig(2, 1920, 1080),
+    HorizontalVideo640(2, 640, 368),
+    HorizontalVideo1281(2, 1281, 720),
+    HorizontalVideo1400(2, 1400, 720),
+    HorizontalVideo1700(2, 1700, 1080),
+    HorizontalVideo1902(2, 1902, 1080),
+    HorizontalVideo1920(2, 1920, 1080),
     BianlitieImageBig(4, 540, 540),
     BianLitieImageSmall(4, 450, 450);
 

+ 4 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/MaterialCutFrameMapper.java

@@ -1,6 +1,8 @@
 package cn.com.ctop.common.module.mapper;
 
 import cn.com.ctop.common.module.entity.MaterialCutFrame;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -17,4 +19,6 @@ import java.util.List;
 public interface MaterialCutFrameMapper extends BaseMapper<MaterialCutFrame> {
 
     List<MaterialCutFrame> getListByVideoSignature(@Param(value = "videoSignature") String signature);
+
+    List<JSONObject> getProgramCreativeCover(@Param("signature") String signature);
 }

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

@@ -19,8 +19,19 @@
         where frame.signature = a.signature
         order by id desc
         limit 1) as 'id'
-from (select distinct signature
+       from (select distinct signature
       from ctop_material_cut_frame
       where video_signature = #{videoSignature}) a;
     </select>
+
+
+    <select id="getProgramCreativeCover" resultType="com.alibaba.fastjson.JSONObject">
+      SELECT
+      signature as 'signature',
+      url as 'url'
+      FROM ctop_material_cut_frame
+      WHERE video_signature = #{signature}
+      ORDER BY RAND() LIMIT 5;
+    </select>
+
 </mapper>

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

@@ -2,6 +2,7 @@ package cn.com.ctop.common.module.service;
 
 
 import cn.com.ctop.common.module.entity.MaterialCutFrame;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.io.IOException;
@@ -25,10 +26,11 @@ public interface IMaterialCutFrameService extends IService<MaterialCutFrame> {
 
     void loadCosCutFrame(String jobId, String videoSignature);  //腾讯云抽帧任务状态查询以及数据入库
 
-    void getTencentCutFrame(String videoUrl,String materialId,String coveUrl);
+    void getTencentCutFrame(String videoUrl, String materialId, String coveUrl);
 
     boolean updateTencentCutFrame(String videoMD5);
 
     MaterialCutFrame getCutFrameByCode(String code);
 
+    List<JSONObject> getProgramCreativeCover(String signature);
 }

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

@@ -77,7 +77,7 @@ public class BindAccountAuthServiceImpl extends ServiceImpl<BindAccountAuthMappe
                     .append ("?app_id=" + PropertiesUtils.getValue("kuaishou_config", "kuaishou_third_appid"))
                     .append("&state=" + URLEncoder.encode(URLEncoder.encode(state)))
                     .append("&scope=%5B%22report_service%22%2C%22ad_query%22%2C%22account_service%22%2C%22ad_manage%22%5D")
-                    .append("&redirect_uri=" + URLEncoder.encode(PropertiesUtils.getValue("kuaishou_config", "kuaishou_callback_url"), "UTF-8"));
+                    .append("&redirect_uri=" + URLEncoder.encode(PropertiesUtils.getValue("kuaishou_config", "kuaishou_third_callback_url"), "UTF-8"));
         }
 
         return sb.toString();

+ 5 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialCutFrameServiceImpl.java

@@ -423,5 +423,10 @@ public class MaterialCutFrameServiceImpl extends ServiceImpl<MaterialCutFrameMap
         return this.getOne(queryWrapper);
     }
 
+    @Override
+    public  List<JSONObject>  getProgramCreativeCover(String signature) {
+        return materialCutFrameMapper.getProgramCreativeCover(signature);
+    }
+
 
 }

+ 1 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/BatchController.java

@@ -2388,4 +2388,5 @@ public class BatchController {
 
 
 
+
 }

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/CollectionSlogansController.java

@@ -95,7 +95,7 @@ public class CollectionSlogansController {
     public Result<JSONObject> add(@RequestBody JSONObject requestJson) {
         Result<JSONObject> result = new Result<>();
         try {
-            if(Check.isNull(requestJson.getJSONArray("coverSlogansList"))&&Check.isNull(requestJson.getJSONArray("captionsList"))){
+            if(Check.isNull(requestJson.getJSONArray("coverSlogansList"))&&Check.isNull(requestJson.getJSONArray("captionsList"))&&Check.isNull(requestJson.getJSONArray("creativeTag"))){
                 result.setMessage("请输入广告语");
                 result.setSuccess(false);
                 return result;

+ 248 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCreativeTagCollectionController.java

@@ -0,0 +1,248 @@
+package cn.com.ctop.kuaishou.modules.batch.controller;
+
+import cn.com.ctop.common.module.annotation.AutoLog;
+import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCreativeTagCollection;
+import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouCreativeTagCollectionService;
+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.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-10-22
+ */
+@Slf4j
+@Api(tags = "快手-创意标签收藏")
+@RestController
+@RequestMapping("/tag/kuaiShouCreativeTagCollection")
+public class KuaiShouCreativeTagCollectionController {
+    @Autowired
+    private IKuaiShouCreativeTagCollectionService kuaiShouCreativeTagCollectionService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param kuaiShouCreativeTagCollection
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "快手-创意标签收藏-分页列表查询")
+    @ApiOperation(value = "快手-创意标签收藏-分页列表查询", notes = "快手-创意标签收藏-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<KuaiShouCreativeTagCollection>> queryPageList(KuaiShouCreativeTagCollection kuaiShouCreativeTagCollection,
+                                                                      @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                                      @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                                      HttpServletRequest req) {
+        Result<IPage<KuaiShouCreativeTagCollection>> result = new Result<>();
+        QueryWrapper<KuaiShouCreativeTagCollection> queryWrapper = QueryGenerator.initQueryWrapper(kuaiShouCreativeTagCollection, req.getParameterMap());
+        Page<KuaiShouCreativeTagCollection> page = new Page<KuaiShouCreativeTagCollection>(pageNo, pageSize);
+        IPage<KuaiShouCreativeTagCollection> pageList = kuaiShouCreativeTagCollectionService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 添加
+     *
+     * @param kuaiShouCreativeTagCollection
+     * @return
+     */
+    @AutoLog(value = "快手-创意标签收藏-添加")
+    @ApiOperation(value = "快手-创意标签收藏-添加", notes = "快手-创意标签收藏-添加")
+    @PostMapping(value = "/add")
+    public Result<KuaiShouCreativeTagCollection> add(@RequestBody KuaiShouCreativeTagCollection kuaiShouCreativeTagCollection) {
+        Result<KuaiShouCreativeTagCollection> result = new Result<>();
+        try {
+            kuaiShouCreativeTagCollectionService.save(kuaiShouCreativeTagCollection);
+            result.success("添加成功!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("操作失败");
+        }
+        return result;
+    }
+
+    /**
+     * 编辑
+     *
+     * @param kuaiShouCreativeTagCollection
+     * @return
+     */
+    @AutoLog(value = "快手-创意标签收藏-编辑")
+    @ApiOperation(value = "快手-创意标签收藏-编辑", notes = "快手-创意标签收藏-编辑")
+    @PutMapping(value = "/edit")
+    public Result<KuaiShouCreativeTagCollection> edit(@RequestBody KuaiShouCreativeTagCollection kuaiShouCreativeTagCollection) {
+        Result<KuaiShouCreativeTagCollection> result = new Result<KuaiShouCreativeTagCollection>();
+        KuaiShouCreativeTagCollection kuaiShouCreativeTagCollectionEntity = kuaiShouCreativeTagCollectionService.getById(kuaiShouCreativeTagCollection.getId());
+        if (kuaiShouCreativeTagCollectionEntity == null) {
+            result.error500("未找到对应实体");
+        } else {
+            boolean ok = kuaiShouCreativeTagCollectionService.updateById(kuaiShouCreativeTagCollection);
+            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 {
+            kuaiShouCreativeTagCollectionService.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<KuaiShouCreativeTagCollection> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        Result<KuaiShouCreativeTagCollection> result = new Result<>();
+        if (ids == null || "".equals(ids.trim())) {
+            result.error500("参数不识别!");
+        } else {
+            this.kuaiShouCreativeTagCollectionService.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<KuaiShouCreativeTagCollection> queryById(@RequestParam(name = "id", required = true) String id) {
+        Result<KuaiShouCreativeTagCollection> result = new Result<>();
+        KuaiShouCreativeTagCollection kuaiShouCreativeTagCollection = kuaiShouCreativeTagCollectionService.getById(id);
+        if (kuaiShouCreativeTagCollection == null) {
+            result.error500("未找到对应实体");
+        } else {
+            result.setResult(kuaiShouCreativeTagCollection);
+            result.setSuccess(true);
+        }
+        return result;
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param response
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+        // Step.1 组装查询条件
+        QueryWrapper<KuaiShouCreativeTagCollection> queryWrapper = null;
+        try {
+            String paramsStr = request.getParameter("paramsStr");
+            if (oConvertUtils.isNotEmpty(paramsStr)) {
+                String deString = URLDecoder.decode(paramsStr, "UTF-8");
+                KuaiShouCreativeTagCollection kuaiShouCreativeTagCollection = JSON.parseObject(deString, KuaiShouCreativeTagCollection.class);
+                queryWrapper = QueryGenerator.initQueryWrapper(kuaiShouCreativeTagCollection, request.getParameterMap());
+            }
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+
+        //Step.2 AutoPoi 导出Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<KuaiShouCreativeTagCollection> pageList = kuaiShouCreativeTagCollectionService.list(queryWrapper);
+        //导出文件名称
+        mv.addObject(NormalExcelConstants.FILE_NAME, "快手-创意标签收藏列表");
+        mv.addObject(NormalExcelConstants.CLASS, KuaiShouCreativeTagCollection.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<KuaiShouCreativeTagCollection> listKuaiShouCreativeTagCollections = ExcelImportUtil.importExcel(file.getInputStream(), KuaiShouCreativeTagCollection.class, params);
+                kuaiShouCreativeTagCollectionService.saveBatch(listKuaiShouCreativeTagCollections);
+                return Result.ok("文件导入成功!数据行数:" + listKuaiShouCreativeTagCollections.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("文件导入失败!");
+    }
+
+}

+ 32 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaishouProgramCreativeController.java

@@ -7,6 +7,7 @@ import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaishouProgramCreative;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouProgramCreativeService;
 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;
@@ -136,6 +137,37 @@ public class KuaishouProgramCreativeController {
 
 
     /**
+     * 创意分类
+     *
+     * @param
+     * @return
+     */
+    @PostMapping(value = "/getProgramCreativeCover")
+    public Result<JSONArray> getCreativeCategory(@RequestBody JSONObject jsonObject) {
+        Result<JSONArray> result = new Result<>();
+        try {
+
+             JSONArray md5Arr = jsonObject.getJSONArray("md5Arr");
+
+            if (Check.isNull(md5Arr)) {
+                throw new Exception("请选择视频");
+            }
+
+            JSONArray data = kuaishouProgramCreativeService.getProgramCreativeCover(md5Arr);
+            result.setSuccess(true);
+            result.setResult(data);
+        } catch (Exception e) {
+            e.printStackTrace();
+            result.setSuccess(false);
+            result.setResult(null);
+            result.setMessage(e.getMessage());
+        }
+
+        return result;
+    }
+
+
+    /**
      * 添加
      *
      * @param kuaishouProgramCreative

+ 77 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/entity/KuaiShouCreativeTagCollection.java

@@ -0,0 +1,77 @@
+package cn.com.ctop.kuaishou.modules.batch.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-10-22
+ */
+@Data
+@TableName("ctop_kuaishou_creative_tag_collection")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "ctop_kuaishou_creative_tag_collection对象", description = "快手-创意标签收藏")
+public class KuaiShouCreativeTagCollection {
+
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "主键")
+    private Long id;
+    /**
+     * tagName
+     */
+    @Excel(name = "tagName", width = 15)
+    @ApiModelProperty(value = "tagName")
+    private String tagName;
+    /**
+     * tagArray
+     */
+    @Excel(name = "tagArray", width = 15)
+    @ApiModelProperty(value = "tagArray")
+    private String tagArray;
+    /**
+     * 人员ID
+     */
+    @Excel(name = "人员ID", width = 15)
+    @ApiModelProperty(value = "人员ID")
+    private String userId;
+    /**
+     * 账户ID
+     */
+    @Excel(name = "账户ID", width = 15)
+    @ApiModelProperty(value = "账户ID")
+    private Integer accountId;
+    /**
+     * createTime
+     */
+    @Excel(name = "createTime", 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 = "createTime")
+    private Date createTime;
+    /**
+     * updateTime
+     */
+    @Excel(name = "updateTime", 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 = "updateTime")
+    private Date updateTime;
+}

+ 15 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/KuaiShouCreativeTagCollectionMapper.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.kuaishou.modules.batch.mapper;
+
+import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCreativeTagCollection;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 快手-创意标签收藏
+ *
+ * @author: jeecg-boot
+ * @date: 2020-10-22
+ * @cersion: V1.0
+ */
+public interface KuaiShouCreativeTagCollectionMapper extends BaseMapper<KuaiShouCreativeTagCollection> {
+
+}

+ 5 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/xml/KuaiShouCreativeTagCollectionMapper.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.tag.mapper.KuaiShouCreativeTagCollectionMapper">
+
+</mapper>

+ 14 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/IKuaiShouCreativeTagCollectionService.java

@@ -0,0 +1,14 @@
+package cn.com.ctop.kuaishou.modules.batch.service;
+
+import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCreativeTagCollection;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 快手-创意标签收藏
+ * @Author: jeecg-boot
+ * @Date: 2020-10-22
+ * @Version: V1.0
+ */
+public interface IKuaiShouCreativeTagCollectionService extends IService<KuaiShouCreativeTagCollection> {
+
+}

+ 3 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/IKuaishouProgramCreativeService.java

@@ -2,6 +2,7 @@ package cn.com.ctop.kuaishou.modules.batch.service;
 
 import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaishouProgramCreative;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -15,4 +16,6 @@ public interface IKuaishouProgramCreativeService extends IService<KuaishouProgra
     void getProgramCreative(Long accountId, Long unitId, String accessToken, String startDate, String endDate, Integer page);
 
     JSONObject createProgramCreative(CtopOauthToken oauthToken, JSONObject requestJson);
+
+    JSONArray getProgramCreativeCover(JSONArray md5Arr);
 }

+ 9 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/CollectionSlogansServiceImpl.java

@@ -23,7 +23,7 @@ import org.springframework.stereotype.Service;
 public class CollectionSlogansServiceImpl extends ServiceImpl<CollectionSlogansMapper, CollectionSlogans> implements ICollectionSlogansService {
 
     @Autowired
-    CollectionSlogansMapper collectionSlogansMapper;
+    private CollectionSlogansMapper collectionSlogansMapper;
 
     @Override
     public void saveCollectionSlogans(JSONObject requestJson) {
@@ -63,13 +63,20 @@ public class CollectionSlogansServiceImpl extends ServiceImpl<CollectionSlogansM
                         }
                     }
                     co.setValue(value.toString());
-                } else {
+                } else if (NoEn.NO2.valueStr().equals(co.getType())) {
                     for (int i = 0; i < captionsList.size(); i++) {
                         if (!value.contains(captionsList.get(i))) {
                             value.add(captionsList.get(i));
                         }
                     }
                     co.setValue(value.toString());
+                } else {
+                    for (int i = 0; i < tagList.size(); i++) {
+                        if (!value.contains(tagList.get(i))) {
+                            value.add(tagList.get(i));
+                        }
+                    }
+                    co.setValue(value.toString());
                 }
             }
             collectionSlogansMapper.update(co, queryWrapper);

+ 19 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaiShouCreativeTagCollectionServiceImpl.java

@@ -0,0 +1,19 @@
+package cn.com.ctop.kuaishou.modules.batch.service.impl;
+
+import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCreativeTagCollection;
+import cn.com.ctop.kuaishou.modules.batch.mapper.KuaiShouCreativeTagCollectionMapper;
+import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouCreativeTagCollectionService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * 快手-创意标签收藏
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-10-22
+ */
+@Service
+public class KuaiShouCreativeTagCollectionServiceImpl extends ServiceImpl<KuaiShouCreativeTagCollectionMapper, KuaiShouCreativeTagCollection> implements IKuaiShouCreativeTagCollectionService {
+
+}

+ 30 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaishouProgramCreativeServiceImpl.java

@@ -1,6 +1,7 @@
 package cn.com.ctop.kuaishou.modules.batch.service.impl;
 
 import cn.com.ctop.common.module.entity.CtopOauthToken;
+import cn.com.ctop.common.module.service.IMaterialCutFrameService;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.HttpUtils;
 import cn.com.ctop.common.module.utils.KuaishouInterfaceConstant;
@@ -41,6 +42,9 @@ public class KuaishouProgramCreativeServiceImpl extends ServiceImpl<KuaishouProg
     @Autowired
     private IKuaiShouMaterialUploadService uploadService;
 
+    @Autowired
+    private IMaterialCutFrameService materialCutFrameService;
+
 
     @Override
     public void getProgramCreative(Long accountId, Long unitId, String accessToken, String startDate, String endDate, Integer page) {
@@ -220,4 +224,30 @@ public class KuaishouProgramCreativeServiceImpl extends ServiceImpl<KuaishouProg
 
         return returnJson;
     }
+
+    @Override
+    public JSONArray getProgramCreativeCover(JSONArray md5Arr) {
+
+        JSONArray returnArr = new JSONArray();
+        for (int i = 0; i < md5Arr.size(); i++) {
+            String signature = md5Arr.getString(i);
+            if (Check.isNull(signature)) {
+                continue;
+            }
+            List<JSONObject> coverArr = materialCutFrameService.getProgramCreativeCover(signature);
+            if (!Check.isNull(coverArr)) {
+                for (int j = 0; j < coverArr.size(); j++) {
+                    JSONObject jsonObject = JSONObject.parseObject(coverArr.get(j).toJSONString());
+                    if (!Check.isNull(jsonObject)) {
+                        returnArr.add(jsonObject);
+                    }
+                }
+
+            }
+
+        }
+        return returnArr;
+    }
+
+
 }

+ 2 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/entity/KuaishouReportHourlyAccount.java

@@ -118,6 +118,8 @@ public class KuaishouReportHourlyAccount implements Serializable {
     @JsonProperty
     private BigDecimal eventCreditGrantLandingPageCost;
     @JsonProperty
+    private BigDecimal eventNextDayStay;
+    @JsonProperty
     private Date createTime;
     @JsonProperty
     private Date updateTime;

+ 7 - 9
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/KsVideoReportMapper.xml

@@ -5,11 +5,11 @@
     <select id="queryVideoReportBy" resultType="com.alibaba.fastjson.JSONObject">
         SELECT * from (SELECT
         t1.signature,
-        t2.url,
+        t1.photo_url as url,
         (SELECT u.realname FROM ctop_material_ascription t3 LEFT JOIN sys_user u on t3.clip_id=u.id where t3.material_id=t1.signature limit 1) AS clip,
         (SELECT u.realname FROM ctop_material_ascription t3 LEFT JOIN sys_user u on t3.shot_id=u.id where t3.material_id=t1.signature limit 1) AS shot,
         (SELECT u.realname FROM ctop_material_ascription t3 LEFT JOIN sys_user u on t3.plan_id=u.id where t3.material_id=t1.signature limit 1) AS plan,
-        t2.cover_url as converUrl,
+        t1.cover_url as converUrl,
         t2.material_name AS materialName,
         (SELECT project_name FROM ctop_project t4 WHERE t4.id = t3.project_id) AS projectName,
         t2.create_time as createTime,
@@ -28,12 +28,11 @@
             #{item}
         </foreach>
         </if>
-        AND t2.url!=""
         GROUP BY t1.signature
         ) t
-        WHERE t.clip like '%${clip}%'
-        AND (t.shot LIKE '%%' or t.shot is null)
-        AND t.plan like '%${plan}%'
+        WHERE (t.clip LIKE '%${clip}%' or t.clip is null)
+        AND (t.shot LIKE '%${shot}%' or t.shot is null)
+        AND (t.plan LIKE '%${plan}%' or t.plan is null)
         ORDER BY ${target} ${order}
     </select>
 
@@ -41,8 +40,8 @@
         SELECT
         t1.stat_date as statDate,
         t1.signature,
-        t2.url,
-        t2.cover_url as converUrl,
+        t1.photo_url as url,
+        t1.cover_url as converUrl,
         t2.material_name AS materialName,
         (
         SELECT
@@ -76,7 +75,6 @@
                 #{item}
             </foreach>
         </if>
-        AND t2.url!=""
         GROUP BY t1.signature,t1.stat_date
     </select>
 </mapper>

+ 0 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/KuaiShouAccountReportServiceImpl.java

@@ -183,7 +183,6 @@ public class KuaiShouAccountReportServiceImpl implements IKuaiShouAccountReportS
             if (k.equals("accountId") || k.equals("authName") || v.toString().contains("%")||before.getString(k).contains("%")) {
                 jsonObject.put(k, "-");
             }else {
-                System.out.println(k+"--"+after.getBigDecimal(k)+"--"+before.getBigDecimal(k));
                 jsonObject.put(k, LinkUtils.countLink(after.getBigDecimal(k)==null?zero:after.getBigDecimal(k), before.getBigDecimal(k)==null?zero:before.getBigDecimal(k)));
             }
         });

+ 1 - 0
module-kuaishou/src/main/resources/kuaishou_config.properties

@@ -6,6 +6,7 @@ oauth_type=agent
 kuaishou_secret=QovprB1tNhXptgDc
 kuaishou_third_secret=1iFTBiMdohkyEQQs
 kuaishou_callback_url=http://adsp.c-top.com.cn:8080/jeecg-boot/kuaishou
+kuaishou_third_callback_url=http://callback.shyouteng.com.cn/kuaishou
 apk_sava_path=/mnt/file/apk
 image_sava_path=/mnt/file/image
 video_sava_path=/mnt/file/video

+ 3 - 3
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/mapper/xml/BytedanceVideoReportMapper.xml

@@ -31,9 +31,9 @@
         AND t2.url!=""
         GROUP BY t1.signature
         ) t
-        WHERE t.clip like '%${clip}%'
-        AND (t.shot LIKE '%%' or t.shot is null)
-        AND t.plan like '%${plan}%'
+        WHERE (t.clip LIKE '%${clip}%' or t.clip is null)
+        AND (t.shot LIKE '%${shot}%' or t.shot is null)
+        AND (t.plan LIKE '%${plan}%' or t.plan is null)
         ORDER BY ${target} ${order}
     </select>