|
@@ -47,7 +47,8 @@ class TaskDetail(BaseModel):
|
|
|
|
|
|
class ConfigDetail(BaseModel):
|
|
|
config_id: str = Field(..., description="脚本配置id")
|
|
|
- query_word_lst: List[str] = Field(..., description="关键词")
|
|
|
+ query_word: List[str] = Field(..., description="关键词")
|
|
|
+ recommended_word: List[str] = Field(..., description="推荐词")
|
|
|
create_time: str = Field(..., description="创建时间")
|
|
|
operator: str = Field(..., description="创建人")
|
|
|
number: int = Field(..., description="序号")
|
|
@@ -76,9 +77,9 @@ class QueryWordItem(BaseModel):
|
|
|
|
|
|
|
|
|
class ScriptConfigLst(BaseModel):
|
|
|
- start_date: Optional[date] = Field(date.today() + timedelta(days=-6), description="开始日期-用于查询")
|
|
|
+ start_date: Optional[date] = Field(date.today() + timedelta(days=-29), description="开始日期-用于查询")
|
|
|
end_date: Optional[date] = Field(date.today(), description="结束日期-用于查询")
|
|
|
- search_word: Optional[str] = Field('', description="关键词-用于查询")
|
|
|
+ search_word: Optional[str] = Field('', description="关键词/推荐词-用于查询")
|
|
|
page_num: int = Field(1, description="第几页")
|
|
|
page_size: int = Field(10, description="每页的大小")
|
|
|
|
|
@@ -191,15 +192,15 @@ def export_script_file(item: List[QueryWordItem]):
|
|
|
def get_script_config_lst(item: ScriptConfigLst):
|
|
|
try:
|
|
|
end_date = item.end_date + timedelta(days=1)
|
|
|
- org_df = pd.DataFrame()
|
|
|
sql = f"select * from ctop_ai_script_query_word_config where config_id in " \
|
|
|
f"(select distinct(config_id) config_id from ctop_ai_script_query_word_config " \
|
|
|
f"where start_time >= '{item.start_date}' and start_time < '{end_date}' " \
|
|
|
- f"and ('{item.search_word}' = '' or query_word like '%%{item.search_word}%%') ) "
|
|
|
+ f"and ('{item.search_word}' = '' or query_word like '%%{item.search_word}%%') or recommended_word like '%%{item.search_word}%%') "
|
|
|
|
|
|
org_df = pd.read_sql(sql, ai_word_engine)
|
|
|
if not org_df.empty:
|
|
|
- g_df = org_df.groupby('config_id').apply(lambda x: pd.Series({'query_word_lst': list(x['query_word'].unique()),
|
|
|
+ g_df = org_df.groupby('config_id').apply(lambda x: pd.Series({'query_word': list(x['query_word'].unique()),
|
|
|
+ 'recommended_word': list(x['recommended_word'].unique()),
|
|
|
'operator': x['operator'].min(),
|
|
|
'create_time': str(x['start_time'].min()),
|
|
|
'user_id': x['user_id'].min()}))
|