entity.py.vm 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # -*- coding: utf-8 -*-
  2. # @Author : {{ table.function_author }}
  3. # @FileName: {{ table.class_name }}.py
  4. # @Time : {{ datetime }}
  5. from typing import Optional, Union
  6. from datetime import datetime
  7. from ruoyi_common.base.model import BaseEntity
  8. from sqlalchemy import Column, String, Integer, Float, Boolean, DateTime, Text, BigInteger
  9. from ruoyi_common.utils.base import DateUtil
  10. class {{ table.class_name }}(BaseEntity):
  11. """
  12. {{ table.table_comment }}对象
  13. """
  14. __tablename__ = '{{ table.table_name }}'
  15. {%- for column in table.columns %}
  16. {%- if column.java_type == 'String' or column.java_type == 'str' %}
  17. {{ underscore(column.java_field) }} = Column(String(255), default=None, doc="{{ column.column_comment }}")
  18. {%- elif column.java_type == 'Integer' or column.java_type == 'int' %}
  19. {{ underscore(column.java_field) }} = Column(Integer, default=None, doc="{{ column.column_comment }}")
  20. {%- elif column.java_type == 'Long' %}
  21. {{ underscore(column.java_field) }} = Column(BigInteger, default=None, doc="{{ column.column_comment }}")
  22. {%- elif column.java_type == 'Float' or column.java_type == 'Double' %}
  23. {{ underscore(column.java_field) }} = Column(Float, default=None, doc="{{ column.column_comment }}")
  24. {%- elif column.java_type == 'Boolean' or column.java_type == 'bool' %}
  25. {{ underscore(column.java_field) }} = Column(Boolean, default=None, doc="{{ column.column_comment }}")
  26. {%- else %}
  27. {{ underscore(column.java_field) }} = Column(String(255), default=None, doc="{{ column.column_comment }}")
  28. {%- endif %}
  29. {%- endfor %}
  30. def __init__(self, **kwargs):
  31. super().__init__(**kwargs)
  32. # 初始化所有字段
  33. {%- for column in table.columns %}
  34. self.{{ underscore(column.java_field) }} = kwargs.get('{{ underscore(column.java_field) }}', None)
  35. {%- endfor %}
  36. def to_dict(self):
  37. """转换为字典"""
  38. result = super().to_dict()
  39. # 添加实体类特定字段
  40. {%- for column in table.columns %}
  41. result['{{ underscore(column.java_field) }}'] = self.{{ underscore(column.java_field) }}
  42. {%- endfor %}
  43. return result