Bladeren bron

脚本删除,进行判空处理

liyuyi@c-top.com.cn 3 jaren geleden
bovenliggende
commit
53d1a2f5fb
1 gewijzigde bestanden met toevoegingen van 37 en 37 verwijderingen
  1. 37 37
      routers/script_config.py

+ 37 - 37
routers/script_config.py

@@ -371,47 +371,47 @@ def add_script_config(item: AddScriptConfig):
              summary='删除脚本配置',
              response_model=BaseResponse)
 def delete_script_config(item: DeleteScriptConfig):
+    response = BaseResponse(code=0, message='delete success', success=True)
     try:
         sql = f"select * from ctop_ai_script_query_word_config where config_id = '{item.config_id}'"
         config_df = pd.read_sql(sql, ai_word_engine)
-
-        column_type = {'config_id': VARCHAR(36),
-                       'query_word': VARCHAR(36),
-                       'recommended_word': VARCHAR(36)}
-
-        update_config_df = config_df.copy(deep=True)
-        update_config_df['end_time'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
-        update_config_df.set_index(['config_id', 'query_word', 'recommended_word', 'operate_type'], drop=True, inplace=True)
-
-        upsert(engine=ai_word_engine,
-               df=update_config_df,
-               table_name='ctop_ai_script_query_word_config',
-               if_row_exists='update',
-               dtype=column_type)
-
-        add_config_df = config_df.copy(deep=True)
-        add_config_df['operate_type'] = 3
-        add_config_df['user_id'] = item.user_id
-        add_config_df['operator'] = item.operator
-        add_config_df['start_time'] = datetime.today().strftime('%Y-%m-%d %H:%M:%S')
-        add_config_df.drop(labels='end_time', axis=1, inplace=True)
-
-        add_config_df.set_index(['config_id', 'query_word', 'recommended_word', 'operate_type'], drop=True, inplace=True)
-        upsert(engine=ai_word_engine,
-               df=add_config_df,
-               table_name='ctop_ai_script_query_word_config',
-               if_row_exists='update',
-               dtype=column_type)
-
-        logger.info(f"request body: {item}, code:0, message: delete_script_config success")
-        return {"code": 0,
-                "message": "delete success",
-                "success": True}
+        if not config_df.empty:
+            column_type = {'config_id': VARCHAR(36),
+                           'query_word': VARCHAR(36),
+                           'recommended_word': VARCHAR(36)}
+
+            update_config_df = config_df.copy(deep=True)
+            update_config_df['end_time'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
+            update_config_df.set_index(['config_id', 'query_word', 'recommended_word', 'operate_type'], drop=True, inplace=True)
+
+            upsert(engine=ai_word_engine,
+                   df=update_config_df,
+                   table_name='ctop_ai_script_query_word_config',
+                   if_row_exists='update',
+                   dtype=column_type)
+
+            add_config_df = config_df.copy(deep=True)
+            add_config_df['operate_type'] = 3
+            add_config_df['user_id'] = item.user_id
+            add_config_df['operator'] = item.operator
+            add_config_df['start_time'] = datetime.today().strftime('%Y-%m-%d %H:%M:%S')
+            add_config_df.drop(labels='end_time', axis=1, inplace=True)
+
+            add_config_df.set_index(['config_id', 'query_word', 'recommended_word', 'operate_type'], drop=True, inplace=True)
+            upsert(engine=ai_word_engine,
+                   df=add_config_df,
+                   table_name='ctop_ai_script_query_word_config',
+                   if_row_exists='update',
+                   dtype=column_type)
+        else:
+            response.message = f'没有获取到 {item.config_id} 对应的数据'
+        logger.info(f"request body: {item}, response: {response}")
     except:
-        logger.error(f"request body: {item}, code:-1, message: delete_script_config fail {traceback.format_exc()}")
-        return {"code": -1,
-                "message": traceback.format_exc(),
-                "success": False}
+        response.code = -1
+        response.message = traceback.format_exc()
+        response.success = False
+        logger.error(f"request body: {item}, response: {response}")
+    return response
 
 
 @logger.catch