entity.py 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. # -*- coding: utf-8 -*-
  2. # @Author : YY
  3. from datetime import datetime
  4. from typing import Optional
  5. from pydantic import BeforeValidator, Field
  6. from typing_extensions import Annotated
  7. from ruoyi_common.base.model import BaseEntity, AuditEntity
  8. from ruoyi_common.base.transformer import str_to_int, to_datetime
  9. from ruoyi_common.base.schema_vo import VoAccess
  10. from ruoyi_apscheduler.constant import DATETIME_FORMAT
  11. class SysJob(AuditEntity):
  12. job_id: Annotated[
  13. Optional[int],
  14. BeforeValidator(str_to_int),
  15. Field(default=None)
  16. ]
  17. job_name: Annotated[
  18. Optional[str],
  19. Field(default=None,vo=VoAccess(query=True))
  20. ]
  21. job_group: Annotated[
  22. Optional[str],
  23. Field(default=None,vo=VoAccess(query=True))
  24. ]
  25. invoke_target: Annotated[
  26. Optional[str],
  27. Field(default=None,vo=VoAccess(query=True))
  28. ]
  29. cron_expression: Optional[str] = None
  30. misfire_policy: Optional[str] = None
  31. concurrent: Optional[str] = None
  32. status: Annotated[
  33. Optional[str],
  34. Field(default=None,vo=VoAccess(query=True))
  35. ]
  36. remark: Optional[str] = None
  37. # 创建时间
  38. create_time: Annotated[
  39. Optional[datetime],
  40. BeforeValidator(to_datetime(DATETIME_FORMAT)),
  41. Field(default=None,vo=VoAccess(body=False))
  42. ]
  43. # 更新时间
  44. update_time: Annotated[
  45. Optional[datetime],
  46. BeforeValidator(to_datetime(DATETIME_FORMAT)),
  47. Field(default=None,vo=VoAccess(body=False))
  48. ]
  49. @property
  50. def job_key(self):
  51. return f"{self.job_id}_{self.job_group}"
  52. class SysJobLog(BaseEntity):
  53. job_log_id: Annotated[
  54. Optional[int],
  55. BeforeValidator(str_to_int)
  56. ]
  57. job_name: Annotated[
  58. Optional[str],
  59. Field(default=None,vo=VoAccess(query=True))
  60. ]
  61. job_group: Annotated[
  62. Optional[str],
  63. Field(default=None,vo=VoAccess(query=True))
  64. ]
  65. invoke_target: Optional[str] = None
  66. job_message: Annotated[
  67. Optional[str],
  68. Field(default=None,vo=VoAccess(query=True))
  69. ]
  70. status: Annotated[
  71. Optional[str],
  72. Field(default=None,vo=VoAccess(query=True))
  73. ]
  74. exception_info: Optional[str] = None
  75. # 创建时间
  76. create_time: Annotated[
  77. Optional[datetime],
  78. BeforeValidator(to_datetime()),
  79. Field(default=None,vo=VoAccess(body=False,query=True))
  80. ]