Files
jx-callback/business/jxstore/event/event.go
2020-01-08 14:26:31 +08:00

55 lines
1.1 KiB
Go

package event
import (
"strings"
"time"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
)
func AddOperateEvent(ctx *jxcontext.Context, accessUUID string) (err error) {
var (
apiFunction string
db = dao.GetDB()
)
url := ctx.GetRequest().URL.Path
if url != "" {
apiFunction = url[strings.LastIndex(url, "/")+1 : len(url)]
}
event := &model.OperateEvent{
CreatedAt: time.Now(),
LastOperator: ctx.GetUserName(),
APIFunction: apiFunction,
UserID: ctx.GetUserID(),
AccessUUID: accessUUID,
}
dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
panic(r)
}
}()
err = dao.CreateEntity(db, event)
dao.Commit(db)
return err
}
func AddOperateEventDetail(operateEventDetail *model.OperateEventDetail) (err error) {
db := dao.GetDB()
dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
panic(r)
}
}()
err = dao.CreateEntity(db, operateEventDetail)
dao.Commit(db)
return err
}