File size: 1,168 Bytes
b4f2238
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
"""Business logic services."""

from typing import Any

from apps.core.dto import DocumentTemplateDTO


class DocumentTemplateDtoAssembler:
    def to_dto(self, template: Any) -> DocumentTemplateDTO:
        case_types = template.case_types or []
        case_type = case_types[0] if case_types and case_types[0] != "all" else None

        return DocumentTemplateDTO(
            id=template.id,
            name=template.name,
            function_code="",  # 字段已删除,保留空字符串以兼容DTO
            file_path=template.get_file_location() if hasattr(template, "get_file_location") else template.file_path,
            template_type=getattr(template, "template_type", None),
            case_sub_type=getattr(template, "case_sub_type", None),
            case_types=list(getattr(template, "case_types", None) or []),
            case_stages=list(getattr(template, "case_stages", None) or []),
            legal_statuses=list(getattr(template, "legal_statuses", None) or []),
            legal_status_match_mode=getattr(template, "legal_status_match_mode", None),
            case_type=case_type,
            is_active=template.is_active,
        )