Sfoglia il codice sorgente

解决代码冲突

syh 5 anni fa
parent
commit
9531c2af5c
96 ha cambiato i file con 901 aggiunte e 41 eliminazioni
  1. 13 0
      jeecg-boot-base-common/src/main/java/org/jeecg/common/constant/SystemDateConstant.java
  2. 12 2
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/DateUtils.java
  3. 5 0
      jeecg-boot-module-system/pom.xml
  4. 6 0
      jeecg-boot-module-system/src/main/java/org/jeecg/JeecgApplication.java
  5. 4 4
      jeecg-boot-module-system/src/main/java/org/jeecg/config/MybatisPlusConfig.java
  6. 6 0
      jeecg-boot-module-system/src/main/java/org/jeecg/config/ShiroConfig.java
  7. 4 4
      jeecg-boot-module-system/src/main/java/org/jeecg/config/WebMvcConfiguration.java
  8. 50 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialTopCtrl.java
  9. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectMemberController.java
  10. 12 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/MaterialTopMapper.java
  11. 53 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/MaterialTopMapper.xml
  12. 8 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IMaterialTopService.java
  13. 35 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/MaterialTopServiceImpl.java
  14. 24 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vo/MaterialTopVO.java
  15. 17 11
      jeecg-boot-module-system/src/main/resources/application-test.yml
  16. 2 1
      jeecg-boot-module-system/src/main/resources/application.yml
  17. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/BindAccountAuthServiceImpl.java
  18. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/BindAccountLoginServiceImpl.java
  19. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/CorpWeixinServiceImpl.java
  20. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/CtopCorpWexinUserServiceImpl.java
  21. 1 1
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/CtopOauthTokenServiceImpl.java
  22. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/FileInfoServiceImpl.java
  23. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/IpPoolServiceImpl.java
  24. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/MailLogServiceImpl.java
  25. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialAscriptionServiceImpl.java
  26. 1 1
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialCutFrameServiceImpl.java
  27. 1 1
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialImageInfoServiceImpl.java
  28. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialInfoServiceImpl.java
  29. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialParameterServiceImpl.java
  30. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialTagServiceImpl.java
  31. 5 6
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/RefreshTokenServiceImpl.java
  32. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/SysRoleServiceImpl.java
  33. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/UserAllocationServiceImpl.java
  34. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/VideoMergeTaskServiceImpl.java
  35. 2 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/VideoPartServiceImpl.java
  36. 1 1
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/VideoWatermarkTaskServiceImpl.java
  37. 3 1
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/VideoWatermarkTemplateServiceImpl.java
  38. 3 0
      module-common/src/main/java/cn/com/ctop/common/module/utils/CtopAdConstant.java
  39. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/account/service/impl/KuaishouAdAccountServiceImpl.java
  40. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/account/service/impl/KuaishouAppAccountServiceImpl.java
  41. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/account/service/impl/KuaishouIosAccountServiceImpl.java
  42. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/core/service/impl/KuaishouCrawlerServiceImpl.java
  43. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeAdArtStyleServiceImpl.java
  44. 2 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeCompanyProductServiceImpl.java
  45. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeCompanyServiceImpl.java
  46. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeLabelServiceImpl.java
  47. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeMediaServiceImpl.java
  48. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyePlayRulesServiceImpl.java
  49. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductAdArtStyleServiceImpl.java
  50. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductPlayRuleServiceImpl.java
  51. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductServiceImpl.java
  52. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductThemeServiceImpl.java
  53. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeThemesServiceImpl.java
  54. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/kuaishoucce/service/impl/KuaishouEffectAdInfoServiceImpl.java
  55. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/kuaishoucce/service/impl/KuaishouHotPhotoInfoServiceImpl.java
  56. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/kuaishoucce/service/impl/KuaishouInspiredAdServiceImpl.java
  57. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/log/service/impl/CrawlerLogServiceImpl.java
  58. 1 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/oceanengine/service/impl/DouyinHotServiceImpl.java
  59. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/oceanengine/service/impl/EffectCaseServiceImpl.java
  60. 3 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/oceanengine/service/impl/HotMaterialServiceImpl.java
  61. 3 0
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceAdvertiserDailyReportLoadJob.java
  62. 3 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/app/service/impl/AppAdServiceImpl.java
  63. 3 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/app/service/impl/AppVideoServiceImpl.java
  64. 3 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/app/service/impl/KuaishouAppProductServiceImpl.java
  65. 3 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/app/service/impl/KuaishouAppServiceImpl.java
  66. 1 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouGroupCreateLogController.java
  67. 1 1
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceAdvertisePlanServiceImpl.java
  68. 2 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceAdvertiserDataServiceImpl.java
  69. 1 1
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceAdvertiserServiceImpl.java
  70. 2 1
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceCampaignServiceImpl.java
  71. 2 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceCreativeMaterialServiceImpl.java
  72. 2 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceCreativeServiceImpl.java
  73. 2 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceVideoInfoServiceImpl.java
  74. 2 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/BytedanceCleanMaterialServiceImpl.java
  75. 62 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/controller/BytedanceHomepageReportCtrl.java
  76. 34 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/mapper/BytedanceHomepageMapper.java
  77. 147 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/mapper/xml/BytedanceHomepageMapper.xml
  78. 15 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/IBytedanceHomepageReportService.java
  79. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/ByteDanceCleanMaterialReportServiceImpl.java
  80. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/ByteDanceHourlyAccountWarningServiceImpl.java
  81. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceAdvertiserDailyReportServiceImpl.java
  82. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceAdvertiserHourlyReportServiceImpl.java
  83. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceCampaignDailyReportServiceImpl.java
  84. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceCampaignHourlyReportServiceImpl.java
  85. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceCreativeDailyReportServiceImpl.java
  86. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceCreativeHourlyReportServiceImpl.java
  87. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceDailyReportTaskServiceImpl.java
  88. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceFundDailyServiceImpl.java
  89. 204 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceHomepageReportServiceImpl.java
  90. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedancePlanDailyReportServiceImpl.java
  91. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedancePlanHourlyReportServiceImpl.java
  92. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceReportMaterialDailyServiceImpl.java
  93. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceReportMaterialRetryServiceImpl.java
  94. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceReportServiceImpl.java
  95. 3 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/ReportServiceImpl.java
  96. 1 1
      pom.xml

+ 13 - 0
jeecg-boot-base-common/src/main/java/org/jeecg/common/constant/SystemDateConstant.java

@@ -0,0 +1,13 @@
+package org.jeecg.common.constant;
+
+public class SystemDateConstant {
+
+    //系統年月日时间格式
+    public static String yyyy_MM_dd="yyyy-MM-dd";
+
+    public static String yyyy_MM="yyyy-MM";
+
+    //系统数据起始时间
+    public static String BEGIN_TIME="2019-09-01";
+
+}

+ 12 - 2
jeecg-boot-base-common/src/main/java/org/jeecg/common/util/DateUtils.java

@@ -1,5 +1,7 @@
 package org.jeecg.common.util;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.util.StringUtils;
 
 import java.beans.PropertyEditorSupport;
