|
@@ -98,7 +98,7 @@ class ArticleDBTools(object):
|
|
|
"""
|
|
|
self.mysql_client = mysql_client
|
|
|
|
|
|
- async def getAccountAvgInfo(self, account_name):
|
|
|
+ async def getAccountAvgInfo(self, gh_id):
|
|
|
"""
|
|
|
获取单个账号历史均值
|
|
|
"""
|
|
@@ -121,7 +121,7 @@ class ArticleDBTools(object):
|
|
|
sql = f"""
|
|
|
SELECT {", ".join(keys)}
|
|
|
FROM account_avg_info_v3
|
|
|
- WHERE account_name = '{account_name}'
|
|
|
+ WHERE gh_id = '{gh_id}'
|
|
|
and position = 1;"""
|
|
|
result = await self.mysql_client.async_select(sql=sql)
|
|
|
account_avg_info_list = [AccountAvgInfo(*row) for row in result] if result else []
|
|
@@ -149,7 +149,7 @@ class ArticleDBTools(object):
|
|
|
|
|
|
return account_avg_info_map.get(closest_date) if closest_date else None
|
|
|
|
|
|
- async def getSingleAccountArticles(self, account_name):
|
|
|
+ async def getSingleAccountArticles(self, gh_id):
|
|
|
"""
|
|
|
获取单个账号的历史文章
|
|
|
:param gh_id:
|
|
@@ -169,13 +169,13 @@ class ArticleDBTools(object):
|
|
|
sql = f"""
|
|
|
SELECT {", ".join(keys)}
|
|
|
FROM official_articles_v2
|
|
|
- WHERE accountName = '{account_name}';"""
|
|
|
+ WHERE ghId = '{gh_id}';"""
|
|
|
result = await self.mysql_client.async_select(sql=sql)
|
|
|
return DataFrame(result, columns=keys)
|
|
|
|
|
|
async def getArticleByFilter(
|
|
|
self,
|
|
|
- account_name,
|
|
|
+ gh_id,
|
|
|
view_count_filter=None,
|
|
|
index_list=None,
|
|
|
min_time=None,
|
|
@@ -183,7 +183,7 @@ class ArticleDBTools(object):
|
|
|
msg_type=None,
|
|
|
):
|
|
|
"""
|
|
|
- :param account_name:
|
|
|
+ :param gh_id:
|
|
|
:param index_list: index ranges from 1 to 8
|
|
|
:param min_time: earliest time
|
|
|
:param max_time: latest time
|
|
@@ -199,7 +199,7 @@ class ArticleDBTools(object):
|
|
|
if not max_time:
|
|
|
# 2099年
|
|
|
max_time = 4088051123
|
|
|
- articleDataFrame = await self.getSingleAccountArticles(account_name=account_name)
|
|
|
+ articleDataFrame = await self.getSingleAccountArticles(gh_id=gh_id)
|
|
|
filterDataFrame = articleDataFrame[
|
|
|
(articleDataFrame["Type"] == msg_type)
|
|
|
& (min_time < articleDataFrame["updateTime"])
|
|
@@ -211,7 +211,7 @@ class ArticleDBTools(object):
|
|
|
return filterDataFrame
|
|
|
|
|
|
async def get_good_bad_articles(self,
|
|
|
- account_name,
|
|
|
+ gh_id,
|
|
|
interest_type,
|
|
|
view_count_filter,
|
|
|
rate=0.1,
|
|
@@ -225,7 +225,7 @@ class ArticleDBTools(object):
|
|
|
:return:
|
|
|
"""
|
|
|
article_data_frame = await self.getArticleByFilter(
|
|
|
- account_name=account_name,
|
|
|
+ gh_id=gh_id,
|
|
|
view_count_filter=view_count_filter,
|
|
|
index_list=index_list,
|
|
|
min_time=min_time,
|
|
@@ -248,7 +248,7 @@ class ArticleDBTools(object):
|
|
|
return good_df, bad_df
|
|
|
case "account_avg":
|
|
|
account_read_avg_list = await self.getAccountAvgInfo(
|
|
|
- account_name=account_name
|
|
|
+ gh_id=gh_id
|
|
|
)
|
|
|
account_avg_info_map = {info.update_time: info for info in account_read_avg_list}
|
|
|
# 获取所有可用日期并排序
|