mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-05 09:30:24 +08:00
41 lines
875 B
Go
41 lines
875 B
Go
package dbutils
|
|
|
|
import (
|
|
"github.com/iwind/TeaGo/dbs"
|
|
"strings"
|
|
"sync"
|
|
)
|
|
|
|
var SharedCacheLocker = sync.RWMutex{}
|
|
|
|
// NewQuery 构造Query
|
|
func NewQuery(tx *dbs.Tx, dao dbs.DAOWrapper, adminId int64, userId int64) *dbs.Query {
|
|
query := dao.Object().Query(tx)
|
|
if adminId > 0 {
|
|
//query.Attr("adminId", adminId)
|
|
}
|
|
if userId > 0 {
|
|
query.Attr("userId", userId)
|
|
}
|
|
return query
|
|
}
|
|
|
|
// QuoteLikeKeyword 处理关键词中的特殊字符
|
|
func QuoteLikeKeyword(keyword string) string {
|
|
keyword = strings.ReplaceAll(keyword, "%", "\\%")
|
|
keyword = strings.ReplaceAll(keyword, "_", "\\_")
|
|
return keyword
|
|
}
|
|
|
|
func QuoteLike(keyword string) string {
|
|
return "%" + QuoteLikeKeyword(keyword) + "%"
|
|
}
|
|
|
|
func QuoteLikePrefix(keyword string) string {
|
|
return QuoteLikeKeyword(keyword) + "%"
|
|
}
|
|
|
|
func QuoteLikeSuffix(keyword string) string {
|
|
return "%" + QuoteLikeKeyword(keyword)
|
|
}
|