package model import "strings" // WorkSchedule 工单流程数据模型 type WorkSchedule struct { Model Title string `gorm:"column:title;type:varchar(30);default:null;comment:标题" json:"title"` Stage int `orm:"column:stage;type:tinyint(1);default:1;comment:阶段" json:"stage"` Step int `orm:"column:step;type:tinyint(1);default:1;comment:步骤(1:阶段-1:步骤)" json:"step"` Target WorkScheduleTarget `orm:"column:target;type:tinyint(1);default:1;comment:对象类型" json:"target"` TargetValue string `orm:"column:target_value;type:tinyint(1);default:1;comment:对象信息" json:"target_value"` ModelDeleted ModelAt } // WorkScheduleTarget 工单对象类型 type WorkScheduleTarget int const ( // WorkScheduleTargetForPerson 个人 WorkScheduleTargetForPerson WorkScheduleTarget = iota + 1 // WorkScheduleTargetForRole 角色 WorkScheduleTargetForRole ) func (m *WorkSchedule) TableName() string { return "work_schedule" } func (m *WorkSchedule) GetTargetValueAttribute() []string { return strings.Split(m.TargetValue, ",") } func (m *WorkSchedule) SetTargetValueAttribute(value []string) { m.TargetValue = strings.Join(value, ",") } func NewWorkSchedule() *WorkSchedule { return &WorkSchedule{} }