Ver código fonte

拆分报表木块代码

syh 5 anos atrás
pai
commit
9b6e1478f9
76 arquivos alterados com 562 adições e 491 exclusões
  1. 0 23
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IReportService.java
  2. 1 25
      jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java
  3. 2 2
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/FileInfoServiceImpl.java
  4. 33 99
      module-common/src/main/java/cn/com/ctop/common/module/utils/HttpUtils.java
  5. 16 0
      module-report/pom.xml
  6. 4 0
      module-report/src/main/java/cn/com/ctop/bytedance/aa.java
  7. 3 3
      module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedanceAdvertiserDailyReportController.java
  8. 3 3
      module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedanceAdvertiserHourlyReportController.java
  9. 3 3
      module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedanceCampaignDailyReportController.java
  10. 3 3
      module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedanceCampaignHourlyReportController.java
  11. 3 3
      module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedanceCreativeDailyReportController.java
  12. 3 3
      module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedanceCreativeHourlyReportController.java
  13. 3 3
      module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedancePlanDailyReportController.java
  14. 3 3
      module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedancePlanHourlyReportController.java
  15. 3 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CustomerPlanStatisticInfoController.java
  16. 19 24
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/PlatformCampaignStatisticInfoController.java
  17. 13 12
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ReportController.java
  18. 1 1
      module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedanceAdvertiserDailyReport.java
  19. 1 1
      module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedanceAdvertiserHourlyReport.java
  20. 1 1
      module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedanceCampaignDailyReport.java
  21. 1 1
      module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedanceCampaignHourlyReport.java
  22. 1 1
      module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedanceCreativeDailyReport.java
  23. 1 1
      module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedanceCreativeHourlyReport.java
  24. 1 1
      module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedancePlanDailyReport.java
  25. 1 1
      module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedancePlanHourlyReport.java
  26. 3 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/CustomerPlanStatisticInfo.java
  27. 10 14
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/PlatformCampaignStatisticInfo.java
  28. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedanceAdvertiserDailyReportMapper.java
  29. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedanceAdvertiserHourlyReportMapper.java
  30. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedanceCampaignDailyReportMapper.java
  31. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedanceCampaignHourlyReportMapper.java
  32. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedanceCreativeDailyReportMapper.java
  33. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedanceCreativeHourlyReportMapper.java
  34. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedancePlanDailyReportMapper.java
  35. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedancePlanHourlyReportMapper.java
  36. 2 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/CustomerPlanStatisticInfoMapper.java
  37. 6 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/PlatformCampaignStatisticInfoMapper.java
  38. 0 0
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceAdvertiserDailyReportMapper.xml
  39. 0 0
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceAdvertiserHourlyReportMapper.xml
  40. 0 0
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceCampaignDailyReportMapper.xml
  41. 0 0
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceCampaignHourlyReportMapper.xml
  42. 0 0
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceCreativeDailyReportMapper.xml
  43. 0 0
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceCreativeHourlyReportMapper.xml
  44. 0 0
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedancePlanDailyReportMapper.xml
  45. 0 0
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedancePlanHourlyReportMapper.xml
  46. 0 0
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/CustomerPlanStatisticInfoMapper.xml
  47. 0 0
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/PlatformCampaignStatisticInfoMapper.xml
  48. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedanceAdvertiserDailyReportService.java
  49. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedanceAdvertiserHourlyReportService.java
  50. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedanceCampaignDailyReportService.java
  51. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedanceCampaignHourlyReportService.java
  52. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedanceCreativeDailyReportService.java
  53. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedanceCreativeHourlyReportService.java
  54. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedancePlanDailyReportService.java
  55. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedancePlanHourlyReportService.java
  56. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/ICustomerPlanStatisticInfoService.java
  57. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IPlatformCampaignStatisticInfoService.java
  58. 24 0
      module-report/src/main/java/cn/com/ctop/bytedance/service/IReportService.java
  59. 5 5
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedanceAdvertiserDailyReportServiceImpl.java
  60. 5 5
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedanceAdvertiserHourlyReportServiceImpl.java
  61. 5 5
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedanceCampaignDailyReportServiceImpl.java
  62. 5 5
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedanceCampaignHourlyReportServiceImpl.java
  63. 5 5
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedanceCreativeDailyReportServiceImpl.java
  64. 5 5
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedanceCreativeHourlyReportServiceImpl.java
  65. 5 5
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedancePlanDailyReportServiceImpl.java
  66. 5 5
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedancePlanHourlyReportServiceImpl.java
  67. 5 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/CustomerPlanStatisticInfoServiceImpl.java
  68. 5 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/PlatformCampaignStatisticInfoServiceImpl.java
  69. 73 141
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ReportServiceImpl.java
  70. 15 0
      module-report/src/main/java/cn/com/ctop/bytedance/vo/ByteDanceAdvertiserReportDTO.java
  71. 208 0
      module-report/src/main/java/cn/com/ctop/bytedance/vo/StatisticCampaignVo.java
  72. 3 3
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/ByteDanceAdvertisePlanServiceImpl.java
  73. 1 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/ByteDanceAdvertiserDataServiceImpl.java
  74. 1 1
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/ByteDanceCampaignTemplateServiceImpl.java
  75. 3 1
      module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/ByteDanceCreativeServiceImpl.java
  76. 4 4
      module-toutiao/src/main/java/cn/com/ctop/toutiao/test/Test.java

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

@@ -1,23 +0,0 @@
-package org.jeecg.modules.ctop.service;
-
-import com.alibaba.fastjson.JSONObject;
-
-import java.util.Map;
-
-public interface IReportService {
-    Map<String, Object> getAdvertiserReport(JSONObject conditions);
-
-    Map<String, Object> getCampaignReport(JSONObject conditions);
-
-    Map<String, Object> getAdReport(JSONObject conditions);
-
-    Map<String, Object> getCreativeReport(JSONObject conditions);
-
-    Map<String, Object> getAgentReport(JSONObject conditions);
-
-    void insertCustomerInfo(String csvPath, String charset);
-
-    void insertPlatformInfo(String excelPath, String charset, Long accountId);
-
-    Map<String, Object> debitAuto(JSONObject data);
-}

+ 1 - 25
jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java

@@ -1,10 +1,8 @@
 package org.jeecg;
 
-import cn.com.ctop.common.module.utils.OSSUtils;
-import cn.com.ctop.common.module.utils.ResultMapUtils;
-import cn.com.ctop.common.module.utils.StatusCode;
 import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.service.ICtopOauthTokenService;
+import cn.com.ctop.common.module.utils.OSSUtils;
 import cn.com.ctop.toutiao.entity.ByteDanceUserOrientationTemplate;
 import cn.com.ctop.toutiao.entity.BytedanceAreaInfo;
 import cn.com.ctop.toutiao.entity.BytedanceInterestCategory;
@@ -16,7 +14,6 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import org.jeecg.common.util.jsonschema.JsonschemaUtil;
 import org.jeecg.modules.ctop.service.ICreateInternalService;
-import org.jeecg.modules.ctop.service.IReportService;
 import org.jeecg.modules.demo.mock.MockController;
 import org.jeecg.modules.demo.test.mapper.JeecgDemoMapper;
 import org.jeecg.modules.demo.test.service.IJeecgDemoService;
@@ -30,7 +27,6 @@ import org.springframework.test.context.junit4.SpringRunner;
 import javax.annotation.Resource;
 import java.io.File;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.Map;
 
 @RunWith(SpringRunner.class)
@@ -47,26 +43,6 @@ public class SampleTest {
     private MockController mock;
 
     @Autowired
-    private IReportService reportService;
-
-    @Test
-    public void loadCustomerData() {
-        Map<String, Object> result = new HashMap<>();
-        String csvPath = "D:\\工作文件\\360借条\\借条后台数据实时.csv";
-        reportService.insertCustomerInfo(csvPath, "utf8");
-        ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS.getCode());
-    }
-
-    @Test
-    public void loadPlatformData() {
-        Map<String, Object> result = new HashMap<>();
-        String csvPath4 = "D:\\工作文件\\360借条\\快手后台数据-户4.csv";
-        reportService.insertPlatformInfo(csvPath4, "GBK", 4L);
-        String csvPath1 = "D:\\工作文件\\360借条\\快手后台数据-户1.csv";
-        reportService.insertPlatformInfo(csvPath1, "GBK", 1L);
-    }
-
-    @Autowired
     private ICreateInternalService createInternalService;
 
     @Test

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

@@ -165,7 +165,7 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
         // 请求地址
         String url = "https://ad.toutiao.com/open_api/2/tools/creative_word/select/";
         // 请求参数
-        Map<String, Object> data = new HashMap();
+        JSONObject data = new JSONObject();
         data.put("advertiser_id", advertiserId);
         JSONObject resultObject = HttpUtils.bytedanceGetRequest(token.getAccessToken(), url, data);
         JSONArray creativeWords = resultObject.getJSONObject("data").getJSONArray("creative_word");
@@ -192,7 +192,7 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
         if (null != level) {
             url += "?level=" + level;
         }
