Quellcode durchsuchen

get_script_config_lst 添加判空

liyuyi@c-top.com.cn vor 3 Jahren
Ursprung
Commit
7574a4f15d
1 geänderte Dateien mit 30 neuen und 18 gelöschten Zeilen
  1. 30 18
      main.py

+ 30 - 18
main.py

@@ -270,31 +270,43 @@ 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}%%') ) "
 
         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()),
+                                                                          'operator': x['operator'].min(),
+                                                                          'create_time': str(x['start_time'].min()),
+                                                                          'user_id': x['user_id'].min()}))
+            g_df.reset_index(drop=False, inplace=True)
+            g_df.sort_values(by='create_time', ascending=False, inplace=True)
+            g_df['number'] = list(range(1, len(g_df) + 1))
+            total_num = g_df.shape[0]
+            detail = g_df.iloc[(item.page_num - 1) * item.page_size: item.page_num * item.page_size].to_dict('records')
+            response = {'code': 0,
+                        "message": "查询成功",
+                        "success": True,
+                        "result": detail,
+                        "total_num": total_num,
+                        "page_num": item.page_num,
+                        "page_size": item.page_size}
+            logger.info(f"request body: {item}, response body: {response}")
+            return response
+        else:
+            response = {'code': 0,
+                        "message": "没有符合条件的数据",
+                        "success": True,
+                        "result": [],
+                        "total_num": 0,
+                        "page_num": item.page_num,
+                        "page_size": item.page_size}
+            logger.info(f"request body: {item}, response body: {response}")
+            return response
 
-        g_df = org_df.groupby('config_id').apply(lambda x: pd.Series({'query_word_lst': list(x['query_word'].unique()),
-                                                                      'operator': x['operator'].min(),
-                                                                      'create_time': str(x['start_time'].min()),
-                                                                      'user_id': x['user_id'].min()}))
-        g_df.reset_index(drop=False, inplace=True)
-        g_df.sort_values(by='create_time', ascending=False, inplace=True)
-        g_df['number'] = list(range(1, len(g_df) + 1))
-        total_num = g_df.shape[0]
-        detail = g_df.iloc[(item.page_num - 1) * item.page_size: item.page_num * item.page_size].to_dict('records')
-        response = {'code': 0,
-                    "message": "查询成功",
-                    "success": True,
-                    "result": detail,
-                    "total_num": total_num,
-                    "page_num": item.page_num,
-                    "page_size": item.page_size}
-        logger.info(f"request body: {item}, response body: {response}")
-        return response
     except:
         response = {"code": -1,
                     "message": traceback.format_exc(),