Przeglądaj źródła

新增脚本配置(关键词-相似推荐词)

liyuyi@c-top.com.cn 3 lat temu
rodzic
commit
4f3c3ecc15
2 zmienionych plików z 24 dodań i 15 usunięć
  1. 0 0
      config/__init__.py
  2. 24 15
      routers/script_config.py

+ 0 - 0
config/__init__.py


+ 24 - 15
routers/script_config.py

@@ -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",