package dao import ( "errors" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/model" ) func GetAuthBind(db *DaoDB, userID string, bindType int, authType, authID string) (authBind *model.AuthBind, err error) { if userID == "" && authID == "" { return nil, errors.New("userID, authID, authID2不能全为空") } sql := ` SELECT * FROM auth_bind t1 WHERE t1.deleted_at = ? AND t1.status = ? ` sqlParams := []interface{}{ utils.DefaultTimeValue, model.AuthBindStatusNormal, } if userID != "" { sql += " AND t1.user_id = ?" sqlParams = append(sqlParams, userID) } if bindType != model.AuthBindTypeAll { sql += " AND t1.bind_type = ?" sqlParams = append(sqlParams, bindType) } if authType != "" { sql += " AND t1.type = ?" sqlParams = append(sqlParams, authType) } if authID != "" { sql += " AND t1.auth_id = ?" sqlParams = append(sqlParams, authID) } // globals.SugarLogger.Debugf("GetAuthBind sql:%s, sqlParams:%s", sql, utils.Format4Output(sqlParams, false)) err = GetRow(db, &authBind, sql, sqlParams...) return authBind, err } func GetUserBindAuthInfo(db *DaoDB, userID string, bindType int, authID2 string, typeList []string) (authList []*model.AuthBind, err error) { sql := ` SELECT * FROM auth_bind t1 WHERE t1.deleted_at = ? AND t1.status = ?` sqlParams := []interface{}{ utils.DefaultTimeValue, model.UserStatusNormal, } if userID != "" { sql += " AND t1.user_id = ?" sqlParams = append(sqlParams, userID) } if bindType != model.AuthBindTypeAll { sql += " AND t1.bind_type = ?" sqlParams = append(sqlParams, bindType) } if authID2 != "" { sql += " AND t1.auth_id2 = ?" sqlParams = append(sqlParams, authID2) } if len(typeList) > 0 { sql += " AND t1.type IN (" + GenQuestionMarks(len(typeList)) + ")" sqlParams = append(sqlParams, typeList) } err = GetRows(db, &authList, sql, sqlParams...) return authList, err }