From dbafe755e9f4352a53162f3cf082a6aadc9a4ddc Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 19 Nov 2019 19:20:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=91=A8=E6=8A=A5=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- taptap/tap_weekly_mail.py | 62 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 taptap/tap_weekly_mail.py diff --git a/taptap/tap_weekly_mail.py b/taptap/tap_weekly_mail.py new file mode 100644 index 0000000..622cf9c --- /dev/null +++ b/taptap/tap_weekly_mail.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +from ops.mmysql import MysqlBase +from ops.plog import define_logger +import logging +import datetime + +define_logger("/data/logs/ops/tap_weekly.log") + +db_conf = {'user': 'mytga', 'pswd': 'gzVwh4HGR68G', 'host': '10.10.3.5', 'db': 'external_data'} + + +class TapWeeklyReport: + def __init__(self, day): + self.day = day + self.db_conn = MysqlBase(**db_conf) + self.limit = 20 + + def get_weekly_days(self): + weekly_days = [] + for i in range(0, 7): + current_day = (datetime.datetime.strptime(self.day, '%Y-%m-%d') - datetime.timedelta(days=i)).strftime( + '%Y-%m-%d') + weekly_days.append(current_day) + return weekly_days + + + def build(self): + weekly_day = self.get_weekly_days() + tap_type = "new" + + sql = f"""select + gameid, + title, + sum(diff_order), + score + from + taptap_collect + where + catename='{tap_type}' + and date in {weekly_day} + group by + gameid + order by + sum(diff_order) desc limit {self.limit};""" + + data = self.db_conn.query(sql) + if data: + return data + + def run(self): + data = self.build() + print(data) + + +def main(): + day = (datetime.date.today() - datetime.timedelta(days=1)).strftime('%Y-%m-%d') + twr = TapWeeklyReport(day) + twr.run() + + +if __name__ == "__main__": + main()