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"
)