entity.py 2.6 KB

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