暫無描述
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

decision_task.go 3.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package tables
  2. import (
  3. "time"
  4. "git.x2erp.com/qdy/go-db/sqldef"
  5. )
  6. func init() {
  7. sqldef.AddRegistration(func(r *sqldef.Registry) {
  8. tb := sqldef.NewTable("decision_task", "决策任务表").
  9. ID("task_id", 32).Comment("任务ID,主键").End().
  10. String("sku_id", 32).NotNull().Comment("关联商品").End().
  11. String("task_type", 32).NotNull().Comment("任务类型(调拨/促销/反单/保持)").End().
  12. String("task_status", 32).NotNull().Default("'pending'").Comment("任务状态(pending/approved/rejected/executed)").End().
  13. Text("task_content").NotNull().Comment("任务详细内容与参数(JSON格式)").End().
  14. Text("diagnosis_basis").NotNull().Comment("诊断依据与数据快照(JSON格式)").End().
  15. String("creator", 32).Comment("任务创建人(系统或用户)").End().
  16. String("approver", 32).Comment("审批人").End().
  17. DateTime("approved_at").Comment("审批时间").End().
  18. String("executor", 32).Comment("执行人").End().
  19. String("tenant_id", 8).NotNull().Comment("租户ID").End().
  20. DateTime("executed_at").Comment("执行时间").End().
  21. Text("execution_feedback").Comment("执行反馈(JSON格式)").End().
  22. DateTime("created_at").NotNull().Default("CURRENT_TIMESTAMP").Comment("创建时间").End().
  23. DateTime("updated_at").NotNull().Default("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP").Comment("更新时间").End()
  24. r.RegisterTable(tb.Build())
  25. })
  26. }
  27. // DecisionTask 决策任务表结构体
  28. type DecisionTask struct {
  29. TaskID string `gorm:"column:task_id;type:varchar(32);primaryKey;not null;comment:任务ID,主键"`
  30. SkuID string `gorm:"column:sku_id;type:varchar(32);not null;comment:关联商品;index"`
  31. TaskType string `gorm:"column:task_type;type:varchar(32);not null;comment:任务类型(调拨/促销/反单/保持)"`
  32. TaskStatus string `gorm:"column:task_status;type:varchar(32);not null;default:'pending';comment:任务状态(pending/approved/rejected/executed)"`
  33. TaskContent string `gorm:"column:task_content;type:text;not null;comment:任务详细内容与参数(JSON格式)"`
  34. DiagnosisBasis string `gorm:"column:diagnosis_basis;type:text;not null;comment:诊断依据与数据快照(JSON格式)"`
  35. Creator string `gorm:"column:creator;type:varchar(32);comment:任务创建人(系统或用户)"`
  36. Approver string `gorm:"column:approver;type:varchar(32);comment:审批人"`
  37. ApprovedAt time.Time `gorm:"column:approved_at;comment:审批时间"`
  38. Executor string `gorm:"column:executor;type:varchar(32);comment:执行人"`
  39. ExecutedAt time.Time `gorm:"column:executed_at;comment:执行时间"`
  40. ExecutionFeedback string `gorm:"column:execution_feedback;type:text;comment:执行反馈(JSON格式)"`
  41. CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间"`
  42. UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;comment:更新时间"`
  43. TenantId string `gorm:"column:tenant_id;type:varchar(8);comment:租户ID"`
  44. }
  45. func (DecisionTask) TableName() string {
  46. return "decision_task"
  47. }