ctr_contract_event.go 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. // ==========================================================================
  2. // This is auto-generated by gf cli tool. Fill this file as you wish.
  3. // ==========================================================================
  4. package contract
  5. import (
  6. "dashoo.cn/opms_parent/app/model/contract/internal"
  7. )
  8. // CtrContractEvent is the golang structure for table ctr_contract_event.
  9. type CtrContractEvent internal.CtrContractEvent
  10. // 事件类型常量
  11. const (
  12. ContractEventTypeDelivery = "10" // 交付事件
  13. ContractEventTypeOperation = "20" // 运维事件
  14. )
  15. // CtrContractEventSearchReq 合同事件登记列表查询请求
  16. type CtrContractEventSearchReq struct {
  17. ContractId int `json:"contractId"` // 合同ID
  18. EventType string `json:"eventType"` // 事件类型 10=交付 20=运维
  19. EventTitle string `json:"eventTitle"` // 事件标题(模糊)
  20. EventStatus []string `json:"eventStatus"` // 事件状态
  21. FeedbackReporter string `json:"feedbackReporter"` // 反馈人(模糊)
  22. FeedbackDateStart string `json:"feedbackDateStart"` // 反馈时间起(yyyy-MM-dd)
  23. FeedbackDateEnd string `json:"feedbackDateEnd"` // 反馈时间止(yyyy-MM-dd)
  24. OpsUserName string `json:"opsUserName"` // 负责人(模糊)
  25. PageNum int `json:"pageNum"`
  26. PageSize int `json:"pageSize"`
  27. }
  28. // GetPage 获取分页参数
  29. func (r *CtrContractEventSearchReq) GetPage() int {
  30. if r.PageNum <= 0 {
  31. r.PageNum = 1
  32. }
  33. if r.PageSize <= 0 {
  34. r.PageSize = 10
  35. }
  36. return r.PageNum
  37. }
  38. // CtrContractEventAddReq 新增合同事件登记请求(同时创建子事件)
  39. type CtrContractEventAddReq struct {
  40. // 事件大类
  41. EventType string `json:"eventType" v:"required#请选择事件大类"` // 10=交付事件 20=运维事件
  42. // 事件基本信息(对应 ops_operation_event / ops_delivery_project_event)
  43. EventTitle string `json:"eventTitle" v:"required#请输入事件标题"` // 事件标题
  44. EventDesc string `json:"eventDesc"` // 事件描述(富文本)
  45. SubEventType string `json:"subEventType"` // 子事件类型(运维事件类型 / 交付事件类型)
  46. PriorityLevel string `json:"priorityLevel"` // 优先级(运维事件用,P1/P2/P3)
  47. // 合同及客户信息
  48. ContractId int `json:"contractId" v:"required#请选择合同"` // 合同ID
  49. ContractCode string `json:"contractCode"` // 合同编号
  50. ContractName string `json:"contractName"` // 合同名称
  51. CustId int `json:"custId"` // 客户ID
  52. CustName string `json:"custName"` // 客户名称
  53. ProductLine string `json:"productLine"` // 产品线
  54. IsBig string `json:"isBig"` // 是否重大
  55. InchargeId int `json:"inchargeId"` // 负责人ID
  56. InchargeName string `json:"inchargeName"` // 负责人名称
  57. // 反馈信息
  58. FeedbackReporter string `json:"feedbackReporter"` // 反馈人
  59. FeedbackSource string `json:"feedbackSource"` // 反馈来源
  60. FeedbackDate string `json:"feedbackDate"` // 反馈时间
  61. // 附件
  62. Attachments []CtrContractEventAttachmentReq `json:"attachments"`
  63. // 备注
  64. Remark string `json:"remark"`
  65. }
  66. // CtrContractEventAttachmentReq 附件请求
  67. type CtrContractEventAttachmentReq struct {
  68. FileName string `json:"fileName"`
  69. FileUrl string `json:"fileUrl"`
  70. FileType string `json:"fileType"`
  71. }
  72. // CtrContractEventCancelReq 作废合同事件登记请求
  73. type CtrContractEventCancelReq struct {
  74. Id int `json:"id" v:"required#请传入记录ID"`
  75. EventId int `json:"eventId" v:"required#请传入事件ID"`
  76. EventType string `json:"eventType" v:"required#请传入事件类型"`
  77. CancelReason string `json:"cancelReason" v:"required#请填写作废原因"`
  78. }
  79. // CtrContractEventGetProjectReq 按合同ID查询交付项目请求
  80. type CtrContractEventGetProjectReq struct {
  81. ContractId int `json:"contractId" v:"required#请传入合同ID"`
  82. }
  83. // CtrContractEventProjectRsp 查询交付项目响应
  84. type CtrContractEventProjectRsp struct {
  85. Found bool `json:"found"` // 是否存在项目
  86. EventType string `json:"eventType"` // 推断的事件类型 10=交付 20=运维(仅 found=true 时有效)
  87. ProjectId int `json:"projectId"` // 项目ID(仅 found=true 时有效)
  88. ProjectStatus string `json:"projectStatus"` // 项目状态(仅 found=true 时有效)
  89. }
  90. // CtrContractEventCreateProjectReq 为合同创建交付项目(设为已验收状态)
  91. type CtrContractEventCreateProjectReq struct {
  92. ContractId int `json:"contractId" v:"required#请传入合同ID"`
  93. ContractCode string `json:"contractCode"`
  94. ContractName string `json:"contractName"`
  95. CustId int `json:"custId"`
  96. CustName string `json:"custName"`
  97. ProductLine string `json:"productLine"`
  98. InchargeId int `json:"inchargeId"`
  99. InchargeName string `json:"inchargeName"`
  100. }
  101. // CtrContractEventRsp 合同事件登记列表响应(UNION查询结果)
  102. type CtrContractEventRsp struct {
  103. CtrEventId int `json:"ctrEventId"` // ctr_contract_event.id
  104. EventId int `json:"eventId"` // 关联的事件ID
  105. EventType string `json:"eventType"` // 事件类型 10/20
  106. ContractId int `json:"contractId"` // 合同ID
  107. ContractCode string `json:"contractCode"` // 合同编号
  108. ContractName string `json:"contractName"` // 合同名称
  109. CustName string `json:"custName"` // 客户名称
  110. EventTitle string `json:"eventTitle"` // 事件标题
  111. EventNo string `json:"eventNo"` // 事件编号
  112. SubEventType string `json:"subEventType"` // 子事件类型
  113. EventStatus string `json:"eventStatus"` // 事件状态
  114. OpsUserName string `json:"opsUserName"` // 负责人
  115. FeedbackReporter string `json:"feedbackReporter"` // 反馈人
  116. FeedbackDate string `json:"feedbackDate"` // 反馈时间
  117. CompleteTime string `json:"completeTime"` // 处理时间
  118. CompleteDesc string `json:"completeDesc"` // 处理说明
  119. }