From e9d98600b5c1621a60706605377a115cf2a1fa64 Mon Sep 17 00:00:00 2001 From: pengtao Date: Wed, 16 Oct 2019 15:22:55 +0800 Subject: [PATCH] =?UTF-8?q?tap=20order=20=20=E6=95=B0=E6=8D=AE=E5=86=99?= =?UTF-8?q?=E5=85=A5mysql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- taptap/taptap_report.py | 56 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/taptap/taptap_report.py b/taptap/taptap_report.py index 9d55a0d..7009ae7 100644 --- a/taptap/taptap_report.py +++ b/taptap/taptap_report.py @@ -26,23 +26,71 @@ class TapTapReport: def build_report(self): all = dict() gameid_order = dict() - gameid_info = dict() + gameid_info = self.get_gameid_info() for item in (self.day, self.bday): b_d = self.split_order_data(item) for key in b_d: gameid_order.setdefault(key, {}).update(b_d[key]) - for key in gameid_order: + for key in gameid_order.keys(): all.setdefault(key, {})['gameid'] = key.split("#")[0] all.setdefault(key, {})['catename'] = key.split('#')[1] all.setdefault(key, {})['diff_order'] = gameid_order[key].get(self.day, 301) - gameid_order[key].get( self.bday, 301) all.setdefault(key, {})['current_order'] = gameid_order[key].get(self.day, 301) + + for key in gameid_info.keys(): + all.setdefault(key, {})['title'] = gameid_info[key]['title'] + all.setdefault(key, {})['cate'] = gameid_info[key]['cate'] + all.setdefault(key, {})['topic'] = gameid_info[key]['topic'] + all.setdefault(key, {})['score'] = gameid_info[key]['score'] + all.setdefault(key, {})['reserve'] = gameid_info[key]['reserve'] + all.setdefault(key, {})['watch'] = gameid_info[key]['watch'] + all.setdefault(key, {})['download'] = gameid_info[key]['download'] + all.setdefault(key, {})['sell'] = gameid_info[key]['sell'] + all.setdefault(key, {})['review'] = gameid_info[key]['review'] + print(all) - - + def get_gameid_info(self): + all_data = dict() + sql = f"""SELECT + gameid, + catename, + title, + cate, + topic,, + score, + reserve, + watch, + download, + sell, + review + FROM + v_event_25 + where + "$part_date"='{self.day}'""" + data = self.tga.get_data(sql) + if data: + for line in data: + try: + gameid, catename, title, cate, topic, score, reserve, watch, download, sell, review = line + key = f"{gameid}#{catename}" + all_data.setdefault(key, {})["key"] = key + all_data.setdefault(key, {})["catename"] = catename + all_data.setdefault(key, {})["title"] = title + all_data.setdefault(key, {})["cate"] = cate + all_data.setdefault(key, {})["topic"] = topic + all_data.setdefault(key, {})["score"] = score + all_data.setdefault(key, {})["reserve"] = reserve + all_data.setdefault(key, {})["watch"] = watch + all_data.setdefault(key, {})["download"] = download + all_data.setdefault(key, {})["sell"] = sell + all_data.setdefault(key, {})["review"] = review + except Exception: + log.error(f"split {line} failed", exc_info=True) + return all_data def split_order_data(self, day):