-        return HttpUtils.bytedanceGetRequest(token.getAccessToken(), url, new HashMap<>());
+        return HttpUtils.bytedanceGetRequest(token.getAccessToken(), url, new JSONObject());
     }
 
     public JSONObject uploadAdImage(CtopOauthToken token, String imageUrl, String advertiserId) {

+ 33 - 99
module-common/src/main/java/cn/com/ctop/common/module/utils/HttpUtils.java

@@ -11,7 +11,6 @@ import org.apache.http.HttpEntity;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpStatus;
 import org.apache.http.NameValuePair;
-import org.apache.http.client.ClientProtocolException;
 import org.apache.http.client.CookieStore;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.config.CookieSpecs;
@@ -54,7 +53,7 @@ import java.util.*;
 @Slf4j
 public class HttpUtils {
 
-    public static JSONObject bytedanceGetRequest(String accessToken, String url, Map<String, Object> params) {
+    public static JSONObject bytedanceGetRequest(String accessToken, String url, JSONObject params) {
         // 构造请求
         HttpEntityEnclosingRequestBase httpEntity = new HttpEntityEnclosingRequestBase() {
             @Override
@@ -68,11 +67,11 @@ public class HttpUtils {
         try {
             client = HttpClientBuilder.create().build();
             httpEntity.setURI(URI.create(url));
-            httpEntity.setEntity(new StringEntity(JSONObject.toJSONString(params), ContentType.APPLICATION_JSON));
+            httpEntity.setEntity(new StringEntity(params.toJSONString(), ContentType.APPLICATION_JSON));
             response = client.execute(httpEntity);
             if (response != null && response.getStatusLine().getStatusCode() == 200) {
                 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
-                StringBuffer result = new StringBuffer();
+                StringBuilder result = new StringBuilder();
                 String line = "";
                 while ((line = bufferedReader.readLine()) != null) {
                     result.append(line);
@@ -80,16 +79,16 @@ public class HttpUtils {
                 bufferedReader.close();
                 return JSONObject.parseObject(result.toString());
             }
-        } catch (ClientProtocolException e) {
-            e.printStackTrace();
-        } catch (IOException e) {
-            e.printStackTrace();
+        } catch (Exception e) {
+            log.error(e.getMessage());
         } finally {
             try {
                 if (response != null) {
                     response.close();
                 }
-                client.close();
+                if (client != null) {
+                    client.close();
+                }
             } catch (IOException e) {
                 e.printStackTrace();
             }
@@ -109,25 +108,24 @@ public class HttpUtils {
             response = client.execute(httpEntity);
             if (response != null && response.getStatusLine().getStatusCode() == 200) {
                 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
-                StringBuffer result = new StringBuffer();
+                StringBuilder result = new StringBuilder();
                 String line = "";
                 while ((line = bufferedReader.readLine()) != null) {
                     result.append(line);
                 }
                 bufferedReader.close();
-                System.out.println(JSONObject.parseObject(result.toString()));
                 return JSONObject.parseObject(result.toString());
             }
-        } catch (ClientProtocolException e) {
-            e.printStackTrace();
-        } catch (IOException e) {
+        } catch (Exception e) {
             e.printStackTrace();
         } finally {
             try {
                 if (response != null) {
                     response.close();
                 }
-                client.close();
+                if (client != null) {
+                    client.close();
+                }
             } catch (IOException e) {
                 e.printStackTrace();
             }
@@ -135,7 +133,7 @@ public class HttpUtils {
         return null;
     }
 
-    public static CookieStore cookieStore = new BasicCookieStore();
+    public static CookieStore COOKIESTORE = new BasicCookieStore();
     /**
      * setProxy(new HttpHost("106.125.239.179", 4245))
      */
@@ -153,7 +151,7 @@ public class HttpUtils {
             }).build();
             RequestConfig globalConfig = RequestConfig.custom().setConnectTimeout(30000).setSocketTimeout(30000).setCookieSpec(CookieSpecs.STANDARD).build();
             SSLConnectionSocketFactory sslFactory = new SSLConnectionSocketFactory(sslContext);
-            return HttpClients.custom().setDefaultCookieStore(cookieStore).setDefaultRequestConfig(globalConfig).setConnectionReuseStrategy((response, context) -> false).setSSLSocketFactory(sslFactory).build();
+            return HttpClients.custom().setDefaultCookieStore(COOKIESTORE).setDefaultRequestConfig(globalConfig).setConnectionReuseStrategy((response, context) -> false).setSSLSocketFactory(sslFactory).build();
         } catch (Exception e) {
             log.error("处理Https证书异常", e);
         }
@@ -166,19 +164,11 @@ public class HttpUtils {
         try {
             HttpPost httppost = new HttpPost(url);
             httppost.setHeader("User-Agent", USER_AGENT);
-
-            List<Cookie> list = cookieStore.getCookies();
-            for (Cookie ck : list) {
-                System.out.println(ck.getName() + "=" + ck.getValue() + "," + ck.getDomain());
-            }
-            System.out.println("-------------------------------------");
             for (String key : headers.keySet()) {
                 httppost.setHeader(key, headers.get(key));
             }
             List<NameValuePair> paramList = new ArrayList<NameValuePair>();
             for (String key : param.keySet()) {
-                System.out.println(key + "=" + String.valueOf(param.get(key)));
-                System.out.println("-------------------------------------");
                 BasicNameValuePair basicNameValuePair = new BasicNameValuePair(key, String.valueOf(param.get(key)));
                 paramList.add(basicNameValuePair);
             }
@@ -187,8 +177,6 @@ public class HttpUtils {
             UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(paramList);
             // 第一步:通过setEntity 将我们的entity对象传递过去
             httppost.setEntity(formEntity);
-
-//            httppost.setHeader("Content-Type", "application/json");
             httppost.setEntity(new StringEntity(new Gson().toJson(param), Charset.forName("UTF-8")));
             HttpEntity respentity;
 
@@ -210,21 +198,15 @@ public class HttpUtils {
     }
 
     public static String httpPostRequest(String url, Map<String, Object> param, Map<String, String> headers) {
-//        HttpClient httpclient = HttpClientBuilder.create().setRedirectStrategy(new LaxRedirectStrategy()).build();
         HttpClient httpClient = createSslClientDefault();
         String strReturn = "";
         try {
             HttpPost httppost = new HttpPost(url);
             httppost.setHeader("User-Agent", USER_AGENT);
             httppost.addHeader("Content-Type", "application/json");
-            List<Cookie> list = cookieStore.getCookies();
-//            for (Cookie ck : list) {
-//                System.out.println(ck.getName() + "=" + ck.getValue() + "," + ck.getDomain());
-//            }
             for (String key : headers.keySet()) {
                 httppost.setHeader(key, headers.get(key));
             }
-            //httppost.setHeader("Content-Type", "application/json");
             httppost.setEntity(new StringEntity(new Gson().toJson(param), Charset.forName("UTF-8")));
             HttpEntity respentity;
 
@@ -247,21 +229,19 @@ public class HttpUtils {
 
 
     public static String httpPostRequestTest(String url, String body, Map<String, String> headers) {
-//        HttpClient httpclient = HttpClientBuilder.create().setRedirectStrategy(new LaxRedirectStrategy()).build();
         HttpClient httpClient = createSslClientDefault();
         String strReturn = "";
         try {
             HttpPost httppost = new HttpPost(url);
             httppost.setHeader("User-Agent", USER_AGENT);
             httppost.addHeader("Content-Type", "application/json");
-            List<Cookie> list = cookieStore.getCookies();
+            List<Cookie> list = COOKIESTORE.getCookies();
             for (Cookie ck : list) {
                 System.out.println(ck.getName() + "=" + ck.getValue() + "," + ck.getDomain());
             }
             for (String key : headers.keySet()) {
                 httppost.setHeader(key, headers.get(key));
             }
-            //httppost.setHeader("Content-Type", "application/json");
             httppost.setEntity(new StringEntity(body, Charset.forName("UTF-8")));
             HttpEntity respentity;
 
@@ -314,21 +294,15 @@ public class HttpUtils {
 
 
     public static String httpPostRequest(String url, JSONObject params, Map<String, String> headers) {
-//        HttpClient httpclient = HttpClientBuilder.create().setRedirectStrategy(new LaxRedirectStrategy()).build();
         HttpClient httpClient = createSslClientDefault();
         String strReturn = "";
         try {
             HttpPost httppost = new HttpPost(url);
             httppost.setHeader("User-Agent", USER_AGENT);
             httppost.addHeader("Content-Type", "application/json");
-            List<Cookie> list = cookieStore.getCookies();
-//            for (Cookie ck : list) {
-//                System.out.println(ck.getName() + "=" + ck.getValue() + "," + ck.getDomain());
-//            }
             for (String key : headers.keySet()) {
                 httppost.setHeader(key, headers.get(key));
             }
-            //httppost.setHeader("Content-Type", "application/json");
             httppost.setEntity(new StringEntity(params.toJSONString(), Charset.forName("UTF-8")));
             HttpEntity respentity;
 
@@ -353,19 +327,10 @@ public class HttpUtils {
         HttpClient httpClient = createSslClientDefault();
         HttpResponse response = null;
         HttpGet httpGet = new HttpGet(url);
-//        httpPost.setHeader("Content-Type", "application/json");
         String result = null;
         try {
             httpGet.setHeader("User-Agent", USER_AGENT);
-            List<Cookie> list2 = cookieStore.getCookies();
-//            for (Cookie ck : list2) {
-//                System.out.println(ck.getName() + "=" + ck.getValue() + "," + ck.getDomain());
-//            }
             response = httpClient.execute(httpGet);
-            List<Cookie> list = cookieStore.getCookies();
-//            for (Cookie ck : list) {
-//                System.out.println(ck.getName() + "=" + ck.getValue() + "," + ck.getDomain());
-//            }
             int statusCode = response.getStatusLine().getStatusCode();
             if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
                 String newUrl = response.getFirstHeader("Location").getValue();
@@ -387,7 +352,6 @@ public class HttpUtils {
     }
 
     public static String httpRequest(String url, String strParams) throws Exception {
-//        HttpClient httpclient = HttpClientBuilder.create().build();
         HttpClient httpClient = createSslClientDefault();
         String strReturn = "";
         try {
@@ -397,8 +361,6 @@ public class HttpUtils {
             httppost.setEntity(new StringEntity(strParams, Charset.forName("UTF-8")));
             HttpEntity respentity;
             HttpResponse response = httpClient.execute(httppost);
-            int code = response.getStatusLine().getStatusCode();
-
             respentity = response.getEntity();
             strReturn = EntityUtils.toString(respentity);
         } catch (Exception e) {
@@ -409,7 +371,6 @@ public class HttpUtils {
     }
 
     public static String httpRequest(String url, CookieStore cookies, Map<String, String> parameterMap) throws Exception {
-//        HttpClient httpclient = getHttpclient();
         HttpClient httpClient = createSslClientDefault();
         String strReturn = "";
         try {
@@ -430,7 +391,7 @@ public class HttpUtils {
     }
 
     public static List<NameValuePair> getParam(Map parameterMap) {
-        List<NameValuePair> param = new ArrayList<NameValuePair>();
+        List<NameValuePair> param = new ArrayList<>();
         Iterator it = parameterMap.entrySet().iterator();
         while (it.hasNext()) {
             Map.Entry parmEntry = (Map.Entry) it.next();
@@ -451,13 +412,7 @@ public class HttpUtils {
         HttpClient httpClient = createSslClientDefault();
         HttpResponse response = null;
         HttpPost httpPost = new HttpPost(url);
-        List<Cookie> list = cookieStore.getCookies();
-//        cookieStore.clear();
-//        for (Cookie ck : list) {
-//
-//            System.out.println(ck.getName() + "=" + ck.getValue() + "," + ck.getDomain());
-//        }
-//        System.out.println("-------------------------------------");
+        List<Cookie> list = COOKIESTORE.getCookies();
         httpPost.setHeader("Content-Type", "application/json");
         String result = null;
 
@@ -472,10 +427,6 @@ public class HttpUtils {
             while ((line = reader.readLine()) != null) {
                 builder.append(line);
             }
-//            for (Cookie ck : list) {
-//
-//                System.out.println(ck.getName() + "=" + ck.getValue() + "," + ck.getDomain());
-//            }
             result = builder.toString();
         } catch (Exception e) {
             e.printStackTrace();
@@ -483,11 +434,11 @@ public class HttpUtils {
         return result;
     }
 
-    public static Map<String, Integer> kuaishouNumberMap;
+    public static Map<String, Integer> KUAISHOUNUMBERMAP;
 
     public static Integer getKuaishouNumber(String key) {
-        if (kuaishouNumberMap == null) {
-            kuaishouNumberMap = new HashMap<>();
+        if (KUAISHOUNUMBERMAP == null) {
+            KUAISHOUNUMBERMAP = new HashMap<>();
 //            kuaishouNumberMap.put("32.0#-6.0#526.0#729.0",0);//735
 //            kuaishouNumberMap.put("98.0#13.0#363.0#726.0",1);//713
 //            kuaishouNumberMap.put("32.0#13.0#527.0#732.0",2);//719
@@ -498,18 +449,18 @@ public class HttpUtils {
 //            kuaishouNumberMap.put("38.0#13.0#536.0#717.0",7);//704
 //            kuaishouNumberMap.put("33.0#-7.0#525.0#731.0",8);//738
 //            kuaishouNumberMap.put("37.0#-7.0#521.0#730.0",9);//737
-            kuaishouNumberMap.put("494.0#735.0", 0);
-            kuaishouNumberMap.put("265.0#713.0", 1);
-            kuaishouNumberMap.put("495.0#719.0", 2);
-            kuaishouNumberMap.put("500.0#736.0", 3);
-            kuaishouNumberMap.put("510.0#718.0", 4);
-            kuaishouNumberMap.put("493.0#722.0", 5);
-            kuaishouNumberMap.put("491.0#737.0", 6);
-            kuaishouNumberMap.put("498.0#704.0", 7);
-            kuaishouNumberMap.put("492.0#738.0", 8);
-            kuaishouNumberMap.put("484.0#737.0", 9);
+            KUAISHOUNUMBERMAP.put("494.0#735.0", 0);
+            KUAISHOUNUMBERMAP.put("265.0#713.0", 1);
+            KUAISHOUNUMBERMAP.put("495.0#719.0", 2);
+            KUAISHOUNUMBERMAP.put("500.0#736.0", 3);
+            KUAISHOUNUMBERMAP.put("510.0#718.0", 4);
+            KUAISHOUNUMBERMAP.put("493.0#722.0", 5);
+            KUAISHOUNUMBERMAP.put("491.0#737.0", 6);
+            KUAISHOUNUMBERMAP.put("498.0#704.0", 7);
+            KUAISHOUNUMBERMAP.put("492.0#738.0", 8);
+            KUAISHOUNUMBERMAP.put("484.0#737.0", 9);
         }
-        return kuaishouNumberMap.get(key);
+        return KUAISHOUNUMBERMAP.get(key);
     }
 
     public static void kuaishouTtf(String ttfName) {
@@ -521,44 +472,30 @@ public class HttpUtils {
 
             TTFParser ttfParser = new TTFParser();
             TrueTypeFont ttf = ttfParser.parse(urlconn.getInputStream());
-//            System.out.println(new Gson().toJson(ttf.getGlyph().getGlyphs()));
             GlyphData[] datas = ttf.getGlyph().getGlyphs();
             CmapSubtable[] tables = ttf.getCmap().getCmaps();
-            Gson gson = new Gson();
-//            System.out.println(gson.toJson(tables));
             CmapSubtable table = tables[0];
-            Map<String, Integer> numberMap = new HashMap<String, Integer>();
-            Map<String, String> fontMap = new HashMap<String, String>();
+            Map<String, String> fontMap = new HashMap<>();
             for (int i = 0; i <= 13; i++) {
                 GlyphData data = datas[i];
                 if (data != null) {
-//                    System.out.println("getBoundingBox" + data.getBoundingBox());
                     float fx = data.getBoundingBox().getLowerLeftX();
                     float fy = data.getBoundingBox().getLowerLeftY();
                     float rx = data.getBoundingBox().getUpperRightX();
                     float ry = data.getBoundingBox().getUpperRightY();
                     Integer num = getKuaishouNumber(String.valueOf(rx - fx) + "#" + String.valueOf(ry - fy));
-//                    if (num != null) {
-//                        System.out.println(num);
-//                    }
                     fontMap.put(String.valueOf((char) table.getCharCodes(i).get(0).intValue()), String.valueOf(num));
-
                 }
             }
-//            System.out.println(new Gson().toJson(fontMap));
             fontsMap.put(ttfName, fontMap);
             for (GlyphData data : datas) {
                 if (data != null) {
-//                    System.out.println("getBoundingBox" + data.getBoundingBox());
                     float fx = data.getBoundingBox().getLowerLeftX();
                     float fy = data.getBoundingBox().getLowerLeftY();
                     float rx = data.getBoundingBox().getUpperRightX();
                     float ry = data.getBoundingBox().getUpperRightY();
-                    Integer num = getKuaishouNumber(String.valueOf(fx) + "#" + String.valueOf(fy) + "#" + String.valueOf(rx) + "#" + String.valueOf(ry));
-//                    System.out.println(num);
                 }
             }
-//            System.out.println(new Gson().toJson(numberMap));
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -646,7 +583,6 @@ public class HttpUtils {
     public static String httpGet(String url, Map<String, Object> paramsMap, Map<String, String> headers) {
         String result = null;
         try {
-            // CloseableHttpClient httpClient = HttpClients.createDefault();
             //创建参数列表
             HttpClient httpclient = getHttpclient();
             StringBuilder postBody = null;
@@ -687,6 +623,4 @@ public class HttpUtils {
         }
         return result;
     }
-
-
 }

+ 16 - 0
module-report/pom.xml

@@ -29,5 +29,21 @@
             <version>4.11</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>cn.com.ctop</groupId>
+            <artifactId>module-common</artifactId>
+            <version>2.0.2</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jeecgframework.boot</groupId>
+            <artifactId>jeecg-boot-base-common</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>cn.com.ctop</groupId>
+            <artifactId>module-kuaishou</artifactId>
+            <version>2.0.2</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 </project>

+ 4 - 0
module-report/src/main/java/cn/com/ctop/bytedance/aa.java

@@ -0,0 +1,4 @@
+package cn.com.ctop.bytedance;
+
+public class aa {
+}

+ 3 - 3
module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedanceAdvertiserDailyReportController.java

@@ -1,7 +1,7 @@
-package cn.com.ctop.toutiao.controller;
+package cn.com.ctop.bytedance.controller;
 
-import cn.com.ctop.toutiao.entity.BytedanceAdvertiserDailyReport;
-import cn.com.ctop.toutiao.service.IBytedanceAdvertiserDailyReportService;
+import cn.com.ctop.bytedance.entity.BytedanceAdvertiserDailyReport;
+import cn.com.ctop.bytedance.service.IBytedanceAdvertiserDailyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

+ 3 - 3
module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedanceAdvertiserHourlyReportController.java

@@ -1,7 +1,7 @@
-package cn.com.ctop.toutiao.controller;
+package cn.com.ctop.bytedance.controller;
 
-import cn.com.ctop.toutiao.entity.BytedanceAdvertiserHourlyReport;
-import cn.com.ctop.toutiao.service.IBytedanceAdvertiserHourlyReportService;
+import cn.com.ctop.bytedance.entity.BytedanceAdvertiserHourlyReport;
+import cn.com.ctop.bytedance.service.IBytedanceAdvertiserHourlyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

+ 3 - 3
module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedanceCampaignDailyReportController.java

@@ -1,7 +1,7 @@
-package cn.com.ctop.toutiao.controller;
+package cn.com.ctop.bytedance.controller;
 
-import cn.com.ctop.toutiao.entity.BytedanceCampaignDailyReport;
-import cn.com.ctop.toutiao.service.IBytedanceCampaignDailyReportService;
+import cn.com.ctop.bytedance.entity.BytedanceCampaignDailyReport;
+import cn.com.ctop.bytedance.service.IBytedanceCampaignDailyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

+ 3 - 3
module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedanceCampaignHourlyReportController.java

@@ -1,7 +1,7 @@
-package cn.com.ctop.toutiao.controller;
+package cn.com.ctop.bytedance.controller;
 
-import cn.com.ctop.toutiao.entity.BytedanceCampaignHourlyReport;
-import cn.com.ctop.toutiao.service.IBytedanceCampaignHourlyReportService;
+import cn.com.ctop.bytedance.entity.BytedanceCampaignHourlyReport;
+import cn.com.ctop.bytedance.service.IBytedanceCampaignHourlyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

+ 3 - 3
module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedanceCreativeDailyReportController.java

@@ -1,7 +1,7 @@
-package cn.com.ctop.toutiao.controller;
+package cn.com.ctop.bytedance.controller;
 
-import cn.com.ctop.toutiao.entity.BytedanceCreativeDailyReport;
-import cn.com.ctop.toutiao.service.IBytedanceCreativeDailyReportService;
+import cn.com.ctop.bytedance.entity.BytedanceCreativeDailyReport;
+import cn.com.ctop.bytedance.service.IBytedanceCreativeDailyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

+ 3 - 3
module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedanceCreativeHourlyReportController.java

@@ -1,7 +1,7 @@
-package cn.com.ctop.toutiao.controller;
+package cn.com.ctop.bytedance.controller;
 
-import cn.com.ctop.toutiao.entity.BytedanceCreativeHourlyReport;
-import cn.com.ctop.toutiao.service.IBytedanceCreativeHourlyReportService;
+import cn.com.ctop.bytedance.entity.BytedanceCreativeHourlyReport;
+import cn.com.ctop.bytedance.service.IBytedanceCreativeHourlyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

+ 3 - 3
module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedancePlanDailyReportController.java

@@ -1,7 +1,7 @@
-package cn.com.ctop.toutiao.controller;
+package cn.com.ctop.bytedance.controller;
 
-import cn.com.ctop.toutiao.entity.BytedancePlanDailyReport;
-import cn.com.ctop.toutiao.service.IBytedancePlanDailyReportService;
+import cn.com.ctop.bytedance.entity.BytedancePlanDailyReport;
+import cn.com.ctop.bytedance.service.IBytedancePlanDailyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

+ 3 - 3
module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/BytedancePlanHourlyReportController.java

@@ -1,7 +1,7 @@
-package cn.com.ctop.toutiao.controller;
+package cn.com.ctop.bytedance.controller;
 
-import cn.com.ctop.toutiao.entity.BytedancePlanHourlyReport;
-import cn.com.ctop.toutiao.service.IBytedancePlanHourlyReportService;
+import cn.com.ctop.bytedance.entity.BytedancePlanHourlyReport;
+import cn.com.ctop.bytedance.service.IBytedancePlanHourlyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

+ 3 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CustomerPlanStatisticInfoController.java

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.bytedance.controller;
 
+import cn.com.ctop.bytedance.entity.CustomerPlanStatisticInfo;
+import cn.com.ctop.bytedance.service.ICustomerPlanStatisticInfoService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -11,8 +13,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.CustomerPlanStatisticInfo;
-import org.jeecg.modules.ctop.service.ICustomerPlanStatisticInfoService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;

+ 19 - 24
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/PlatformCampaignStatisticInfoController.java

@@ -1,42 +1,37 @@
-package org.jeecg.modules.ctop.controller;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.PlatformCampaignStatisticInfo;
-import org.jeecg.modules.ctop.service.IPlatformCampaignStatisticInfoService;
-
-import java.util.Date;
+package cn.com.ctop.bytedance.controller;
 
+import cn.com.ctop.bytedance.entity.PlatformCampaignStatisticInfo;
+import cn.com.ctop.bytedance.service.IPlatformCampaignStatisticInfoService;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
-import com.alibaba.fastjson.JSON;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 快手平台广告组信息

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

@@ -1,13 +1,14 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.bytedance.controller;
 
+import cn.com.ctop.bytedance.service.IReportService;
+import cn.com.ctop.bytedance.vo.ByteDanceAdvertiserReportDTO;
+import cn.com.ctop.common.module.entity.CtopOauthToken;
+import cn.com.ctop.common.module.service.ICtopOauthTokenService;
 import cn.com.ctop.common.module.utils.ResultMapUtils;
 import cn.com.ctop.common.module.utils.StatusCode;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouInterfaceService;
-import cn.com.ctop.common.module.entity.CtopOauthToken;
-import cn.com.ctop.common.module.service.ICtopOauthTokenService;
 import com.alibaba.fastjson.JSONObject;
 import org.jeecg.common.util.DateUtils;
-import org.jeecg.modules.ctop.service.IReportService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -28,7 +29,7 @@ public class ReportController {
      * @return
      */
     @GetMapping("bytedance/advertiser")
-    public Map<String, Object> advertiserReport(@RequestBody JSONObject conditions) {
+    public Map<String, Object> advertiserReport(@RequestBody ByteDanceAdvertiserReportDTO conditions) {
         return reportService.getAdvertiserReport(conditions);
     }
 
@@ -38,8 +39,8 @@ public class ReportController {
      * 单次获取最大条数1000
      * @return 广告组报表数据
      */
-    @GetMapping("campaign")
-    public Map<String, Object> campaignReport(@RequestBody JSONObject conditions) {
+    @GetMapping("bytedance/campaign")
+    public Map<String, Object> campaignReport(@RequestBody ByteDanceAdvertiserReportDTO conditions) {
         return reportService.getCampaignReport(conditions);
     }
 
@@ -48,8 +49,8 @@ public class ReportController {
      * @param conditions 查询条件
      * @return 广告计划报表数据
      */
-    @GetMapping("ad")
-    public Map<String, Object> adReport(@RequestBody JSONObject conditions) {
+    @GetMapping("bytedance/ad")
+    public Map<String, Object> adReport(@RequestBody ByteDanceAdvertiserReportDTO conditions) {
         return reportService.getAdReport(conditions);
     }
 
@@ -58,8 +59,8 @@ public class ReportController {
      * @param conditions
      * @return
      */
-    @GetMapping("creative")
-    public Map<String, Object> creativeReport(@RequestBody JSONObject conditions) {
+    @GetMapping("bytedance/creative")
+    public Map<String, Object> creativeReport(@RequestBody ByteDanceAdvertiserReportDTO conditions) {
         return reportService.getCreativeReport(conditions);
     }
 
@@ -69,7 +70,7 @@ public class ReportController {
      * @return
      * TODO 尚未完善
      */
-    @GetMapping("agent")
+    @GetMapping("bytedance/agent")
     public Map<String, Object> agentReport(@RequestBody JSONObject conditions) {
         return reportService.getAgentReport(conditions);
     }

+ 1 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedanceAdvertiserDailyReport.java

@@ -1,4 +1,4 @@
-package cn.com.ctop.toutiao.entity;
+package cn.com.ctop.bytedance.entity;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.IdType;

+ 1 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedanceAdvertiserHourlyReport.java

@@ -1,4 +1,4 @@
-package cn.com.ctop.toutiao.entity;
+package cn.com.ctop.bytedance.entity;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.IdType;

+ 1 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedanceCampaignDailyReport.java

@@ -1,4 +1,4 @@
-package cn.com.ctop.toutiao.entity;
+package cn.com.ctop.bytedance.entity;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.IdType;

+ 1 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedanceCampaignHourlyReport.java

@@ -1,4 +1,4 @@
-package cn.com.ctop.toutiao.entity;
+package cn.com.ctop.bytedance.entity;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.IdType;

+ 1 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedanceCreativeDailyReport.java

@@ -1,4 +1,4 @@
-package cn.com.ctop.toutiao.entity;
+package cn.com.ctop.bytedance.entity;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.IdType;

+ 1 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedanceCreativeHourlyReport.java

@@ -1,4 +1,4 @@
-package cn.com.ctop.toutiao.entity;
+package cn.com.ctop.bytedance.entity;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.IdType;

+ 1 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedancePlanDailyReport.java

@@ -1,4 +1,4 @@
-package cn.com.ctop.toutiao.entity;
+package cn.com.ctop.bytedance.entity;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.IdType;

+ 1 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/entity/BytedancePlanHourlyReport.java

@@ -1,4 +1,4 @@
-package cn.com.ctop.toutiao.entity;
+package cn.com.ctop.bytedance.entity;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.IdType;

+ 3 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/CustomerPlanStatisticInfo.java

@@ -1,20 +1,17 @@
-package org.jeecg.modules.ctop.entity;
+package cn.com.ctop.bytedance.entity;
 
-import java.io.Serializable;
-import java.util.Date;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
 
+import java.util.Date;
+
 /**
  * @Description: 用户平台广告计划信息
  * @Author: jeecg-boot

+ 10 - 14
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/PlatformCampaignStatisticInfo.java

@@ -1,22 +1,18 @@
-package org.jeecg.modules.ctop.entity;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.Date;
+package cn.com.ctop.bytedance.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * @Description: 快手平台广告组信息
  * @Author: jeecg-boot
@@ -71,7 +67,7 @@ public class PlatformCampaignStatisticInfo {
      */
     @Excel(name = "花费", width = 15)
     @ApiModelProperty(value = "花费")
-    private java.math.BigDecimal cost;
+    private BigDecimal cost;
     /**
      * 封面曝光数
      */
@@ -113,19 +109,19 @@ public class PlatformCampaignStatisticInfo {
      */
     @Excel(name = "平均千次封面曝光花费", width = 15)
     @ApiModelProperty(value = "平均千次封面曝光花费")
-    private java.math.BigDecimal thousandsCoverExposureCost;
+    private BigDecimal thousandsCoverExposureCost;
     /**
      * 平均封面点击单价
      */
     @Excel(name = "平均封面点击单价", width = 15)
     @ApiModelProperty(value = "平均封面点击单价")
-    private java.math.BigDecimal averageCoverClickCost;
+    private BigDecimal averageCoverClickCost;
     /**
      * 平均行为单价
      */
     @Excel(name = "平均行为单价", width = 15)
     @ApiModelProperty(value = "平均行为单价")
-    private java.math.BigDecimal averageActionCost;
+    private BigDecimal averageActionCost;
     /**
      * 提交按钮点击
      */
@@ -143,7 +139,7 @@ public class PlatformCampaignStatisticInfo {
      */
     @Excel(name = "表单提交单价", width = 15)
     @ApiModelProperty(value = "表单提交单价")
-    private java.math.BigDecimal formSubmissionPrice;
+    private BigDecimal formSubmissionPrice;
     /**
      * 落地页完成件数
      */
@@ -155,7 +151,7 @@ public class PlatformCampaignStatisticInfo {
      */
     @Excel(name = "落地页完件成本", width = 15)
     @ApiModelProperty(value = "落地页完件成本")
-    private java.math.BigDecimal pageCompleteCost;
+    private BigDecimal pageCompleteCost;
     /**
      * 落地页授信数
      */

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedanceAdvertiserDailyReportMapper.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.mapper;
+package cn.com.ctop.bytedance.mapper;
 
-import cn.com.ctop.toutiao.entity.BytedanceAdvertiserDailyReport;
+import cn.com.ctop.bytedance.entity.BytedanceAdvertiserDailyReport;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedanceAdvertiserHourlyReportMapper.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.mapper;
+package cn.com.ctop.bytedance.mapper;
 
-import cn.com.ctop.toutiao.entity.BytedanceAdvertiserHourlyReport;
+import cn.com.ctop.bytedance.entity.BytedanceAdvertiserHourlyReport;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedanceCampaignDailyReportMapper.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.mapper;
+package cn.com.ctop.bytedance.mapper;
 
-import cn.com.ctop.toutiao.entity.BytedanceCampaignDailyReport;
+import cn.com.ctop.bytedance.entity.BytedanceCampaignDailyReport;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedanceCampaignHourlyReportMapper.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.mapper;
+package cn.com.ctop.bytedance.mapper;
 
-import cn.com.ctop.toutiao.entity.BytedanceCampaignHourlyReport;
+import cn.com.ctop.bytedance.entity.BytedanceCampaignHourlyReport;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedanceCreativeDailyReportMapper.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.mapper;
+package cn.com.ctop.bytedance.mapper;
 
-import cn.com.ctop.toutiao.entity.BytedanceCreativeDailyReport;
+import cn.com.ctop.bytedance.entity.BytedanceCreativeDailyReport;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedanceCreativeHourlyReportMapper.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.mapper;
+package cn.com.ctop.bytedance.mapper;
 
-import cn.com.ctop.toutiao.entity.BytedanceCreativeHourlyReport;
+import cn.com.ctop.bytedance.entity.BytedanceCreativeHourlyReport;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedancePlanDailyReportMapper.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.mapper;
+package cn.com.ctop.bytedance.mapper;
 
-import cn.com.ctop.toutiao.entity.BytedancePlanDailyReport;
+import cn.com.ctop.bytedance.entity.BytedancePlanDailyReport;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/BytedancePlanHourlyReportMapper.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.mapper;
+package cn.com.ctop.bytedance.mapper;
 
-import cn.com.ctop.toutiao.entity.BytedancePlanHourlyReport;
+import cn.com.ctop.bytedance.entity.BytedancePlanHourlyReport;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 2 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/CustomerPlanStatisticInfoMapper.java

@@ -1,9 +1,6 @@
-package org.jeecg.modules.ctop.mapper;
+package cn.com.ctop.bytedance.mapper;
 
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.ctop.entity.CustomerPlanStatisticInfo;
+import cn.com.ctop.bytedance.entity.CustomerPlanStatisticInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 6 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/PlatformCampaignStatisticInfoMapper.java

@@ -1,11 +1,11 @@
-package org.jeecg.modules.ctop.mapper;
+package cn.com.ctop.bytedance.mapper;
 
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.ctop.entity.PlatformCampaignStatisticInfo;
+import cn.com.ctop.bytedance.entity.PlatformCampaignStatisticInfo;
+import cn.com.ctop.bytedance.vo.StatisticCampaignVo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.jeecg.modules.ctop.vo.StatisticCampaignVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @Description: 快手平台广告组信息

module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/xml/BytedanceAdvertiserDailyReportMapper.xml → module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceAdvertiserDailyReportMapper.xml


module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/xml/BytedanceAdvertiserHourlyReportMapper.xml → module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceAdvertiserHourlyReportMapper.xml


module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/xml/BytedanceCampaignDailyReportMapper.xml → module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceCampaignDailyReportMapper.xml


module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/xml/BytedanceCampaignHourlyReportMapper.xml → module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceCampaignHourlyReportMapper.xml


module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/xml/BytedanceCreativeDailyReportMapper.xml → module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceCreativeDailyReportMapper.xml


module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/xml/BytedanceCreativeHourlyReportMapper.xml → module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceCreativeHourlyReportMapper.xml


module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/xml/BytedancePlanDailyReportMapper.xml → module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedancePlanDailyReportMapper.xml


module-toutiao/src/main/java/cn/com/ctop/toutiao/mapper/xml/BytedancePlanHourlyReportMapper.xml → module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedancePlanHourlyReportMapper.xml


jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/CustomerPlanStatisticInfoMapper.xml → module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/CustomerPlanStatisticInfoMapper.xml


jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/PlatformCampaignStatisticInfoMapper.xml → module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/PlatformCampaignStatisticInfoMapper.xml


+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedanceAdvertiserDailyReportService.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.service;
+package cn.com.ctop.bytedance.service;
 
-import cn.com.ctop.toutiao.entity.BytedanceAdvertiserDailyReport;
+import cn.com.ctop.bytedance.entity.BytedanceAdvertiserDailyReport;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedanceAdvertiserHourlyReportService.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.service;
+package cn.com.ctop.bytedance.service;
 
-import cn.com.ctop.toutiao.entity.BytedanceAdvertiserHourlyReport;
+import cn.com.ctop.bytedance.entity.BytedanceAdvertiserHourlyReport;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedanceCampaignDailyReportService.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.service;
+package cn.com.ctop.bytedance.service;
 
-import cn.com.ctop.toutiao.entity.BytedanceCampaignDailyReport;
+import cn.com.ctop.bytedance.entity.BytedanceCampaignDailyReport;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedanceCampaignHourlyReportService.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.service;
+package cn.com.ctop.bytedance.service;
 
-import cn.com.ctop.toutiao.entity.BytedanceCampaignHourlyReport;
+import cn.com.ctop.bytedance.entity.BytedanceCampaignHourlyReport;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedanceCreativeDailyReportService.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.service;
+package cn.com.ctop.bytedance.service;
 
-import cn.com.ctop.toutiao.entity.BytedanceCreativeDailyReport;
+import cn.com.ctop.bytedance.entity.BytedanceCreativeDailyReport;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedanceCreativeHourlyReportService.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.service;
+package cn.com.ctop.bytedance.service;
 
-import cn.com.ctop.toutiao.entity.BytedanceCreativeHourlyReport;
+import cn.com.ctop.bytedance.entity.BytedanceCreativeHourlyReport;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedancePlanDailyReportService.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.service;
+package cn.com.ctop.bytedance.service;
 
-import cn.com.ctop.toutiao.entity.BytedancePlanDailyReport;
+import cn.com.ctop.bytedance.entity.BytedancePlanDailyReport;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/IBytedancePlanHourlyReportService.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.toutiao.service;
+package cn.com.ctop.bytedance.service;
 
-import cn.com.ctop.toutiao.entity.BytedancePlanHourlyReport;
+import cn.com.ctop.bytedance.entity.BytedancePlanHourlyReport;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/ICustomerPlanStatisticInfoService.java

@@ -1,6 +1,6 @@
-package org.jeecg.modules.ctop.service;
+package cn.com.ctop.bytedance.service;
 
-import org.jeecg.modules.ctop.entity.CustomerPlanStatisticInfo;
+import cn.com.ctop.bytedance.entity.CustomerPlanStatisticInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IPlatformCampaignStatisticInfoService.java

@@ -1,6 +1,6 @@
-package org.jeecg.modules.ctop.service;
+package cn.com.ctop.bytedance.service;
 
-import org.jeecg.modules.ctop.entity.PlatformCampaignStatisticInfo;
+import cn.com.ctop.bytedance.entity.PlatformCampaignStatisticInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**

+ 24 - 0
module-report/src/main/java/cn/com/ctop/bytedance/service/IReportService.java

@@ -0,0 +1,24 @@
+package cn.com.ctop.bytedance.service;
+
+import cn.com.ctop.bytedance.vo.ByteDanceAdvertiserReportDTO;
+import com.alibaba.fastjson.JSONObject;
+
+import java.util.Map;
+
+public interface IReportService {
+    Map<String, Object> getAdvertiserReport(ByteDanceAdvertiserReportDTO conditions);
+
+    Map<String, Object> getCampaignReport(ByteDanceAdvertiserReportDTO conditions);
+
+    Map<String, Object> getAdReport(ByteDanceAdvertiserReportDTO conditions);
+
+    Map<String, Object> getCreativeReport(ByteDanceAdvertiserReportDTO conditions);
+
+    Map<String, Object> getAgentReport(JSONObject conditions);
+
+    void insertCustomerInfo(String csvPath, String charset);
+
+    void insertPlatformInfo(String excelPath, String charset, Long accountId);
+
+    Map<String, Object> debitAuto(JSONObject data);
+}

+ 5 - 5
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedanceAdvertiserDailyReportServiceImpl.java

@@ -1,8 +1,8 @@
-package cn.com.ctop.toutiao.service.impl;
+package cn.com.ctop.bytedance.service.impl;
 
-import cn.com.ctop.toutiao.entity.BytedanceAdvertiserDailyReport;
-import cn.com.ctop.toutiao.mapper.BytedanceAdvertiserDailyReportMapper;
-import cn.com.ctop.toutiao.service.IBytedanceAdvertiserDailyReportService;
+import cn.com.ctop.bytedance.entity.BytedanceAdvertiserDailyReport;
+import cn.com.ctop.bytedance.mapper.BytedanceAdvertiserDailyReportMapper;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +13,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedanceAdvertiserDailyReportServiceImpl extends ServiceImpl<BytedanceAdvertiserDailyReportMapper, BytedanceAdvertiserDailyReport> implements IBytedanceAdvertiserDailyReportService {
+public class BytedanceAdvertiserDailyReportServiceImpl extends ServiceImpl<BytedanceAdvertiserDailyReportMapper, BytedanceAdvertiserDailyReport> implements IService<BytedanceAdvertiserDailyReport> {
 
 }

+ 5 - 5
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedanceAdvertiserHourlyReportServiceImpl.java

@@ -1,8 +1,8 @@
-package cn.com.ctop.toutiao.service.impl;
+package cn.com.ctop.bytedance.service.impl;
 
-import cn.com.ctop.toutiao.entity.BytedanceAdvertiserHourlyReport;
-import cn.com.ctop.toutiao.mapper.BytedanceAdvertiserHourlyReportMapper;
-import cn.com.ctop.toutiao.service.IBytedanceAdvertiserHourlyReportService;
+import cn.com.ctop.bytedance.entity.BytedanceAdvertiserHourlyReport;
+import cn.com.ctop.bytedance.mapper.BytedanceAdvertiserHourlyReportMapper;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +13,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedanceAdvertiserHourlyReportServiceImpl extends ServiceImpl<BytedanceAdvertiserHourlyReportMapper, BytedanceAdvertiserHourlyReport> implements IBytedanceAdvertiserHourlyReportService {
+public class BytedanceAdvertiserHourlyReportServiceImpl extends ServiceImpl<BytedanceAdvertiserHourlyReportMapper, BytedanceAdvertiserHourlyReport> implements IService<BytedanceAdvertiserHourlyReport> {
 
 }

+ 5 - 5
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedanceCampaignDailyReportServiceImpl.java

@@ -1,8 +1,8 @@
-package cn.com.ctop.toutiao.service.impl;
+package cn.com.ctop.bytedance.service.impl;
 
-import cn.com.ctop.toutiao.entity.BytedanceCampaignDailyReport;
-import cn.com.ctop.toutiao.mapper.BytedanceCampaignDailyReportMapper;
-import cn.com.ctop.toutiao.service.IBytedanceCampaignDailyReportService;
+import cn.com.ctop.bytedance.entity.BytedanceCampaignDailyReport;
+import cn.com.ctop.bytedance.mapper.BytedanceCampaignDailyReportMapper;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +13,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedanceCampaignDailyReportServiceImpl extends ServiceImpl<BytedanceCampaignDailyReportMapper, BytedanceCampaignDailyReport> implements IBytedanceCampaignDailyReportService {
+public class BytedanceCampaignDailyReportServiceImpl extends ServiceImpl<BytedanceCampaignDailyReportMapper, BytedanceCampaignDailyReport> implements IService<BytedanceCampaignDailyReport> {
 
 }

+ 5 - 5
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedanceCampaignHourlyReportServiceImpl.java

@@ -1,8 +1,8 @@
-package cn.com.ctop.toutiao.service.impl;
+package cn.com.ctop.bytedance.service.impl;
 
-import cn.com.ctop.toutiao.entity.BytedanceCampaignHourlyReport;
-import cn.com.ctop.toutiao.mapper.BytedanceCampaignHourlyReportMapper;
-import cn.com.ctop.toutiao.service.IBytedanceCampaignHourlyReportService;
+import cn.com.ctop.bytedance.entity.BytedanceCampaignHourlyReport;
+import cn.com.ctop.bytedance.mapper.BytedanceCampaignHourlyReportMapper;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +13,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedanceCampaignHourlyReportServiceImpl extends ServiceImpl<BytedanceCampaignHourlyReportMapper, BytedanceCampaignHourlyReport> implements IBytedanceCampaignHourlyReportService {
+public class BytedanceCampaignHourlyReportServiceImpl extends ServiceImpl<BytedanceCampaignHourlyReportMapper, BytedanceCampaignHourlyReport> implements IService<BytedanceCampaignHourlyReport> {
 
 }

+ 5 - 5
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedanceCreativeDailyReportServiceImpl.java

@@ -1,8 +1,8 @@
-package cn.com.ctop.toutiao.service.impl;
+package cn.com.ctop.bytedance.service.impl;
 
-import cn.com.ctop.toutiao.entity.BytedanceCreativeDailyReport;
-import cn.com.ctop.toutiao.mapper.BytedanceCreativeDailyReportMapper;
-import cn.com.ctop.toutiao.service.IBytedanceCreativeDailyReportService;
+import cn.com.ctop.bytedance.entity.BytedanceCreativeDailyReport;
+import cn.com.ctop.bytedance.mapper.BytedanceCreativeDailyReportMapper;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +13,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedanceCreativeDailyReportServiceImpl extends ServiceImpl<BytedanceCreativeDailyReportMapper, BytedanceCreativeDailyReport> implements IBytedanceCreativeDailyReportService {
+public class BytedanceCreativeDailyReportServiceImpl extends ServiceImpl<BytedanceCreativeDailyReportMapper, BytedanceCreativeDailyReport> implements IService<BytedanceCreativeDailyReport> {
 
 }

+ 5 - 5
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedanceCreativeHourlyReportServiceImpl.java

@@ -1,8 +1,8 @@
-package cn.com.ctop.toutiao.service.impl;
+package cn.com.ctop.bytedance.service.impl;
 
-import cn.com.ctop.toutiao.entity.BytedanceCreativeHourlyReport;
-import cn.com.ctop.toutiao.mapper.BytedanceCreativeHourlyReportMapper;
-import cn.com.ctop.toutiao.service.IBytedanceCreativeHourlyReportService;
+import cn.com.ctop.bytedance.entity.BytedanceCreativeHourlyReport;
+import cn.com.ctop.bytedance.mapper.BytedanceCreativeHourlyReportMapper;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +13,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedanceCreativeHourlyReportServiceImpl extends ServiceImpl<BytedanceCreativeHourlyReportMapper, BytedanceCreativeHourlyReport> implements IBytedanceCreativeHourlyReportService {
+public class BytedanceCreativeHourlyReportServiceImpl extends ServiceImpl<BytedanceCreativeHourlyReportMapper, BytedanceCreativeHourlyReport> implements IService<BytedanceCreativeHourlyReport> {
 
 }

+ 5 - 5
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedancePlanDailyReportServiceImpl.java

@@ -1,8 +1,8 @@
-package cn.com.ctop.toutiao.service.impl;
+package cn.com.ctop.bytedance.service.impl;
 
-import cn.com.ctop.toutiao.entity.BytedancePlanDailyReport;
-import cn.com.ctop.toutiao.mapper.BytedancePlanDailyReportMapper;
-import cn.com.ctop.toutiao.service.IBytedancePlanDailyReportService;
+import cn.com.ctop.bytedance.entity.BytedancePlanDailyReport;
+import cn.com.ctop.bytedance.mapper.BytedancePlanDailyReportMapper;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +13,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedancePlanDailyReportServiceImpl extends ServiceImpl<BytedancePlanDailyReportMapper, BytedancePlanDailyReport> implements IBytedancePlanDailyReportService {
+public class BytedancePlanDailyReportServiceImpl extends ServiceImpl<BytedancePlanDailyReportMapper, BytedancePlanDailyReport> implements IService<BytedancePlanDailyReport> {
 
 }

+ 5 - 5
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/BytedancePlanHourlyReportServiceImpl.java

@@ -1,8 +1,8 @@
-package cn.com.ctop.toutiao.service.impl;
+package cn.com.ctop.bytedance.service.impl;
 
-import cn.com.ctop.toutiao.entity.BytedancePlanHourlyReport;
-import cn.com.ctop.toutiao.mapper.BytedancePlanHourlyReportMapper;
-import cn.com.ctop.toutiao.service.IBytedancePlanHourlyReportService;
+import cn.com.ctop.bytedance.entity.BytedancePlanHourlyReport;
+import cn.com.ctop.bytedance.mapper.BytedancePlanHourlyReportMapper;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +13,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedancePlanHourlyReportServiceImpl extends ServiceImpl<BytedancePlanHourlyReportMapper, BytedancePlanHourlyReport> implements IBytedancePlanHourlyReportService {
+public class BytedancePlanHourlyReportServiceImpl extends ServiceImpl<BytedancePlanHourlyReportMapper, BytedancePlanHourlyReport> implements IService<BytedancePlanHourlyReport> {
 
 }

+ 5 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/CustomerPlanStatisticInfoServiceImpl.java

@@ -1,11 +1,10 @@
-package org.jeecg.modules.ctop.service.impl;
-
-import org.jeecg.modules.ctop.entity.CustomerPlanStatisticInfo;
-import org.jeecg.modules.ctop.mapper.CustomerPlanStatisticInfoMapper;
-import org.jeecg.modules.ctop.service.ICustomerPlanStatisticInfoService;
-import org.springframework.stereotype.Service;
+package cn.com.ctop.bytedance.service.impl;
 
+import cn.com.ctop.bytedance.entity.CustomerPlanStatisticInfo;
+import cn.com.ctop.bytedance.mapper.CustomerPlanStatisticInfoMapper;
+import cn.com.ctop.bytedance.service.ICustomerPlanStatisticInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
 
 /**
  * @Description: 用户平台广告计划信息

+ 5 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/PlatformCampaignStatisticInfoServiceImpl.java

@@ -1,11 +1,10 @@
-package org.jeecg.modules.ctop.service.impl;
-
-import org.jeecg.modules.ctop.entity.PlatformCampaignStatisticInfo;
-import org.jeecg.modules.ctop.mapper.PlatformCampaignStatisticInfoMapper;
-import org.jeecg.modules.ctop.service.IPlatformCampaignStatisticInfoService;
-import org.springframework.stereotype.Service;
+package cn.com.ctop.bytedance.service.impl;
 
+import cn.com.ctop.bytedance.entity.PlatformCampaignStatisticInfo;
+import cn.com.ctop.bytedance.mapper.PlatformCampaignStatisticInfoMapper;
+import cn.com.ctop.bytedance.service.IPlatformCampaignStatisticInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
 
 /**
  * @Description: 快手平台广告组信息

+ 73 - 141
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ReportServiceImpl.java

@@ -1,13 +1,19 @@
-package org.jeecg.modules.ctop.service.impl;
-
-import cn.com.ctop.common.module.utils.*;
+package cn.com.ctop.bytedance.service.impl;
 
+import cn.com.ctop.bytedance.entity.*;
+import cn.com.ctop.bytedance.mapper.CustomerPlanStatisticInfoMapper;
+import cn.com.ctop.bytedance.mapper.PlatformCampaignStatisticInfoMapper;
+import cn.com.ctop.bytedance.service.*;
+import cn.com.ctop.bytedance.vo.ByteDanceAdvertiserReportDTO;
+import cn.com.ctop.bytedance.vo.StatisticCampaignVo;
 import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.service.ICtopOauthTokenService;
-import cn.com.ctop.toutiao.entity.*;
-import cn.com.ctop.toutiao.service.*;
+import cn.com.ctop.common.module.utils.*;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.PropertyNamingStrategy;
+import com.alibaba.fastjson.serializer.SerializeConfig;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.hssf.usermodel.HSSFDataFormat;
@@ -16,14 +22,6 @@ import org.apache.poi.ss.usermodel.CellStyle;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.jeecg.modules.ctop.entity.CustomerPlanStatisticInfo;
-import org.jeecg.modules.ctop.entity.PlatformCampaignStatisticInfo;
-import org.jeecg.modules.ctop.mapper.CustomerPlanStatisticInfoMapper;
-import org.jeecg.modules.ctop.mapper.PlatformCampaignStatisticInfoMapper;
-import org.jeecg.modules.ctop.service.ICustomerPlanStatisticInfoService;
-import org.jeecg.modules.ctop.service.IPlatformCampaignStatisticInfoService;
-import org.jeecg.modules.ctop.service.IReportService;
-import org.jeecg.modules.ctop.vo.StatisticCampaignVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -76,18 +74,19 @@ public class ReportServiceImpl implements IReportService {
     private IBytedanceCreativeHourlyReportService creativeHourlyReportService;
 
     @Override
-    public Map<String, Object> getAdvertiserReport(JSONObject conditions) {
-        String time_granularity = "STAT_TIME_GRANULARITY_HOURLY";
-        conditions = new JSONObject();
-        conditions.put("advertiser_id", 111463131228L);
-        conditions.put("start_date", "2019-06-01");
-        conditions.put("end_date", "2019-06-10");
-        conditions.put("page_size", 1000);
-        conditions.put("page", 1);
-        conditions.put("time_granularity", time_granularity);
-        Long accountId = conditions.getLong("advertiser_id");
+    public Map<String, Object> getAdvertiserReport(ByteDanceAdvertiserReportDTO conditions) {
+        conditions.setAdvertiserId(111463131228L);
+        conditions.setStartDate("2019-06-01");
+        conditions.setEndDate("2019-06-10");
+        conditions.setPageSize(1000);
+        conditions.setPage(1);
+        conditions.setTimeGranularity(CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY);
+        SerializeConfig config = new SerializeConfig();
+        config.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;
+        JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(conditions, config));
+        Long accountId = conditions.getAdvertiserId();
         CtopOauthToken token = tokenService.getOauthTokenByAccountId(accountId + "");
-        JSONObject getObject = getAdvertiserStat(token, conditions);
+        JSONObject getObject = getAdvertiserStat(token, jsonObject);
         Integer code = getObject.getInteger("code");
         String message = getObject.getString("message");
         if (null == code || code != 0) {
@@ -97,7 +96,7 @@ public class ReportServiceImpl implements IReportService {
             if (null != dataArray && dataArray.size() > 0) {
                 for (int i = 0; i < dataArray.size(); i++) {
                     JSONObject data = dataArray.getJSONObject(i);
-                    if (null != time_granularity && time_granularity.equals(CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY)) {
+                    if (null != conditions.getTimeGranularity() && conditions.getTimeGranularity().equals(CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY)) {
                         BytedanceAdvertiserHourlyReport hourlyReport = new BytedanceAdvertiserHourlyReport(data);
                         advertiserHourlyReportService.saveOrUpdate(hourlyReport);
                     } else {
@@ -111,18 +110,19 @@ public class ReportServiceImpl implements IReportService {
     }
 
     @Override
-    public Map<String, Object> getCampaignReport(JSONObject conditions) {
-        String time_granularity = CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY;
-        conditions = new JSONObject();
-        conditions.put("advertiser_id", 111463131228L);
-        conditions.put("start_date", "2019-06-01");
-        conditions.put("end_date", "2019-06-10");
-        conditions.put("page_size", 1000);
-        conditions.put("page", 1);
-        conditions.put("time_granularity", time_granularity);
-        Long accountId = conditions.getLong("advertiser_id");
+    public Map<String, Object> getCampaignReport(ByteDanceAdvertiserReportDTO conditions) {
+        conditions.setAdvertiserId(111463131228L);
+        conditions.setStartDate("2019-06-01");
+        conditions.setEndDate("2019-06-10");
+        conditions.setPageSize(1000);
+        conditions.setPage(1);
+        conditions.setTimeGranularity(CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY);
+        SerializeConfig config = new SerializeConfig();
+        config.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;
+        JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(conditions, config));
+        Long accountId = conditions.getAdvertiserId();
         CtopOauthToken token = tokenService.getOauthTokenByAccountId(accountId + "");
-        JSONObject getObject = getAdStat(token, conditions);
+        JSONObject getObject = getAdStat(token, jsonObject);
         Integer code = getObject.getInteger("code");
         String message = getObject.getString("message");
         if (null == code || code != 0) {
@@ -132,7 +132,7 @@ public class ReportServiceImpl implements IReportService {
             if (null != dataArray && dataArray.size() > 0) {
                 for (int i = 0; i < dataArray.size(); i++) {
                     JSONObject data = dataArray.getJSONObject(i);
-                    if (null != time_granularity && "STAT_TIME_GRANULARITY_HOURLY".equals(time_granularity)) {
+                    if (null != conditions.getTimeGranularity() && CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY.equals(conditions.getTimeGranularity())) {
                         BytedanceCampaignHourlyReport hourlyReport = new BytedanceCampaignHourlyReport(data);
                         campaignHourlyReportService.saveOrUpdate(hourlyReport);
                     } else {
@@ -145,36 +145,20 @@ public class ReportServiceImpl implements IReportService {
         return getObject;
     }
 
-    private JSONObject getAdStat(CtopOauthToken token, JSONObject conditions) {
-        Long advertiserId = token.getAccountId();
-        // 请求地址
-        String url = "https://ad.toutiao.com/open_api/2/report/ad/get/";
-        Map<String, Object> filtering = new HashMap<>();
-        filtering.put("campaign_id", 1L);
-        // 请求参数
-        Map<String, Object> params = new HashMap<>();
-        params.put("advertiser_id", advertiserId);
-        params.put("start_date", "2018-04-01");
-        params.put("end_date", "2018-05-01");
-        params.put("time_granularity", "STAT_TIME_GRANULARITY_DAILY");
-        params.put("group_by", new String[]{"STAT_GROUP_BY_FIELD_ID"});
-        params.put("filtering", filtering);
-        return HttpUtils.bytedanceGetRequest(token.getAccessToken(), url, params);
-    }
-
     @Override
-    public Map<String, Object> getAdReport(JSONObject conditions) {
-        String time_granularity = CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY;
-        conditions = new JSONObject();
-        conditions.put("advertiser_id", 111463131228L);
-        conditions.put("start_date", "2019-06-01");
-        conditions.put("end_date", "2019-06-10");
-        conditions.put("page_size", 1000);
-        conditions.put("page", 1);
-        conditions.put("time_granularity", time_granularity);
-        Long accountId = conditions.getLong("advertiser_id");
+    public Map<String, Object> getAdReport(ByteDanceAdvertiserReportDTO conditions) {
+        conditions.setAdvertiserId(111463131228L);
+        conditions.setStartDate("2019-06-01");
+        conditions.setEndDate("2019-06-10");
+        conditions.setPageSize(1000);
+        conditions.setPage(1);
+        conditions.setTimeGranularity(CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY);
+        SerializeConfig config = new SerializeConfig();
+        config.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;
+        JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(conditions, config));
+        Long accountId = conditions.getAdvertiserId();
         CtopOauthToken token = tokenService.getOauthTokenByAccountId(accountId + "");
-        JSONObject getObject = getAdStat(token, conditions);
+        JSONObject getObject = getAdStat(token, jsonObject);
         Integer code = getObject.getInteger("code");
         String message = getObject.getString("message");
         if (null == code || code != 0) {
@@ -184,7 +168,7 @@ public class ReportServiceImpl implements IReportService {
             if (null != dataArray && dataArray.size() > 0) {
                 for (int i = 0; i < dataArray.size(); i++) {
                     JSONObject data = dataArray.getJSONObject(i);
-                    if (null != time_granularity && "STAT_TIME_GRANULARITY_HOURLY".equals(time_granularity)) {
+                    if (null != conditions.getTimeGranularity() && CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY.equals(conditions.getTimeGranularity())) {
                         BytedancePlanHourlyReport hourlyReport = new BytedancePlanHourlyReport(data);
                         planHourlyReportService.saveOrUpdate(hourlyReport);
                     } else {
@@ -198,18 +182,19 @@ public class ReportServiceImpl implements IReportService {
     }
 
     @Override
-    public Map<String, Object> getCreativeReport(JSONObject conditions) {
-        String time_granularity = CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY;
-        conditions = new JSONObject();
-        conditions.put("advertiser_id", 111463131228L);
-        conditions.put("start_date", "2019-06-01");
-        conditions.put("end_date", "2019-06-10");
-        conditions.put("page_size", 1000);
-        conditions.put("page", 1);
-        conditions.put("time_granularity", time_granularity);
-        Long accountId = conditions.getLong("advertiser_id");
+    public Map<String, Object> getCreativeReport(ByteDanceAdvertiserReportDTO conditions) {
+        conditions.setAdvertiserId(111463131228L);
+        conditions.setStartDate("2019-06-01");
+        conditions.setEndDate("2019-06-10");
+        conditions.setPageSize(1000);
+        conditions.setPage(1);
+        conditions.setTimeGranularity(CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY);
+        SerializeConfig config = new SerializeConfig();
+        config.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;
+        JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(conditions, config));
+        Long accountId = conditions.getAdvertiserId();
         CtopOauthToken token = tokenService.getOauthTokenByAccountId(accountId + "");
-        JSONObject getObject = getCreativeStat(token, conditions);
+        JSONObject getObject = getCreativeStat(token, jsonObject);
         Integer code = getObject.getInteger("code");
         String message = getObject.getString("message");
         if (null == code || code != 0) {
@@ -219,7 +204,7 @@ public class ReportServiceImpl implements IReportService {
             if (null != dataArray && dataArray.size() > 0) {
                 for (int i = 0; i < dataArray.size(); i++) {
                     JSONObject data = dataArray.getJSONObject(i);
-                    if (null != time_granularity && "STAT_TIME_GRANULARITY_HOURLY".equals(time_granularity)) {
+                    if (null != conditions.getTimeGranularity() && CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY.equals(conditions.getTimeGranularity())) {
                         BytedanceCreativeHourlyReport hourlyReport = new BytedanceCreativeHourlyReport(data);
                         creativeHourlyReportService.saveOrUpdate(hourlyReport);
                     } else {
@@ -240,6 +225,12 @@ public class ReportServiceImpl implements IReportService {
         return getObject;
     }
 
+    private JSONObject getAdStat(CtopOauthToken token, JSONObject conditions) {
+        // 请求地址
+        String url = "https://ad.toutiao.com/open_api/2/report/ad/get/";
+        return HttpUtils.bytedanceGetRequest(token.getAccessToken(), url, conditions);
+    }
+
     @Override
     public void insertCustomerInfo(String csvPath, String charset) {
         try {
@@ -674,83 +665,24 @@ public class ReportServiceImpl implements IReportService {
     public JSONObject getAgentStat(CtopOauthToken token, JSONObject conditions) {
         // 请求地址
         String url = "https://ad.toutiao.com/open_api/2/report/agent/get/";
-        // 请求参数
-        Map params = new HashMap() {
-            {
-                put("advertiser_id", token.getAccountId());
-                put("start_date", "2018-04-01");
-                put("end_date", "2018-05-01");
-                put("time_granularity", "STAT_TIME_GRANULARITY_DAILY");
-            }
-        };
-        JSONObject data = HttpUtils.bytedanceGetRequest(token.getAccessToken(), url, params);
-        return data;
+        return HttpUtils.bytedanceGetRequest(token.getAccessToken(), url, conditions);
     }
 
     public JSONObject getCreativeStat(CtopOauthToken token, JSONObject conditions) {
         // 请求地址
         String url = "https://ad.toutiao.com/open_api/2/report/creative/get/";
-        final Map filtering = new HashMap() {
-            {
-                put("campaign_id", 1L);
-            }
-        };
-        // 请求参数
-        final Map params = new HashMap() {
-            {
-                put("advertiser_id", token.getAccountId());
-                put("start_date", "2018-04-01");
-                put("end_date", "2018-05-01");
-                put("time_granularity", "STAT_TIME_GRANULARITY_DAILY");
-                put("group_by", new String[]{"STAT_GROUP_BY_FIELD_ID"});
-                put("filtering", filtering);
-            }
-        };
-        JSONObject data = HttpUtils.bytedanceGetRequest(token.getAccessToken(), url, params);
-        return data;
+        return HttpUtils.bytedanceGetRequest(token.getAccessToken(), url, conditions);
     }
 
     public static JSONObject getCampaignStat(CtopOauthToken token, JSONObject conditions) {
         // 请求地址
         String url = "https://ad.toutiao.com/open_api/2/report/campaign/get/";
-        final Map filtering = new HashMap() {
-            {
-                put("campaign_ids", new Long[]{1L, 2L});
-            }
-        };
-        // 请求参数
-        final Map params = new HashMap() {
-            {
-                put("page", 1000);
-                put("pageSize", conditions.getInteger("page_size"));
-                put("advertiser_id", token.getAccountId());
-                put("start_date", conditions.getString("startDate"));
-                put("end_date", conditions.getString("endDate"));
-                put("time_granularity", conditions.getString("timeGranularity"));
-                put("group_by", conditions.getJSONArray("groupBy"));
-                put("filtering", filtering);
-            }
-        };
-        JSONObject data = HttpUtils.bytedanceGetRequest(token.getAccessToken(), url, params);
-        return data;
+        return HttpUtils.bytedanceGetRequest(token.getAccessToken(), url, conditions);
     }
 
     public JSONObject getAdvertiserStat(CtopOauthToken token, JSONObject conditions) {
-        final Long advertiserId = token.getAccountId();
         // 请求地址
         String url = "https://ad.toutiao.com/open_api/2/report/advertiser/get/";
-        // 请求参数
-        Map params = new HashMap() {
-            {
-                put("advertiser_id", advertiserId);
-                put("start_date", conditions.getString("start_date"));
-                put("end_date", conditions.getString("end_date"));
-                put("time_granularity", conditions.getString("time_granularity"));
-                put("page", conditions.getString("page"));
-                put("page_size", conditions.getString("page_size"));
-            }
-        };
-        JSONObject data = HttpUtils.bytedanceGetRequest(token.getAccessToken(), url, params);
-        return data;
+        return HttpUtils.bytedanceGetRequest(token.getAccessToken(), url, conditions);
     }
 }

+ 15 - 0
module-report/src/main/java/cn/com/ctop/bytedance/vo/ByteDanceAdvertiserReportDTO.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.bytedance.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class ByteDanceAdvertiserReportDTO implements Serializable {
+    private Long advertiserId;
+    private String startDate;
+    private String endDate;
+    private Integer pageSize;
+    private Integer page;
+    private String timeGranularity;
+}

+ 208 - 0
module-report/src/main/java/cn/com/ctop/bytedance/vo/StatisticCampaignVo.java

@@ -0,0 +1,208 @@
+package cn.com.ctop.bytedance.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author 宋英豪
+ */
+@Data
+public class StatisticCampaignVo implements Serializable {
+    /**
+     * 日期
+     */
+    private String statisticDate;
+    /**
+     * 代理
+     */
+    private String proxy;
+    /**
+     * 投放系统
+     */
+    private String deliverySystem;
+    /**
+     * 渠道名称
+     */
+    private String channelName;
+    /**
+     * 广告组名称
+     */
+    private String content;
+    /**
+     * 投放素材
+     */
+    private String meterial;
+    /**
+     * 出价方式
+     */
+    private String priceType;
+    /**
+     * 定向条件
+     */
+    private String directCondition;
+    /**
+     * 基础定向
+     */
+    private String basicDirect;
+    /**
+     * 花费
+     */
+    private String cost;
+    /**
+     * 封面曝光数
+     */
+    private String coverViews;
+    /**
+     * 封面点击数
+     */
+    private String coverClick;
+    /**
+     * 素材曝光数
+     */
+    private String materialViews;
+    /**
+     * 行为数
+     */
+    private String actions;
+    /**
+     * 点击率
+     */
+    private String clickRate;
+    /**
+     * 行为点击率
+     */
+    private String actionClickRate;
+    /**
+     * ACTR*BCTR
+     */
+    private String abctr;
+    /**
+     * 点击成本
+     */
+    private String clickPrice;
+    /**
+     * 行为成本
+     */
+    private String actionPrice;
+    /**
+     * 注册用户
+     */
+    private String registUserNum;
+    /**
+     * 完件用户
+     */
+    private String complateUserNum;
+    /**
+     * 授信用户
+     */
+    private String creditUserNum;
+    /**
+     * 当日注册且完件数
+     */
+    private String registCompleteNum;
+    /**
+     * 当日注册且授信数
+     */
+    private String registCreditNum;
+    /**
+     * 注册成本
+     */
+    private String registPrice;
+    /**
+     * 完件成本
+     */
+    private String completePrice;
+    /**
+     * 授信成本
+     */
+    private String creditPrice;
+    /**
+     * 当日注册且完件成本
+     */
+    private String registCompletePrice;
+    /**
+     * 当日注册且授信成本
+     */
+    private String registCreditPrice;
+    /**
+     * 点击注册率
+     */
+    private String clickRegistRate;
+    /**
+     * 行为注册率
+     */
+    private String actionRegistRate;
+    /**
+     * 完件率
+     */
+    private String completeRate;
+    /**
+     * 授信率
+     */
+    private String creditRate;
+    /**
+     * 当日完件率
+     */
+    private String registCompleteRate;
+    /**
+     * 当日授信率
+     */
+    private String registCreditRate;
+    /**
+     * 当日完件百分比
+     */
+    private String completeRateDay;
+    /**
+     * 当日授信百分比
+     */
+    private String creditRateDay;
+    /**
+     * 当日授信注册百分比
+     */
+    private String creditRegistRateDay;
+
+    @Override
+    public String toString() {
+        return "StatisticCampaignVo{" +
+                "statisticDate='" + statisticDate + '\'' +
+                ", proxy='" + proxy + '\'' +
+                ", deliverySystem='" + deliverySystem + '\'' +
+                ", channelName='" + channelName + '\'' +
+                ", content='" + content + '\'' +
+                ", meterial='" + meterial + '\'' +
+                ", priceType='" + priceType + '\'' +
+                ", directCondition='" + directCondition + '\'' +
+                ", basicDirect='" + basicDirect + '\'' +
+                ", cost='" + cost + '\'' +
+                ", coverViews='" + coverViews + '\'' +
+                ", coverClick='" + coverClick + '\'' +
+                ", materialViews='" + materialViews + '\'' +
+                ", actions='" + actions + '\'' +
+                ", clickRate='" + clickRate + '\'' +
+                ", actionClickRate='" + actionClickRate + '\'' +
+                ", abctr='" + abctr + '\'' +
+                ", clickPrice='" + clickPrice + '\'' +
+                ", actionPrice='" + actionPrice + '\'' +
+                ", registUserNum='" + registUserNum + '\'' +
+                ", complateUserNum='" + complateUserNum + '\'' +
+                ", creditUserNum='" + creditUserNum + '\'' +
+                ", registCompleteNum='" + registCompleteNum + '\'' +
+                ", registCreditNum='" + registCreditNum + '\'' +
+                ", registPrice='" + registPrice + '\'' +
+                ", completePrice='" + completePrice + '\'' +
+                ", creditPrice='" + creditPrice + '\'' +
+                ", registCompletePrice='" + registCompletePrice + '\'' +
+                ", registCreditPrice='" + registCreditPrice + '\'' +
+                ", clickRegistRate='" + clickRegistRate + '\'' +
+                ", actionRegistRate='" + actionRegistRate + '\'' +
+                ", completeRate='" + completeRate + '\'' +
+                ", creditRate='" + creditRate + '\'' +
+                ", registCompleteRate='" + registCompleteRate + '\'' +
+                ", registCreditRate='" + registCreditRate + '\'' +
+                ", completeRateDay='" + completeRateDay + '\'' +
+                ", creditRateDay='" + creditRateDay + '\'' +
+                ", creditRegistRateDay='" + creditRegistRateDay + '\'' +
+                '}';
+    }
+}

+ 3 - 3
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/ByteDanceAdvertisePlanServiceImpl.java

@@ -97,10 +97,10 @@ public class ByteDanceAdvertisePlanServiceImpl extends ServiceImpl<ByteDanceAdve
         // 请求地址
         String url = "https://ad.toutiao.com/open_api/2/tools/ad_convert/select/";
         // 请求参数
-        Map<String, Object> params = new HashMap();
+        JSONObject params = new JSONObject();
         params.put("advertiser_id", advertiserId);
         //落地页或IOS下载链接
-        if ("page".equals(urlInfo.getType()) || "page".equals(urlInfo.getType())) {
+        if ("page".equals(urlInfo.getType())) {
             params.put("external_url", urlInfo.getUrl());
         }
         //安卓下载链接
@@ -118,7 +118,7 @@ public class ByteDanceAdvertisePlanServiceImpl extends ServiceImpl<ByteDanceAdve
         // 请求地址
         String url = "https://ad.toutiao.com/open_api/2/tools/ad_convert/select/";
         // 请求参数
-        Map<String, Object> params = new HashMap();
+        JSONObject params = new JSONObject();
         params.put("advertiser_id", advertiserId);
         //落地页
         if ("EXTERNAL_URL".equals(targetTemplate.getDownloadType())) {

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

@@ -105,7 +105,7 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
         Map<String, Object> filtering = new HashMap<>();
         filtering.put("ids", getIds);
 
-        Map<String, Object> param = new HashMap<>();
+        JSONObject param = new JSONObject();
         param.put("advertiser_id", token.getAccountId());
         param.put("page", pageNum);
         param.put("page_size", 100);
@@ -312,7 +312,6 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
         params.put("advertiser_id", cTopOauthToken.getAccountId());
         params.put("campaign_id", campaignId);
         params.put("modify_time", campaign.getModifyTime());
-        params.put("campaign_id", campaignId);
         if (null != campaignName && !"".equals(campaignName.trim())) {
             params.put("campaign_name", campaignName);
         }

+ 1 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/ByteDanceCampaignTemplateServiceImpl.java

@@ -134,7 +134,7 @@ public class ByteDanceCampaignTemplateServiceImpl extends ServiceImpl<ByteDanceC
         // 请求地址
         String url = "https://ad.toutiao.com/open_api/2/tools/video_cover/suggest/";
         // 请求参数
-        Map<String, Object> data = new HashMap();
+        JSONObject data = new JSONObject();
         data.put("advertiser_id", token.getAccountId());
         data.put("video_id", videoId);
         return HttpUtils.bytedanceGetRequest(token.getAccessToken(), url, data);

+ 3 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/service/impl/ByteDanceCreativeServiceImpl.java

@@ -297,7 +297,9 @@ public class ByteDanceCreativeServiceImpl extends ServiceImpl<ByteDanceCreativeM
                 if (response != null) {
                     response.close();
                 }
-                client.close();
+                if (null != client) {
+                    client.close();
+                }
             } catch (IOException e) {
                 e.printStackTrace();
             }

+ 4 - 4
module-toutiao/src/main/java/cn/com/ctop/toutiao/test/Test.java

@@ -48,7 +48,7 @@ public class Test {
 
                 ck.setExpiryDate(cookie.getExpiry());
                 ck.setPath(cookie.getPath());
-                HttpUtils.cookieStore.addCookie(ck);
+                HttpUtils.COOKIESTORE.addCookie(ck);
                 System.out.println(cookie.getName() + "," + cookie.getValue() + "," + cookie.getDomain());
 //                ck.setDomain(".sso.toutiao.com");
 //                HttpUtils.cookieStore.addCookie(ck);
@@ -104,7 +104,7 @@ public class Test {
 //                String redirectUrl = jsonNode.get("redirect_url").asText();
 //                webDriver.get(redirectUrl);
                 String csrftoken = "";
-                List<org.apache.http.cookie.Cookie> cookies = HttpUtils.cookieStore.getCookies();
+                List<org.apache.http.cookie.Cookie> cookies = HttpUtils.COOKIESTORE.getCookies();
                 for (org.apache.http.cookie.Cookie ck : cookies) {
                     Cookie cookie = new Cookie(ck.getName(), ck.getValue(), "." + ck.getDomain(), ck.getPath(), ck.getExpiryDate());
                     webDriver.manage().addCookie(cookie);
@@ -140,7 +140,7 @@ public class Test {
                     ck.setDomain("ad.oceanengine.com");
                     ck.setExpiryDate(cookie.getExpiry());
                     ck.setPath(cookie.getPath());
-                    HttpUtils.cookieStore.addCookie(ck);
+                    HttpUtils.COOKIESTORE.addCookie(ck);
                     System.out.println(cookie.getName() + "," + cookie.getValue() + "," + cookie.getDomain());
                 }
                 header.put("Accept", "application/json, text/javascript, */*; q=0.01");
@@ -167,7 +167,7 @@ public class Test {
                     ck.setDomain("ad.oceanengine.com");
                     ck.setExpiryDate(cookie.getExpiry());
                     ck.setPath(cookie.getPath());
-                    HttpUtils.cookieStore.addCookie(ck);
+                    HttpUtils.COOKIESTORE.addCookie(ck);
                     System.out.println(cookie.getName() + "," + cookie.getValue() + "," + cookie.getDomain());
                 }
                 String siteStr = HttpUtils.httpGetRequest("https://ad.oceanengine.com/overture/api/adv_site/get_site_list/?_=" + String.valueOf(System.currentTimeMillis()));