entity.py.vm 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. # -*- coding: utf-8 -*-
  2. # @Author : {{ table.function_author }}
  3. # @FileName: {{ table.class_name }}.py
  4. # @Time : {{ datetime }}
  5. from typing import Optional, Annotated
  6. from datetime import datetime
  7. from pydantic import Field, BeforeValidator
  8. from ruoyi_common.base.model import BaseEntity
  9. from ruoyi_common.base.transformer import to_datetime
  10. from ruoyi_common.base.schema_excel import ExcelAccess
  11. class {{ table.class_name }}(BaseEntity):
  12. """
  13. {{ table.table_comment }}对象
  14. """
  15. {%- for column in table.columns %}
  16. {%- set excel_name = (column.column_comment or column.java_field)|replace('"', '\\"') %}
  17. {%- if column.java_type == 'String' or column.java_type == 'str' %}
  18. # {{ column.column_comment }}
  19. {{ underscore(column.java_field) }}: Optional[str] = Field(default=None, description="{{ column.column_comment|replace('"','\\"') }}", json_schema_extra={"excel_access": ExcelAccess(name="{{ excel_name }}")})
  20. {%- elif column.java_type == 'Integer' or column.java_type == 'int' %}
  21. # {{ column.column_comment }}
  22. {{ underscore(column.java_field) }}: Optional[int] = Field(default=None, description="{{ column.column_comment|replace('"','\\"') }}", json_schema_extra={"excel_access": ExcelAccess(name="{{ excel_name }}")})
  23. {%- elif column.java_type == 'Long' %}
  24. # {{ column.column_comment }}
  25. {{ underscore(column.java_field) }}: Optional[int] = Field(default=None, description="{{ column.column_comment|replace('"','\\"') }}", json_schema_extra={"excel_access": ExcelAccess(name="{{ excel_name }}")})
  26. {%- elif column.java_type == 'Float' or column.java_type == 'Double' %}
  27. # {{ column.column_comment }}
  28. {{ underscore(column.java_field) }}: Optional[float] = Field(default=None, description="{{ column.column_comment|replace('"','\\"') }}", json_schema_extra={"excel_access": ExcelAccess(name="{{ excel_name }}")})
  29. {%- elif column.java_type == 'Boolean' or column.java_type == 'bool' %}
  30. # {{ column.column_comment }}
  31. {{ underscore(column.java_field) }}: Optional[bool] = Field(default=None, description="{{ column.column_comment|replace('"','\\"') }}", json_schema_extra={"excel_access": ExcelAccess(name="{{ excel_name }}")})
  32. {%- elif column.java_type == 'Date' or column.java_type == 'DateTime' %}
  33. # {{ column.column_comment }}
  34. {{ underscore(column.java_field) }}: Annotated[Optional[datetime], BeforeValidator(to_datetime())] = Field(default=None, description="{{ column.column_comment|replace('"','\\"') }}", json_schema_extra={"excel_access": ExcelAccess(name="{{ excel_name }}")})
  35. {%- else %}
  36. # {{ column.column_comment }}
  37. {{ underscore(column.java_field) }}: Optional[str] = Field(default=None, description="{{ column.column_comment|replace('"','\\"') }}", json_schema_extra={"excel_access": ExcelAccess(name="{{ excel_name }}")})
  38. {%- endif %}
  39. {%- endfor %}
  40. # 页码
  41. page_num: Optional[int] = Field(default=1, description="页码")
  42. # 每页数量
  43. page_size: Optional[int] = Field(default=10, description="每页数量")