|
@@ -521,6 +521,8 @@ class DatasetService:
|
|
|
"document_ids": [],
|
|
|
"count": 0,
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
class TemplateService:
|
|
|
DEFAULT_RULES: dict[str, Any] = {
|
|
|
"mode": "custom",
|
|
@@ -536,9 +538,9 @@ class TemplateService:
|
|
|
},
|
|
|
}
|
|
|
|
|
|
- #批量删除
|
|
|
+ # 批量删除
|
|
|
@staticmethod
|
|
|
- def delete_templates(dataset: Dataset,template_ids: list[str]):
|
|
|
+ def delete_templates(dataset: Dataset, template_ids: list[str]):
|
|
|
templates = db.session.query(Template).filter(Template.id.in_(template_ids)).all()
|
|
|
file_ids = [
|
|
|
template.data_source_info_dict["upload_file_id"]
|
|
@@ -558,14 +560,10 @@ class TemplateService:
|
|
|
data_source_info = template.data_source_info_dict
|
|
|
if data_source_info and "upload_file_id" in data_source_info:
|
|
|
file_id = data_source_info["upload_file_id"]
|
|
|
- template_was_deleted.send(
|
|
|
-
|
|
|
- template.id, file_id=file_id
|
|
|
- )
|
|
|
+ template_was_deleted.send(template.id, file_id=file_id)
|
|
|
db.session.delete(template)
|
|
|
db.session.commit()
|
|
|
|
|
|
-
|
|
|
@staticmethod
|
|
|
def save_template_with_dataset_id(
|
|
|
upload_file: UploadFile,
|
|
@@ -573,41 +571,40 @@ class TemplateService:
|
|
|
account: Account | Any,
|
|
|
dataset_process_rule: Optional[DatasetProcessRule] = None,
|
|
|
created_from: str = "web",
|
|
|
- ):
|
|
|
+ ):
|
|
|
batch = time.strftime("%Y%m%d%H%M%S") + str(random.randint(100000, 999999))
|
|
|
# save process rule
|
|
|
lock_name = "add_template_lock_dataset_id_{}".format(dataset.id)
|
|
|
with redis_client.lock(lock_name, timeout=600):
|
|
|
- position = TemplateService.get_templates_position(dataset.id)
|
|
|
+ position = TemplateService.get_templates_position(dataset.id)
|
|
|
if not upload_file:
|
|
|
- raise FileNotExistsError()
|
|
|
+ raise FileNotExistsError()
|
|
|
|
|
|
file_name = upload_file.name
|
|
|
- print("文件名称"+file_name)
|
|
|
- file_id=upload_file.id
|
|
|
- print("文件id"+file_id)
|
|
|
- data_source_info = {
|
|
|
- "upload_file_id": upload_file.id
|
|
|
- }
|
|
|
+ print("文件名称" + file_name)
|
|
|
+ file_id = upload_file.id
|
|
|
+ print("文件id" + file_id)
|
|
|
+ data_source_info = {"upload_file_id": upload_file.id}
|
|
|
template = TemplateService.build_template(
|
|
|
- dataset,
|
|
|
- #dataset_process_rule.id, # type: ignore
|
|
|
- #data_source_type,
|
|
|
- data_source_info,
|
|
|
- created_from,
|
|
|
- position,
|
|
|
- account,
|
|
|
- file_id,
|
|
|
- file_name,
|
|
|
- batch,
|
|
|
- )
|
|
|
+ dataset,
|
|
|
+ # dataset_process_rule.id, # type: ignore
|
|
|
+ # data_source_type,
|
|
|
+ data_source_info,
|
|
|
+ created_from,
|
|
|
+ position,
|
|
|
+ account,
|
|
|
+ file_id,
|
|
|
+ file_name,
|
|
|
+ batch,
|
|
|
+ )
|
|
|
db.session.add(template)
|
|
|
db.session.flush()
|
|
|
db.session.commit()
|
|
|
templates = []
|
|
|
templates.append(template)
|
|
|
position += 1
|
|
|
- return templates,batch
|
|
|
+ return templates, batch
|
|
|
+
|
|
|
@staticmethod
|
|
|
def get_templates_position(dataset_id):
|
|
|
template = Template.query.filter_by(dataset_id=dataset_id).order_by(Template.position.desc()).first()
|
|
@@ -618,16 +615,16 @@ class TemplateService:
|
|
|
|
|
|
@staticmethod
|
|
|
def build_template(
|
|
|
- dataset: Dataset,
|
|
|
- #process_rule_id: str,
|
|
|
- #data_source_type: 'upload_file',
|
|
|
- data_source_info: dict,
|
|
|
- created_from: str,
|
|
|
- position: int,
|
|
|
- account: Account,
|
|
|
- file_id: str,
|
|
|
- file_name: str,
|
|
|
- batch: str,
|
|
|
+ dataset: Dataset,
|
|
|
+ # process_rule_id: str,
|
|
|
+ # data_source_type: 'upload_file',
|
|
|
+ data_source_info: dict,
|
|
|
+ created_from: str,
|
|
|
+ position: int,
|
|
|
+ account: Account,
|
|
|
+ file_id: str,
|
|
|
+ file_name: str,
|
|
|
+ batch: str,
|
|
|
):
|
|
|
template = Template(
|
|
|
tenant_id=dataset.tenant_id,
|
|
@@ -635,24 +632,25 @@ class TemplateService:
|
|
|
position=position,
|
|
|
data_source_type="upload_file",
|
|
|
data_source_info=json.dumps(data_source_info),
|
|
|
- #dataset_process_rule_id=process_rule_id,
|
|
|
+ # dataset_process_rule_id=process_rule_id,
|
|
|
batch=batch,
|
|
|
name=file_name,
|
|
|
created_from=created_from,
|
|
|
created_by=account.id,
|
|
|
- file_id=file_id
|
|
|
+ file_id=file_id,
|
|
|
)
|
|
|
return template
|
|
|
|
|
|
@staticmethod
|
|
|
- def get_templates(template_id)-> Optional[Template]:
|
|
|
+ def get_templates(template_id) -> Optional[Template]:
|
|
|
if template_id:
|
|
|
print("模版id" + template_id)
|
|
|
- template:Optional[Template] = Template.query.filter_by(id=template_id).first()
|
|
|
+ template: Optional[Template] = Template.query.filter_by(id=template_id).first()
|
|
|
return template
|
|
|
else:
|
|
|
return None
|
|
|
|
|
|
+
|
|
|
class DocumentService:
|
|
|
DEFAULT_RULES: dict[str, Any] = {
|
|
|
"mode": "custom",
|
|
@@ -2462,11 +2460,13 @@ class DatasetPermissionService:
|
|
|
except Exception as e:
|
|
|
db.session.rollback()
|
|
|
raise e
|
|
|
- @classmethod
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
def save_template_with_dataset_id(
|
|
|
dataset: Dataset,
|
|
|
knowledge_config: KnowledgeConfig,
|
|
|
account: Account | Any,
|
|
|
dataset_process_rule: Optional[DatasetProcessRule] = None,
|
|
|
- created_from: str = "web"):
|
|
|
+ created_from: str = "web",
|
|
|
+ ):
|
|
|
return 1
|