From 28f62d88e68571e82163c03a954876bcfa8901d3 Mon Sep 17 00:00:00 2001 From: dtapps Date: Wed, 3 Jan 2024 11:22:48 +0800 Subject: [PATCH] - add `DeleteData` function --- README.md | 4 +++- api_gorm_delete.go | 23 +++++++++++++++++++++++ api_gorm_record.go | 2 +- gin_gorm_delete.go | 23 +++++++++++++++++++++++ gin_gorm_record.go | 2 +- go.mod | 4 ++-- go.sum | 16 ++++++---------- version.go | 2 +- 8 files changed, 60 insertions(+), 16 deletions(-) create mode 100644 api_gorm_delete.go create mode 100644 gin_gorm_delete.go diff --git a/README.md b/README.md index 209d45d..2bceca1 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ Golang +📦 Golang 日志 + [comment]: <> (go) [![godoc](https://pkg.go.dev/badge/go.dtapp.net/golog?status.svg)](https://pkg.go.dev/go.dtapp.net/golog) [![goproxy.cn](https://goproxy.cn/stats/go.dtapp.net/golog/badges/download-count.svg)](https://goproxy.cn/stats/go.dtapp.net/golog) @@ -11,5 +13,5 @@ #### 安装 ```shell -go get -v -u go.dtapp.net/golog@v1.0.106 +go get -v -u go.dtapp.net/golog@v1.0.107 ``` diff --git a/api_gorm_delete.go b/api_gorm_delete.go new file mode 100644 index 0000000..c8a1dd1 --- /dev/null +++ b/api_gorm_delete.go @@ -0,0 +1,23 @@ +package golog + +import ( + "context" + "errors" + "go.dtapp.net/gotime" +) + +// DeleteData 删除N天前数据 +func (ag *ApiGorm) DeleteData(ctx context.Context, day int) error { + if ag.gormConfig.tableName == "" { + return errors.New("没有设置表名") + } + return ag.gormClient.GetDb().Table(ag.gormConfig.tableName).Where("request_time >= ?", gotime.Current().BeforeDay(day).Time).Delete(&apiPostgresqlLog{}).Error +} + +// DeleteDataCustom 删除N天前数据 +func (ag *ApiGorm) DeleteDataCustom(ctx context.Context, tableName string, day int) error { + if tableName == "" { + return errors.New("没有设置表名") + } + return ag.gormClient.GetDb().Table(tableName).Where("request_time >= ?", gotime.Current().BeforeDay(day).Time).Delete(&apiPostgresqlLog{}).Error +} diff --git a/api_gorm_record.go b/api_gorm_record.go index 215d211..174a63d 100644 --- a/api_gorm_record.go +++ b/api_gorm_record.go @@ -14,7 +14,7 @@ import ( // 模型 type apiPostgresqlLog struct { - LogID uint `gorm:"primaryKey;comment:【记录】编号" json:"log_id,omitempty"` //【记录】编号 + LogID int64 `gorm:"primaryKey;comment:【记录】编号" json:"log_id,omitempty"` //【记录】编号 TraceID string `gorm:"index;comment:【系统】跟踪编号" json:"trace_id,omitempty"` //【系统】跟踪编号 RequestTime time.Time `gorm:"index;comment:【请求】时间" json:"request_time,omitempty"` //【请求】时间 RequestUri string `gorm:"comment:【请求】链接" json:"request_uri,omitempty"` //【请求】链接 diff --git a/gin_gorm_delete.go b/gin_gorm_delete.go new file mode 100644 index 0000000..6c7ddd1 --- /dev/null +++ b/gin_gorm_delete.go @@ -0,0 +1,23 @@ +package golog + +import ( + "context" + "errors" + "go.dtapp.net/gotime" +) + +// DeleteData 删除N天前数据 +func (gg *GinGorm) DeleteData(ctx context.Context, day int) error { + if gg.gormConfig.tableName == "" { + return errors.New("没有设置表名") + } + return gg.gormClient.GetDb().Table(gg.gormConfig.tableName).Where("request_time >= ?", gotime.Current().BeforeDay(day).Time).Delete(&ginPostgresqlLog{}).Error +} + +// DeleteDataCustom 删除N天前数据 +func (gg *GinGorm) DeleteDataCustom(ctx context.Context, tableName string, day int) error { + if tableName == "" { + return errors.New("没有设置表名") + } + return gg.gormClient.GetDb().Table(tableName).Where("request_time >= ?", gotime.Current().BeforeDay(day).Time).Delete(&ginPostgresqlLog{}).Error +} diff --git a/gin_gorm_record.go b/gin_gorm_record.go index db4edce..18e5dbd 100644 --- a/gin_gorm_record.go +++ b/gin_gorm_record.go @@ -13,7 +13,7 @@ import ( // 模型 type ginPostgresqlLog struct { - LogID uint `gorm:"primaryKey;comment:【记录】编号" json:"log_id,omitempty"` //【记录】编号 + LogID int64 `gorm:"primaryKey;comment:【记录】编号" json:"log_id,omitempty"` //【记录】编号 TraceID string `gorm:"index;comment:【系统】跟踪编号" json:"trace_id,omitempty"` //【系统】跟踪编号 RequestTime time.Time `gorm:"index;comment:【请求】时间" json:"request_time,omitempty"` //【请求】时间 RequestUri string `gorm:"comment:【请求】请求链接 域名+路径+参数" json:"request_uri,omitempty"` //【请求】请求链接 域名+路径+参数 diff --git a/go.mod b/go.mod index 37882dd..5295d47 100644 --- a/go.mod +++ b/go.mod @@ -7,8 +7,8 @@ require ( github.com/natefinch/lumberjack v2.0.0+incompatible github.com/shirou/gopsutil v3.21.11+incompatible go.dtapp.net/dorm v1.0.55 - go.dtapp.net/gojson v1.0.2 - go.dtapp.net/gorequest v1.0.43 + go.dtapp.net/gojson v1.0.3 + go.dtapp.net/gorequest v1.0.46 go.dtapp.net/gotime v1.0.6 go.dtapp.net/gotrace_id v1.0.8 go.dtapp.net/gourl v1.0.0 diff --git a/go.sum b/go.sum index a5977e3..7ee08a3 100644 --- a/go.sum +++ b/go.sum @@ -56,8 +56,8 @@ github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 h1:au07oEsX2xN0kt github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= @@ -133,14 +133,12 @@ github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFi github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.dtapp.net/dorm v1.0.55 h1:Rugp1hvkEViqAqUi1A/zfJIo7r8Mvvwm5WlTlMVOFLU= go.dtapp.net/dorm v1.0.55/go.mod h1:i0n38FMHLPIL7EXDJI3bMmLEtWOJB/6WaNMcGdnryWg= -go.dtapp.net/gojson v1.0.2 h1:NjslBOhAK3XvJepkML7LXcJRPtSfp3rDXGK/29VlDBw= -go.dtapp.net/gojson v1.0.2/go.mod h1:U0Vd2iSLKqdyg6oungBJVHxuYswTbeQVjruQC3/JqQ4= +go.dtapp.net/gojson v1.0.3 h1:gD7jraEi9i+l85WinTr40fyIU+IoFnTmgwI1zSryCIU= +go.dtapp.net/gojson v1.0.3/go.mod h1:vscXprEQu6+Eixuaj4M/f2DUvNNCeSzSN01jX2GTAr0= go.dtapp.net/gorandom v1.0.2 h1:08BdcBP/fQiRw2Ii0OXATSTtObwNydlDlqc/j/u5O8Q= go.dtapp.net/gorandom v1.0.2/go.mod h1:ZPdgalKpvFV/ATQqR0k4ns/F/IpITAZpx6WkWirr5Y8= -go.dtapp.net/gorequest v1.0.42 h1:5089qYomLNodUKOw6ptZe9SM0gtCFFUj6IcjtxunpxU= -go.dtapp.net/gorequest v1.0.42/go.mod h1:iX5s9j4EzQC+6ShOIK3+GPvjjq9fN+7Y/wj6XV8sbQc= -go.dtapp.net/gorequest v1.0.43 h1:+kBct5BSXhrQXm/pj9Wg1u+7Mc2kwsK8Jms5zK3MvWc= -go.dtapp.net/gorequest v1.0.43/go.mod h1:iX5s9j4EzQC+6ShOIK3+GPvjjq9fN+7Y/wj6XV8sbQc= +go.dtapp.net/gorequest v1.0.46 h1:fnUTRMbxqTGxSkiO0sMAks01WuMTDlDoVqa/SU1htEI= +go.dtapp.net/gorequest v1.0.46/go.mod h1:Nx1FM3yiKwCDaWABxEup5/GFwh+vJC+suAj7ek/zAtg= go.dtapp.net/gostring v1.0.13 h1:Z4R6f9q9arQlkSGNywVQssxxv0LkjHsRjHt/hfwO6/M= go.dtapp.net/gostring v1.0.13/go.mod h1:qgEjuf0/TFC3ZtvZ9y5tWHBSmV1GmlKiRxhJYJih9uk= go.dtapp.net/gotime v1.0.6 h1:f8YowUxpZtJbYawe5s5PmvGxRj61ydlzxAPYr5Fcetg= @@ -171,8 +169,6 @@ golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA= golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/version.go b/version.go index c7c3137..69ba5d6 100644 --- a/version.go +++ b/version.go @@ -1,5 +1,5 @@ package golog const ( - Version = "1.0.106" + Version = "1.0.107" )