po.py.vm 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # -*- coding: utf-8 -*-
  2. # @Author : {{ table.function_author }}
  3. # @FileName: {{ underscore(table.class_name) }}_po.py
  4. # @Time : {{ datetime }}
  5. from typing import Optional, Union
  6. from datetime import datetime
  7. from pydantic import ConfigDict, Field
  8. from ruoyi_common.base.model import BaseEntity
  9. from ruoyi_common.utils.base import DateUtil
  10. class {{ underscore(table.class_name) }}_po(BaseEntity):
  11. """
  12. {{ table.table_comment }}PO对象
  13. """
  14. model_config = ConfigDict(
  15. from_attributes=True,
  16. json_encoders = {
  17. datetime: lambda v: v.strftime(DateUtil.YYYY_MM_DD_HH_MM_SS) if v else None
  18. },
  19. alias_generator = lambda field: ''.join(['_' + c.lower() if c.isupper() else c for c in field]).lstrip('_')
  20. )
  21. {%- for column in table.columns %}
  22. {%- if column.java_type == 'String' or column.java_type == 'str' %}
  23. {{ underscore(column.java_field) }}: Optional[str] = Field(None, alias='{{ column.java_field }}')
  24. {%- elif column.java_type == 'Integer' or column.java_type == 'int' %}
  25. {{ underscore(column.java_field) }}: Optional[int] = Field(None, alias='{{ column.java_field }}')
  26. {%- elif column.java_type == 'Long' %}
  27. {{ underscore(column.java_field) }}: Optional[int] = Field(None, alias='{{ column.java_field }}')
  28. {%- elif column.java_type == 'Float' or column.java_type == 'Double' %}
  29. {{ underscore(column.java_field) }}: Optional[float] = Field(None, alias='{{ column.java_field }}')
  30. {%- elif column.java_type == 'Boolean' or column.java_type == 'bool' %}
  31. {{ underscore(column.java_field) }}: Optional[bool] = Field(None, alias='{{ column.java_field }}')
  32. {%- else %}
  33. {{ underscore(column.java_field) }}: Optional[str] = Field(None, alias='{{ column.java_field }}')
  34. {%- endif %}
  35. {%- endfor %}
  36. # 分页参数
  37. page_num: Optional[int] = Field(None, alias='pageNum')
  38. page_size: Optional[int] = Field(None, alias='pageSize')