|
@@ -134,38 +134,33 @@ public class ContentPlatformDatastatJob {
|
|
|
if (StringUtils.hasText(param)) {
|
|
|
dt = param;
|
|
|
}
|
|
|
- long count = getGzhDatastatCount(dt);
|
|
|
- if (count > 0) {
|
|
|
- return ReturnT.SUCCESS;
|
|
|
- }
|
|
|
- Long now = System.currentTimeMillis();
|
|
|
- // 公众号自动回复数据统计
|
|
|
- String sql = String.format(
|
|
|
- "SELECT first_level.channel_shortname, first_level.subchannel, first_level.first_uv, fission.split_uv " +
|
|
|
- "FROM loghubods.out_channel_mid_first_total first_level " +
|
|
|
- "left join loghubods.out_channel_mid_split_total fission " +
|
|
|
- "on first_level.channel_shortname = fission.channel_shortname and first_level.subchannel = fission.subchannel " +
|
|
|
- "and first_level.dt = fission.dt and first_level.type = fission.type and first_level.tag = fission.tag " +
|
|
|
- "WHERE first_level.dt = %s and first_level.type = '公众号即时回复' and first_level.tag = '分投放渠道客户分账号去重';", dt);
|
|
|
+ // 公众号自动回复分视频数据统计
|
|
|
+ String sql = String.format("SELECT ghid, video_id, video_title, first_uv, split0_uv " +
|
|
|
+ "FROM loghubods.auto_reply_per_video WHERE dt = %s;", dt);
|
|
|
List<Record> dataList = OdpsUtil.getOdpsData(sql);
|
|
|
// 所有公众号
|
|
|
List<ContentPlatformGzhAccount> accountList = getAllGzhAccount();
|
|
|
Map<String, ContentPlatformGzhAccount> accountMap = accountList.stream()
|
|
|
.collect(Collectors.toMap(ContentPlatformGzhAccount::getGhId, account -> account));
|
|
|
List<String> ghIds = accountList.stream().map(ContentPlatformGzhAccount::getGhId).collect(Collectors.toList());
|
|
|
+ Long now = System.currentTimeMillis();
|
|
|
if (CollectionUtils.isNotEmpty(dataList)) {
|
|
|
List<ContentPlatformGzhVideoDataStat> saveList = new ArrayList<>();
|
|
|
for (Record record : dataList) {
|
|
|
ContentPlatformGzhVideoDataStat item = new ContentPlatformGzhVideoDataStat();
|
|
|
- String ghId = (String) record.get(1);
|
|
|
- int firstLevelCount = Integer.parseInt((String) record.get(2));
|
|
|
- Integer fissionCount = parseInteger(record.get(3));
|
|
|
+ String ghId = (String) record.get(0);
|
|
|
+ Long videoId = parseLong(record.get(1));
|
|
|
+ String title = (String) record.get(2);
|
|
|
+ int firstLevelCount = Integer.parseInt((String) record.get(3));
|
|
|
+ Integer fissionCount = parseInteger(record.get(4));
|
|
|
item.setDateStr(dt);
|
|
|
- if (!ghIds.contains(ghId)) {
|
|
|
+ if (!ghIds.contains(ghId) || videoId == 0) {
|
|
|
continue;
|
|
|
}
|
|
|
ContentPlatformGzhAccount gzhAccount = accountMap.get(ghId);
|
|
|
item.setAccountId(gzhAccount.getId());
|
|
|
+ item.setVideoId(videoId);
|
|
|
+ item.setTitle(title);
|
|
|
item.setFirstLevelCount(firstLevelCount);
|
|
|
|
|
|
if (fissionCount > 0 && firstLevelCount > 0) {
|
|
@@ -177,6 +172,7 @@ public class ContentPlatformDatastatJob {
|
|
|
saveList.add(item);
|
|
|
}
|
|
|
if (CollectionUtils.isNotEmpty(saveList)) {
|
|
|
+ dataStatMapperExt.deleteGzhVideoDatastat(dt);
|
|
|
dataStatMapperExt.batchInsertGzhVideoDatastat(saveList);
|
|
|
}
|
|
|
}
|
|
@@ -824,6 +820,14 @@ public class ContentPlatformDatastatJob {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private Long parseLong(Object value) {
|
|
|
+ try {
|
|
|
+ return Long.parseLong((String) value);
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
+ return 0L;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private Double parseDouble(Object value) {
|
|
|
try {
|
|
|
return Double.parseDouble((String) value);
|