|
@@ -93,17 +93,22 @@ class QueryWordTaskInfoLst(BaseModel):
|
|
|
source_code: Optional[List[int]] = Field([0], description="数据来源编码{1:'内部创意', 2:'巨量创意', 3:'开眼快创'}")
|
|
|
|
|
|
|
|
|
+class QueryWordAndRecommendedWordPair(BaseModel):
|
|
|
+ query_word: str = Field('红包', description='关键字')
|
|
|
+ recommended_word: List[str] = Field(['推荐词1', '推荐词2'], description='推荐词')
|
|
|
+
|
|
|
+
|
|
|
class AddScriptConfig(BaseModel):
|
|
|
- query_word_lst: List[str] = Field(..., description="关键词组")
|
|
|
+ query_word_pair: List[QueryWordAndRecommendedWordPair] = Field(..., description="关键词-推荐词")
|
|
|
operator: str = Field(..., description="操作者")
|
|
|
user_id: str = Field(..., description="user_id")
|
|
|
|
|
|
class Config:
|
|
|
schema_extra = {
|
|
|
"example": {
|
|
|
- "query_word_lst": ["红包", "淘特"],
|
|
|
- "operator": "龙猫",
|
|
|
- "user_id": "234d46d1873f4dac85b2a2f9ad541e18"
|
|
|
+ "query_word_pair": [{"query_word": "红包", "recommended_word": ["购物券", "优惠券", "现金"]}],
|
|
|
+ "operator": "管理员",
|
|
|
+ "user_id": "e9ca23d68d884d4ebb19d07889727dae"
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -310,19 +315,23 @@ def get_query_word_task_info_lst(item: QueryWordTaskInfoLst):
|
|
|
response_model=BaseResponse)
|
|
|
def add_script_config(item: AddScriptConfig):
|
|
|
try:
|
|
|
- # 按查询词拆分配置记录
|
|
|
- config_id = str(uuid.uuid4())
|
|
|
- config_df = pd.DataFrame(data=item.query_word_lst, columns=['query_word'])
|
|
|
- config_df['config_id'] = config_id
|
|
|
- config_df['operator'] = item.operator
|
|
|
- config_df['operate_type'] = 1
|
|
|
- config_df['user_id'] = item.user_id
|
|
|
+ multi_config_df = pd.DataFrame()
|
|
|
+ for pair in item.query_word_pair:
|
|
|
+ config_id = str(uuid.uuid4())
|
|
|
+ config_df = pd.DataFrame({'query_word': pair.query_word,
|
|
|
+ 'recommended_word': pair.recommended_word,
|
|
|
+ 'config_id': config_id})
|
|
|
+ multi_config_df = multi_config_df.append(config_df)
|
|
|
+
|
|
|
+ multi_config_df['operator'] = item.operator
|
|
|
+ multi_config_df['operate_type'] = 1
|
|
|
+ multi_config_df['user_id'] = item.user_id
|
|
|
|
|
|
# 新增配置记录插入到 ctop_ai_script_query_word_config
|
|
|
- config_df.to_sql(name="ctop_ai_script_query_word_config",
|
|
|
- con=ai_word_engine,
|
|
|
- if_exists='append',
|
|
|
- index=False)
|
|
|
+ multi_config_df.to_sql(name="ctop_ai_script_query_word_config",
|
|
|
+ con=ai_word_engine,
|
|
|
+ if_exists='append',
|
|
|
+ index=False)
|
|
|
logger.info(f"request body: {item}, code:0, message: add_script_config success")
|
|
|
return {"code": 0,
|
|
|
"message": "add success",
|