Skip to content

Commit

Permalink
add str condition
Browse files Browse the repository at this point in the history
  • Loading branch information
aixj1984 committed Sep 15, 2023
1 parent 8382895 commit 72f3e23
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 4 deletions.
16 changes: 14 additions & 2 deletions gplus/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -745,8 +745,8 @@ func (q *QueryCond[T]) buildOrder(orderType string, columns ...string) {
}
}

// 执行执行增加条件
func (q *QueryCond[T]) AddStrCond(cond string) *QueryCond[T] {
// 执行增加AND条件
func (q *QueryCond[T]) AddAndStrCond(cond string) *QueryCond[T] {
if len(q.queryExpressions) > 0 {
sk := sqlKeyword{keyword: constants.And}
q.queryExpressions = append(q.queryExpressions, &sk)
Expand All @@ -757,6 +757,18 @@ func (q *QueryCond[T]) AddStrCond(cond string) *QueryCond[T] {
return q
}

// 执行增加OR条件
func (q *QueryCond[T]) AddOrStrCond(cond string) *QueryCond[T] {
if len(q.queryExpressions) > 0 {
sk := sqlKeyword{keyword: constants.Or}
q.queryExpressions = append(q.queryExpressions, &sk)
}
condSk := sqlKeyword{keyword: cond}
q.queryExpressions = append(q.queryExpressions, &condSk)
q.last = &condSk
return q
}

// 根据条件,执行方法
func (q *QueryCond[T]) Case(isTrue bool, handleFunc func()) *QueryCond[T] {
if isTrue {
Expand Down
5 changes: 3 additions & 2 deletions tests/dao_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ var gormDb *gorm.DB

func init() {
dsn := "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8mb4&parseTime=True&loc=Local"

var err error
gormDb, err = gorm.Open(mysql.Open(dsn), &gorm.Config{
Logger: logger.Default.LogMode(logger.Info),
Expand Down Expand Up @@ -660,7 +661,7 @@ func TestQueryBuilder(t *testing.T) {

query, _ := gplus.NewQuery[User]()

query.AddStrCond(fmt.Sprintf(" username = '%s' ", "afumu1"))
query.AddAndStrCond(fmt.Sprintf(" username = '%s' ", "afumu1"))

count, db := gplus.SelectCount(query)
if db.Error != nil {
Expand All @@ -678,7 +679,7 @@ func TestExist(t *testing.T) {

query, _ := gplus.NewQuery[User]()

query.AddStrCond(fmt.Sprintf(" username = '%s' ", "afumu1"))
query.AddAndStrCond(fmt.Sprintf(" username = '%s' ", "afumu1"))

exist, dbErr := gplus.Exists(query)
if dbErr != nil {
Expand Down

0 comments on commit 72f3e23

Please sign in to comment.