45 lines
1.3 KiB
Go
45 lines
1.3 KiB
Go
package migration
|
|
|
|
import (
|
|
"time"
|
|
|
|
"cs-agent/internal/models"
|
|
"cs-agent/internal/pkg/constants"
|
|
"cs-agent/internal/pkg/enums"
|
|
|
|
"github.com/mlogclub/simple/sqls"
|
|
)
|
|
|
|
func init() {
|
|
register(3, "init ticket priority configs", func() error {
|
|
return sqls.WithTransaction(func(ctx *sqls.TxContext) error {
|
|
var total int64
|
|
if err := ctx.Tx.Model(&models.TicketPriorityConfig{}).Where("status <> ?", enums.StatusDeleted).Count(&total).Error; err != nil {
|
|
return err
|
|
}
|
|
if total == 0 {
|
|
now := time.Now()
|
|
items := []*models.TicketPriorityConfig{
|
|
{Name: "普通", SortNo: 10, FirstResponseMinutes: 30, ResolutionMinutes: 1440, Status: enums.StatusOk},
|
|
{Name: "高", SortNo: 20, FirstResponseMinutes: 10, ResolutionMinutes: 240, Status: enums.StatusOk},
|
|
{Name: "紧急", SortNo: 30, FirstResponseMinutes: 5, ResolutionMinutes: 120, Status: enums.StatusOk},
|
|
}
|
|
for _, item := range items {
|
|
item.AuditFields = models.AuditFields{
|
|
CreatedAt: now,
|
|
CreateUserID: constants.SystemAuditUserID,
|
|
CreateUserName: constants.SystemAuditUserName,
|
|
UpdatedAt: now,
|
|
UpdateUserID: constants.SystemAuditUserID,
|
|
UpdateUserName: constants.SystemAuditUserName,
|
|
}
|
|
if err := ctx.Tx.Create(item).Error; err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
return nil
|
|
})
|
|
})
|
|
}
|