update log service

This commit is contained in:
2022-03-13 16:02:24 +08:00
parent a85c8b33b1
commit 3f5d992f13
8 changed files with 131 additions and 7 deletions
+5
View File
@@ -20,6 +20,7 @@ import (
type ConfigApi struct {
configService service.ConfigService
logService service.LogService
}
// GetConfigValue 根据参数键名查询参数值
@@ -35,6 +36,9 @@ func (a ConfigApi) GetConfigValue(c *gin.Context) {
// List 查询设置列表
func (a ConfigApi) List(c *gin.Context) {
a.logService.LogStart(c)
a.logService.LogToDB(c, "日志测试 start")
query := request.ConfigQuery{}
if c.Bind(&query) != nil {
resp.ParamError(c)
@@ -46,6 +50,7 @@ func (a ConfigApi) List(c *gin.Context) {
Total: i,
Size: query.PageSize,
})
a.logService.LogToDB(c, "日志测试 end")
}
// Add 添加数据
+9
View File
@@ -0,0 +1,9 @@
package request
import "cutego/pkg/base"
type LogQuery struct {
base.GlobalQuery
Uid string `form:"uid"`
Content string `form:"content"`
}
+50
View File
@@ -0,0 +1,50 @@
package dao
import (
"cutego/core/api/v1/request"
"cutego/core/entity"
"cutego/pkg/common"
"cutego/pkg/page"
"github.com/druidcaesa/gotool"
"github.com/go-xorm/xorm"
)
type LogDao struct {
}
func (d LogDao) sql(session *xorm.Session) *xorm.Session {
return session.Table("sys_log")
}
// SelectPage 分页查询数据
func (d LogDao) SelectPage(query request.LogQuery) ([]entity.SysLog, int64) {
configs := make([]entity.SysLog, 0)
session := d.sql(SqlDB.NewSession())
if gotool.StrUtils.HasNotEmpty(query.Content) {
session.And("content like concat('%', ?, '%')", query.Content)
}
if gotool.StrUtils.HasNotEmpty(query.Uid) {
session.And("uid = ?", query.Uid)
}
total, _ := page.GetTotal(session.Clone())
err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).Find(&configs)
if err != nil {
common.ErrorLog(err)
return nil, 0
}
return configs, total
}
// Insert 添加数据
func (d LogDao) Insert(config entity.SysLog) int64 {
session := SqlDB.NewSession()
session.Begin()
insert, err := session.Insert(&config)
if err != nil {
common.ErrorLog(err)
session.Rollback()
return 0
}
session.Commit()
return insert
}
+16
View File
@@ -0,0 +1,16 @@
package entity
import (
"time"
)
type SysLog struct {
Id int64 `xorm:"pk autoincr" json:"id"` // 主键
Uid string `xorm:"uid" json:"uid"` // 唯一主键
Content string `xorm:"varchar(255)" json:"content"` // 记录内容
CreateTime time.Time `xorm:"created"` // 创建时间
}
func (c SysLog) TableName() string {
return "sys_log"
}
+7 -7
View File
@@ -7,35 +7,35 @@ import (
)
type CronJobService struct {
cronJobService dao.CronJobDao
cronJobDao dao.CronJobDao
}
// FindPage 分页查询数据
func (s CronJobService) FindPage(query request.CronJobQuery) ([]entity.SysCronJob, int64) {
return s.cronJobService.SelectPage(query)
return s.cronJobDao.SelectPage(query)
}
// Save 添加数据
func (s CronJobService) Save(config entity.SysCronJob) int64 {
return s.cronJobService.Insert(config)
return s.cronJobDao.Insert(config)
}
// GetInfo 查询数据
func (s CronJobService) GetInfo(id int64) *entity.SysCronJob {
return s.cronJobService.SelectById(id)
return s.cronJobDao.SelectById(id)
}
// GetInfo 查询数据
func (s CronJobService) GetInfoByAlias(funcAlias string) *entity.SysCronJob {
return s.cronJobService.SelectByFuncAlias(funcAlias)
return s.cronJobDao.SelectByFuncAlias(funcAlias)
}
// Edit 修改数据
func (s CronJobService) Edit(config entity.SysCronJob) int64 {
return s.cronJobService.Update(config)
return s.cronJobDao.Update(config)
}
// Remove 批量删除
func (s CronJobService) Remove(list []int64) bool {
return s.cronJobService.Delete(list)
return s.cronJobDao.Delete(list)
}
+41
View File
@@ -0,0 +1,41 @@
package service
import (
"cutego/core/api/v1/request"
"cutego/core/dao"
"cutego/core/entity"
"github.com/gin-gonic/gin"
"github.com/go-basic/uuid"
)
const CURRENT_UID_KEY = "CURRENT_LOG_UID"
const DEFAULT_UID_KEY = "DEFAULT_LOG_UID"
type LogService struct {
logDao dao.LogDao
}
// FindPage 分页查询数据
func (s LogService) FindPage(query request.LogQuery) ([]entity.SysLog, int64) {
return s.logDao.SelectPage(query)
}
// Save 添加数据
func (s LogService) save(config entity.SysLog) int64 {
return s.logDao.Insert(config)
}
// LogToDB 记录日志
func (s LogService) LogToDB(c *gin.Context, content string) {
uid, exists := c.Get(CURRENT_UID_KEY)
if !exists {
uid = DEFAULT_UID_KEY
}
uidStr := uid.(string)
s.save(entity.SysLog{Uid: uidStr, Content: content})
}
// 开始记录日志前调用(只调用一次)
func (s LogService) LogStart(c *gin.Context) {
c.Set(CURRENT_UID_KEY, uuid.New())
}
+1
View File
@@ -6,6 +6,7 @@ require (
github.com/dgrijalva/jwt-go v3.2.0+incompatible
github.com/druidcaesa/gotool v0.0.0-20210722000450-b972ac6f3771
github.com/gin-gonic/gin v1.7.3
github.com/go-basic/uuid v1.0.0 // indirect
github.com/go-sql-driver/mysql v1.6.0
github.com/go-xorm/xorm v0.7.9
github.com/gomodule/redigo v1.8.5
+2
View File
@@ -31,6 +31,8 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
github.com/gin-gonic/gin v1.7.3 h1:aMBzLJ/GMEYmv1UWs2FFTcPISLrQH2mRgL9Glz8xows=
github.com/gin-gonic/gin v1.7.3/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY=
github.com/go-basic/uuid v1.0.0 h1:Faqtetcr8uwOzR2qp8RSpkahQiv4+BnJhrpuXPOo63M=
github.com/go-basic/uuid v1.0.0/go.mod h1:yVtVnsXcmaLc9F4Zw7hTV7R0+vtuQw00mdXi+F6tqco=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A=