ops_event_task.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. package opsdev
  2. import (
  3. "dashoo.cn/opms_libary/request"
  4. "dashoo.cn/opms_parent/app/model/opsdev/internal"
  5. "github.com/gogf/gf/os/gtime"
  6. )
  7. // OpsEventTask is the golang structure for table ops_event_task.
  8. type OpsEventTask internal.OpsEventTask
  9. // ----------------------
  10. // 任务状态常量定义
  11. // ----------------------
  12. // Task Status
  13. const (
  14. // 待处理
  15. TaskStatusTodo = "10"
  16. // 处理中
  17. TaskStatusProcessing = "20"
  18. // 暂停
  19. TaskStatusPaused = "25"
  20. // 已完成
  21. TaskStatusCompleted = "30"
  22. // 阻塞
  23. TaskStatusBlocked = "70"
  24. // 作废
  25. TaskStatusCancelled = "90"
  26. )
  27. // Task Type
  28. const (
  29. // 需求评审
  30. TaskTypeReqReview = "10"
  31. // 功能开发
  32. TaskTypeFeatureDev = "20"
  33. // 功能测试
  34. TaskTypeFeatureTest = "30"
  35. // 系统发版
  36. TaskTypeSystemRelease = "40"
  37. )
  38. // Priority
  39. const (
  40. PriorityUrgent = "10" // 紧急
  41. PriorityHigh = "20" // 高
  42. PriorityMedium = "30" // 中
  43. PriorityLow = "40" // 低
  44. )
  45. // ----------------------
  46. // 传输对象 (DTOs)
  47. // ----------------------
  48. // OpsEventTaskSearchReq - 列表查询请求,嵌入分页
  49. type OpsEventTaskSearchReq struct {
  50. request.PageReq
  51. ProjectId int `json:"projectId"`
  52. TaskTitle string `json:"taskTitle"`
  53. TaskType []string `json:"taskType"`
  54. TaskStatus []string `json:"taskStatus"`
  55. Priority []string `json:"priority"`
  56. OpsUserName string `json:"opsUserName"`
  57. SortFields []SortField `json:"sortFields"`
  58. }
  59. // OpsEventTaskAddReq - 创建请求
  60. type OpsEventTaskAddReq struct {
  61. ProjectId int `json:"projectId"` // 必填
  62. TaskTitle string `json:"taskTitle"` // 必填
  63. TaskDesc string `json:"taskDesc"`
  64. TaskType string `json:"taskType"` // 必填
  65. Priority string `json:"priority"` // 必填
  66. Remark string `json:"remark"`
  67. }
  68. // OpsEventTaskUpdateReq - 更新请求
  69. type OpsEventTaskUpdateReq struct {
  70. Id int `json:"id"`
  71. TaskTitle string `json:"taskTitle"`
  72. TaskDesc string `json:"taskDesc"`
  73. TaskType string `json:"taskType"`
  74. Priority string `json:"priority"`
  75. Remark string `json:"remark"`
  76. }
  77. // OpsEventTaskScheduleReq - 排期请求
  78. type OpsEventTaskScheduleReq struct {
  79. Id int `json:"id"`
  80. OpsUserId int `json:"opsUserId"`
  81. OpsUserName string `json:"opsUserName"`
  82. PlanStartTime string `json:"planStartTime"`
  83. PlanEndTime string `json:"planEndTime"`
  84. EstimateWorkHour float64 `json:"estimateWorkHour"`
  85. }
  86. // OpsEventTaskCompleteReq - 完成请求
  87. type OpsEventTaskCompleteReq struct {
  88. Id int `json:"id"`
  89. ActualWorkHour float64 `json:"actualWorkHour"`
  90. Remark string `json:"remark"`
  91. Attachments []Attachment `json:"attachments"`
  92. }
  93. // OpsEventTaskStatusReq - 状态变更请求(暂停/阻塞/取消)
  94. type OpsEventTaskStatusReq struct {
  95. Id int `json:"id"`
  96. Remark string `json:"remark"`
  97. }
  98. // OpsEventTaskRsp - API 响应结构
  99. type OpsEventTaskRsp struct {
  100. OpsEventTask
  101. ProjectName string `json:"projectName"`
  102. }
  103. // OpsEventTaskRecordSearchReq - 记录查询
  104. type OpsEventTaskRecordSearchReq struct {
  105. TaskId int `json:"taskId"`
  106. }
  107. // OpsEventTaskRecordWithAttachments - 记录带附件
  108. type OpsEventTaskRecordWithAttachments struct {
  109. OpsEventTaskRecord
  110. Attachments []*Attachment `json:"attachments"`
  111. }
  112. // SortField - 排序字段
  113. type SortField struct {
  114. Field string `json:"field"`
  115. Order string `json:"order"`
  116. }
  117. // Attachment - 附件信息
  118. type Attachment struct {
  119. FileName string `json:"fileName"`
  120. FileUrl string `json:"fileUrl"`
  121. FileType string `json:"fileType"`
  122. }
  123. // OpsEventTaskRecord - 任务记录的简化 DTO(与业务无关,仅为 DTO 演示)
  124. type OpsEventTaskRecord struct {
  125. Id int `json:"id"`
  126. TaskId int `json:"taskId"`
  127. Action string `json:"action"`
  128. CreatedTime *gtime.Time `json:"createdTime"`
  129. }