55 lines
1.1 KiB
Go
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
|
|
}
|