import Window from '../core/Window' import DBService from '../db/DBService' import logger from '../logger/Logger' import BaseEvent from '../core/BaseEvent' // 监听每小时计算活跃用户事件 export default class HourlyActiveUserEvent extends BaseEvent { async callback(window: Window) { try { let content = window.getResult() let data: string[][] = [] for (const key in content) { // "2019-09-02|||14|||cc.coolline.client|||1.0.4|||googleplay|||Android|||阿拉伯联合酋长国|||8a56ca46b33f4bcf": 1, let fields = key.split("|||") let queryTime = fields[0] let hour = fields[1] let pkgName = fields[2] let appVersion = fields[3] let channelName = fields[4] let platform = fields[5] let countryZh = fields[6] let userName = fields[7] data.push([pkgName, appVersion, channelName, countryZh, platform, queryTime, hour, userName]) } let dbService = new DBService() let sql = "INSERT INTO hourly_active_user (pkgName, appVersion, channelName, countryZh, platform, queryTime, hour, userName) VALUES ?" let { err } = await dbService.insert(sql, [data]) if (err) { logger.info(err) } else { logger.info(`插入每小时活跃数据 ${data.length}`) } } catch (error) { logger.info(error) } } }