|  | @@ -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):
 |