Skip to content

Commit 0460f71

Browse files
committed
refactor: delete primary key
1 parent e0c28c4 commit 0460f71

File tree

4 files changed

+33
-44
lines changed

4 files changed

+33
-44
lines changed

gplus/base_dao.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,13 @@ func InsertBatchSize[T any](entities []*T, batchSize int) *gorm.DB {
6464
return resultDb
6565
}
6666

67-
func DeleteById[T any, K PrimaryKey](id K, primaryKeyColumn ...string) *gorm.DB {
67+
func DeleteById[T any](id any, primaryKeyColumn ...string) *gorm.DB {
6868
var entity T
6969
resultDb := gormDb.Where(getPKColumn(primaryKeyColumn), id).Delete(&entity)
7070
return resultDb
7171
}
7272

73-
func DeleteByIds[T any, K PrimaryKey](ids []K, primaryKeyColumn ...string) *gorm.DB {
74-
if len(ids) == 0 {
75-
return gormDb
76-
}
77-
73+
func DeleteByIds[T any](ids any, primaryKeyColumn ...string) *gorm.DB {
7874
q := NewQuery[T]()
7975
q.In(getPKColumn(primaryKeyColumn), ids)
8076
resultDb := Delete[T](q)
@@ -87,7 +83,7 @@ func Delete[T any](q *Query[T]) *gorm.DB {
8783
return resultDb
8884
}
8985

90-
func UpdateById[T any, K PrimaryKey](entity *T, id K, primaryKeyColumn ...string) *gorm.DB {
86+
func UpdateById[T any](entity *T, id any, primaryKeyColumn ...string) *gorm.DB {
9187
resultDb := gormDb.Model(&entity).Where(getPKColumn(primaryKeyColumn), id).Updates(entity)
9288
return resultDb
9389
}
@@ -97,7 +93,7 @@ func Update[T any](q *Query[T]) *gorm.DB {
9793
return resultDb
9894
}
9995

100-
func SelectById[T any, K PrimaryKey](id K) (*T, *gorm.DB) {
96+
func SelectById[T any](id any) (*T, *gorm.DB) {
10197
var entity T
10298
resultDb := gormDb.Take(&entity, id)
10399
if resultDb.RowsAffected == 0 {
@@ -106,7 +102,7 @@ func SelectById[T any, K PrimaryKey](id K) (*T, *gorm.DB) {
106102
return &entity, resultDb
107103
}
108104

109-
func SelectByIds[T any, K PrimaryKey](ids []K, primaryKeyColumn ...string) ([]*T, *gorm.DB) {
105+
func SelectByIds[T any](ids any, primaryKeyColumn ...string) ([]*T, *gorm.DB) {
110106
q := NewQuery[T]()
111107
q.In(getPKColumn(primaryKeyColumn), ids)
112108
return SelectList[T](q)

gplus/common_dao.go

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -21,82 +21,80 @@ import (
2121
"gorm.io/gorm"
2222
)
2323

24-
type CommonDao[T any, K PrimaryKey] struct {
25-
pkColumn string
26-
}
24+
type CommonDao[T any] struct{}
2725

28-
func NewCommonDao[T any, K PrimaryKey](pk string) *CommonDao[T, K] {
29-
return &CommonDao[T, K]{pkColumn: pk}
26+
func NewCommonDao[T any](pk string) *CommonDao[T] {
27+
return &CommonDao[T]{}
3028
}
3129

32-
func (service CommonDao[T, K]) Db() *gorm.DB {
30+
func (service CommonDao[T]) Db() *gorm.DB {
3331
return gormDb
3432
}
3533

36-
func (service CommonDao[T, K]) Save(entity *T) *gorm.DB {
34+
func (service CommonDao[T]) Save(entity *T) *gorm.DB {
3735
return Insert[T](entity)
3836
}
3937

40-
func (service CommonDao[T, K]) SaveBatch(entities []*T) *gorm.DB {
38+
func (service CommonDao[T]) SaveBatch(entities []*T) *gorm.DB {
4139
return InsertBatch[T](entities)
4240
}
4341

44-
func (service CommonDao[T, K]) SaveBatchSize(entities []*T, batchSize int) *gorm.DB {
42+
func (service CommonDao[T]) SaveBatchSize(entities []*T, batchSize int) *gorm.DB {
4543
return InsertBatchSize[T](entities, batchSize)
4644
}
4745

48-
func (service CommonDao[T, K]) RemoveById(id K) *gorm.DB {
49-
return DeleteById[T, K](id, service.pkColumn)
46+
func (service CommonDao[T]) RemoveById(id any) *gorm.DB {
47+
return DeleteById[T](id)
5048
}
5149

52-
func (service CommonDao[T, K]) RemoveByIds(ids []K) *gorm.DB {
53-
return DeleteByIds[T, K](ids)
50+
func (service CommonDao[T]) RemoveByIds(ids []any) *gorm.DB {
51+
return DeleteByIds[T](ids)
5452
}
5553

56-
func (service CommonDao[T, K]) Remove(q *Query[T]) *gorm.DB {
54+
func (service CommonDao[T]) Remove(q *Query[T]) *gorm.DB {
5755
return Delete[T](q)
5856
}
5957

60-
func (service CommonDao[T, K]) UpdateById(entity *T, id K) *gorm.DB {
61-
return UpdateById[T, K](entity, id, service.pkColumn)
58+
func (service CommonDao[T]) UpdateById(entity *T, id any) *gorm.DB {
59+
return UpdateById[T](entity, id)
6260
}
6361

64-
func (service CommonDao[T, K]) Update(q *Query[T]) *gorm.DB {
62+
func (service CommonDao[T]) Update(q *Query[T]) *gorm.DB {
6563
return Update[T](q)
6664
}
6765

68-
func (service CommonDao[T, K]) GetById(id K) (*T, *gorm.DB) {
69-
return SelectById[T, K](id)
66+
func (service CommonDao[T]) GetById(id any) (*T, *gorm.DB) {
67+
return SelectById[T](id)
7068
}
7169

72-
func (service CommonDao[T, K]) GetOne(q *Query[T]) (*T, *gorm.DB) {
70+
func (service CommonDao[T]) GetOne(q *Query[T]) (*T, *gorm.DB) {
7371
return SelectOne[T](q)
7472
}
7573

76-
func (service CommonDao[T, K]) ListAll() ([]*T, *gorm.DB) {
74+
func (service CommonDao[T]) ListAll() ([]*T, *gorm.DB) {
7775
return SelectList[T](nil)
7876
}
7977

80-
func (service CommonDao[T, K]) List(q *Query[T]) ([]*T, *gorm.DB) {
78+
func (service CommonDao[T]) List(q *Query[T]) ([]*T, *gorm.DB) {
8179
return SelectList[T](q)
8280
}
8381

84-
func (service CommonDao[T, K]) ListByIds(ids []K) ([]*T, *gorm.DB) {
85-
return SelectByIds[T, K](ids)
82+
func (service CommonDao[T]) ListByIds(ids []any) ([]*T, *gorm.DB) {
83+
return SelectByIds[T](ids)
8684
}
8785

88-
func (service CommonDao[T, K]) PageAll(page *Page[T]) (*Page[T], *gorm.DB) {
86+
func (service CommonDao[T]) PageAll(page *Page[T]) (*Page[T], *gorm.DB) {
8987
return SelectPage[T](page, nil)
9088
}
9189

92-
func (service CommonDao[T, K]) Page(page *Page[T], q *Query[T]) (*Page[T], *gorm.DB) {
90+
func (service CommonDao[T]) Page(page *Page[T], q *Query[T]) (*Page[T], *gorm.DB) {
9391
return SelectPage[T](page, q)
9492
}
9593

96-
func (service CommonDao[T, K]) CountAll() (int64, *gorm.DB) {
94+
func (service CommonDao[T]) CountAll() (int64, *gorm.DB) {
9795
return SelectCount[T](nil)
9896
}
9997

100-
func (service CommonDao[T, K]) Count(q *Query[T]) (int64, *gorm.DB) {
98+
func (service CommonDao[T]) Count(q *Query[T]) (int64, *gorm.DB) {
10199
return SelectCount[T](q)
102100
}

gplus/query.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,12 @@ func (q *Query[T]) IsNotNull(column string) *Query[T] {
112112
return q
113113
}
114114

115-
func (q *Query[T]) In(column string, val ...any) *Query[T] {
115+
func (q *Query[T]) In(column string, val any) *Query[T] {
116116
q.addCond(column, val, constants.In)
117117
return q
118118
}
119119

120-
func (q *Query[T]) NotIn(column string, val ...any) *Query[T] {
120+
func (q *Query[T]) NotIn(column string, val any) *Query[T] {
121121
q.addCond(column, val, constants.Not+" "+constants.In)
122122
return q
123123
}

gplus/type.go

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)