|
@@ -6,6 +6,7 @@ from utils.mysql_helper import MySQLHelper
|
|
|
|
|
|
|
|
|
|
class InstrumentData:
|
|
class InstrumentData:
|
|
|
|
+
|
|
def __init__(
|
|
def __init__(
|
|
self,
|
|
self,
|
|
company: str,
|
|
company: str,
|
|
@@ -34,7 +35,7 @@ class ProcessResultData:
|
|
title=None,
|
|
title=None,
|
|
url=None,
|
|
url=None,
|
|
keyword=None,
|
|
keyword=None,
|
|
- provice=None,
|
|
|
|
|
|
+ province=None,
|
|
city=None,
|
|
city=None,
|
|
date=None,
|
|
date=None,
|
|
instruments=None,
|
|
instruments=None,
|
|
@@ -58,12 +59,12 @@ class ProcessResultData:
|
|
self.instruments_str = ""
|
|
self.instruments_str = ""
|
|
self.instruments = []
|
|
self.instruments = []
|
|
self.set_instruments(instruments, instruments_o)
|
|
self.set_instruments(instruments, instruments_o)
|
|
- self.provice = provice.replace("省", "").replace("市", "") if provice else ""
|
|
|
|
- self.city = (
|
|
|
|
- city.replace("市", "").replace("区", "").replace("县", "") if city else ""
|
|
|
|
- )
|
|
|
|
- if self.provice == self.city:
|
|
|
|
- self.provice = ""
|
|
|
|
|
|
+ self.province = province.replace("省", "").replace(
|
|
|
|
+ "市", "") if province else ""
|
|
|
|
+ self.city = (city.replace("市", "").replace("区", "").replace("县", "")
|
|
|
|
+ if city else "")
|
|
|
|
+ if self.province == self.city:
|
|
|
|
+ self.province = ""
|
|
self.summary = summary
|
|
self.summary = summary
|
|
self.attach_path = attach_path
|
|
self.attach_path = attach_path
|
|
self.status = status
|
|
self.status = status
|
|
@@ -78,10 +79,9 @@ class ProcessResultData:
|
|
def __repr__(self):
|
|
def __repr__(self):
|
|
return (
|
|
return (
|
|
f"ProcessResultData(no={self.no}, title={self.title}, date={self.date}, "
|
|
f"ProcessResultData(no={self.no}, title={self.title}, date={self.date}, "
|
|
- f"keyword={self.keyword}, provice={self.provice},city={self.city},instruments={self.instruments_str} summary={self.summary}, attach_path={self.attach_path}, "
|
|
|
|
|
|
+ f"keyword={self.keyword}, province={self.province},city={self.city},instruments={self.instruments_str} summary={self.summary}, attach_path={self.attach_path}, "
|
|
f"status={self.status}, create_time={self.create_time}, "
|
|
f"status={self.status}, create_time={self.create_time}, "
|
|
- f"send_time={self.send_time}, remark={self.remark})"
|
|
|
|
- )
|
|
|
|
|
|
+ f"send_time={self.send_time}, remark={self.remark})")
|
|
|
|
|
|
def set_instruments(self, instruments_str: str, instruments):
|
|
def set_instruments(self, instruments_str: str, instruments):
|
|
if instruments is None:
|
|
if instruments is None:
|
|
@@ -94,19 +94,16 @@ class ProcessResultData:
|
|
]
|
|
]
|
|
else:
|
|
else:
|
|
self.instruments = instruments or []
|
|
self.instruments = instruments or []
|
|
- self.instruments_str = (
|
|
|
|
- json.dumps(
|
|
|
|
- instruments,
|
|
|
|
- ensure_ascii=False,
|
|
|
|
- )
|
|
|
|
- if len(instruments) > 0
|
|
|
|
- else ""
|
|
|
|
- )
|
|
|
|
|
|
+ self.instruments_str = (json.dumps(
|
|
|
|
+ instruments,
|
|
|
|
+ ensure_ascii=False,
|
|
|
|
+ ) if len(instruments) > 0 else "")
|
|
|
|
|
|
_insert_query = """
|
|
_insert_query = """
|
|
- INSERT IGNORE INTO t_data_result (no, title, url, keyword, date, provice, city, instruments, summary, attach_path, status, create_time, prompt_tokens, completion_tokens, total_tokens)
|
|
|
|
|
|
+ INSERT IGNORE INTO t_data_result (no, title, url, keyword, date, province, city, instruments, summary, attach_path, status, create_time, prompt_tokens, completion_tokens, total_tokens)
|
|
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s);
|
|
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s);
|
|
"""
|
|
"""
|
|
|
|
+
|
|
# _update_query = """
|
|
# _update_query = """
|
|
# UPDATE t_collect_data SET status = 1 WHERE url = %s;
|
|
# UPDATE t_collect_data SET status = 1 WHERE url = %s;
|
|
# """
|
|
# """
|
|
@@ -121,7 +118,7 @@ class ProcessResultData:
|
|
process_result_data.url,
|
|
process_result_data.url,
|
|
process_result_data.keyword,
|
|
process_result_data.keyword,
|
|
process_result_data.date,
|
|
process_result_data.date,
|
|
- process_result_data.provice,
|
|
|
|
|
|
+ process_result_data.province,
|
|
process_result_data.city,
|
|
process_result_data.city,
|
|
process_result_data.instruments_str,
|
|
process_result_data.instruments_str,
|
|
process_result_data.summary,
|
|
process_result_data.summary,
|
|
@@ -142,33 +139,28 @@ class ProcessResultData:
|
|
|
|
|
|
def insert_batch(self, process_result_data_list):
|
|
def insert_batch(self, process_result_data_list):
|
|
if not all(
|
|
if not all(
|
|
- isinstance(process_result_data, self.__class__)
|
|
|
|
- for process_result_data in process_result_data_list
|
|
|
|
- ):
|
|
|
|
|
|
+ isinstance(process_result_data, self.__class__)
|
|
|
|
+ for process_result_data in process_result_data_list):
|
|
raise TypeError(
|
|
raise TypeError(
|
|
- "process_result_data_list 中的所有元素必须是 ProcessResultData 的实例"
|
|
|
|
- )
|
|
|
|
|
|
+ "process_result_data_list 中的所有元素必须是 ProcessResultData 的实例")
|
|
|
|
|
|
- insert_params = [
|
|
|
|
- (
|
|
|
|
- process_result_data.no,
|
|
|
|
- process_result_data.title,
|
|
|
|
- process_result_data.url,
|
|
|
|
- process_result_data.keyword,
|
|
|
|
- process_result_data.date,
|
|
|
|
- process_result_data.provice,
|
|
|
|
- process_result_data.city,
|
|
|
|
- process_result_data.instruments_str,
|
|
|
|
- process_result_data.summary,
|
|
|
|
- process_result_data.attach_path,
|
|
|
|
- 0,
|
|
|
|
- datetime.now(),
|
|
|
|
- process_result_data.prompt_tokens,
|
|
|
|
- process_result_data.completion_tokens,
|
|
|
|
- process_result_data.total_tokens,
|
|
|
|
- )
|
|
|
|
- for process_result_data in process_result_data_list
|
|
|
|
- ]
|
|
|
|
|
|
+ insert_params = [(
|
|
|
|
+ process_result_data.no,
|
|
|
|
+ process_result_data.title,
|
|
|
|
+ process_result_data.url,
|
|
|
|
+ process_result_data.keyword,
|
|
|
|
+ process_result_data.date,
|
|
|
|
+ process_result_data.province,
|
|
|
|
+ process_result_data.city,
|
|
|
|
+ process_result_data.instruments_str,
|
|
|
|
+ process_result_data.summary,
|
|
|
|
+ process_result_data.attach_path,
|
|
|
|
+ 0,
|
|
|
|
+ datetime.now(),
|
|
|
|
+ process_result_data.prompt_tokens,
|
|
|
|
+ process_result_data.completion_tokens,
|
|
|
|
+ process_result_data.total_tokens,
|
|
|
|
+ ) for process_result_data in process_result_data_list]
|
|
|
|
|
|
# update_params = [(process_result_data.url, )
|
|
# update_params = [(process_result_data.url, )
|
|
# for process_result_data in process_result_data_list]
|
|
# for process_result_data in process_result_data_list]
|
|
@@ -187,7 +179,7 @@ class ProcessResultData:
|
|
|
|
|
|
def fetch_one_process_by_url(self, url: str):
|
|
def fetch_one_process_by_url(self, url: str):
|
|
with MySQLHelper() as db_helper:
|
|
with MySQLHelper() as db_helper:
|
|
- result = db_helper.fetch_one(self._one_url_query, (url,))
|
|
|
|
|
|
+ result = db_helper.fetch_one(self._one_url_query, (url, ))
|
|
if not result:
|
|
if not result:
|
|
return None
|
|
return None
|
|
data = ProcessResultData(
|
|
data = ProcessResultData(
|
|
@@ -204,7 +196,7 @@ class ProcessResultData:
|
|
|
|
|
|
def fetch_one_process_by_no(self, no: str):
|
|
def fetch_one_process_by_no(self, no: str):
|
|
with MySQLHelper() as db_helper:
|
|
with MySQLHelper() as db_helper:
|
|
- result = db_helper.fetch_one(self._one_no_query, (no,))
|
|
|
|
|
|
+ result = db_helper.fetch_one(self._one_no_query, (no, ))
|
|
if not result:
|
|
if not result:
|
|
return None
|
|
return None
|
|
data = ProcessResultData(
|
|
data = ProcessResultData(
|
|
@@ -215,7 +207,7 @@ class ProcessResultData:
|
|
)
|
|
)
|
|
return data
|
|
return data
|
|
|
|
|
|
- _not_send_query = "SELECT no, title, url, keyword, date, provice, city, instruments, summary, attach_path, status, create_time, send_time FROM t_data_result WHERE status = 0"
|
|
|
|
|
|
+ _not_send_query = "SELECT no, title, url, keyword, date, province, city, instruments, summary, attach_path, status, create_time, send_time FROM t_data_result WHERE status = 0"
|
|
|
|
|
|
def fetch_not_send(self):
|
|
def fetch_not_send(self):
|
|
with MySQLHelper() as db_helper:
|
|
with MySQLHelper() as db_helper:
|
|
@@ -265,10 +257,8 @@ class ProcessResultData:
|
|
:return:
|
|
:return:
|
|
"""
|
|
"""
|
|
with MySQLHelper() as db_helper:
|
|
with MySQLHelper() as db_helper:
|
|
- params = (date,)
|
|
|
|
|
|
+ params = (date, )
|
|
db_helper.execute_non_query(self._delete_before_date_query, params)
|
|
db_helper.execute_non_query(self._delete_before_date_query, params)
|
|
affected_rows = db_helper.connection.affected_rows()
|
|
affected_rows = db_helper.connection.affected_rows()
|
|
- utils.get_logger().info(
|
|
|
|
- f"删除 {date} 之前共 {affected_rows} 条 中标处理记录。"
|
|
|
|
- )
|
|
|
|
|
|
+ utils.get_logger().info(f"删除 {date} 之前共 {affected_rows} 条 中标处理记录。")
|
|
return affected_rows
|
|
return affected_rows
|