package dao import ( "context" "fmt" "time" "go-common/app/service/main/ugcpay-rank/internal/model" xsql "go-common/library/database/sql" "go-common/library/xstr" "github.com/pkg/errors" ) const ( _countElecUPRank = "SELECT count(1) FROM rank_elec_up WHERE up_mid=? AND ver=? AND hidden=0" _countUPTotalElec = "SELECT count(1) FROM rank_elec_up WHERE up_mid=? AND ver<>0 AND hidden=0" _selectElecUPRankList = "SELECT id,ver,up_mid,pay_mid,pay_amount,hidden,ctime,mtime FROM rank_elec_up WHERE up_mid=? AND ver=? AND hidden=0 ORDER BY pay_amount DESC,mtime ASC LIMIT ?" _selectElecUPRank = "SELECT id,ver,up_mid,pay_mid,pay_amount,hidden,ctime,mtime FROM rank_elec_up WHERE up_mid=? AND ver=? AND pay_mid=? LIMIT 1" _countElecAVRank = "SELECT count(1) FROM rank_elec_av WHERE avid=? AND ver=? AND hidden=0" _selectElecAVRankList = "SELECT id,ver,avid,up_mid,pay_mid,pay_amount,hidden,ctime,mtime FROM rank_elec_av WHERE avid=? AND ver=? AND hidden=0 ORDER BY pay_amount DESC,mtime ASC LIMIT ?" _selectElecAVRank = "SELECT id,ver,avid,up_mid,pay_mid,pay_amount,hidden,ctime,mtime FROM rank_elec_av WHERE avid=? AND ver=? AND pay_mid=? LIMIT 1" _selectElecUPMessages = "SELECT id,ver,avid,up_mid,pay_mid,message,replied,hidden FROM elec_message WHERE pay_mid in (%s) AND up_mid=? AND ver=? ORDER BY ID ASC" _selectElecAVMessagesByVer = "SELECT id,ver,avid,up_mid,pay_mid,message,replied,hidden FROM elec_message WHERE pay_mid in (%s) AND avid=? AND ver=? ORDER BY ID ASC" _selectElecAVMessages = "SELECT id,ver,avid,up_mid,pay_mid,message,replied,hidden FROM elec_message WHERE pay_mid in (%s) AND avid=? ORDER BY ID ASC" _selectElecUPUserRank = "SELECT count(1) FROM rank_elec_up WHERE up_mid=? AND ver=? AND pay_amount>? AND mtime? AND mtime? ORDER BY id ASC LIMIT ?" ) // RawElecUserSettings . func (d *Dao) RawElecUserSettings(ctx context.Context, id int, limit int) (res map[int64]model.ElecUserSetting, maxID int, err error) { rows, err := d.db.Master().Query(ctx, _elecUserSettingList, id, limit) if err != nil { return } defer rows.Close() res = make(map[int64]model.ElecUserSetting) for rows.Next() { var ( data model.ElecUserSetting mid int64 id int ) if err = rows.Scan(&id, &mid, &data); err != nil { err = errors.WithStack(err) return } res[mid] = data if maxID < id { maxID = id } } if err = rows.Err(); err != nil { err = errors.WithStack(err) } return }