Bladeren bron

get_query_word_task_info_lst 添加判空

liyuyi@c-top.com.cn 3 jaren geleden
bovenliggende
commit
84a52cd349
1 gewijzigde bestanden met toevoegingen van 30 en 17 verwijderingen
  1. 30 17
      main.py

+ 30 - 17
main.py

@@ -325,6 +325,7 @@ def get_query_word_task_info_lst(item: QueryWordTaskInfoLst):
     try:
         end_date = item.end_date + timedelta(days=1)
         source_code_lst = item.source_code * 2 if len(item.source_code) == 1 else item.source_code
+        df = pd.DataFrame()
         if item.config_id != '':
             sql = f"select distinct(query_word) query_word from ctop_ai_script_query_word_config where config_id = '{item.config_id}'"
             query_word_lst = list(pd.read_sql(sql, ai_word_engine).query_word.values)
@@ -341,24 +342,36 @@ def get_query_word_task_info_lst(item: QueryWordTaskInfoLst):
                   f"and ('{item.source_code}' = '[0]' or source_code in {tuple(source_code_lst)}) " \
                   f"and ('{item.search_word}' = '' or query_word = '{item.search_word}')"
             df = pd.read_sql(sql, ai_word_engine)
+        if not df.empty:
+            df['source_name'] = df['source_code'].apply(lambda x: source_name_map[x]['name'])
+            df = df[['source_name', 'query_word', 'stat_date', 'script_num', 'task_status']]
+            df.sort_values(['stat_date', 'source_name', 'query_word'], ascending=False, inplace=True)
+            df['number'] = list(range(1, len(df) + 1))
+            total_num = df.shape[0]
+            detail = 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,
+                        "config_id": item.config_id}
+            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,
+                        "config_id": item.config_id}
+            logger.info(f"request body: {item}, response body: {response}")
+            return response
 
-        df['source_name'] = df['source_code'].apply(lambda x: source_name_map[x]['name'])
-        df = df[['source_name', 'query_word', 'stat_date', 'script_num', 'task_status']]
-        df.sort_values(['stat_date', 'source_name', 'query_word'], ascending=False, inplace=True)
-        df['number'] = list(range(1, len(df) + 1))
-        total_num = df.shape[0]
-        detail = 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,
-                    "config_id": item.config_id}
-        logger.info(f"request body: {item}, response body: {response}")
-        return response
     except:
         response = {"code": -1,
                     "message": traceback.format_exc(),