|
@@ -5,13 +5,10 @@ import cn.com.ctop.common.module.service.IBindAccountLoginService;
|
|
|
import cn.com.ctop.common.module.utils.HttpUtils2;
|
|
|
import cn.com.ctop.crawler.modules.pangolin.entity.*;
|
|
|
import cn.com.ctop.crawler.modules.pangolin.service.*;
|
|
|
-import cn.hutool.core.date.DateUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
-import com.google.gson.Gson;
|
|
|
-import com.google.gson.JsonObject;
|
|
|
import org.apache.http.impl.cookie.BasicClientCookie;
|
|
|
import org.jeecg.common.util.DateUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -36,16 +33,17 @@ public class PangolinCrawlerServiceImpl implements PangolinCrawlerService {
|
|
|
@Autowired
|
|
|
private PangolinReportAppHourService pangolinReportAppHourService;
|
|
|
|
|
|
+ @Override
|
|
|
public void getCheckList(BindAccountLogin bindAccountLogin) {
|
|
|
String url = "https://pangolin.bytedance.com/api/check_apps/list";
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
try {
|
|
|
List<String> cookieList = mapper.readValue(bindAccountLogin.getCookie(), new TypeReference<List<String>>() {
|
|
|
});
|
|
|
- if (cookieList != null && cookieList.size() > 0) {
|
|
|
+ if (cookieList != null && !cookieList.isEmpty()) {
|
|
|
for (String cookieStr : cookieList) {
|
|
|
String[] cookieArray = cookieStr.split(";");
|
|
|
- Map<String, String> cookieMap = new HashMap<String, String>();
|
|
|
+ Map<String, String> cookieMap = new HashMap<>();
|
|
|
for (String cookie : cookieArray) {
|
|
|
String[] kv = cookie.split("=");
|
|
|
if (kv.length > 1) {
|
|
@@ -60,7 +58,6 @@ public class PangolinCrawlerServiceImpl implements PangolinCrawlerService {
|
|
|
}
|
|
|
}
|
|
|
String result = HttpUtils2.httpPostRequest(url, null, null);
|
|
|
- System.out.println(result);
|
|
|
if (checkLogin(bindAccountLogin, result)) {
|
|
|
JsonNode resultNode = mapper.readTree(result);
|
|
|
Iterator<JsonNode> appIterator = resultNode.get("data").get("List").elements();
|
|
@@ -73,7 +70,6 @@ public class PangolinCrawlerServiceImpl implements PangolinCrawlerService {
|
|
|
BigDecimal actualTotalPrice = checkNode.get("ActualTotalPrice").decimalValue();
|
|
|
BigDecimal estimatedTotalPrice = checkNode.get("EstimatedTotalPrice").decimalValue();
|
|
|
BigDecimal accountQualityScore = checkNode.get("AccountQualityScore").decimalValue();
|
|
|
- String appName = checkNode.get("AppName").asText();
|
|
|
PangolinReportBillMonth pangolinReportBillMonth = new PangolinReportBillMonth();
|
|
|
pangolinReportBillMonth.setAccountQualityScore(accountQualityScore);
|
|
|
pangolinReportBillMonth.setActualTotalPrice(actualTotalPrice);
|
|
@@ -100,16 +96,17 @@ public class PangolinCrawlerServiceImpl implements PangolinCrawlerService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
public void getChannelList(BindAccountLogin bindAccountLogin) {
|
|
|
String url = "https://pangolin.bytedance.com/api/search/external_default";
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
try {
|
|
|
List<String> cookieList = mapper.readValue(bindAccountLogin.getCookie(), new TypeReference<List<String>>() {
|
|
|
});
|
|
|
- if (cookieList != null && cookieList.size() > 0) {
|
|
|
+ if (cookieList != null && !cookieList.isEmpty()) {
|
|
|
for (String cookieStr : cookieList) {
|
|
|
String[] cookieArray = cookieStr.split(";");
|
|
|
- Map<String, String> cookieMap = new HashMap<String, String>();
|
|
|
+ Map<String, String> cookieMap = new HashMap<>();
|
|
|
for (String cookie : cookieArray) {
|
|
|
String[] kv = cookie.split("=");
|
|
|
if (kv.length > 1) {
|
|
@@ -124,7 +121,6 @@ public class PangolinCrawlerServiceImpl implements PangolinCrawlerService {
|
|
|
}
|
|
|
}
|
|
|
String result = HttpUtils2.httpGetRequest(url);
|
|
|
- System.out.println(result);
|
|
|
if (checkLogin(bindAccountLogin, result)) {
|
|
|
JsonNode resultNode = mapper.readTree(result);
|
|
|
Iterator<JsonNode> appIterator = resultNode.get("data").get("AppNameList").elements();
|
|
@@ -155,16 +151,17 @@ public class PangolinCrawlerServiceImpl implements PangolinCrawlerService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
public void getActivationList(BindAccountLogin bindAccountLogin, String date, int page) {
|
|
|
String url = "https://pangolin.bytedance.com/api/activation/list";
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
try {
|
|
|
List<String> cookieList = mapper.readValue(bindAccountLogin.getCookie(), new TypeReference<List<String>>() {
|
|
|
});
|
|
|
- if (cookieList != null && cookieList.size() > 0) {
|
|
|
+ if (cookieList != null && !cookieList.isEmpty()) {
|
|
|
for (String cookieStr : cookieList) {
|
|
|
String[] cookieArray = cookieStr.split(";");
|
|
|
- Map<String, String> cookieMap = new HashMap<String, String>();
|
|
|
+ Map<String, String> cookieMap = new HashMap<>();
|
|
|
for (String cookie : cookieArray) {
|
|
|
String[] kv = cookie.split("=");
|
|
|
if (kv.length > 1) {
|
|
@@ -190,7 +187,6 @@ public class PangolinCrawlerServiceImpl implements PangolinCrawlerService {
|
|
|
paramMap.put("search", searchMap);
|
|
|
paramMap.put("page", pageMap);
|
|
|
String result = HttpUtils2.httpPostRequest(url, paramMap, null);
|
|
|
- System.out.println(result);
|
|
|
if (checkLogin(bindAccountLogin, result)) {
|
|
|
JsonNode resultNode = mapper.readTree(result);
|
|
|
Iterator<JsonNode> listIterator = resultNode.get("data").get("list").elements();
|
|
@@ -231,16 +227,17 @@ public class PangolinCrawlerServiceImpl implements PangolinCrawlerService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
public void getRealTimeList(BindAccountLogin bindAccountLogin, Long appId) {
|
|
|
String url = "https://pangolin.bytedance.com/api/real_time/";
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
try {
|
|
|
List<String> cookieList = mapper.readValue(bindAccountLogin.getCookie(), new TypeReference<List<String>>() {
|
|
|
});
|
|
|
- if (cookieList != null && cookieList.size() > 0) {
|
|
|
+ if (cookieList != null && !cookieList.isEmpty()) {
|
|
|
for (String cookieStr : cookieList) {
|
|
|
String[] cookieArray = cookieStr.split(";");
|
|
|
- Map<String, String> cookieMap = new HashMap<String, String>();
|
|
|
+ Map<String, String> cookieMap = new HashMap<>();
|
|
|
for (String cookie : cookieArray) {
|
|
|
String[] kv = cookie.split("=");
|
|
|
if (kv.length > 1) {
|
|
@@ -261,7 +258,6 @@ public class PangolinCrawlerServiceImpl implements PangolinCrawlerService {
|
|
|
paramMap.put("channelName", "");
|
|
|
paramMap.put("appId", appIds);
|
|
|
String result = HttpUtils2.httpPostRequest(url, paramMap, null);
|
|
|
- System.out.println(result);
|
|
|
if (checkLogin(bindAccountLogin, result)) {
|
|
|
JsonNode resultNode = mapper.readTree(result);
|
|
|
Iterator<String> clickIterator = resultNode.get("data").get("ChartData").get("click_num").fieldNames();
|
|
@@ -287,7 +283,6 @@ public class PangolinCrawlerServiceImpl implements PangolinCrawlerService {
|
|
|
} else {
|
|
|
pangolinReportAppHourService.update(pangolinReportAppHour, queryWrapper);
|
|
|
}
|
|
|
-// pangolinReportAppHourService.saveOrUpdate(pangolinReportAppHour);
|
|
|
}
|
|
|
}
|
|
|
Iterator<String> activeIterator = resultNode.get("data").get("ChartData").get("active_num").fieldNames();
|