iferr:=mysql.ProdReadOnlyDB.Raw("select t.*,CASE area WHEN 1 THEN '阿语' ELSE '非阿语' END as area FROM (SELECT user_id,replace(MAX(remark),\"Become SVIP\",\"\") svip_top_level,code,country FROM `user_svip_detail` d,user u where u.id = d.user_id AND remark like '%Become SVIP%' GROUP BY user_id) t,res_country r where t.country = r.name").Find(&data).Error;err!=nil{
panic(err)
}
varuserIds[]uint64
for_,d:=rangedata{
userIds=append(userIds,d.UserId)
}
typeChargeDatastruct{
UserIduint64
Codestring
Dollarfloat64
Countrystring
}
varchargeDatas[]ChargeData
chargeMap:=make(map[uint64]ChargeData)
iferr:=mysql.ProdReadOnlyDB.Raw("select id as user_id,code,SUM(dollar) as dollar,country FROM "+
"(select u.id,u.`code`,SUM(price) / 100 as dollar,u.country FROM pay_order p, `user` u where u.id = p.user_id AND p.`status` = 2 AND `type` = 0 group by user_id UNION ALL select u.id,u.code,SUM(dollar) / 100 as dollar,u.country FROM dealer_transfer_detail d, `user` u where u.id = d.receiver_id group by receiver_id UNION ALL "+
"select u.id,u.code,SUM(dollar) / 100 as dollar,u.country FROM dealer_transfer_detail_pink d, `user` u where u.id = d.receiver_id group by receiver_id) t "+
"where t.id in ? group by code order by dollar DESC",userIds).Find(&chargeDatas).Error;err!=nil{