fixbug
This commit is contained in:
parent
9840f0ac64
commit
b04ac14e8c
@ -108,7 +108,7 @@ def send_tapweekly():
|
||||
recipients = ["pengtao@kingsome.cn"]
|
||||
msg = Message(title, sender=sender, recipients=recipients)
|
||||
twr = TapWeeklyReport(day)
|
||||
data = twr.build()
|
||||
data = twr.run()
|
||||
#print(data)
|
||||
# data[day] = day
|
||||
msg.subject = f"TAPTAP_{day}_游戏周报"
|
||||
@ -507,20 +507,48 @@ class TapWeeklyReport:
|
||||
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
|
||||
self.all_type = {"download": {"name": "热门榜", "row": ["download"]}, "new": {"name": "新品榜", "row": ["download"]},
|
||||
"reserve": {"name": "预约榜", "row": ["reserve"]}, "sell": {"name": "热卖榜", "row": ["sell"]},
|
||||
"played": {"name": "热玩榜", "row": ["download"]}}
|
||||
|
||||
self.base_head = ["gameid", "title", "order", "min_order", "max_order", "diff_order"]
|
||||
self.base_end = ["watch", "review", "topic", "score", "tags"]
|
||||
self.row_cn = {"gameid": "游戏ID", "tile": "游戏名称", "order": "当前排名", "min_order": "最高排名", "max_order": "最低排名",
|
||||
"diff_order": "排名变动", "download": "下载数", "reserve": "预约数", "sell": "购买数", "watch": "关注数",
|
||||
"review": "评论数", "topic": "话题", "score": "评分", "tags": "游戏标签"}
|
||||
|
||||
|
||||
def struct_data(self, data):
|
||||
r_data = list
|
||||
for key in self.all_type.keys():
|
||||
try:
|
||||
data_key = data.get(key, [])
|
||||
temp = {}
|
||||
temp["name"] = self.all_type.get(key).get("name")
|
||||
rows = self.base_head + self.all_type.get(key).get("row") + self.base_end
|
||||
temp["row_name"] = []
|
||||
for k in rows:
|
||||
temp["row_name"].append(self.row_cn.get(k))
|
||||
temp["row_data"] = []
|
||||
for line in data_key:
|
||||
tt = {}
|
||||
tt['gameid'], tt['title'], tt['order'], tt['min_order'], tt['max_order'], tt['diff_order'], tt[
|
||||
'score'], tt['tags'], tt['watch'], tt['download'], tt['sell'], tt['reserve'], tt['review'], tt[
|
||||
'topic'] = line
|
||||
for item in tt.keys():
|
||||
if item not in rows:
|
||||
tt.pop(item)
|
||||
temp["row_data"].append(tt)
|
||||
except Exception:
|
||||
log.error(f"struct data with {line} Failed", exc_info=True)
|
||||
return r_data
|
||||
|
||||
|
||||
def build(self):
|
||||
# weekly_day = json.dumps(self.get_weekly_days()).strip('[]')
|
||||
tap_types = ("new", "download", "reserve", "sell", "played")
|
||||
# tap_types = ("new", "download", "reserve", "sell", "played")
|
||||
all_data = defaultdict(list)
|
||||
for tap_type in tap_types:
|
||||
for tap_type in self.all_type.keys():
|
||||
sql = f"""select
|
||||
gameid,
|
||||
title as "名称",
|
||||
@ -540,9 +568,10 @@ class TapWeeklyReport:
|
||||
tap_weekly
|
||||
where
|
||||
catename='{tap_type}'
|
||||
and date = '{self.day}'
|
||||
and date = '{self.day}'
|
||||
and order_posi = 1
|
||||
order by
|
||||
`order` limit {self.limit};"""
|
||||
`diff_order` limit {self.limit};"""
|
||||
|
||||
data = self.db_conn.query(sql)
|
||||
log.info(f"sql={sql}")
|
||||
@ -552,7 +581,9 @@ class TapWeeklyReport:
|
||||
|
||||
def run(self):
|
||||
data = self.build()
|
||||
print(data)
|
||||
r_data = self.struct_data(data)
|
||||
print(r_data)
|
||||
return r_data
|
||||
|
||||
def main():
|
||||
day = (datetime.date.today() - datetime.timedelta(days=1)).strftime('%Y-%m-%d')
|
||||
|
@ -7,42 +7,31 @@
|
||||
<body>
|
||||
<h1 class="title">金蚕游戏日报 · OPS</h1>
|
||||
<p class="date">{{ day }}</p>
|
||||
{% for key in data.keys() %}
|
||||
{% for key in data %}
|
||||
<div class="section">
|
||||
<div class="info">
|
||||
<span
|
||||
>报表类型:<span class="gameid">{{ key }}</span></span
|
||||
>报表类型:<span class="gameid">{{ key.get('name') }}</span></span
|
||||
>
|
||||
</div>
|
||||
|
||||
<div class="panel">
|
||||
<h2>总表</h2>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
{% for row_name_one in key.get('row_name') %}
|
||||
<tr>
|
||||
<th>游戏ID</th>
|
||||
<th>游戏名称</th>
|
||||
<th>排名</th>
|
||||
<th>最高排名</th>
|
||||
<th>最低排名</th>
|
||||
<th>排名变动</th>
|
||||
<th>评分</th>
|
||||
<th>游戏标签</th>
|
||||
<th>关注数</th>
|
||||
<th>下载数</th>
|
||||
<th>购买数</th>
|
||||
<th>预约数</th>
|
||||
<th>评论数</th>
|
||||
<th>话题</th>
|
||||
<th>{{ row_name_one }}</th>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
{% for item in data.get(key) %}
|
||||
{% for one in item %}
|
||||
{% for one_data in key.get('row_data') %}
|
||||
{% for line in one_data %}
|
||||
<tr>
|
||||
{% for one_1 in one %}
|
||||
<td>{{ one_1 }}</td>
|
||||
{% for item in one_data %}
|
||||
<td>{{ item }}</td>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
Loading…
x
Reference in New Issue
Block a user