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