lierqiang 2 gadi atpakaļ
vecāks
revīzija
4d1f9780f7
1 mainītis faili ar 47 papildinājumiem un 6 dzēšanām
  1. 47 6
      server/conf_task.py

+ 47 - 6
server/conf_task.py

@@ -25,12 +25,24 @@ conf = get_config()
 def delSpiderLink():
     data = request.json
     spider_links = data['spider_link']
+    task_id = data['task_id']
     del_link = []
     for link in spider_links:
         up_sql = f'update crawler_author_map set is_del=0 where spider_link="{link}"'
         MysqlHelper.update_values(up_sql)
         del_link.append(link)
-    return jsonify({'code': 200, 'message': '抓取名单删除成功', 'del_link': del_link})
+
+    sql = f'select spider_link from crawler_task where task_id ={task_id}'
+    task = mysql_con.get_values(sql)
+    spider_link = eval(task[0]['spider_link'])
+    for link in spider_link:
+        spider_link.remove(link)
+    u_sql = f'update crawler_task set spider_link="{spider_link}" where task_id={task_id}'
+    mysql_con.update_values(u_sql)
+    if del_link:
+        return jsonify({'code': 200, 'message': '抓取名单删除成功', 'del_link': del_link})
+    else:
+        return jsonify({'code': 400, 'message': '抓取名单删除失败', 'del_link': del_link, 'spider_link': spider_links})
 
 
 @app.route("/v1/crawler/task/getcategory", methods=["GET"])
@@ -74,7 +86,7 @@ def getMediaInfo():
             nick_name=nick_name,
             spider_link=spider_link,
             media_id={'media_id': media_id, 'media_url': conf['media_main_url'].format(media_id)},
-            create_user_time=create_user_time
+            create_user_time=create_user_time * 1000
         )
         task_user_info.append(media_data)
     return jsonify({'code': 200, 'data': task_user_info})
@@ -205,14 +217,43 @@ def insertTask():
         return jsonify({'code': 500, 'message': '任务写入失败,原因:{e}'})
 
 
-@app.route("/v1/crawler/task/gettask", methods=["GET"])
+@app.route("/v1/crawler/task/gettask", methods=["POST"])
 def getAllTask():
     try:
-        get_data = request.args.to_dict()
+        get_data = request.json
         page = int(get_data.get('page', 1))
         offset = int(get_data.get('offset', 10))
         start_count = (page * offset) - offset
         end_count = page * offset
+        if get_data.get('fields'):
+            select_data = get_data['fields']
+            values = ''
+            for k, v in select_data.items():
+                if isinstance(v, int):
+                    values += f'{k}={v} and '
+                else:
+                    values += f'{k}="{v}" and '
+            sql = f"select task_id from crawler_author_map where {values[:-4]} and is_del=1"  # [:-1]是为了去掉末尾的逗号
+            res = mysql_con.get_values(sql)
+            task_list = list()
+            for author_info in res:
+                task_id = author_info['task_id']
+                sql = f'select task_name, source, task_type, create_task_user, insert_time, update_task_user, update_time from crawler_task where task_id={task_id} order by update_time desc limit {start_count}, {end_count}'
+                task_info = mysql_con.get_values(sql)
+                task_data = dict(
+                    task_id=task_info['task_id'],
+                    task_name=task_info['task_name'],
+                    source=task_info['source'],
+                    task_type=task_info['task_type'],
+                    create_task_user=task_info['create_task_user'],
+                    insert_time=task_info['insert_time'] * 1000,
+                    update_task_user=task_info['update_task_user'],
+                    update_time=task_info['update_time'] * 1000
+                )
+                task_list.append(task_data)
+
+            return jsonify({'code': 200, 'data': task_list})
+
         sql = f"""select task_id, task_name, source, task_type, create_task_user, insert_time, update_task_user, update_time  from crawler_task order by update_time desc limit {start_count}, {end_count} """
         result = mysql_con.get_values(sql)
         if not result:
@@ -278,8 +319,8 @@ def updateTask():
         task_id = data.get('task_id')
         task_info = data.get('task_info')
         values = ''
-        task_info['min_publish_time'] = task_info['min_publish_time']/1000
-        task_info['next_time'] = task_info['next_time']/1000
+        task_info['min_publish_time'] = task_info['min_publish_time'] / 1000
+        task_info['next_time'] = task_info['next_time'] / 1000
 
         for k, v in task_info.items():
             if isinstance(v, int):