conflict #559

Merged
chenhao merged 5 commits from conflict into test 2024-06-26 17:39:51 +08:00
5 changed files with 89 additions and 2 deletions

View File

@ -574,3 +574,19 @@ func (m *Mysql) GetLastHourZoneAdmissionInfo(ctx *gin.Context, tx *sqlx.Tx, st,
}
return
}
// 统计空间总人数
func (m *Mysql) GetZoneMemberCountGroupByZoneMemberType(ctx *gin.Context, tx *sqlx.Tx, zids []int64) (list []*dbstruct.ZoneMemberCount, err error) {
sql := fmt.Sprintf("select count(1), zid , member_type from %s where zid in (%s) group by member_type, zid", TableVasZoneMember, util.Convert2SqlArr(zids))
list = make([]*dbstruct.ZoneMemberCount, 0)
if tx != nil {
err = tx.SelectContext(ctx, &list, sql)
} else {
db := m.getDBVas()
err = db.SelectContext(ctx, &list, sql)
}
if err != nil {
return
}
return
}

View File

@ -1238,3 +1238,26 @@ func (v *Vas) GetLastHourZoneProfit(ctx *gin.Context, st, et int64) ([]*dbstruct
func (v *Vas) GetLastHourZoneAdmissionInfo(ctx *gin.Context, tx *sqlx.Tx, st, et int64) ([]*dbstruct.ZoneAdmissionInfo, error) {
return v.store.GetLastHourZoneAdmissionInfo(ctx, tx, st, et)
}
// 统计空间总人数
func (v *Vas) GetZoneMemberCountGroupByZoneMemberType(ctx *gin.Context, zids []int64) (map[int64]map[int64]int64, error) {
countMp := make(map[int64]map[int64]int64, 0)
list, err := v.store.GetZoneMemberCountGroupByZoneMemberType(ctx, nil, zids)
if err != nil {
logger.Error("GetZoneMemberCountGroupByZoneMemberType fail err: %v", err)
return make(map[int64]map[int64]int64), nil
}
for _, zonemembercount := range list {
mp, ok := countMp[zonemembercount.GetZid()]
if ok {
mp[zonemembercount.GetMemberType()] = zonemembercount.GetNum()
} else {
mp = make(map[int64]int64)
mp[zonemembercount.GetMemberType()] = zonemembercount.GetNum()
countMp[zonemembercount.GetZid()] = mp
}
}
return countMp, nil
}

View File

@ -1975,7 +1975,10 @@ func (s *Service) utilFillZonesWithOpVOInfo(ctx *gin.Context, list []*dbstruct.Z
// 8.获取空间付费信息
zvMap, _ := _DefaultVas.GetZoneVasByIds(ctx, zids)
// 9.填充信息
// 9.获取空间人数信息
zmcountMap, _ := _DefaultVas.GetZoneMemberCountGroupByZoneMemberType(ctx, zids)
// 10.填充信息
for _, vo := range volist {
zid := vo.Zone.GetId()
@ -2008,6 +2011,12 @@ func (s *Service) utilFillZonesWithOpVOInfo(ctx *gin.Context, list []*dbstruct.Z
if zv, ok := zvMap[zid]; ok {
vo.CopyZoneVas(zv)
}
// 填充空间总人数
zmcount := zmcountMap[zid]
vo.IronfanNum = zmcount[int64(dbstruct.ZoneMemberTypeIronfan)]
vo.SuperfanNum = zmcount[int64(dbstruct.ZoneMemberTypeSuperfan)]
vo.EntrantNum = zmcount[int64(dbstruct.ZoneMemberTypeNormal)] + vo.IronfanNum + vo.SuperfanNum
}
return

View File

@ -1489,3 +1489,31 @@ func (p *RefundRate) GetRefundRate() float64 {
}
return 0
}
// 空间总人数统计
type ZoneMemberCount struct {
Zid *int64 `json:"zid" db:"zid"`
MemberType *int64 `json:"member_type" db:"member_type"`
Num *int64 `json:"num" db:"num"`
}
func (p *ZoneMemberCount) GetZid() int64 {
if p != nil && p.Zid != nil {
return *p.Zid
}
return 0
}
func (p *ZoneMemberCount) GetMemberType() int64 {
if p != nil && p.MemberType != nil {
return *p.MemberType
}
return 0
}
func (p *ZoneMemberCount) GetNum() int64 {
if p != nil && p.Num != nil {
return *p.Num
}
return 0
}

View File

@ -146,4 +146,15 @@ elastic_search:
uri: "http://172.31.37.67:9200"
username: "elastic"
password: "Wishpal@2024"
sniff: false
sniff: false
yeepay:
appid: "app_10090316660"
parent_merchant_no: "10090316660"
merchant_no: "10090326142"
notify_url: "https://api.tiefen.fun/ext/vas/yeepay_callback"
private_key: "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC8Zfd0RVnpmPuodc0N8XLLI8DWT4hTAyOlwbE5LLiiguG5W0AghvddreO73T51BGK4V05Taxdpv7j7KNl39OUzKA0tpmoLwC4f6II1Op4tY05NnUgOFbno01vE7cN5BWLwVA35dfgQm1jtzXECdTufavYH/qPCzpvd7OTbmdHonMVjanjz+XOfnFowxq8ap3F63ocF4LR3KalsC/cTvW7LYnendjjiFGbMm7DlLEUtHRZ0EzrmM6SVxXRcibKZd7Dy6QpNXLu615cJLui6eS/zmxG2pUoNI31ajh+ZybZ61/Lwsq3JylmXHoSu1WkydfHnIEbr1PasaoD//7BzySQzAgMBAAECggEAFZoRehT7nsPKU0ISnX8qXO2ADnK3HGGXREnFwtsEXqnoLOMwIqqnEWg/XQqcvzkeAqoMEpeMazUvBilkahM79pYokKvsq+VAxKrZxzWt7mFdGJwop2jJVM9rTdS/XZCHDCxvH8PtiiXt1/J++zuq9vgCNt91MoCTMaqYgS+NeIDS0UaNQ6AcwFqyY8XUUXe6phCr2NC9iyOeTXE4HhfuoNJd/H8zmVOYkrfzgYLU/uHhfskGFhCDIO/V3yxZy7K7Z74ECOifGNpH/QV7vK4OHI+2DEOAS0E8G2jNGR67OpmbM7Jgw/8k7xl9sB18zS+Eor1BsnIM8MKSR4ss624NEQKBgQDpwHa21ESDfjYBiDh8MhLnNPzIHHozIIimXd4o36nBgGqH8ciblSWg5KPZmL2U3rVucd6TF0qXZlX6FlsGfp6poKiRMyl8Knc3j3KiyAdpyP9k26ifve4YquOkhNMOaVqO5YJpmfVEppsWy2wA2p3USYecAhHc7KDTlz2TLhT80QKBgQDOVG5dosS/4AJQ4AKE5hd5d7qJfo/VeNx6i4MtMJ4IznO6IE2O1oHuUQOr+6n3QvIGhe1J3Tt8+rv7j1Wp3y16dAPxWJblPCYWw+a6wkNY5ByMeaMzvvLqU/WdyEQzAE7yUPBfxMuhZDEp3ndK/PVVqjR6NPDJ+Dhcel9ntMPBwwKBgFa7WBEcj9NueCF3ZuYGOmdZjNW/Y0QnNSzttWnbG4S13lFU0EeSPqUFURqDBwz+2bkCPUC8qqukiBBETUAKqVptRz6hCiqNIzEVY8asi7ufncvRiS7EbVzvw4me0yUMyFIvLIV8X7o6S19Y2VkzxM4o/k1Po0si7cW0318GATmRAoGBAJD4M79ooPLr0tS+QCbef/nhjNgUa70iuU8E/TrgIPmxDRDmp3fH8ezfUUQig+5uRB0fNnUikyyiAziiIh9D5vFV2HtXslYIZ/6w0EnCOo2XYRO2V1wBOy43paih0IFBIzcQdYPkguq3ue9gFtNCXqI8/7gpwFE4LWmUtbnpAW3/AoGAW9ma4+4+QfGOGb9N38IyzHcXiyAkteQMX72Hxb0HK+nz9QwGXObqFvwnJ7IV8aJ0ZAUGDUfTToorNRSnmPdnq4BG5uKisIONp5pe0ZchlhXAEgKZnCgVmrEHgtzv3U8ffOfbNjoTufI/ZZoyl+7Kr1+o32VikquuMxeNpR9T6Fw="
sd:
host: "http://172.31.37.68:8500"
service_name: "mix_online"