package dao import ( "fmt" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/model" ) func QueryConfigs(db *DaoDB, key, configType, keyword string) (configList []*model.NewConfig, err error) { sql := ` SELECT t1.* FROM new_config t1 WHERE t1.deleted_at = ?` sqlParams := []interface{}{ utils.DefaultTimeValue, } if key != "" { sql += " AND t1.key = ?" sqlParams = append(sqlParams, key) } if configType != "" { sql += " AND t1.type = ?" sqlParams = append(sqlParams, configType) } if keyword != "" { keywordLike := "%" + keyword + "%" sql += " AND (t1.type LIKE ? OR t1.key LIKE ? OR value LIKE ?)" sqlParams = append(sqlParams, keywordLike, keywordLike, keywordLike) } err = GetRows(db, &configList, sql, sqlParams...) if err == nil && len(configList) == 0 && key != "" { err = fmt.Errorf("条件:key:%s,type:%s,keyword:%s不能找到配置", key, configType, keyword) } return configList, err }