Nessuna descrizione
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.

fact_campaign_plan.go 2.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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("fact_campaign_plan", "波段作战计划表").
  9. ID("plan_id", 32).Comment("计划ID,主键").End().
  10. String("season_id", 32).NotNull().Comment("季节波段").End().
  11. String("group_id", 32).NotNull().Comment("店铺组").End().
  12. String("campaign_tag", 64).NotNull().Comment("波段标签(如:秋一波)").End().
  13. Int("campaign_seq").NotNull().Comment("波段序号").End().
  14. DateTime("plan_start_date").NotNull().Comment("该组计划上市日期").End().
  15. DateTime("plan_end_date").NotNull().Comment("该组计划下市日期").End().
  16. Decimal("sales_target", 12, 2).Comment("销售目标金额").End().
  17. Int("sales_target_qty").Comment("销售目标件数").End().
  18. String("tenant_id", 8).NotNull().Comment("租户ID").End().
  19. Text("planned_skus").Comment("计划主推SKU列表(JSON)").End().
  20. String("creator", 32).NotNull().Comment("创建人").End().
  21. DateTime("created_at").NotNull().Default("CURRENT_TIMESTAMP").Comment("创建时间").End().
  22. DateTime("updated_at").NotNull().Default("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP").Comment("更新时间").End()
  23. r.RegisterTable(tb.Build())
  24. })
  25. }
  26. type FactCampaignPlan struct {
  27. PlanID string `gorm:"column:plan_id;type:varchar(32);primaryKey;not null;comment:计划ID,主键"`
  28. SeasonID string `gorm:"column:season_id;type:varchar(32);not null;comment:季节波段;index:idx_season_group"`
  29. GroupID string `gorm:"column:group_id;type:varchar(32);not null;comment:店铺组;index:idx_season_group"`
  30. CampaignTag string `gorm:"column:campaign_tag;type:varchar(64);not null;comment:波段标签(如:秋一波)"`
  31. CampaignSeq int `gorm:"column:campaign_seq;not null;comment:波段序号"`
  32. PlanStartDate time.Time `gorm:"column:plan_start_date;not null;comment:该组计划上市日期"`
  33. PlanEndDate time.Time `gorm:"column:plan_end_date;not null;comment:该组计划下市日期"`
  34. SalesTarget float64 `gorm:"column:sales_target;type:decimal(12,2);comment:销售目标金额"`
  35. SalesTargetQty int `gorm:"column:sales_target_qty;comment:销售目标件数"`
  36. PlannedSkus string `gorm:"column:planned_skus;type:text;comment:计划主推SKU列表(JSON)"`
  37. Creator string `gorm:"column:creator;type:varchar(32);not null;comment:创建人"`
  38. CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP;comment:创建时间"`
  39. UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;comment:更新时间"`
  40. TenantId string `gorm:"column:tenant_id;type:varchar(8);comment:租户ID"`
  41. }
  42. func (FactCampaignPlan) TableName() string { return "fact_campaign_plan" }