mirror of
https://github.com/lzh-1625/go_process_manager.git
synced 2025-09-28 21:02:11 +08:00
36 lines
956 B
Go
36 lines
956 B
Go
package logic
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/lzh-1625/go_process_manager/internal/app/eum"
|
|
"github.com/lzh-1625/go_process_manager/internal/app/model"
|
|
"github.com/lzh-1625/go_process_manager/internal/app/repository"
|
|
"github.com/lzh-1625/go_process_manager/log"
|
|
"github.com/lzh-1625/go_process_manager/utils"
|
|
)
|
|
|
|
type eventLogic struct{}
|
|
|
|
var EventLogic = new(eventLogic)
|
|
|
|
func (e *eventLogic) Create(name string, eventType eum.EventType, additionalKv ...string) {
|
|
if len(additionalKv)%2 != 0 {
|
|
log.Logger.Errorw("参数长度错误", "args", additionalKv)
|
|
return
|
|
}
|
|
data := model.Event{
|
|
Name: name,
|
|
CreatedTime: time.Now(),
|
|
Type: eventType,
|
|
}
|
|
m := map[string]string{}
|
|
for i := range len(additionalKv) / 2 {
|
|
m[additionalKv[2*i]] = additionalKv[2*i+1]
|
|
}
|
|
data.Additional = utils.StructToJsonStr(m)
|
|
if err := repository.EventRepository.Create(data); err != nil {
|
|
log.Logger.Errorw("事件创建失败", "err", err)
|
|
}
|
|
}
|