import Window from '../core/Window' import DBService from '../db/DBService' import logger from '../logger/Logger' import BaseEvent from '../core/BaseEvent' export default class HourlyMinerDataReturnRateEvent extends BaseEvent { async callback(window: Window) { let result = window.getResult() let data: string[][] = [] for (const key in result) { // "2019-09-02|||19|||cc.shadowfox.client|||1.6.52|||googleplay|||Android|||阿拉伯联合酋长国": { // "total": 237, // "success": 219 // } let fields = key.split("|||") let pt = 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 value = result[key] let totalCount = value["total"] let successCount = value["success"] let errors = JSON.stringify(value["errors"]) data.push([pt, hour, pkgName, appVersion, channelName, platform, countryZh, totalCount, successCount, errors]) } let dbService = new DBService() let sql = "INSERT INTO hourly_miner_data_return_rate (pt, hour, pkgName, appVersion, channelName, platform, countryZh, totalCount, successCount, errors) VALUES ?" let { err } = await dbService.insert(sql, [data]) if (err) { logger.info(err) } else { logger.info(`插入每小时矿机数据返回成功率 ${data.length}`) } } }