package dao import ( "regexp" "strings" "yintai-api/base/global" "gorm.io/gorm" ) func getDB(db ...*gorm.DB) *gorm.DB { if len(db) > 0 { return db[0] } return global.GetDB() } var sortCol = regexp.MustCompile(`^[A-Za-z_][A-Za-z0-9_]*$`) func ezSort(a string) string { items := strings.Split(a, ",") parts := make([]string, 0, len(items)) for _, item := range items { s := strings.Fields(item) if len(s) != 2 || !sortCol.MatchString(s[0]) { return "" } dir := strings.ToUpper(s[1]) if dir != "ASC" && dir != "DESC" { return "" } parts = append(parts, "`"+s[0]+"` "+dir) } return strings.Join(parts, ",") }