@@ -17,6 +19,9 @@ import java.util.*;
  * @Version 1.0
  */
 public class DateUtils extends PropertyEditorSupport {
+
+    private static Logger logger= LoggerFactory.getLogger(DateUtils.class);
+
     /**
      * 以毫秒表示的时间
      */
@@ -880,10 +885,15 @@ public class DateUtils extends PropertyEditorSupport {
     }
 
 
-    public static String getMonthBefore(String format, String nowTime, int amount) throws ParseException {
+    public static String getMonthBefore(String format, String nowTime, int amount) {
         // 获取当前时间
         SimpleDateFormat dateFormat = new SimpleDateFormat(format);
-        Date date = dateFormat.parse(nowTime);
+        Date date = null;
+        try {
+            date = dateFormat.parse(nowTime);
+        } catch (ParseException e) {
+            logger.error(e.getMessage(),e);
+        }
 
         //得到日历
         Calendar calendar = Calendar.getInstance();

+ 5 - 0
jeecg-boot-module-system/pom.xml

@@ -151,6 +151,11 @@
             <artifactId>opencv</artifactId>
             <version>4.2.0</version>
         </dependency>
+        <dependency>
+            <groupId>com.github.pagehelper</groupId>
+            <artifactId>pagehelper</artifactId>
+            <version>5.1.11</version>
+        </dependency>
     </dependencies>
 
     <dependencyManagement>

+ 6 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/JeecgApplication.java

@@ -1,6 +1,7 @@
 package org.jeecg;
 
 import cn.com.ctop.common.module.utils.SpringUtils;
+import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -43,4 +44,9 @@ public class JeecgApplication {
         return new RestTemplate();
     }
 
+    @Bean
+    public PaginationInterceptor paginationInterceptor() {
+        return new PaginationInterceptor();
+    }
+
 }

+ 4 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/config/MybatisPlusConfig.java

@@ -1,6 +1,7 @@
 package org.jeecg.config;
 
 import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -11,17 +12,17 @@ import org.springframework.context.annotation.Configuration;
  *
  */
 @Configuration
-@MapperScan(value = {"org.jeecg.modules.**.mapper*", "cn.com.ctop.**.mapper*", "cn.com.ctop.bytedance.mapper*"})
+@MapperScan(value = {"org.jeecg.modules.**.mapper*", "cn.com.ctop.**.mapper*"})
 
 public class MybatisPlusConfig {
 
     /**
          *  分页插件
      */
-    @Bean
+    /*@Bean
     public PaginationInterceptor paginationInterceptor() {
         return new PaginationInterceptor();
-    }
+    }*/
 
 //    /**
 //     * mybatis-plus SQL执行效率插件【生产环境可以关闭】
@@ -31,5 +32,4 @@ public class MybatisPlusConfig {
 //        return new PerformanceInterceptor();
 //    }
 
-
 }

+ 6 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/config/ShiroConfig.java

@@ -78,6 +78,12 @@ public class ShiroConfig {
         filterChainDefinitionMap.put("/ctop/kuaishouChannelRegInfo/*", "anon");
 
 
+		filterChainDefinitionMap.put("/ctop/byteDance/homePage/report/*", "anon");
+		filterChainDefinitionMap.put("/ctop/material/top/cost", "anon");
+
+
+
+
 		//优化师相关
 		//filterChainDefinitionMap.put("/ctop/performanceOptimizer/detail", "anon");
 		//filterChainDefinitionMap.put("/ctop/performanceOptimizer/ranking/list", "anon");

+ 4 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/config/WebMvcConfiguration.java

@@ -33,10 +33,10 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
 	@Value("${spring.resource.static-locations}")
 	private String staticLocations;
 
-	@Override
-	public void addInterceptors(InterceptorRegistry registry) {
-		registry.addInterceptor(browseLogHandelInterceptor);
-	}
+//	@Override
+//	public void addInterceptors(InterceptorRegistry registry) {
+//		registry.addInterceptor(browseLogHandelInterceptor);
+//	}
 
 	@Bean
 	public CorsFilter corsFilter() {

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

@@ -0,0 +1,50 @@
+package org.jeecg.modules.ctop.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.ctop.service.IMaterialTopService;
+import org.jeecg.modules.ctop.vo.MaterialTopVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ *  Created by JQ.bi on 2020.5.21
+ */
+@Slf4j
+@RestController
+@RequestMapping("/ctop/material")
+public class MaterialTopCtrl {
+
+    @Autowired
+    IMaterialTopService materialTopService;
+
+    @PostMapping("/top/cost")
+    public Result<IPage<MaterialTopVO>> getCostTop(@RequestBody JSONObject requestBody,
+                                                   @RequestParam(defaultValue = "cost") String target,
+                                                   @RequestParam(defaultValue = "desc") String order,
+                                                   @RequestParam(defaultValue = "1") int pageNo,
+                                                   @RequestParam(defaultValue = "10") int pageSize) {
+        Result<IPage<MaterialTopVO>> result = new Result<>();
+        if(requestBody.isEmpty()){
+            log.error("request body is empty");
+            result.setSuccess(false);
+        }
+        try {
+            String startDate= requestBody.getString("startDate");
+            String endDate= requestBody.getString("endDate");
+            if(startDate.isEmpty()||endDate.isEmpty()){
+                log.error("startDate or endDate is empty");
+                result.setSuccess(false);
+            }
+            IPage<MaterialTopVO> voiPage = materialTopService.selectByPage(endDate, startDate, target, order, pageNo, pageSize);
+            result.setResult(voiPage);
+            result.setSuccess(true);
+        } catch (Exception e) {
+            log.error(e.getMessage(),e);
+            result.setSuccess(false);
+        }
+        return result;
+    }
+}

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

@@ -185,7 +185,7 @@ public class ProjectMemberController {
                     QueryWrapper<ProjectMember> queryWrapper = new QueryWrapper<>();
                     queryWrapper.eq("user_id", userId);
                     queryWrapper.eq("project_id", projectId);
-                    ProjectMember selectMember = (ProjectMember) projectMemberService.getObj(queryWrapper);
+                    ProjectMember selectMember = (ProjectMember) projectMemberService.getOne(queryWrapper);
                     if (!Check.isNull(selectMember)) {
                         continue;
                     }

+ 12 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/MaterialTopMapper.java

@@ -0,0 +1,12 @@
+package org.jeecg.modules.ctop.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.ctop.vo.MaterialTopVO;
+
+public interface MaterialTopMapper {
+    IPage<MaterialTopVO> selectMapsPage(Page<MaterialTopVO> page, @Param(Constants.WRAPPER)QueryWrapper<MaterialTopVO> wrapper);
+}

+ 53 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/MaterialTopMapper.xml

@@ -0,0 +1,53 @@
+<?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="org.jeecg.modules.ctop.mapper.MaterialTopMapper">
+
+
+    <select id="queryMaterialTop" resultType="org.jeecg.modules.ctop.vo.MaterialTopVO">
+        SELECT
+        name,
+        stat_date ,
+        cost,
+        click,
+        show_num,
+        active,
+        register,
+        pay,
+        phone_convert ,
+        form_convert ,
+        convert_rate ,
+        residue,
+        play3s,
+        play10s
+        FROM
+        ctop_material_report_total_result
+        WHERE
+            stat_date &lt;= '${endDate}'
+          AND
+            stat_date &gt;= '${startDate}'
+        ORDER BY cost desc
+    </select>
+    <select id="selectMapsPage" resultType="org.jeecg.modules.ctop.vo.MaterialTopVO">
+        SELECT
+        url,
+        name,
+        stat_date ,
+        cost,
+        click,
+        show_num,
+        active,
+        register,
+        pay,
+        phone_convert ,
+        form_convert ,
+        convert_rate ,
+        residue,
+        play3s,
+        play10s
+        FROM
+        ctop_material_report_total_result
+        where
+        ${ew.sqlSegment}
+    </select>
+
+</mapper>

+ 8 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IMaterialTopService.java

@@ -0,0 +1,8 @@
+package org.jeecg.modules.ctop.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.jeecg.modules.ctop.vo.MaterialTopVO;
+
+public interface IMaterialTopService {
+    IPage<MaterialTopVO> selectByPage(String endDate, String startDate, String target, String order, int pageNo, int pageSize);
+}

+ 35 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/MaterialTopServiceImpl.java

@@ -0,0 +1,35 @@
+package org.jeecg.modules.ctop.service.impl;
+
+import cn.com.ctop.common.module.utils.CtopAdConstant;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.jeecg.modules.ctop.mapper.MaterialTopMapper;
+import org.jeecg.modules.ctop.service.IMaterialTopService;
+import org.jeecg.modules.ctop.vo.MaterialTopVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ *  Created by JQ.bi on 2020.05.22
+ */
+@Service
+public class MaterialTopServiceImpl  implements IMaterialTopService {
+
+    @Autowired
+    MaterialTopMapper materialTopMapper;
+    @Override
+    public IPage<MaterialTopVO> selectByPage(String endDate, String startDate, String target, String order, int pageNo, int pageSize) {
+        QueryWrapper<MaterialTopVO> wrapper = new QueryWrapper();
+        wrapper.ge("stat_date", startDate).le("stat_date", endDate);
+        if(order.equals(CtopAdConstant.COMMON_ORDER_TYPE_ASC)){
+            wrapper.orderByAsc(target);
+        }else{
+            wrapper.orderByDesc(target);
+        }
+        Page<MaterialTopVO> page = new Page<>((pageNo-1)*pageSize,pageSize);
+        IPage<MaterialTopVO> mapIPage = materialTopMapper.selectMapsPage(page, wrapper);
+        return mapIPage;
+    }
+
+}

+ 24 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vo/MaterialTopVO.java

@@ -0,0 +1,24 @@
+package org.jeecg.modules.ctop.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class MaterialTopVO {
+    private String url;
+    private String name ;
+    private String statDate;
+    private BigDecimal cost;
+    private Long click;
+    private Long showNum;
+    private Long active;
+    private Long register;
+    private BigDecimal pay;
+    private Long phoneConvert;
+    private Long formConvert;
+    private BigDecimal convertRate;
+    private Long residue;
+    private Long play3s;
+    private Long play10s;
+}

+ 17 - 11
jeecg-boot-module-system/src/main/resources/application-test.yml

@@ -1,5 +1,5 @@
 server:
-  port: 8080
+  port: 8088
   ip: 39.106.184.70
   servlet:
     context-path: /jeecg-boot
@@ -95,18 +95,17 @@ spring:
         filters: stat,slf4j
         # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
         connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
+#      datasource:
+#        master:
+#          url: jdbc:mysql://39.106.184.70:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false
+#          username: hcst
+#          password: test@20190531
       datasource:
         master:
-          url: jdbc:mysql://39.106.184.70:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false
+          url: jdbc:mysql://39.97.120.42:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false
           username: hcst
           password: test@20190531
           driver-class-name: com.mysql.jdbc.Driver
-          # 多数据源配置
-          #multi-datasource1:
-          #url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true
-          #username: root
-          #password: root
-          #driver-class-name: com.mysql.jdbc.Driver
   #redis 配置
   redis:
     database: 0
@@ -131,9 +130,16 @@ mybatis-plus:
       id-type: 4
       # 默认数据库表下划线命名
       table-underline: true
-    configuration:
-      # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
-      log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+    # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
+      #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+  #分页pageHelper
+pagehelper:
+  helper-dialect: mysql
+  reasonable: true
+  support-methods-arguments: true
 #jeecg专用配置
 jeecg:
   ffmpeg:

+ 2 - 1
jeecg-boot-module-system/src/main/resources/application.yml

@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: @activatedProperties@
+    active: test
   application:
     name: system-web
 #分页pageHelper
@@ -14,3 +14,4 @@ swagger:
     enable: true
     username: jeecg
     password: jeecg1314
+

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

@@ -9,6 +9,7 @@ import cn.com.ctop.common.module.utils.PropertiesUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.io.UnsupportedEncodingException;
@@ -25,6 +26,7 @@ import java.util.Map;
  */
 @Slf4j
 @Service
+@Primary
 public class BindAccountAuthServiceImpl extends ServiceImpl<BindAccountAuthMapper, BindAccountAuth> implements IBindAccountAuthService {
 
     @Autowired

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/BindAccountLoginServiceImpl.java

@@ -6,6 +6,7 @@ import cn.com.ctop.common.module.service.IBindAccountLoginService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -16,6 +17,7 @@ import org.springframework.stereotype.Service;
  */
 @Slf4j
 @Service
+@Primary
 public class BindAccountLoginServiceImpl extends ServiceImpl<BindAccountLoginMapper, BindAccountLogin> implements IBindAccountLoginService {
     @Override
     public BindAccountLogin selectByAccountId(String accountId) {

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/CorpWeixinServiceImpl.java

@@ -8,10 +8,12 @@ import me.chanjar.weixin.cp.api.impl.WxCpOAuth2ServiceImpl;
 import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;
 import me.chanjar.weixin.cp.bean.WxCpMessage;
 import me.chanjar.weixin.cp.config.impl.WxCpDefaultConfigImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 @Slf4j
 @Service
+@Primary
 public class CorpWeixinServiceImpl implements ICorpWeixinService {
     public static void main(String[] args) {
         val configStorage = new WxCpDefaultConfigImpl();

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/CtopCorpWexinUserServiceImpl.java

@@ -3,6 +3,7 @@ package cn.com.ctop.common.module.service.impl;
 import cn.com.ctop.common.module.entity.CtopCorpWexinUser;
 import cn.com.ctop.common.module.mapper.CtopCorpWexinUserMapper;
 import cn.com.ctop.common.module.service.ICtopCorpWexinUserService;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -15,6 +16,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  * @date 2019-12-08
  */
 @Service
+@Primary
 public class CtopCorpWexinUserServiceImpl extends ServiceImpl<CtopCorpWexinUserMapper, CtopCorpWexinUser> implements ICtopCorpWexinUserService {
 
 }

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

@@ -25,7 +25,7 @@ import java.util.Map;
  * @Version: V1.0
  */
 @Slf4j
-@Service("ctopOauthTokenService")
+@Service
 public class CtopOauthTokenServiceImpl extends ServiceImpl<CtopOauthTokenMapper, CtopOauthToken> implements ICtopOauthTokenService {
     @Autowired
     private CtopOauthTokenMapper cTopOauthTokenMapper;

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/FileInfoServiceImpl.java

@@ -23,6 +23,7 @@ import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClientBuilder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -42,6 +43,7 @@ import java.util.Map;
  */
 @Slf4j
 @Service
+@Primary
 public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> implements IFileInfoService {
     @Value("${jeecg.path.image-upload}")
     private String imageUploadPath;

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/IpPoolServiceImpl.java

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
@@ -22,6 +23,7 @@ import java.util.List;
  */
 @Slf4j
 @Service
+@Primary
 public class IpPoolServiceImpl extends ServiceImpl<IpPoolMapper, IpPool> implements IIpPoolService {
 
     @Override

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/MailLogServiceImpl.java

@@ -7,6 +7,7 @@ import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.CorpWexinUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,6 +18,7 @@ import org.springframework.stereotype.Service;
  * @date 2019-12-08
  */
 @Service
+@Primary
 public class MailLogServiceImpl extends ServiceImpl<MailLogMapper, MailLog> implements IMailLogService {
     @Autowired
     private MailLogMapper mailLogMapper;

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialAscriptionServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.ctop.common.module.entity.MaterialAscription;
 import cn.com.ctop.common.module.mapper.MaterialAscriptionMapper;
 import cn.com.ctop.common.module.service.IMaterialAscriptionService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -14,6 +15,7 @@ import org.springframework.stereotype.Service;
  * @date 2019-11-23
  */
 @Service
+@Primary
 public class MaterialAscriptionServiceImpl extends ServiceImpl<MaterialAscriptionMapper, MaterialAscription> implements IMaterialAscriptionService {
 
 }

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

@@ -28,7 +28,7 @@ import java.net.URLEncoder;
  * @version V1.0
  * @date 2019-12-25
  */
-@Service("materialCutFrameService")
+@Service
 public class MaterialCutFrameServiceImpl extends ServiceImpl<MaterialCutFrameMapper, MaterialCutFrame> implements IMaterialCutFrameService {
 
     private static String ossLocation = "oss-cn-beijing";

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

@@ -33,7 +33,7 @@ import java.util.Map;
  * @date 2020-03-16
  */
 @Slf4j
-@Service("materialImageInfoService")
+@Service
 public class MaterialImageInfoServiceImpl extends ServiceImpl<MaterialImageInfoMapper, MaterialImageInfo> implements IMaterialImageInfoService {
 
     @Value("${oss.replace.download}")

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialInfoServiceImpl.java

@@ -17,6 +17,7 @@ import it.sauronsoftware.jave.EncoderException;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -41,6 +42,7 @@ import java.util.regex.Pattern;
  */
 @Slf4j
 @Service
+@Primary
 public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, MaterialInfo> implements IMaterialInfoService {
     private static ExecutorService uploadExecutorService = Executors.newFixedThreadPool(5);
     @Resource

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialParameterServiceImpl.java

@@ -5,6 +5,7 @@ import cn.com.ctop.common.module.mapper.MaterialParameterMapper;
 import cn.com.ctop.common.module.service.IMaterialParameterService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -15,6 +16,7 @@ import org.springframework.stereotype.Service;
  * @date 2019-11-23
  */
 @Service
+@Primary
 public class MaterialParameterServiceImpl extends ServiceImpl<MaterialParameterMapper, MaterialParameter> implements IMaterialParameterService {
 
     @Override

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialTagServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.ctop.common.module.entity.MaterialTag;
 import cn.com.ctop.common.module.mapper.MaterialTagMapper;
 import cn.com.ctop.common.module.service.IMaterialTagService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -14,6 +15,7 @@ import org.springframework.stereotype.Service;
  * @date 2019-11-23
  */
 @Service
+@Primary
 public class MaterialTagServiceImpl extends ServiceImpl<MaterialTagMapper, MaterialTag> implements IMaterialTagService {
 
 }

+ 5 - 6
module-common/src/main/java/cn/com/ctop/common/module/service/impl/RefreshTokenServiceImpl.java

@@ -10,16 +10,15 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.Resource;
 import java.util.List;
 
 @Slf4j
-@Service("refreshTokenService")
+@Service
 public class RefreshTokenServiceImpl implements IRefreshTokenService {
     @Autowired
     private CtopOauthTokenMapper oauthTokenMapper;
-    @Resource
-    private ICtopOauthTokenService ctopOauthTokenService;
+    @Autowired
+    private ICtopOauthTokenService oauthTokenService;
 
     /**
      * 获取所有token
@@ -35,11 +34,11 @@ public class RefreshTokenServiceImpl implements IRefreshTokenService {
                 log.info("刷新token,accountId:{}", oauthToken.getAccountId());
                 //头条
                 if (CtopAdConstant.PLATFORM_TYPE_BYTEDANCE.equals(oauthToken.getMediaId().trim())) {
-                    ctopOauthTokenService.getByteDanceAccessToken(String.valueOf(oauthToken.getAccountId()));
+                    oauthTokenService.getByteDanceAccessToken(String.valueOf(oauthToken.getAccountId()));
                 }
                 //快手
                 if (CtopAdConstant.PLATFORM_TYPE_KUAISHOU.equals(oauthToken.getMediaId().trim())) {
-                    ctopOauthTokenService.getKuaiShouRefreshToken(oauthToken.getAccountId(), oauthToken.getRefreshToken(), oauthToken.getAgentType());
+                    oauthTokenService.getKuaiShouRefreshToken(oauthToken.getAccountId(), oauthToken.getRefreshToken(), oauthToken.getAgentType());
                 }
             }
         } else {

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/SysRoleServiceImpl.java

@@ -5,6 +5,7 @@ import cn.com.ctop.common.module.mapper.SysRoleMapper;
 import cn.com.ctop.common.module.service.ISysRoleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -16,6 +17,7 @@ import org.springframework.stereotype.Service;
  * @since 2018-12-19
  */
 @Service
+@Primary
 public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService {
     @Autowired
     private SysRoleMapper sysRoleMapper;

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/UserAllocationServiceImpl.java

@@ -5,6 +5,7 @@ import cn.com.ctop.common.module.mapper.UserAllocationMapper;
 import cn.com.ctop.common.module.service.IUserAllocationService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -16,6 +17,7 @@ import java.util.List;
  * @Version: V1.0
  */
 @Service
+@Primary
 public class UserAllocationServiceImpl extends ServiceImpl<UserAllocationMapper, UserAllocation> implements IUserAllocationService {
 
     @Override

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/VideoMergeTaskServiceImpl.java

@@ -3,6 +3,7 @@ package cn.com.ctop.common.module.service.impl;
 import cn.com.ctop.common.module.entity.VideoMergeTask;
 import cn.com.ctop.common.module.mapper.VideoMergeTaskMapper;
 import cn.com.ctop.common.module.service.IVideoMergeTaskService;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -14,6 +15,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  * @version V1.0
  */
 @Service
+@Primary
 public class VideoMergeTaskServiceImpl extends ServiceImpl<VideoMergeTaskMapper, VideoMergeTask> implements IVideoMergeTaskService {
 
 }

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/VideoPartServiceImpl.java

@@ -3,6 +3,7 @@ package cn.com.ctop.common.module.service.impl;
 import cn.com.ctop.common.module.entity.VideoPart;
 import cn.com.ctop.common.module.mapper.VideoPartMapper;
 import cn.com.ctop.common.module.service.IVideoPartService;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -14,6 +15,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  * @version V1.0
  */
 @Service
+@Primary
 public class VideoPartServiceImpl extends ServiceImpl<VideoPartMapper, VideoPart> implements IVideoPartService {
 
 }

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

@@ -13,7 +13,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  * @date   2019-12-20
  * @version V1.0
  */
-@Service("videoWatermarkTaskService")
+@Service
 public class VideoWatermarkTaskServiceImpl extends ServiceImpl<VideoWatermarkTaskMapper, VideoWatermarkTask> implements IVideoWatermarkTaskService {
 
 }

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

@@ -3,6 +3,7 @@ package cn.com.ctop.common.module.service.impl;
 import cn.com.ctop.common.module.entity.VideoWatermarkTemplate;
 import cn.com.ctop.common.module.mapper.VideoWatermarkTemplateMapper;
 import cn.com.ctop.common.module.service.IVideoWatermarkTemplateService;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -13,7 +14,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  * @date   2019-12-20
  * @version V1.0
  */
-@Service("videoWatermarkTemplateService")
+@Service
+@Primary
 public class VideoWatermarkTemplateServiceImpl extends ServiceImpl<VideoWatermarkTemplateMapper, VideoWatermarkTemplate> implements IVideoWatermarkTemplateService {
 
 }

+ 3 - 0
module-common/src/main/java/cn/com/ctop/common/module/utils/CtopAdConstant.java

@@ -72,4 +72,7 @@ public class CtopAdConstant {
     public static final Integer COMMON_STATUS_ENABLED = 1;
 
     public static final Integer COMMON_STATUS_NOT_ENABLED = 0;
+
+    public static final String COMMON_ORDER_TYPE_ASC = "asc";
+    public static final String COMMON_ORDER_TYPE_DESC = "desc";
 }

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/account/service/impl/KuaishouAdAccountServiceImpl.java

@@ -5,11 +5,14 @@ import cn.com.ctop.crawler.modules.account.mapper.KuaishouAdAccountMapper;
 import cn.com.ctop.crawler.modules.account.service.IKuaishouAdAccountService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
 @Service
+@Primary
+
 public class KuaishouAdAccountServiceImpl extends ServiceImpl<KuaishouAdAccountMapper, KuaishouAdAccount> implements IKuaishouAdAccountService {
     @Autowired
     private KuaishouAdAccountMapper kuaishouAdAccountMapper;

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/account/service/impl/KuaishouAppAccountServiceImpl.java

@@ -4,8 +4,11 @@ import cn.com.ctop.crawler.modules.account.entity.KuaishouAppAccount;
 import cn.com.ctop.crawler.modules.account.mapper.KuaishouAppAccountMapper;
 import cn.com.ctop.crawler.modules.account.service.IKuaishouAppAccountService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 @Service
+@Primary
+
 public class KuaishouAppAccountServiceImpl extends ServiceImpl<KuaishouAppAccountMapper, KuaishouAppAccount> implements IKuaishouAppAccountService {
 }

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/account/service/impl/KuaishouIosAccountServiceImpl.java

@@ -7,8 +7,11 @@ import cn.com.ctop.crawler.modules.account.mapper.KuaishouIosAccountMapper;
 import cn.com.ctop.crawler.modules.account.service.IKuaishouAppAccountService;
 import cn.com.ctop.crawler.modules.account.service.IKuaishouIosAccountService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 @Service
+@Primary
+
 public class KuaishouIosAccountServiceImpl extends ServiceImpl<KuaishouIosAccountMapper, KuaishouIosAccount> implements IKuaishouIosAccountService {
 }

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/core/service/impl/KuaishouCrawlerServiceImpl.java

@@ -10,11 +10,14 @@ import cn.com.ctop.crawler.modules.core.service.IKuaishouCrawlerService;
 import cn.com.ctop.crawler.modules.core.util.KuaishouUtil;
 import cn.com.ctop.crawler.modules.log.entity.CrawlerLog;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.Random;
 
 @Service
+@Primary
+
 public class KuaishouCrawlerServiceImpl implements IKuaishouCrawlerService {
     @Autowired
     private IIpPoolService iIpPoolService;

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeAdArtStyleServiceImpl.java

@@ -4,8 +4,11 @@ import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeAdArtStyle;
 import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeAdArtStyleMapper;
 import cn.com.ctop.crawler.modules.dataeye.service.DataeyeAdArtStyleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 @Service
+@Primary
+
 public class DataeyeAdArtStyleServiceImpl extends ServiceImpl<DataeyeAdArtStyleMapper, DataeyeAdArtStyle> implements DataeyeAdArtStyleService {
 }

+ 2 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeCompanyProductServiceImpl.java

@@ -4,8 +4,10 @@ import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeCompanyProduct;
 import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeCompanyProductMapper;
 import cn.com.ctop.crawler.modules.dataeye.service.DataeyeCompanyProductService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 @Service
+@Primary
 public class DataeyeCompanyProductServiceImpl extends ServiceImpl<DataeyeCompanyProductMapper, DataeyeCompanyProduct> implements DataeyeCompanyProductService {
 }

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeCompanyServiceImpl.java

@@ -10,6 +10,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
@@ -17,6 +18,8 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 @Service
+@Primary
+
 public class DataeyeCompanyServiceImpl extends ServiceImpl<DataeyeCompanyMapper, DataeyeCompany> implements DataeyeCompanyService {
     @Autowired
     private DataeyeProductService dataeyeProductService;

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeLabelServiceImpl.java

@@ -17,12 +17,15 @@ import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
 import java.util.List;
 
 @Service
+@Primary
+
 public class DataeyeLabelServiceImpl implements DataeyeLabelService {
     @Autowired
     private DataeyeAdArtStyleService dataeyeAdArtStyleService;

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeMediaServiceImpl.java

@@ -12,12 +12,15 @@ import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
 import java.util.*;
 
 @Service
+@Primary
+
 public class DataeyeMediaServiceImpl extends ServiceImpl<DataeyeMediaMapper, DataeyeMedia> implements DataeyeMediaService {
     @Autowired
     private DataeyeCompanyService dataeyeCompanyService;

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyePlayRulesServiceImpl.java

@@ -4,8 +4,11 @@ import cn.com.ctop.crawler.modules.dataeye.entity.DataeyePlayRules;
 import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyePlayRulesMapper;
 import cn.com.ctop.crawler.modules.dataeye.service.DataeyePlayRulesService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 @Service
+@Primary
+
 public class DataeyePlayRulesServiceImpl extends ServiceImpl<DataeyePlayRulesMapper, DataeyePlayRules> implements DataeyePlayRulesService{
 }

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductAdArtStyleServiceImpl.java

@@ -6,8 +6,11 @@ import cn.com.ctop.crawler.modules.dataeye.service.DataeyeAdArtStyleService;
 import cn.com.ctop.crawler.modules.dataeye.service.DataeyePlayRulesService;
 import cn.com.ctop.crawler.modules.dataeye.service.DataeyeProductAdArtStyleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 @Service
+@Primary
+
 public class DataeyeProductAdArtStyleServiceImpl extends ServiceImpl<DataeyeProductAdArtStyleMapper, DataeyeProductAdArtStyle> implements DataeyeProductAdArtStyleService {
 }

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductPlayRuleServiceImpl.java

@@ -4,8 +4,11 @@ import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeProductPlayRule;
 import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeProductPlayRuleMapper;
 import cn.com.ctop.crawler.modules.dataeye.service.DataeyeProductPlayRuleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 @Service
+@Primary
+
 public class DataeyeProductPlayRuleServiceImpl extends ServiceImpl<DataeyeProductPlayRuleMapper, DataeyeProductPlayRule> implements DataeyeProductPlayRuleService{
 }

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductServiceImpl.java

@@ -12,6 +12,7 @@ import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 import us.codecraft.webmagic.thread.CountableThreadPool;
 
@@ -24,6 +25,8 @@ import java.util.concurrent.LinkedBlockingQueue;
 import java.util.logging.Logger;
 
 @Service
+@Primary
+
 public class DataeyeProductServiceImpl extends ServiceImpl<DataeyeProductMapper, DataeyeProduct> implements DataeyeProductService {
     @Autowired
     private DataeyeProductThemeService dataeyeProductThemeService;

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductThemeServiceImpl.java

@@ -4,8 +4,11 @@ import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeProductTheme;
 import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeProductThemeMapper;
 import cn.com.ctop.crawler.modules.dataeye.service.DataeyeProductThemeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 @Service
+@Primary
+
 public class DataeyeProductThemeServiceImpl extends ServiceImpl<DataeyeProductThemeMapper, DataeyeProductTheme> implements DataeyeProductThemeService {
 }

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeThemesServiceImpl.java

@@ -5,8 +5,11 @@ import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeCompanyMapper;
 import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeThemesMapper;
 import cn.com.ctop.crawler.modules.dataeye.service.DataeyeThemesService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 @Service
+@Primary
+
 public class DataeyeThemesServiceImpl extends ServiceImpl<DataeyeThemesMapper, DataeyeThemes> implements DataeyeThemesService {
 }

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/kuaishoucce/service/impl/KuaishouEffectAdInfoServiceImpl.java

@@ -5,6 +5,7 @@ import cn.com.ctop.crawler.modules.kuaishoucce.mapper.KuaishouEffectAdInfoMapper
 import cn.com.ctop.crawler.modules.kuaishoucce.service.IKuaishouEffectAdInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -17,6 +18,8 @@ import java.util.List;
  * @date 2020-03-02
  */
 @Service
+@Primary
+
 public class KuaishouEffectAdInfoServiceImpl extends ServiceImpl<KuaishouEffectAdInfoMapper, KuaishouEffectAdInfo> implements IKuaishouEffectAdInfoService {
     @Autowired
     private KuaishouEffectAdInfoMapper adInfoMapper;

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/kuaishoucce/service/impl/KuaishouHotPhotoInfoServiceImpl.java

@@ -5,6 +5,7 @@ import cn.com.ctop.crawler.modules.kuaishoucce.mapper.KuaishouHotPhotoInfoMapper
 import cn.com.ctop.crawler.modules.kuaishoucce.service.IKuaishouHotPhotoInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -17,6 +18,8 @@ import java.util.List;
  * @date 2020-03-03
  */
 @Service
+@Primary
+
 public class KuaishouHotPhotoInfoServiceImpl extends ServiceImpl<KuaishouHotPhotoInfoMapper, KuaishouHotPhotoInfo> implements IKuaishouHotPhotoInfoService {
     @Autowired
     private KuaishouHotPhotoInfoMapper photoInfoMapper;

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/kuaishoucce/service/impl/KuaishouInspiredAdServiceImpl.java

@@ -5,6 +5,7 @@ import cn.com.ctop.crawler.modules.kuaishoucce.mapper.KuaishouInspiredAdMapper;
 import cn.com.ctop.crawler.modules.kuaishoucce.service.IKuaishouInspiredAdService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -17,6 +18,8 @@ import java.util.List;
  * @date 2020-03-03
  */
 @Service
+@Primary
+
 public class KuaishouInspiredAdServiceImpl extends ServiceImpl<KuaishouInspiredAdMapper, KuaishouInspiredAd> implements IKuaishouInspiredAdService {
     @Autowired
     private KuaishouInspiredAdMapper inspiredAdMapper;

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/log/service/impl/CrawlerLogServiceImpl.java

@@ -3,6 +3,7 @@ package cn.com.ctop.crawler.modules.log.service.impl;
 import cn.com.ctop.crawler.modules.log.entity.CrawlerLog;
 import cn.com.ctop.crawler.modules.log.mapper.CrawlerLogMapper;
 import cn.com.ctop.crawler.modules.log.service.ICrawlerLogService;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -14,6 +15,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  * @Version: V1.0
  */
 @Service
+@Primary
+
 public class CrawlerLogServiceImpl extends ServiceImpl<CrawlerLogMapper, CrawlerLog> implements ICrawlerLogService {
 
 }

+ 1 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/oceanengine/service/impl/DouyinHotServiceImpl.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.List;

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/oceanengine/service/impl/EffectCaseServiceImpl.java

@@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.net.HttpURLConnection;
@@ -26,6 +27,8 @@ import java.util.HashMap;
 import java.util.Map;
 
 @Service
+@Primary
+
 public class EffectCaseServiceImpl extends ServiceImpl<EffectCaseMapper, EffectCase> implements IEffectCaseService {
     @Autowired
     private IDouyinHotService douyinHotService;

+ 3 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/oceanengine/service/impl/HotMaterialServiceImpl.java

@@ -7,9 +7,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 @Service
+@Primary
+
 public class HotMaterialServiceImpl extends ServiceImpl<HotMaterialMapper, HotMaterial> implements IHotMaterialService {
     @Override
     public IPage<HotMaterial> queryHotFeeds(String userName, String start, String end, String orderByColumn, String orderByType, Integer pageNo, Integer pageSize) {

+ 3 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceAdvertiserDailyReportLoadJob.java

@@ -9,6 +9,7 @@ import com.xxl.job.core.handler.annotation.XxlJob;
 import com.xxl.job.core.log.XxlJobLogger;
 import org.jeecg.common.util.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -25,8 +26,10 @@ import java.util.concurrent.Executors;
 @Component
 public class BytedanceAdvertiserDailyReportLoadJob {
     @Autowired
+    @Qualifier("tokenService")
     private ICtopOauthTokenService tokenService;
     @Autowired
+    @Qualifier("reportService")
     private IReportService reportService;
     static ExecutorService executorService = null;
 

+ 3 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/app/service/impl/AppAdServiceImpl.java

@@ -6,11 +6,14 @@ import cn.com.ctop.kuaishou.modules.app.service.IAppAdService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
 @Service
+@Primary
+
 public class AppAdServiceImpl extends ServiceImpl<AppAdMapper, AppAd> implements IAppAdService {
     @Autowired
     private AppAdMapper appAdMapper;

+ 3 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/app/service/impl/AppVideoServiceImpl.java

@@ -4,8 +4,11 @@ import cn.com.ctop.kuaishou.modules.app.entity.AppVideo;
 import cn.com.ctop.kuaishou.modules.app.mapper.AppVideoMapper;
 import cn.com.ctop.kuaishou.modules.app.service.IAppVideoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 @Service
+@Primary
+
 public class AppVideoServiceImpl extends ServiceImpl<AppVideoMapper, AppVideo> implements IAppVideoService {
 }

+ 3 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/app/service/impl/KuaishouAppProductServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.ctop.kuaishou.modules.app.entity.KuaishouAppProduct;
 import cn.com.ctop.kuaishou.modules.app.mapper.KuaishouAppProductMapper;
 import cn.com.ctop.kuaishou.modules.app.service.IKuaishouAppProductService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -15,6 +16,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  * @version V1.0
  */
 @Service
+@Primary
+
 public class KuaishouAppProductServiceImpl extends ServiceImpl<KuaishouAppProductMapper, KuaishouAppProduct> implements IKuaishouAppProductService {
     @Autowired
     private KuaishouAppProductMapper kuaishouAppProductMapper;

+ 3 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/app/service/impl/KuaishouAppServiceImpl.java

@@ -20,6 +20,7 @@ import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
@@ -31,6 +32,7 @@ import java.util.List;
  */
 @Slf4j
 @Service
+@Primary
 public class KuaishouAppServiceImpl implements IKuaishouAppService {
     @Autowired
     private IKuaishouCrawlerService kuaishouCrawlerService;
@@ -77,7 +79,7 @@ public class KuaishouAppServiceImpl implements IKuaishouAppService {
                             ad.setWidth(ad.getAdCover().getWidth());
                             ad.setHeight(ad.getAdCover().getHeight());
                             ad.setType(appFeeds.getType());
-                            ad.setAppName(ad.getAppName().replace(".apk","").replace(".APK","").replace("ios","").replace("IOS",""));
+                            ad.setAppName(ad.getAppName().replace(".apk", "").replace(".APK", "").replace("ios", "").replace("IOS", ""));
                             appAdService.saveOrUpdate(ad);
                             KuaishouAdAccount kuaishouAdAccount = kuaishouAdAccountService.getById(ad.getUserId());
                             if (kuaishouAdAccount == null) {

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

@@ -108,8 +108,7 @@ public class KuaiShouGroupCreateLogController {
         }
         queryWrapper.orderByDesc("create_time");
         queryWrapper.last("limit 1");
-        KuaiShouGroupCreateLog groupCreateLog = (KuaiShouGroupCreateLog) kuaiShouGroupCreateLogService.getObj(queryWrapper);
-
+        KuaiShouGroupCreateLog groupCreateLog = (KuaiShouGroupCreateLog) kuaiShouGroupCreateLogService.getOne(queryWrapper);
         return groupCreateLog;
     }
 

+ 1 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceAdvertisePlanServiceImpl.java

@@ -18,7 +18,7 @@ import java.util.List;
  * @Version: V1.0
  */
 @Slf4j
-@Service("byteDanceAdvertisePlanService")
+@Service
 public class ByteDanceAdvertisePlanServiceImpl extends ServiceImpl<ByteDanceAdvertisePlanMapper, ByteDanceAdvertisePlan> implements IByteDanceAdvertisePlanService {
     @Autowired
     private ByteDanceAdvertisePlanMapper byteDanceAdvertisePlanMapper;

+ 2 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceAdvertiserDataServiceImpl.java

@@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -20,6 +21,7 @@ import java.util.*;
  */
 @Slf4j
 @Service
+@Primary
 public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserDataService {
     @Autowired
     private ICtopOauthTokenService tokenService;

+ 1 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceAdvertiserServiceImpl.java

@@ -12,7 +12,7 @@ import org.springframework.stereotype.Service;
  * @Date: 2019-07-22
  * @Version: V1.0
  */
-@Service("byteDanceAdvertiserService")
+@Service
 public class ByteDanceAdvertiserServiceImpl extends ServiceImpl<ByteDanceAdvertiserMapper, ByteDanceAdvertiser> implements IByteDanceAdvertiserService {
 
 }

+ 2 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceCampaignServiceImpl.java

@@ -12,7 +12,8 @@ import org.springframework.stereotype.Service;
  * @Date: 2019-07-22
  * @Version: V1.0
  */
-@Service("byteDanceCampaignService")
+
+@Service
 public class ByteDanceCampaignServiceImpl extends ServiceImpl<ByteDanceCampaignMapper, ByteDanceCampaign> implements IByteDanceCampaignService {
 
 }

+ 2 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceCreativeMaterialServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.ctop.toutiao.modules.material.entity.ByteDanceCreativeMaterial;
 import cn.com.ctop.toutiao.modules.material.mapper.ByteDanceCreativeMaterialMapper;
 import cn.com.ctop.toutiao.modules.material.service.IByteDanceCreativeMaterialService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -13,6 +14,7 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
+@Primary
 public class ByteDanceCreativeMaterialServiceImpl extends ServiceImpl<ByteDanceCreativeMaterialMapper, ByteDanceCreativeMaterial> implements IByteDanceCreativeMaterialService {
 
 }

+ 2 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceCreativeServiceImpl.java

@@ -21,6 +21,7 @@ import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClientBuilder;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.io.BufferedReader;
@@ -39,6 +40,7 @@ import java.util.TreeMap;
  */
 @Slf4j
 @Service
+@Primary
 public class ByteDanceCreativeServiceImpl extends ServiceImpl<ByteDanceCreativeMapper, ByteDanceCreative> implements IByteDanceCreativeService {
     @Autowired
     private IFileInfoService fileInfoService;

+ 2 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceVideoInfoServiceImpl.java

@@ -5,6 +5,7 @@ import cn.com.ctop.toutiao.modules.material.mapper.ByteDanceVideoInfoMapper;
 import cn.com.ctop.toutiao.modules.material.service.IByteDanceVideoInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -16,6 +17,7 @@ import java.util.List;
  * @Version: V1.0
  */
 @Service
+@Primary
 public class ByteDanceVideoInfoServiceImpl extends ServiceImpl<ByteDanceVideoInfoMapper, ByteDanceVideoInfo> implements IByteDanceVideoInfoService {
     @Autowired
     private ByteDanceVideoInfoMapper videoInfoMapper;

+ 2 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/BytedanceCleanMaterialServiceImpl.java

@@ -6,11 +6,13 @@ import cn.com.ctop.toutiao.modules.report.entity.ByteDanceCleanMaterialReport;
 import cn.com.ctop.toutiao.modules.report.mapper.BytedanceCreativeDailyReportMapper;
 import cn.com.ctop.toutiao.modules.report.service.IByteDanceCleanMaterialReportService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
 @Service
+@Primary
 public class BytedanceCleanMaterialServiceImpl implements IBytedanceCleanMaterialService {
     @Autowired
     private BytedanceCreativeDailyReportMapper bytedanceCreativeDailyReportMapper;

+ 62 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/controller/BytedanceHomepageReportCtrl.java

@@ -0,0 +1,62 @@
+package cn.com.ctop.toutiao.modules.report.controller;
+
+import cn.com.ctop.toutiao.modules.report.service.IBytedanceHomepageReportService;
+import com.alibaba.fastjson.JSONObject;
+import jdk.nashorn.internal.scripts.JS;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *  Created by JQ.bi on 2020.5.19
+ */
+@Slf4j
+@RestController
+@RequestMapping("/ctop/byteDance/homePage")
+public class BytedanceHomepageReportCtrl {
+
+    @Autowired
+    IBytedanceHomepageReportService bytedanceHomepageReportService;
+
+    @PostMapping("/report/week")
+    public Result<Map<String,JSONObject>> getWeekReport(@RequestBody JSONObject requestBody) {
+        Result<Map<String,JSONObject>> result = new Result<>();
+        try {
+            Map<String, JSONObject> weekReport = bytedanceHomepageReportService.getWeekReport(requestBody);
+            result.setResult(weekReport);
+            result.setSuccess(true);
+        } catch (Exception e) {
+            log.error(e.getMessage(),e);
+            result.setSuccess(false);
+        }
+        return result;
+    }
+
+    @PostMapping("/report/chart")
+    public Result<List<JSONObject>> getChartReport(@RequestBody JSONObject requestBody) {
+        Result<List<JSONObject>> result = new Result<>();
+        if(requestBody.isEmpty()){
+            log.error("request body is empty");
+            result.setSuccess(false);
+        }
+        try {
+            List<JSONObject> chartReport=bytedanceHomepageReportService.getChartByDate(requestBody);
+            result.setResult(chartReport);
+            result.setSuccess(true);
+        } catch (Exception e) {
+            log.error(e.getMessage(),e);
+            result.setSuccess(false);
+        }
+
+        return result;
+
+    }
+}

+ 34 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/mapper/BytedanceHomepageMapper.java

@@ -0,0 +1,34 @@
+package cn.com.ctop.toutiao.modules.report.mapper;
+
+import com.alibaba.fastjson.JSONObject;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * Created by JQ.bi on 2020.05.19
+ */
+public interface BytedanceHomepageMapper {
+
+    //今日汇总数据
+    JSONObject queryTodaySumReportBy(@Param("statDate") String statDate);
+
+    //今日明细数据
+    List<JSONObject> queryTodayDetailReportBy(@Param("statDate") String statDate);
+
+    //根据开始、结束时间 查询汇总数据
+    JSONObject querySumByStartEndDate(@Param("endDate") String endDate, @Param("startDate") String startDate);
+
+    //根据开始、结束时间 查询明细数据
+    List<JSONObject> queryDetailByStartEndDate(@Param("endDate") String endDate, @Param("startDate") String startDate);
+
+    //按月分组查询明细数据
+    List<JSONObject> queryDetailGroupMonthByDate(@Param("endDate") String endDate, @Param("startDate") String startDate);
+
+    //查询固定月的明细数据
+    List<JSONObject> queryDetailGroupDayByMonth(@Param("month") String month);
+
+    //项目消耗排行榜
+    List<JSONObject> queryTopCost(@Param("endDate") String endDate, @Param("startDate") String startDate,@Param("rank") int rank);
+
+}

+ 147 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/mapper/xml/BytedanceHomepageMapper.xml

@@ -0,0 +1,147 @@
+<?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.toutiao.modules.report.mapper.BytedanceHomepageMapper">
+
+
+    <select id="queryTodaySumReportBy" resultType="com.alibaba.fastjson.JSONObject">
+       SELECT
+	     ROUND(sum(cost),2) cost,
+	     sum(show_num) showNum,
+	     sum(stat_datetime) click,
+	     max(stat_hour) maxHour
+       FROM
+	      ctop_bytedance_report_advertiser_hourly
+       WHERE
+	      stat_datetime = #{statDate}
+      </select>
+
+
+    <select id="queryTodayDetailReportBy" resultType="com.alibaba.fastjson.JSONObject">
+       SELECT
+         stat_datetime statDate,
+         stat_hour statHour,
+	     ROUND(sum(cost),2) cost,
+	     sum(show_num) showNum,
+	     sum(click) click
+	   FROM
+	      ctop_bytedance_report_advertiser_hourly
+       WHERE
+	      stat_datetime = #{statDate}
+       GROUP BY
+	      stat_hour
+       ORDER BY
+	      stat_hour ASC
+
+    </select>
+
+    <select id="querySumByStartEndDate" resultType="com.alibaba.fastjson.JSONObject">
+       SELECT
+         ROUND(sum(cost), 2) cost,
+         sum(show_num) showNum,
+         sum(click) click
+       FROM
+         ctop_bytedance_report_advertiser_daily
+       WHERE
+         stat_datetime &lt;= #{endDate}
+       AND
+         stat_datetime &gt;= #{startDate}
+    </select>
+
+    <select id="queryDetailByStartEndDate" resultType="com.alibaba.fastjson.JSONObject">
+       SELECT
+         ROUND(sum(cost), 2) cost,
+         sum(show_num) showNum,
+         sum(click) click,
+         DATE_FORMAT(stat_datetime,'%Y-%m-%d') statDate
+       FROM
+         ctop_bytedance_report_advertiser_daily
+       WHERE
+            stat_datetime &lt;= #{endDate}
+       AND  stat_datetime &gt;= #{startDate}
+       group by stat_datetime
+       order by stat_datetime asc
+    </select>
+
+    <select id="queryDetailGroupMonthByDate" resultType="com.alibaba.fastjson.JSONObject">
+       SELECT
+         ROUND(sum(cost), 2) cost,
+         sum(show_num) showNum,
+         sum(click) click,
+         DATE_FORMAT(stat_datetime,'%Y-%m') statDate
+       FROM
+         ctop_bytedance_report_advertiser_daily
+       WHERE
+         stat_datetime &lt;= #{endDate}
+       AND
+         stat_datetime &gt;= #{startDate}
+      group by DATE_FORMAT(stat_datetime,'%Y-%m')
+      order by stat_datetime asc
+    </select>
+
+    <select id="queryDetailGroupDayByMonth" resultType="com.alibaba.fastjson.JSONObject">
+       SELECT
+         ROUND(sum(cost), 2) cost,
+         sum(show_num) showNum,
+         sum(click) click,
+         DATE_FORMAT(stat_datetime,'%Y-%m-%d') statDate,
+         SUBSTR(DATE_FORMAT(stat_datetime,'%Y-%m-%d') FROM 9 FOR 2) day
+       FROM
+         ctop_bytedance_report_advertiser_daily
+       WHERE
+         stat_datetime like '${month}%'
+      group by DATE_FORMAT(stat_datetime,'%Y-%m-%d')
+      order by stat_datetime asc
+    </select>
+
+    <select id="queryTopCost" resultType="com.alibaba.fastjson.JSONObject">
+       SELECT
+         t2.auth_name as authName,
+         ROUND(sum(t1.cost), 2) cost
+       FROM
+         ctop_bytedance_report_advertiser_daily t1
+       LEFT JOIN
+         ctop_user_allocation t2 ON t1.advertiser_id=t2.account_id
+       WHERE
+         stat_datetime &lt;= #{endDate}
+       AND
+         stat_datetime &gt;= #{startDate}
+       GROUP BY t1.advertiser_id
+       ORDER BY sum(t1.cost) DESC
+       limit #{rank}
+    </select>
+
+    <select id="queryTopClick" resultType="com.alibaba.fastjson.JSONObject">
+       SELECT
+         t2.auth_name as authName,
+         ROUND(sum(t1.click), 2) click
+       FROM
+         ctop_bytedance_report_advertiser_daily t1
+       LEFT JOIN
+         ctop_user_allocation t2 ON t1.advertiser_id=t2.account_id
+       WHERE
+         stat_datetime &lt;= #{endDate}
+       AND
+         stat_datetime &gt;= #{startDate}
+       GROUP BY t1.advertiser_id
+       ORDER BY sum(t1.click) DESC
+       limit #{rank}
+    </select>
+
+    <select id="queryTopShowNum" resultType="com.alibaba.fastjson.JSONObject">
+       SELECT
+         t2.auth_name as authName,
+         ROUND(sum(t1.show_num), 2) showNum
+       FROM
+         ctop_bytedance_report_advertiser_daily t1
+       LEFT JOIN
+         ctop_user_allocation t2 ON t1.advertiser_id=t2.account_id
+       WHERE
+         stat_datetime &lt;= #{endDate}
+       AND
+         stat_datetime &gt;= #{startDate}
+       GROUP BY t1.advertiser_id
+       ORDER BY sum(t1.show_num) DESC
+       limit #{rank}
+    </select>
+
+</mapper>

+ 15 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/IBytedanceHomepageReportService.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.toutiao.modules.report.service;
+
+import com.alibaba.fastjson.JSONObject;
+
+import java.util.List;
+import java.util.Map;
+
+public interface IBytedanceHomepageReportService {
+
+    Map<String,JSONObject> getWeekReport(JSONObject json);
+
+    List<JSONObject> getChartByDate(JSONObject json);
+
+    JSONObject getTopCostByDate(JSONObject json);
+}

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/ByteDanceCleanMaterialReportServiceImpl.java

@@ -7,6 +7,7 @@ import cn.com.ctop.toutiao.modules.report.mapper.BytedanceCreativeDailyReportMap
 import cn.com.ctop.toutiao.modules.report.service.IByteDanceCleanMaterialReportService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -19,6 +20,8 @@ import java.util.List;
  * @date 2020-02-25
  */
 @Service
+@Primary
+
 public class ByteDanceCleanMaterialReportServiceImpl extends ServiceImpl<ByteDanceCleanMaterialReportMapper, ByteDanceCleanMaterialReport> implements IByteDanceCleanMaterialReportService {
     @Autowired
     private BytedanceCreativeDailyReportMapper bytedanceCreativeDailyReportMapper;

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/ByteDanceHourlyAccountWarningServiceImpl.java

@@ -12,6 +12,7 @@ import cn.com.ctop.toutiao.modules.report.service.IByteDanceHourlyAccountWarning
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -19,6 +20,8 @@ import java.math.RoundingMode;
 import java.util.List;
 
 @Service
+@Primary
+
 public class ByteDanceHourlyAccountWarningServiceImpl implements IByteDanceHourlyAccountWarningService {
 
     @Autowired

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceAdvertiserDailyReportServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.ctop.toutiao.modules.report.entity.BytedanceAdvertiserDailyReport;
 import cn.com.ctop.toutiao.modules.report.mapper.BytedanceAdvertiserDailyReportMapper;
 import cn.com.ctop.toutiao.modules.report.service.IBytedanceAdvertiserDailyReportService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -13,6 +14,8 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
+@Primary
+
 public class BytedanceAdvertiserDailyReportServiceImpl extends ServiceImpl<BytedanceAdvertiserDailyReportMapper, BytedanceAdvertiserDailyReport> implements IBytedanceAdvertiserDailyReportService {
 
 }

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceAdvertiserHourlyReportServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.ctop.toutiao.modules.report.entity.BytedanceAdvertiserHourlyReport
 import cn.com.ctop.toutiao.modules.report.mapper.BytedanceAdvertiserHourlyReportMapper;
 import cn.com.ctop.toutiao.modules.report.service.IBytedanceAdvertiserHourlyReportService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -13,6 +14,8 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
+@Primary
+
 public class BytedanceAdvertiserHourlyReportServiceImpl extends ServiceImpl<BytedanceAdvertiserHourlyReportMapper, BytedanceAdvertiserHourlyReport> implements IBytedanceAdvertiserHourlyReportService {
 
 }

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceCampaignDailyReportServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.ctop.toutiao.modules.report.entity.BytedanceCampaignDailyReport;
 import cn.com.ctop.toutiao.modules.report.mapper.BytedanceCampaignDailyReportMapper;
 import cn.com.ctop.toutiao.modules.report.service.IBytedanceCampaignDailyReportService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -13,6 +14,8 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
+@Primary
+
 public class BytedanceCampaignDailyReportServiceImpl extends ServiceImpl<BytedanceCampaignDailyReportMapper, BytedanceCampaignDailyReport> implements IBytedanceCampaignDailyReportService {
 
 }

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceCampaignHourlyReportServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.ctop.toutiao.modules.report.entity.BytedanceCampaignHourlyReport;
 import cn.com.ctop.toutiao.modules.report.mapper.BytedanceCampaignHourlyReportMapper;
 import cn.com.ctop.toutiao.modules.report.service.IBytedanceCampaignHourlyReportService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -13,6 +14,8 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
+@Primary
+
 public class BytedanceCampaignHourlyReportServiceImpl extends ServiceImpl<BytedanceCampaignHourlyReportMapper, BytedanceCampaignHourlyReport> implements IBytedanceCampaignHourlyReportService {
 
 }

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceCreativeDailyReportServiceImpl.java

@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.HashMap;
@@ -22,6 +23,8 @@ import java.util.Map;
  * @Version: V1.0
  */
 @Service
+@Primary
+
 public class BytedanceCreativeDailyReportServiceImpl extends ServiceImpl<BytedanceCreativeDailyReportMapper, BytedanceCreativeDailyReport> implements IBytedanceCreativeDailyReportService {
     @Autowired
     private BytedanceCreativeDailyReportMapper bytedanceCreativeDailyReportMapper;

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceCreativeHourlyReportServiceImpl.java

@@ -6,6 +6,7 @@ import cn.com.ctop.toutiao.modules.report.mapper.BytedanceCreativeHourlyReportMa
 import cn.com.ctop.toutiao.modules.report.service.IBytedanceCreativeHourlyReportService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -17,6 +18,8 @@ import java.util.List;
  * @Version: V1.0
  */
 @Service
+@Primary
+
 public class BytedanceCreativeHourlyReportServiceImpl extends ServiceImpl<BytedanceCreativeHourlyReportMapper, BytedanceCreativeHourlyReport> implements IBytedanceCreativeHourlyReportService {
     @Autowired
     private BytedanceCreativeHourlyReportMapper reportMapper;

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceDailyReportTaskServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.ctop.toutiao.modules.report.entity.BytedanceDailyReportTask;
 import cn.com.ctop.toutiao.modules.report.mapper.BytedanceDailyReportTaskMapper;
 import cn.com.ctop.toutiao.modules.report.service.IBytedanceDailyReportTaskService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -13,6 +14,8 @@ import org.springframework.stereotype.Service;
  * @version V1.0
  */
 @Service
+@Primary
+
 public class BytedanceDailyReportTaskServiceImpl extends ServiceImpl<BytedanceDailyReportTaskMapper, BytedanceDailyReportTask> implements IBytedanceDailyReportTaskService {
 
 }

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceFundDailyServiceImpl.java

@@ -11,6 +11,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import lombok.var;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -22,6 +23,8 @@ import org.springframework.stereotype.Service;
  */
 @Slf4j
 @Service
+@Primary
+
 public class BytedanceFundDailyServiceImpl extends ServiceImpl<BytedanceFundDailyMapper, BytedanceFundDaily> implements IBytedanceFundDailyService {
     @Override
     public void loadFundDataByPage(CtopOauthToken token, String startDate, String endDate, Integer pageNum) {

+ 204 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceHomepageReportServiceImpl.java

@@ -0,0 +1,204 @@
+package cn.com.ctop.toutiao.modules.report.service.impl;
+
+import cn.com.ctop.toutiao.modules.report.mapper.BytedanceHomepageMapper;
+import cn.com.ctop.toutiao.modules.report.service.IBytedanceHomepageReportService;
+import com.alibaba.fastjson.JSONObject;
+import org.jeecg.common.constant.SystemDateConstant;
+import org.jeecg.common.util.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by JQ.bi on 2020.05.19
+ */
+@Service
+public class BytedanceHomepageReportServiceImpl implements IBytedanceHomepageReportService {
+
+    @Autowired
+    BytedanceHomepageMapper bytedanceHomepageMapper;
+
+    @Override
+    public Map<String, JSONObject> getWeekReport(JSONObject requestBody) {
+        Map<String, JSONObject> result = new HashMap<>();
+        //当天日期
+        String nowDate = DateUtils.getNowDate(SystemDateConstant.yyyy_MM_dd);
+        //本周汇总数据
+        JSONObject weekSumData = bytedanceHomepageMapper.querySumByStartEndDate(nowDate,
+                DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, nowDate, -7));
+        //上周汇总数据
+        JSONObject weekBeforeSumData = bytedanceHomepageMapper.querySumByStartEndDate(DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, nowDate, -7),
+                DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, nowDate, -14));
+        //一周内每日数据汇总
+        List<JSONObject> weekDetailData = bytedanceHomepageMapper.queryDetailByStartEndDate(nowDate,
+                DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, nowDate, -7));
+        //一周内cost top数据
+        List<JSONObject> costTop = bytedanceHomepageMapper.queryTopCost(nowDate, DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, nowDate, -7), 7);
+        JSONObject top = new JSONObject();
+        top.put("top7", costTop);
+        //周明细环比数据拼接
+        JSONObject costWeekData = new JSONObject();
+        JSONObject clickWeekData = new JSONObject();
+        JSONObject showNumWeekData = new JSONObject();
+        weekDetailData.forEach(day -> {
+            costWeekData.put((String) day.get("statDate"), day.get("cost"));
+            clickWeekData.put((String) day.get("statDate"), day.get("click"));
+            showNumWeekData.put((String) day.get("statDate"), day.get("showNum"));
+        });
+        costWeekData.put("weekCostSum", weekSumData.get("cost"));
+        costWeekData.put("weekCostSumLink", countLink(weekSumData.getBigDecimal("cost"), weekBeforeSumData.getBigDecimal("cost")));
+        clickWeekData.put("weekClickSum", weekSumData.get("click"));
+        clickWeekData.put("weekClickSumLink", countLink(BigDecimal.valueOf(weekSumData.getLongValue("click")), BigDecimal.valueOf(weekBeforeSumData.getLong("click"))));
+        showNumWeekData.put("weekCostSum", weekSumData.get("showNum"));
+        showNumWeekData.put("weekShowNumSumLink", countLink(BigDecimal.valueOf(weekSumData.getLongValue("showNum")), BigDecimal.valueOf(weekBeforeSumData.getLong("showNum"))));
+
+        result.put("costWeek", costWeekData);
+        result.put("clickWeek", clickWeekData);
+        result.put("showNumWeek", showNumWeekData);
+        result.put("top", top);
+
+        return result;
+    }
+
+    /**
+     * timeType :1,2,3,4,5,6,7,8,9  前端约束入参类型
+     */
+    @Override
+    public List<JSONObject> getChartByDate(JSONObject requestBody) {
+        int timeType = requestBody.getInteger("type");
+        List<JSONObject> resultBody = new ArrayList<>();
+        if (requestBody.isEmpty()) {
+            return resultBody;
+        }
+        //当天日期
+        String nowDate = DateUtils.getNowDate(SystemDateConstant.yyyy_MM_dd);
+        //startTime 为取什么时间段数据的开始时间,默认昨天
+        String anotherDay = DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, nowDate, -1);
+        switch (timeType) {
+            //今天
+            case 1:
+                resultBody = getCompareGroupByHour(nowDate, anotherDay);
+                break;
+            //昨天
+            case 2:
+                resultBody = bytedanceHomepageMapper.queryTodayDetailReportBy(anotherDay);
+                break;
+            //近一周
+            case 3:
+                resultBody = bytedanceHomepageMapper.queryDetailByStartEndDate(nowDate,
+                        DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, anotherDay, -6));
+                break;
+            //近半个月(15天)
+            case 4:
+                resultBody = bytedanceHomepageMapper.queryDetailByStartEndDate(nowDate,
+                        DateUtils.getAnotherDay(SystemDateConstant.yyyy_MM_dd, anotherDay, -14));
+                break;
+            //近一个月
+            case 5:
+                resultBody = bytedanceHomepageMapper.queryDetailByStartEndDate(nowDate,
+                        DateUtils.getMonthBefore(SystemDateConstant.yyyy_MM_dd, anotherDay, -1));
+                break;
+            //近三个月
+            case 6:
+                resultBody = bytedanceHomepageMapper.queryDetailByStartEndDate(nowDate,
+                        DateUtils.getMonthBefore(SystemDateConstant.yyyy_MM_dd, anotherDay, -3));
+                break;
+            //近半年
+            case 7:
+                resultBody = bytedanceHomepageMapper.queryDetailByStartEndDate(nowDate,
+                        DateUtils.getMonthBefore(SystemDateConstant.yyyy_MM_dd, anotherDay, -6));
+                break;
+            //全部数据
+            case 8:
+                resultBody = bytedanceHomepageMapper.queryDetailGroupMonthByDate(SystemDateConstant.BEGIN_TIME, nowDate);
+                break;
+            //自定义起始时间
+            case 9:
+                resultBody = bytedanceHomepageMapper.queryDetailByStartEndDate(requestBody.getString("startDate"), requestBody.getString("endDate"));
+                break;
+            //对比
+            case 10:
+                resultBody = getChartByType_10(requestBody.getString("sign"), requestBody.getString("smallDate"), requestBody.getString("bigDate"));
+                break;
+            default:
+        }
+        return resultBody;
+    }
+
+    @Override
+    public JSONObject getTopCostByDate(JSONObject requestBody) {
+        return null;
+    }
+
+    //自定义日期对比(日对比,月对比)
+    private List<JSONObject> getChartByType_10(String sign, String smallDate, String bigDate) {
+        List<JSONObject> result = new ArrayList<>();
+        if (!sign.isEmpty() && sign.equals("month")) {
+            result = this.getCompareGroupByDay(smallDate, bigDate);
+        } else if (!sign.isEmpty() && sign.equals("day")) {
+            result = this.getCompareGroupByHour(bigDate, smallDate);
+        }
+        return result;
+    }
+
+    //两个月份的数据对比
+    private List<JSONObject> getCompareGroupByDay(String smallDate, String bigDate) {
+        //大月份数据
+        List<JSONObject> afterDetail = bytedanceHomepageMapper.queryDetailGroupDayByMonth(bigDate);
+        //小月份数据
+        List<JSONObject> beforeDetail = bytedanceHomepageMapper.queryDetailGroupDayByMonth(smallDate);
+        List<JSONObject> beforeData;List<JSONObject> afterData;
+        if (afterDetail.size() >= beforeDetail.size()) {
+            beforeData = afterDetail;
+            afterData = beforeData;
+        } else {
+            beforeData = beforeDetail;
+            afterData = afterDetail;
+        }
+        return this.getCompareDate(beforeData,afterData,"day");
+    }
+
+    //今天昨天数据对比
+    private List<JSONObject> getCompareGroupByHour(String nowDate, String anotherDay) {
+        List<JSONObject> afterDetail = bytedanceHomepageMapper.queryTodayDetailReportBy(nowDate);
+        List<JSONObject> beforeDetail = bytedanceHomepageMapper.queryTodayDetailReportBy(anotherDay);
+        return this.getCompareDate(beforeDetail, afterDetail, "statHour");
+    }
+
+    //数据对比,环比计算
+    private List<JSONObject> getCompareDate(List<JSONObject> beforeData, List<JSONObject> AfterData, String standard) {
+        List<JSONObject> result = new ArrayList<>();
+        beforeData.forEach(before -> {
+            String yesStatHour = String.valueOf(before.get(standard));
+            AfterData.forEach(after -> {
+                if ((String.valueOf(after.get(standard))).equals(yesStatHour)) {
+                    //消耗较昨日环比
+                    after.put("costProportion", countLink(after.getBigDecimal("cost"), before.getBigDecimal("cost")));
+                    //展示量较昨日环比
+                    after.put("showProportion", countLink(BigDecimal.valueOf(after.getLong("showNum")), BigDecimal.valueOf(before.getLong("showNum"))));
+                    //点击量较昨日环比
+                    after.put("photoClickProportion", countLink(BigDecimal.valueOf(after.getLong("click")), BigDecimal.valueOf(before.getLong("click"))));
+                    before.put("afterData", after);
+                }
+            });
+            result.add(before);
+        });
+        return result;
+    }
+
+    //环比计算
+    private BigDecimal countLink(BigDecimal numA, BigDecimal numB) {
+        BigDecimal link = new BigDecimal(0);
+        if (!BigDecimal.ZERO.equals(numB)) {
+            link = (numA.subtract(numB)).divide(numB, 4, RoundingMode.HALF_UP);
+        }
+        return link;
+    }
+
+}

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedancePlanDailyReportServiceImpl.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.common.util.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
@@ -20,6 +21,8 @@ import java.util.List;
  * @Version: V1.0
  */
 @Service
+@Primary
+
 public class BytedancePlanDailyReportServiceImpl extends ServiceImpl<BytedancePlanDailyReportMapper, BytedancePlanDailyReport> implements IBytedancePlanDailyReportService {
     @Autowired
     private BytedancePlanDailyReportMapper dailyReportMapper;

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedancePlanHourlyReportServiceImpl.java

@@ -5,6 +5,7 @@ import cn.com.ctop.toutiao.modules.report.mapper.BytedancePlanHourlyReportMapper
 import cn.com.ctop.toutiao.modules.report.service.IBytedancePlanHourlyReportService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -16,6 +17,8 @@ import java.util.List;
  * @Version: V1.0
  */
 @Service
+@Primary
+
 public class BytedancePlanHourlyReportServiceImpl extends ServiceImpl<BytedancePlanHourlyReportMapper, BytedancePlanHourlyReport> implements IBytedancePlanHourlyReportService {
     @Autowired
     private BytedancePlanHourlyReportMapper reportMapper;

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceReportMaterialDailyServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.ctop.toutiao.modules.report.entity.BytedanceReportMaterialDaily;
 import cn.com.ctop.toutiao.modules.report.mapper.BytedanceReportMaterialDailyMapper;
 import cn.com.ctop.toutiao.modules.report.service.IBytedanceReportMaterialDailyService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -13,6 +14,8 @@ import org.springframework.stereotype.Service;
  * @version V1.0
  */
 @Service
+@Primary
+
 public class BytedanceReportMaterialDailyServiceImpl extends ServiceImpl<BytedanceReportMaterialDailyMapper, BytedanceReportMaterialDaily> implements IBytedanceReportMaterialDailyService {
 
 }

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceReportMaterialRetryServiceImpl.java

@@ -4,6 +4,7 @@ import cn.com.ctop.toutiao.modules.report.entity.BytedanceReportMaterialRetry;
 import cn.com.ctop.toutiao.modules.report.mapper.BytedanceReportMaterialRetryMapper;
 import cn.com.ctop.toutiao.modules.report.service.IBytedanceReportMaterialRetryService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 /**
@@ -13,6 +14,8 @@ import org.springframework.stereotype.Service;
  * @version V1.0
  */
 @Service
+@Primary
+
 public class BytedanceReportMaterialRetryServiceImpl extends ServiceImpl<BytedanceReportMaterialRetryMapper, BytedanceReportMaterialRetry> implements IBytedanceReportMaterialRetryService {
 
 }

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/BytedanceReportServiceImpl.java

@@ -23,6 +23,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.util.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -34,6 +35,8 @@ import java.util.Map;
 
 @Service
 @Slf4j
+@Primary
+
 public class BytedanceReportServiceImpl implements IBytedanceReportService {
 
     @Value("${jeecg.path.report-history}")

+ 3 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/report/service/impl/ReportServiceImpl.java

@@ -20,6 +20,7 @@ import lombok.var;
 import org.jeecg.common.util.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -32,6 +33,8 @@ import java.util.Map;
  */
 @Slf4j
 @Service
+@Primary
+
 public class ReportServiceImpl implements IReportService {
     @Value("${jeecg.path.csv-upload}")
     private String csvUploadPath;

+ 1 - 1
pom.xml

@@ -91,7 +91,7 @@
         <java.version>1.8</java.version>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <mybatis-plus.version>3.0.6</mybatis-plus.version>
+        <mybatis-plus.version>3.0.7</mybatis-plus.version>
         <druid.version>1.1.10</druid.version>
         <commons.version>2.6</commons.version>
         <aliyun-java-sdk-core.version>3.5.0</aliyun-java-sdk-core.version>