Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hilo-group
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hujiebin
hilo-group
Commits
a3e5bd4f
Commit
a3e5bd4f
authored
Aug 23, 2023
by
chenweijian
Browse files
Options
Browse Files
Download
Plain Diff
group support
parents
af6580c8
2cc919d6
Changes
20
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
279 additions
and
119 deletions
+279
-119
cron.go
cron/cron.go
+5
-4
send_gift_redis.go
cron/gift_cron/send_gift_redis.go
+90
-0
on_mic.go
cron/mic_cron/on_mic.go
+1
-3
group.go
cv/group_cv/group.go
+14
-3
gift_event.go
domain/cache/gift_c/gift_event.go
+34
-0
userRoomVisit.go
domain/cache/room_c/userRoomVisit.go
+1
-1
group_rank.go
domain/model/groupPower_m/group_rank.go
+2
-1
factory.go
domain/model/group_m/factory.go
+2
-2
groupGame.go
domain/model/group_m/groupGame.go
+17
-0
mic.go
domain/model/group_m/mic.go
+4
-3
room.go
domain/model/group_m/room.go
+4
-4
userNoble.go
domain/model/noble_m/userNoble.go
+2
-2
user.go
domain/model/tim_m/user.go
+1
-1
medal.go
domain/model/user_m/medal.go
+2
-2
user.go
domain/model/user_m/user.go
+5
-5
vip.go
domain/model/user_m/vip.go
+5
-6
event_init.go
domain/service/event_s/event_init.go
+66
-67
group_info.go
route/group_r/group_info.go
+1
-1
group_list.go
route/group_r/group_list.go
+22
-13
user_test.go
test/user_test.go
+1
-1
No files found.
cron/cron.go
View file @
a3e5bd4f
...
@@ -11,13 +11,14 @@ func Init() {
...
@@ -11,13 +11,14 @@ func Init() {
if
!
config
.
IsMaster
()
{
if
!
config
.
IsMaster
()
{
return
return
}
}
gift_cron
.
SendGiftEventInit
()
// 礼物消息
//gift_cron.SendGiftEventInit() // 礼物消息
gift_cron
.
GiftRemark
()
// 礼物消息补偿
//gift_cron.GiftRemark() // 礼物消息补偿
gift_cron
.
SendGiftEvent
()
// 礼物事件
mic_cron
.
OnMicCheck
()
// 检查上麦
mic_cron
.
OnMicCheck
()
// 检查上麦
group_cron
.
GroupPowerExpClear
()
// 清理家族经验/等级
group_cron
.
GroupPowerExpClear
()
// 清理家族经验/等级
group_cron
.
GroupPowerMonthRankAct
()
group_cron
.
GroupPowerMonthRankAct
()
group_cron
.
GroupInEventInit
()
// 进房事件
//
group_cron.GroupInEventInit() // 进房事件
group_cron
.
GroupPowerGradeExp
()
// 家族升级
group_cron
.
GroupPowerGradeExp
()
// 家族升级
(上麦事件会用到) todo
group_cron
.
CreateGroup
()
//
group_cron
.
CreateGroup
()
//
group_cron
.
CalcGroupSupport
()
// 群组扶持计算
group_cron
.
CalcGroupSupport
()
// 群组扶持计算
}
}
cron/gift_cron/send_gift_redis.go
0 → 100644
View file @
a3e5bd4f
package
gift_cron
import
(
"git.hilo.cn/hilo-common/domain"
"git.hilo.cn/hilo-common/resource/mysql"
"hilo-group/_const/enum/groupPower_e"
"hilo-group/domain/cache/gift_c"
"hilo-group/domain/event/gift_ev"
"hilo-group/domain/model/groupPower_m"
)
// 送礼事件
func
SendGiftEvent
()
{
//if !config.IsMaster() {
// return
//}
go
func
()
{
for
true
{
model
:=
domain
.
CreateModelNil
()
if
sendGiftEvent
:=
gift_c
.
BLPopQueueSendGift
(
model
);
sendGiftEvent
!=
nil
{
groupPowerGrade
(
model
,
sendGiftEvent
)
// 家族经验
groupPowerStar
(
model
,
sendGiftEvent
)
// 家族之星
}
}
}()
}
// 群组势力经验
func
groupPowerGrade
(
model
*
domain
.
Model
,
sendGiftEvent
*
gift_ev
.
SendGiftEvent
)
{
model
.
Log
.
Infof
(
"AddSendGiftEventAsync %+v"
,
sendGiftEvent
)
if
sendGiftEvent
.
ResGift
.
GiftType
!=
mysql
.
DiamondYellow
{
return
}
exist
,
groupPowerId
,
err
:=
groupPower_m
.
CheckGroupPowerUser
(
model
,
sendGiftEvent
.
SendUserId
)
if
err
!=
nil
{
model
.
Log
.
Infof
(
"CheckGroupPowerUser fail %+v"
,
err
)
return
}
if
exist
{
exp
:=
sendGiftEvent
.
GiftN
*
mysql
.
Num
(
len
(
sendGiftEvent
.
ReceiveUserIds
))
*
sendGiftEvent
.
ResGift
.
DiamondNum
//return model.Transaction(func(model *domain.Model) error {
// return groupPower_m.IncrGroupPowerExp(model, groupPowerId, exp, sendGiftEvent.SendUserId, "送礼")
//})
//return groupPower_c.QueueGroupPowerGradeExp(model, groupPowerId, exp, sendGiftEvent.SendUserId, "送礼")
if
err
:=
model
.
Transaction
(
func
(
model
*
domain
.
Model
)
error
{
return
groupPower_m
.
IncrGroupPowerExp
(
model
,
groupPowerId
,
exp
,
sendGiftEvent
.
SendUserId
,
"送礼"
)
});
err
!=
nil
{
model
.
Log
.
Errorf
(
"IncrGroupPowerExp fail,data:%v-err:%v"
,
*
sendGiftEvent
,
err
)
}
else
{
model
.
Log
.
Infof
(
"IncrGroupPowerExp success,data:%v"
,
*
sendGiftEvent
)
}
}
}
// 家族之星
func
groupPowerStar
(
model
*
domain
.
Model
,
sendGiftEvent
*
gift_ev
.
SendGiftEvent
)
{
if
sendGiftEvent
.
ResGift
.
GiftType
!=
mysql
.
DiamondYellow
{
return
}
var
userIds
=
[]
mysql
.
ID
{
sendGiftEvent
.
SendUserId
}
userIds
=
append
(
userIds
,
sendGiftEvent
.
ReceiveUserIds
...
)
groupPowers
,
err
:=
groupPower_m
.
BatchGetGroupPowerUser
(
model
,
userIds
)
if
err
!=
nil
{
model
.
Log
.
Errorf
(
"AddSendGiftEventAsync fail:%v"
,
err
)
return
}
// 送礼加分
if
data
,
ok
:=
groupPowers
[
sendGiftEvent
.
SendUserId
];
ok
{
diamonds
:=
sendGiftEvent
.
GiftN
*
sendGiftEvent
.
ResGift
.
DiamondNum
*
mysql
.
Num
(
len
(
sendGiftEvent
.
ReceiveUserIds
))
if
err
:=
groupPower_m
.
IncrGroupPowerMonthStarScore
(
model
,
data
.
GroupPowerId
,
data
.
UserId
,
groupPower_e
.
GroupPowerStarTypeFamous
,
diamonds
,
0
);
err
!=
nil
{
model
.
Log
.
Errorf
(
"IncrGroupPowerMonthStarScore famous fail:%v"
,
err
)
}
if
err
:=
groupPower_m
.
IncrGroupPowerDayStarScore
(
model
,
data
.
GroupPowerId
,
data
.
UserId
,
groupPower_e
.
GroupPowerStarTypeFamous
,
diamonds
,
0
);
err
!=
nil
{
model
.
Log
.
Errorf
(
"IncrGroupPowerDayStarScore famous fail:%v"
,
err
)
}
}
// 收礼加分
for
_
,
userId
:=
range
sendGiftEvent
.
ReceiveUserIds
{
if
data
,
ok
:=
groupPowers
[
userId
];
ok
{
diamonds
:=
sendGiftEvent
.
GiftN
*
sendGiftEvent
.
ResGift
.
DiamondNum
if
err
:=
groupPower_m
.
IncrGroupPowerMonthStarScore
(
model
,
data
.
GroupPowerId
,
data
.
UserId
,
groupPower_e
.
GroupPowerStarTypeCharm
,
diamonds
,
0
);
err
!=
nil
{
model
.
Log
.
Errorf
(
"IncrGroupPowerMonthStarScore charm fail:%v"
,
err
)
}
if
err
:=
groupPower_m
.
IncrGroupPowerDayStarScore
(
model
,
data
.
GroupPowerId
,
data
.
UserId
,
groupPower_e
.
GroupPowerStarTypeCharm
,
diamonds
,
0
);
err
!=
nil
{
model
.
Log
.
Errorf
(
"IncrGroupPowerDayStarScore charm fail:%v"
,
err
)
}
}
}
return
}
cron/mic_cron/on_mic.go
View file @
a3e5bd4f
...
@@ -21,14 +21,12 @@ func OnMicCheck() {
...
@@ -21,14 +21,12 @@ func OnMicCheck() {
}
}
for
_
,
groupId
:=
range
groupIds
{
for
_
,
groupId
:=
range
groupIds
{
//遍历每个麦位
//遍历每个麦位
for
i
:=
1
;
i
<=
30
;
i
++
{
for
i
:=
1
;
i
<=
group_m
.
MaxMicNum
;
i
++
{
micUser
,
err
:=
group_m
.
GetMicUser
(
model
,
groupId
,
i
)
micUser
,
err
:=
group_m
.
GetMicUser
(
model
,
groupId
,
i
)
if
err
!=
nil
{
if
err
!=
nil
{
model
.
Log
.
Errorf
(
"cron micIn group_m.GetMicUser err:%v"
,
err
)
model
.
Log
.
Errorf
(
"cron micIn group_m.GetMicUser err:%v"
,
err
)
}
}
if
micUser
!=
nil
{
if
micUser
!=
nil
{
continue
// todo 先不做麦位相关的动作。。
if
err
:=
mic_ev
.
PublishOnMicEvent
(
model
,
&
mic_ev
.
OnMicEvent
{
if
err
:=
mic_ev
.
PublishOnMicEvent
(
model
,
&
mic_ev
.
OnMicEvent
{
GroupUuid
:
micUser
.
GroupUuid
,
GroupUuid
:
micUser
.
GroupUuid
,
I
:
micUser
.
I
,
I
:
micUser
.
I
,
...
...
cv/group_cv/group.go
View file @
a3e5bd4f
...
@@ -251,13 +251,24 @@ type CvCountry struct {
...
@@ -251,13 +251,24 @@ type CvCountry struct {
AreaCodeName
*
string
`json:"areaShortName"`
AreaCodeName
*
string
`json:"areaShortName"`
}
}
func
BuildJoinedGroupInfo
(
myService
*
domain
.
Service
,
myUserId
uint64
,
g
roupIds
[]
string
,
pageSize
,
pageIndex
int
)
([]
JoinedGroupInfo
,
int
,
error
)
{
func
BuildJoinedGroupInfo
(
myService
*
domain
.
Service
,
myUserId
uint64
,
originG
roupIds
[]
string
,
pageSize
,
pageIndex
int
)
([]
JoinedGroupInfo
,
int
,
error
)
{
model
:=
domain
.
CreateModel
(
myService
.
CtxAndDb
)
model
:=
domain
.
CreateModel
(
myService
.
CtxAndDb
)
groupInfo
,
err
:=
group_m
.
BatchGetGroupInfo
(
model
,
g
roupIds
)
groupInfo
,
err
:=
group_m
.
BatchGetGroupInfo
(
model
,
originG
roupIds
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
0
,
err
return
nil
,
0
,
err
}
}
var
groupIds
[]
string
for
_
,
groupId
:=
range
originGroupIds
{
if
group
,
ok
:=
groupInfo
[
groupId
];
ok
{
if
group
.
IsGameRoom
==
0
{
groupIds
=
append
(
groupIds
,
groupId
)
}
}
}
if
len
(
groupIds
)
<=
0
{
return
nil
,
0
,
nil
}
// todo: 可以移到后面,减小查询范围,因为roomMicUserMap不影响排序
// todo: 可以移到后面,减小查询范围,因为roomMicUserMap不影响排序
roomMicUserMap
,
err
:=
group_m
.
BatchGetAllMicUser
(
model
,
groupIds
)
roomMicUserMap
,
err
:=
group_m
.
BatchGetAllMicUser
(
model
,
groupIds
)
...
@@ -310,7 +321,7 @@ func BuildJoinedGroupInfo(myService *domain.Service, myUserId uint64, groupIds [
...
@@ -310,7 +321,7 @@ func BuildJoinedGroupInfo(myService *domain.Service, myUserId uint64, groupIds [
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
0
,
err
return
nil
,
0
,
err
}
}
model
.
Log
.
Infof
(
"BuildJoinedGroupInfo, roomEnterTime: %v"
,
roomEnterTime
)
//
model.Log.Infof("BuildJoinedGroupInfo, roomEnterTime: %v", roomEnterTime)
// 排序优先级V8.0版本
// 排序优先级V8.0版本
sort
.
Slice
(
groupIds
,
func
(
i
,
j
int
)
bool
{
sort
.
Slice
(
groupIds
,
func
(
i
,
j
int
)
bool
{
...
...
domain/cache/gift_c/gift_event.go
0 → 100644
View file @
a3e5bd4f
package
gift_c
import
(
"encoding/json"
"git.hilo.cn/hilo-common/domain"
"github.com/go-redis/redis/v8"
"hilo-group/domain/event/gift_ev"
"time"
)
const
EventSendGiftHiloGroupQueue
=
"send:gift:queue:hilo_group"
// redis pop event sendGift
func
BLPopQueueSendGift
(
model
*
domain
.
Model
)
*
gift_ev
.
SendGiftEvent
{
var
res
*
gift_ev
.
SendGiftEvent
queue
:=
EventSendGiftHiloGroupQueue
strs
,
err
:=
model
.
Redis
.
BLPop
(
model
,
time
.
Second
,
queue
)
.
Result
()
if
err
!=
nil
{
if
err
!=
redis
.
Nil
{
model
.
Log
.
Errorf
(
"BLPopQueueSendGift fail:%v"
,
err
)
}
return
nil
}
if
len
(
strs
)
>=
2
{
content
:=
strs
[
1
]
res
=
new
(
gift_ev
.
SendGiftEvent
)
if
err
:=
json
.
Unmarshal
([]
byte
(
content
),
res
);
err
!=
nil
{
model
.
Log
.
Errorf
(
"BLPopQueueSendGift json fail:%v"
,
err
)
return
nil
}
return
res
}
return
nil
}
domain/cache/room_c/userRoomVisit.go
View file @
a3e5bd4f
...
@@ -65,7 +65,7 @@ func GetUserRoomVisit(userId uint64) (map[string]int64, error) {
...
@@ -65,7 +65,7 @@ func GetUserRoomVisit(userId uint64) (map[string]int64, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
mylogrus
.
MyLog
.
Infof
(
"GetUserRoomVisit, ZRangeWithScores %s, return %v"
,
key
,
ret
)
//
mylogrus.MyLog.Infof("GetUserRoomVisit, ZRangeWithScores %s, return %v", key, ret)
result
:=
make
(
map
[
string
]
int64
,
0
)
result
:=
make
(
map
[
string
]
int64
,
0
)
for
_
,
i
:=
range
ret
{
for
_
,
i
:=
range
ret
{
...
...
domain/model/groupPower_m/group_rank.go
View file @
a3e5bd4f
...
@@ -15,11 +15,12 @@ type GroupPowerExpRank struct {
...
@@ -15,11 +15,12 @@ type GroupPowerExpRank struct {
// 获取家族经验排行榜
// 获取家族经验排行榜
// param limit: 排行榜人数
// param limit: 排行榜人数
// 10166 线上员工,对应的势力不上榜,groupPowerId=8951
// 10166 线上员工,对应的势力不上榜,groupPowerId=8951
,6171(产品要移走)
func
GetGroupPowerExpRank
(
model
*
domain
.
Model
,
beginDate
,
endDate
string
,
limit
int
,
gpStatus
groupPower_e
.
GroupPowerStatus
,
area
int
)
([]
GroupPowerExpRank
,
error
)
{
func
GetGroupPowerExpRank
(
model
*
domain
.
Model
,
beginDate
,
endDate
string
,
limit
int
,
gpStatus
groupPower_e
.
GroupPowerStatus
,
area
int
)
([]
GroupPowerExpRank
,
error
)
{
var
res
[]
GroupPowerExpRank
var
res
[]
GroupPowerExpRank
db
:=
model
.
DB
()
.
Table
(
"group_power_day_exp gpd"
)
.
Select
(
"gpd.group_power_id,SUM(gpd.exp) as exp"
)
.
db
:=
model
.
DB
()
.
Table
(
"group_power_day_exp gpd"
)
.
Select
(
"gpd.group_power_id,SUM(gpd.exp) as exp"
)
.
Where
(
"gpd.group_power_id <> 8951"
)
.
Where
(
"gpd.group_power_id <> 8951"
)
.
Where
(
"gpd.group_power_id <> 6171"
)
.
Where
(
"gpd.date BETWEEN ? AND ?"
,
beginDate
,
endDate
)
Where
(
"gpd.date BETWEEN ? AND ?"
,
beginDate
,
endDate
)
if
gpStatus
>
0
{
if
gpStatus
>
0
{
db
=
db
.
Joins
(
"left join group_power gp on gpd.group_power_id = gp.id"
)
.
Where
(
"gp.status = ?"
,
gpStatus
)
db
=
db
.
Joins
(
"left join group_power gp on gpd.group_power_id = gp.id"
)
.
Where
(
"gp.status = ?"
,
gpStatus
)
...
...
domain/model/group_m/factory.go
View file @
a3e5bd4f
...
@@ -253,7 +253,7 @@ func BatchGetAllMicUser(model *domain.Model, groupIds []string) (map[string][]my
...
@@ -253,7 +253,7 @@ func BatchGetAllMicUser(model *domain.Model, groupIds []string) (map[string][]my
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
model
.
Log
.
Infof
(
"BatchGetAllMicUser redis return size = %d, mics: %v"
,
len
(
mics
),
mics
)
//
model.Log.Infof("BatchGetAllMicUser redis return size = %d, mics: %v", len(mics), mics)
if
len
(
mics
)
>=
len
(
groupIds
)
{
if
len
(
mics
)
>=
len
(
groupIds
)
{
for
i
,
g
:=
range
groupIds
{
for
i
,
g
:=
range
groupIds
{
...
@@ -432,7 +432,7 @@ func GetMicUserByExternalId(model *domain.Model, externalId string) (*MicUser, e
...
@@ -432,7 +432,7 @@ func GetMicUserByExternalId(model *domain.Model, externalId string) (*MicUser, e
//麦位上没人,返回nil
//麦位上没人,返回nil
func
GetMicUser
(
model
*
domain
.
Model
,
groupUuid
string
,
i
int
)
(
*
MicUser
,
error
)
{
func
GetMicUser
(
model
*
domain
.
Model
,
groupUuid
string
,
i
int
)
(
*
MicUser
,
error
)
{
if
i
<
1
||
i
>
30
{
if
i
<
1
||
i
>
MaxMicNum
{
return
nil
,
myerr
.
NewSysErrorF
(
"麦序不对,不在范围值内 i:%v"
,
i
)
return
nil
,
myerr
.
NewSysErrorF
(
"麦序不对,不在范围值内 i:%v"
,
i
)
}
}
str
,
err
:=
redisCli
.
GetRedis
()
.
Get
(
context
.
Background
(),
redis_key
.
GetPrefixGroupMicUser
(
groupUuid
,
i
))
.
Result
()
str
,
err
:=
redisCli
.
GetRedis
()
.
Get
(
context
.
Background
(),
redis_key
.
GetPrefixGroupMicUser
(
groupUuid
,
i
))
.
Result
()
...
...
domain/model/group_m/groupGame.go
0 → 100644
View file @
a3e5bd4f
package
group_m
import
"git.hilo.cn/hilo-common/domain"
// 获取游戏房
func
GetGameGroupsMap
(
model
*
domain
.
Model
)
map
[
string
]
bool
{
res
:=
make
(
map
[
string
]
bool
)
var
rows
[]
GroupInfo
if
err
:=
model
.
DB
()
.
Model
(
GroupInfo
{})
.
Where
(
"is_game_room = 1"
)
.
Find
(
&
rows
)
.
Error
;
err
!=
nil
{
model
.
Log
.
Errorf
(
"GetGameGroupsMap fail:%v"
,
err
)
return
res
}
for
_
,
v
:=
range
rows
{
res
[
v
.
ImGroupId
]
=
true
}
return
res
}
domain/model/group_m/mic.go
View file @
a3e5bd4f
...
@@ -843,6 +843,7 @@ func GetMicHasInGroups() ([]string, error) {
...
@@ -843,6 +843,7 @@ func GetMicHasInGroups() ([]string, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
myerr
.
WrapErr
(
err
)
return
nil
,
myerr
.
WrapErr
(
err
)
}
}
return
groupUuids
,
nil
// 不需要下面的逐个麦位的判断了
//
//
resultGroupUuids
:=
make
([]
string
,
0
,
len
(
groupUuids
))
resultGroupUuids
:=
make
([]
string
,
0
,
len
(
groupUuids
))
//循环lua判断是否, 最后的保证,(猜想:真正麦上有人的群没有很多)
//循环lua判断是否, 最后的保证,(猜想:真正麦上有人的群没有很多)
...
@@ -875,7 +876,7 @@ var micGroupNumCache = gcache.New(10000).LRU().Build()
...
@@ -875,7 +876,7 @@ var micGroupNumCache = gcache.New(10000).LRU().Build()
func
GetMicHasInGroupNum
(
model
*
domain
.
Model
)
(
map
[
string
]
int64
,
error
)
{
func
GetMicHasInGroupNum
(
model
*
domain
.
Model
)
(
map
[
string
]
int64
,
error
)
{
// get from cache
// get from cache
if
data
,
err
:=
micGroupNumCache
.
Get
(
micGroupNumKey
);
err
==
nil
{
if
data
,
err
:=
micGroupNumCache
.
Get
(
micGroupNumKey
);
err
==
nil
{
model
.
Log
.
Infof
(
"GetMicHasInGroupNum cache hit:%v"
,
data
)
//
model.Log.Infof("GetMicHasInGroupNum cache hit:%v", data)
// 正服才缓存
// 正服才缓存
if
config
.
AppIsRelease
()
{
if
config
.
AppIsRelease
()
{
return
data
.
(
map
[
string
]
int64
),
nil
return
data
.
(
map
[
string
]
int64
),
nil
...
@@ -912,8 +913,8 @@ func GetMicHasInGroupNum(model *domain.Model) (map[string]int64, error) {
...
@@ -912,8 +913,8 @@ func GetMicHasInGroupNum(model *domain.Model) (map[string]int64, error) {
}
}
}
}
// cache 1min
// cache 1min
_
=
micGroupNumCache
.
SetWithExpire
(
micGroupNumKey
,
resultGroupUuids
,
time
.
Minute
)
_
=
micGroupNumCache
.
SetWithExpire
(
micGroupNumKey
,
resultGroupUuids
,
time
.
Minute
*
15
)
model
.
Log
.
Infof
(
"GetMicHasInGroupNum cache miss:%v"
,
resultGroupUuids
)
//
model.Log.Infof("GetMicHasInGroupNum cache miss:%v", resultGroupUuids)
return
resultGroupUuids
,
nil
return
resultGroupUuids
,
nil
}
}
...
...
domain/model/group_m/room.go
View file @
a3e5bd4f
...
@@ -279,7 +279,7 @@ func RoomLivingExistsUserId(groupUid string) ([]uint64, error) {
...
@@ -279,7 +279,7 @@ func RoomLivingExistsUserId(groupUid string) ([]uint64, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
myerr
.
WrapErr
(
err
)
return
nil
,
myerr
.
WrapErr
(
err
)
}
}
mylogrus
.
MyLog
.
Infof
(
"group_room_living RoomLivingExistsUserId groupUserIdstrs:%v"
,
groupUserIdstrs
)
//
mylogrus.MyLog.Infof("group_room_living RoomLivingExistsUserId groupUserIdstrs:%v", groupUserIdstrs)
userIds
:=
make
([]
uint64
,
0
,
len
(
groupUserIdstrs
))
userIds
:=
make
([]
uint64
,
0
,
len
(
groupUserIdstrs
))
for
i
,
_
:=
range
groupUserIdstrs
{
for
i
,
_
:=
range
groupUserIdstrs
{
tempGroupUid
,
userId
:=
analysisMemberStr
(
groupUserIdstrs
[
i
])
tempGroupUid
,
userId
:=
analysisMemberStr
(
groupUserIdstrs
[
i
])
...
@@ -333,7 +333,7 @@ func RoomLivingExistsGroup(model *domain.Model) (map[string]map[uint64]struct{},
...
@@ -333,7 +333,7 @@ func RoomLivingExistsGroup(model *domain.Model) (map[string]map[uint64]struct{},
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
myerr
.
WrapErr
(
err
)
return
nil
,
myerr
.
WrapErr
(
err
)
}
}
model
.
Log
.
Infof
(
"group_room_living RoomLivingExistsGroup groupUserIdstrs:%v"
,
groupUserIdstrs
)
//
model.Log.Infof("group_room_living RoomLivingExistsGroup groupUserIdstrs:%v", groupUserIdstrs)
groupGroup
:=
map
[
string
]
map
[
uint64
]
struct
{}{}
groupGroup
:=
map
[
string
]
map
[
uint64
]
struct
{}{}
for
i
,
_
:=
range
groupUserIdstrs
{
for
i
,
_
:=
range
groupUserIdstrs
{
tempGroupUid
,
userId
:=
analysisMemberStr
(
groupUserIdstrs
[
i
])
tempGroupUid
,
userId
:=
analysisMemberStr
(
groupUserIdstrs
[
i
])
...
@@ -429,7 +429,7 @@ func BatchGetRoomVisitCount(logE *logrus.Entry, groupIds []string) (map[string]i
...
@@ -429,7 +429,7 @@ func BatchGetRoomVisitCount(logE *logrus.Entry, groupIds []string) (map[string]i
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
logE
.
Infof
(
"MGetRoomVisitCount:%v"
,
roomVisitCount
)
//
logE.Infof("MGetRoomVisitCount:%v", roomVisitCount)
visitCount
:=
make
(
map
[
string
]
int64
)
visitCount
:=
make
(
map
[
string
]
int64
)
for
_
,
groupId
:=
range
groupIds
{
for
_
,
groupId
:=
range
groupIds
{
...
@@ -464,7 +464,7 @@ func BatchGetRoomVisitCountList(logE *logrus.Entry, groupIds []string) (map[stri
...
@@ -464,7 +464,7 @@ func BatchGetRoomVisitCountList(logE *logrus.Entry, groupIds []string) (map[stri
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
nil
,
err
return
nil
,
nil
,
err
}
}
logE
.
Infof
(
"MGetRoomVisitCount:%v"
,
roomVisitCount
)
//
logE.Infof("MGetRoomVisitCount:%v", roomVisitCount)
res
:=
make
([]
*
RoomVisit
,
0
,
len
(
groupIds
))
res
:=
make
([]
*
RoomVisit
,
0
,
len
(
groupIds
))
visitCount
:=
make
(
map
[
string
]
int64
)
visitCount
:=
make
(
map
[
string
]
int64
)
...
...
domain/model/noble_m/userNoble.go
View file @
a3e5bd4f
...
@@ -144,7 +144,7 @@ func BatchGetActiveNoble(db *gorm.DB, userIds []uint64) (map[uint64]UserNoble, e
...
@@ -144,7 +144,7 @@ func BatchGetActiveNoble(db *gorm.DB, userIds []uint64) (map[uint64]UserNoble, e
start
+=
NUM
start
+=
NUM
end
+=
NUM
end
+=
NUM
}
}
mylogrus
.
MyLog
.
Infof
(
"BatchGetActiveNoble expected:%v,actual:%v,notEndUids:%v"
,
len
(
userIds
),
len
(
result
),
notEndUids
)
//
mylogrus.MyLog.Infof("BatchGetActiveNoble expected:%v,actual:%v,notEndUids:%v", len(userIds), len(result), notEndUids)
if
len
(
userIds
)
!=
len
(
result
)
{
if
len
(
userIds
)
!=
len
(
result
)
{
mylogrus
.
MyLog
.
Warnf
(
"BatchGetActiveNoble expected:%v"
,
userIds
)
mylogrus
.
MyLog
.
Warnf
(
"BatchGetActiveNoble expected:%v"
,
userIds
)
}
}
...
...
domain/model/tim_m/user.go
View file @
a3e5bd4f
...
@@ -325,7 +325,7 @@ func GetOnlineStatus(model *domain.Model, extIds []string) (map[string]uint, err
...
@@ -325,7 +325,7 @@ func GetOnlineStatus(model *domain.Model, extIds []string) (map[string]uint, err
model
.
Log
.
Warnf
(
"getOnlineStatus redis failed"
)
model
.
Log
.
Warnf
(
"getOnlineStatus redis failed"
)
left
=
extIds
left
=
extIds
}
else
{
}
else
{
model
.
Log
.
Infof
(
"getOnlineStatus redis return size = %d: %v"
,
len
(
r
),
r
)
//
model.Log.Infof("getOnlineStatus redis return size = %d: %v", len(r), r)
if
len
(
r
)
>=
len
(
extIds
)
{
if
len
(
r
)
>=
len
(
extIds
)
{
for
i
,
e
:=
range
extIds
{
for
i
,
e
:=
range
extIds
{
...
...
domain/model/user_m/medal.go
View file @
a3e5bd4f
...
@@ -48,8 +48,8 @@ func GetUserMedalMerge(logger *logrus.Entry, db *gorm.DB, userId mysql.ID) ([]ui
...
@@ -48,8 +48,8 @@ func GetUserMedalMerge(logger *logrus.Entry, db *gorm.DB, userId mysql.ID) ([]ui
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
logger
.
Infof
(
"GetUserMedalLevelMap, user %d, medalMap %+v"
,
medalTypes
)
//
logger.Infof("GetUserMedalLevelMap, user %d, medalMap %+v", medalTypes)
logger
.
Infof
(
"GetUserMedalLevelMap, user %d, medalList %+v"
,
medalList
)
//
logger.Infof("GetUserMedalLevelMap, user %d, medalList %+v", medalList)
maxGrades
:=
make
(
map
[
uint8
]
int
,
0
)
maxGrades
:=
make
(
map
[
uint8
]
int
,
0
)
maxMedalIds
:=
make
(
map
[
uint8
]
uint32
,
0
)
maxMedalIds
:=
make
(
map
[
uint8
]
uint32
,
0
)
...
...
domain/model/user_m/user.go
View file @
a3e5bd4f
...
@@ -94,10 +94,7 @@ func GetUserMapByIds(model *domain.Model, userIds []mysql.ID) (map[mysql.ID]User
...
@@ -94,10 +94,7 @@ func GetUserMapByIds(model *domain.Model, userIds []mysql.ID) (map[mysql.ID]User
}
}
var
rows
[]
User
var
rows
[]
User
start
:=
0
start
:=
0
for
end
<=
len
(
userIds
)
{
for
start
<
len
(
userIds
)
{
if
end
>
len
(
userIds
)
{
end
=
len
(
userIds
)
}
tmp
,
err
:=
GetUsersByIds
(
model
,
userIds
[
start
:
end
])
tmp
,
err
:=
GetUsersByIds
(
model
,
userIds
[
start
:
end
])
if
err
!=
nil
{
if
err
!=
nil
{
return
result
,
err
return
result
,
err
...
@@ -106,7 +103,10 @@ func GetUserMapByIds(model *domain.Model, userIds []mysql.ID) (map[mysql.ID]User
...
@@ -106,7 +103,10 @@ func GetUserMapByIds(model *domain.Model, userIds []mysql.ID) (map[mysql.ID]User
}
}
start
+=
500
start
+=
500
end
+=
500
end
+=
500
model
.
Log
.
Infof
(
"GetUserMapByIds start:%v-end:%v"
,
start
,
end
)
if
end
>
len
(
userIds
)
{
end
=
len
(
userIds
)
}
//model.Log.Infof("GetUserMapByIds start:%v-end:%v", start, end)
}
}
for
_
,
i
:=
range
rows
{
for
_
,
i
:=
range
rows
{
result
[
i
.
ID
]
=
i
result
[
i
.
ID
]
=
i
...
...
domain/model/user_m/vip.go
View file @
a3e5bd4f
...
@@ -2,7 +2,6 @@ package user_m
...
@@ -2,7 +2,6 @@ package user_m
import
(
import
(
"git.hilo.cn/hilo-common/domain"
"git.hilo.cn/hilo-common/domain"
"git.hilo.cn/hilo-common/mylogrus"
"git.hilo.cn/hilo-common/resource/mysql"
"git.hilo.cn/hilo-common/resource/mysql"
"gorm.io/gorm"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/clause"
...
@@ -69,10 +68,7 @@ func BatchGetVips(userIds []uint64) (map[uint64]*int64, error) {
...
@@ -69,10 +68,7 @@ func BatchGetVips(userIds []uint64) (map[uint64]*int64, error) {
end
=
len
(
userIds
)
end
=
len
(
userIds
)
}
}
start
:=
0
start
:=
0
for
end
<=
len
(
userIds
)
{
for
start
<
len
(
userIds
)
{
if
end
>
len
(
userIds
)
{
end
=
len
(
userIds
)
}
tmp
:=
make
([]
UserVip
,
0
)
tmp
:=
make
([]
UserVip
,
0
)
err
:=
mysql
.
Db
.
Where
(
"user_id IN ?"
,
userIds
[
start
:
end
])
.
Find
(
&
tmp
)
.
Error
err
:=
mysql
.
Db
.
Where
(
"user_id IN ?"
,
userIds
[
start
:
end
])
.
Find
(
&
tmp
)
.
Error
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -85,7 +81,10 @@ func BatchGetVips(userIds []uint64) (map[uint64]*int64, error) {
...
@@ -85,7 +81,10 @@ func BatchGetVips(userIds []uint64) (map[uint64]*int64, error) {
}
}
start
+=
500
start
+=
500
end
+=
500
end
+=
500
mylogrus
.
MyLog
.
Infof
(
"BatchGetVips start:%v-end:%v"
,
start
,
end
)
if
end
>
len
(
userIds
)
{
end
=
len
(
userIds
)
}
//mylogrus.MyLog.Infof("BatchGetVips start:%v-end:%v", start, end)
}
}
for
_
,
i
:=
range
userIds
{
for
_
,
i
:=
range
userIds
{
...
...
domain/service/event_s/event_init.go
View file @
a3e5bd4f
...
@@ -10,11 +10,9 @@ import (
...
@@ -10,11 +10,9 @@ import (
"git.hilo.cn/hilo-common/rpc"
"git.hilo.cn/hilo-common/rpc"
"git.hilo.cn/hilo-common/sdk/tencentyun"
"git.hilo.cn/hilo-common/sdk/tencentyun"
"hilo-group/_const/enum/gift_e"
"hilo-group/_const/enum/gift_e"
"hilo-group/_const/enum/groupPower_e"
"hilo-group/_const/enum/group_e"
"hilo-group/_const/enum/group_e"
"hilo-group/_const/enum/msg_e"
"hilo-group/_const/enum/msg_e"
"hilo-group/_const/enum/task_e"
"hilo-group/_const/enum/task_e"
"hilo-group/domain/cache/groupPower_c"
"hilo-group/domain/cache/group_c"
"hilo-group/domain/cache/group_c"
"hilo-group/domain/event/gift_ev"
"hilo-group/domain/event/gift_ev"
"hilo-group/domain/event/group_ev"
"hilo-group/domain/event/group_ev"
...
@@ -39,7 +37,7 @@ func EventInit() {
...
@@ -39,7 +37,7 @@ func EventInit() {
GroupEvents
()
GroupEvents
()
GroupImMass
()
GroupImMass
()
GroupTheme
()
GroupTheme
()
SendGift
()
// 送礼事件
//
SendGift() // 送礼事件
OnMic
()
// 在麦上事件
OnMic
()
// 在麦上事件
GroupInMicChangeEvent
()
// 用户进房推送mic位置信息
GroupInMicChangeEvent
()
// 用户进房推送mic位置信息
}
}
...
@@ -476,71 +474,72 @@ func FlushHiloInfo(extId string, isVip bool, isPrettyCode bool, medals []uint32,
...
@@ -476,71 +474,72 @@ func FlushHiloInfo(extId string, isVip bool, isPrettyCode bool, medals []uint32,
func
SendGift
()
{
func
SendGift
()
{
// 送礼事件-势力经验
// 送礼事件-势力经验
gift_ev
.
AddSendGiftEventAsync
(
func
(
model
*
domain
.
Model
,
event
interface
{})
error
{
//gift_ev.AddSendGiftEventAsync(func(model *domain.Model, event interface{}) error {
sendGiftEvent
,
ok
:=
event
.
(
*
gift_ev
.
SendGiftEvent
)
// sendGiftEvent, ok := event.(*gift_ev.SendGiftEvent)
if
!
ok
{
// if !ok {
model
.
Log
.
Errorf
(
"AddSendGiftEventAsync event type err"
)
// model.Log.Errorf("AddSendGiftEventAsync event type err")
return
nil
// return nil
}
// }
model
.
Log
.
Infof
(
"AddSendGiftEventAsync %+v"
,
sendGiftEvent
)
// model.Log.Infof("AddSendGiftEventAsync %+v", sendGiftEvent)
if
sendGiftEvent
.
ResGift
.
GiftType
!=
mysql
.
DiamondYellow
{
// if sendGiftEvent.ResGift.GiftType != mysql.DiamondYellow {
return
nil
// return nil
}
// }
exist
,
groupPowerId
,
err
:=
groupPower_m
.
CheckGroupPowerUser
(
model
,
sendGiftEvent
.
SendUserId
)
// exist, groupPowerId, err := groupPower_m.CheckGroupPowerUser(model, sendGiftEvent.SendUserId)
if
err
!=
nil
{
// if err != nil {
model
.
Log
.
Infof
(
"CheckGroupPowerUser fail %+v"
,
err
)
// model.Log.Infof("CheckGroupPowerUser fail %+v", err)
return
err
// return err
}
// }
if
exist
{
// if exist {
exp
:=
sendGiftEvent
.
GiftN
*
mysql
.
Num
(
len
(
sendGiftEvent
.
ReceiveUserIds
))
*
sendGiftEvent
.
ResGift
.
DiamondNum
// exp := sendGiftEvent.GiftN * mysql.Num(len(sendGiftEvent.ReceiveUserIds)) * sendGiftEvent.ResGift.DiamondNum
//return model.Transaction(func(model *domain.Model) error {
// //return model.Transaction(func(model *domain.Model) error {
// return groupPower_m.IncrGroupPowerExp(model, groupPowerId, exp, sendGiftEvent.SendUserId, "送礼")
// // return groupPower_m.IncrGroupPowerExp(model, groupPowerId, exp, sendGiftEvent.SendUserId, "送礼")
// //})
// return groupPower_c.QueueGroupPowerGradeExp(model, groupPowerId, exp, sendGiftEvent.SendUserId, "送礼")
// }
// return nil
//})
//})
return
groupPower_c
.
QueueGroupPowerGradeExp
(
model
,
groupPowerId
,
exp
,
sendGiftEvent
.
SendUserId
,
"送礼"
)
}
return
nil
})
// 家族之星-送礼/收礼
// 家族之星-送礼/收礼
gift_ev
.
AddSendGiftEventAsync
(
func
(
model
*
domain
.
Model
,
event
interface
{})
error
{
//gift_ev.AddSendGiftEventAsync(func(model *domain.Model, event interface{}) error {
sendGiftEvent
,
ok
:=
event
.
(
*
gift_ev
.
SendGiftEvent
)
// sendGiftEvent, ok := event.(*gift_ev.SendGiftEvent)
if
!
ok
{
// if !ok {
model
.
Log
.
Errorf
(
"AddSendGiftEventAsync event type err"
)
// model.Log.Errorf("AddSendGiftEventAsync event type err")
return
nil
// return nil
}
// }
if
sendGiftEvent
.
ResGift
.
GiftType
!=
mysql
.
DiamondYellow
{
// if sendGiftEvent.ResGift.GiftType != mysql.DiamondYellow {
return
nil
// return nil
}
// }
var
userIds
=
[]
mysql
.
ID
{
sendGiftEvent
.
SendUserId
}
// var userIds = []mysql.ID{sendGiftEvent.SendUserId}
userIds
=
append
(
userIds
,
sendGiftEvent
.
ReceiveUserIds
...
)
// userIds = append(userIds, sendGiftEvent.ReceiveUserIds...)
groupPowers
,
err
:=
groupPower_m
.
BatchGetGroupPowerUser
(
model
,
userIds
)
// groupPowers, err := groupPower_m.BatchGetGroupPowerUser(model, userIds)
if
err
!=
nil
{
// if err != nil {
model
.
Log
.
Errorf
(
"AddSendGiftEventAsync fail:%v"
,
err
)
// model.Log.Errorf("AddSendGiftEventAsync fail:%v", err)
return
err
// return err
}
// }
// 送礼加分
// // 送礼加分
if
data
,
ok
:=
groupPowers
[
sendGiftEvent
.
SendUserId
];
ok
{
// if data, ok := groupPowers[sendGiftEvent.SendUserId]; ok {
diamonds
:=
sendGiftEvent
.
GiftN
*
sendGiftEvent
.
ResGift
.
DiamondNum
*
mysql
.
Num
(
len
(
sendGiftEvent
.
ReceiveUserIds
))
// diamonds := sendGiftEvent.GiftN * sendGiftEvent.ResGift.DiamondNum * mysql.Num(len(sendGiftEvent.ReceiveUserIds))
if
err
:=
groupPower_m
.
IncrGroupPowerMonthStarScore
(
model
,
data
.
GroupPowerId
,
data
.
UserId
,
groupPower_e
.
GroupPowerStarTypeFamous
,
diamonds
,
0
);
err
!=
nil
{
// if err := groupPower_m.IncrGroupPowerMonthStarScore(model, data.GroupPowerId, data.UserId, groupPower_e.GroupPowerStarTypeFamous, diamonds, 0); err != nil {
model
.
Log
.
Errorf
(
"IncrGroupPowerMonthStarScore famous fail:%v"
,
err
)
// model.Log.Errorf("IncrGroupPowerMonthStarScore famous fail:%v", err)
}
// }
if
err
:=
groupPower_m
.
IncrGroupPowerDayStarScore
(
model
,
data
.
GroupPowerId
,
data
.
UserId
,
groupPower_e
.
GroupPowerStarTypeFamous
,
diamonds
,
0
);
err
!=
nil
{
// if err := groupPower_m.IncrGroupPowerDayStarScore(model, data.GroupPowerId, data.UserId, groupPower_e.GroupPowerStarTypeFamous, diamonds, 0); err != nil {
model
.
Log
.
Errorf
(
"IncrGroupPowerDayStarScore famous fail:%v"
,
err
)
// model.Log.Errorf("IncrGroupPowerDayStarScore famous fail:%v", err)
}
// }
}
// }
// 收礼加分
// // 收礼加分
for
_
,
userId
:=
range
sendGiftEvent
.
ReceiveUserIds
{
// for _, userId := range sendGiftEvent.ReceiveUserIds {
if
data
,
ok
:=
groupPowers
[
userId
];
ok
{
// if data, ok := groupPowers[userId]; ok {
diamonds
:=
sendGiftEvent
.
GiftN
*
sendGiftEvent
.
ResGift
.
DiamondNum
// diamonds := sendGiftEvent.GiftN * sendGiftEvent.ResGift.DiamondNum
if
err
:=
groupPower_m
.
IncrGroupPowerMonthStarScore
(
model
,
data
.
GroupPowerId
,
data
.
UserId
,
groupPower_e
.
GroupPowerStarTypeCharm
,
diamonds
,
0
);
err
!=
nil
{
// if err := groupPower_m.IncrGroupPowerMonthStarScore(model, data.GroupPowerId, data.UserId, groupPower_e.GroupPowerStarTypeCharm, diamonds, 0); err != nil {
model
.
Log
.
Errorf
(
"IncrGroupPowerMonthStarScore charm fail:%v"
,
err
)
// model.Log.Errorf("IncrGroupPowerMonthStarScore charm fail:%v", err)
}
// }
if
err
:=
groupPower_m
.
IncrGroupPowerDayStarScore
(
model
,
data
.
GroupPowerId
,
data
.
UserId
,
groupPower_e
.
GroupPowerStarTypeCharm
,
diamonds
,
0
);
err
!=
nil
{
// if err := groupPower_m.IncrGroupPowerDayStarScore(model, data.GroupPowerId, data.UserId, groupPower_e.GroupPowerStarTypeCharm, diamonds, 0); err != nil {
model
.
Log
.
Errorf
(
"IncrGroupPowerDayStarScore charm fail:%v"
,
err
)
// model.Log.Errorf("IncrGroupPowerDayStarScore charm fail:%v", err)
}
// }
}
// }
}
// }
return
nil
// return nil
})
//})
// 送礼事件-群组扶持数据累加
// 送礼事件-群组扶持数据累加
gift_ev
.
AddSendGiftEventAsync
(
func
(
model
*
domain
.
Model
,
event
interface
{})
error
{
gift_ev
.
AddSendGiftEventAsync
(
func
(
model
*
domain
.
Model
,
event
interface
{})
error
{
if
time
.
Now
()
.
Unix
()
<
1692964800
{
// cwj----
if
time
.
Now
()
.
Unix
()
<
1692964800
{
// cwj----
...
...
route/group_r/group_info.go
View file @
a3e5bd4f
...
@@ -211,7 +211,7 @@ func GetTheirGroups(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -211,7 +211,7 @@ func GetTheirGroups(c *gin.Context) (*mycontext.MyContext, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
myContext
,
err
return
myContext
,
err
}
}
model
.
Log
.
Infof
(
"BuildJoinedGroupInfo, roomEnterTime: %v"
,
roomEnterTime
)
//
model.Log.Infof("BuildJoinedGroupInfo, roomEnterTime: %v", roomEnterTime)
// 正在进行的游戏
// 正在进行的游戏
games
:=
game_m
.
GetNotEndGamesMap
(
model
)
games
:=
game_m
.
GetNotEndGamesMap
(
model
)
...
...
route/group_r/group_list.go
View file @
a3e5bd4f
...
@@ -97,7 +97,8 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -97,7 +97,8 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
myContext
,
err
return
myContext
,
err
}
}
model
.
Log
.
Infof
(
"GetPopularGroups: page size = %d, page index = %d, banMap %v, hidenMap %v,cost:%v"
,
pageSize
,
pageIndex
,
bannedGroups
,
hiddenGroups
,
time
.
Now
()
.
Sub
(
start
))
gameGroups
:=
group_m
.
GetGameGroupsMap
(
model
)
//model.Log.Infof("GetPopularGroups: page size = %d, page index = %d, banMap %v, hidenMap %v,cost:%v", pageSize, pageIndex, bannedGroups, hiddenGroups, time.Now().Sub(start))
hotGroupList
:=
make
([]
group_m
.
GroupInfo
,
0
)
hotGroupList
:=
make
([]
group_m
.
GroupInfo
,
0
)
...
@@ -122,9 +123,13 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -122,9 +123,13 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
hiddenCount
++
hiddenCount
++
continue
continue
}
}
// 过滤掉游戏房
if
gameGroups
[
i
]
{
continue
}
groupIds
=
append
(
groupIds
,
i
)
groupIds
=
append
(
groupIds
,
i
)
}
}
model
.
Log
.
Infof
(
"GetPopularGroups, micGroupNum: %v, banned %d, hidden %d,cost:%v"
,
micGroupNum
,
banCount
,
hiddenCount
,
time
.
Now
()
.
Sub
(
start
))
//
model.Log.Infof("GetPopularGroups, micGroupNum: %v, banned %d, hidden %d,cost:%v", micGroupNum, banCount, hiddenCount, time.Now().Sub(start))
// 3. 处理置顶群
// 3. 处理置顶群
topGroupIds
,
err
:=
getTopGroups
(
model
,
bannedGroups
,
hiddenGroups
,
area
)
topGroupIds
,
err
:=
getTopGroups
(
model
,
bannedGroups
,
hiddenGroups
,
area
)
...
@@ -197,7 +202,7 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -197,7 +202,7 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
}
}
}
}
}
}
model
.
Log
.
Infof
(
"GetPopularGroups, countryScore[*]: %v,cost:%v"
,
countryScore
,
time
.
Now
()
.
Sub
(
start
))
//
model.Log.Infof("GetPopularGroups, countryScore[*]: %v,cost:%v", countryScore, time.Now().Sub(start))
now
:=
time
.
Now
()
now
:=
time
.
Now
()
bTime
:=
now
.
Add
(
-
time
.
Minute
*
30
)
bTime
:=
now
.
Add
(
-
time
.
Minute
*
30
)
...
@@ -206,7 +211,7 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -206,7 +211,7 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
myContext
,
err
return
myContext
,
err
}
}
model
.
Log
.
Infof
(
"GetPopularGroups, diamonds in 30 mins: %v,cost:%v"
,
diamonds
,
time
.
Now
()
.
Sub
(
start
))
//
model.Log.Infof("GetPopularGroups, diamonds in 30 mins: %v,cost:%v", diamonds, time.Now().Sub(start))
visitCount
,
err
:=
group_m
.
BatchGetRoomVisitCount
(
model
.
Log
,
groupIds
)
visitCount
,
err
:=
group_m
.
BatchGetRoomVisitCount
(
model
.
Log
,
groupIds
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -270,7 +275,7 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -270,7 +275,7 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
// ":" + strconv.FormatUint(diamonds[g], 10) + ":" + strconv.Itoa(int(visitCount[g]))
// ":" + strconv.FormatUint(diamonds[g], 10) + ":" + strconv.Itoa(int(visitCount[g]))
}
}
total
:=
len
(
hotGroupList
)
total
:=
len
(
hotGroupList
)
model
.
Log
.
Infof
(
"GetPopularGroups: hotGroupList size = %d,cost:%v"
,
total
,
time
.
Now
()
.
Sub
(
start
))
//
model.Log.Infof("GetPopularGroups: hotGroupList size = %d,cost:%v", total, time.Now().Sub(start))
result
:=
make
([]
group_cv
.
PopularGroupInfo
,
0
)
result
:=
make
([]
group_cv
.
PopularGroupInfo
,
0
)
...
@@ -304,7 +309,7 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -304,7 +309,7 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
//if err != nil {
//if err != nil {
// return myContext, err
// return myContext, err
//}
//}
model
.
Log
.
Infof
(
"GetPopularGroups: final start = %d, end = %d, groupIds %v,cost:%v"
,
beginPos
,
endPos
,
groupIds
,
time
.
Now
()
.
Sub
(
start
))
//
model.Log.Infof("GetPopularGroups: final start = %d, end = %d, groupIds %v,cost:%v", beginPos, endPos, groupIds, time.Now().Sub(start))
roomCount
,
err
:=
group_m
.
BatchGetRoomCount
(
model
,
groupIds
)
roomCount
,
err
:=
group_m
.
BatchGetRoomCount
(
model
,
groupIds
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -471,9 +476,13 @@ func GetLatestGroups(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -471,9 +476,13 @@ func GetLatestGroups(c *gin.Context) (*mycontext.MyContext, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
myContext
,
err
return
myContext
,
err
}
}
gameGroups
:=
group_m
.
GetGameGroupsMap
(
model
)
gids
:=
make
([]
string
,
0
)
gids
:=
make
([]
string
,
0
)
for
i
,
_
:=
range
micGroupNum
{
for
i
,
_
:=
range
micGroupNum
{
// 过滤游戏房
if
gameGroups
[
i
]
{
continue
}
gids
=
append
(
gids
,
i
)
gids
=
append
(
gids
,
i
)
}
}
// 获取最新群组列表
// 获取最新群组列表
...
@@ -848,7 +857,7 @@ func GetGroupVisitors(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -848,7 +857,7 @@ func GetGroupVisitors(c *gin.Context) (*mycontext.MyContext, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
myContext
,
err
return
myContext
,
err
}
}
model
.
Log
.
Infof
(
"GetGroupVisitors %s: memberNum = %d, user size = %d"
,
groupId
,
len
(
rows
),
len
(
userIds
))
//
model.Log.Infof("GetGroupVisitors %s: memberNum = %d, user size = %d", groupId, len(rows), len(userIds))
result
:=
GetGroupVisitorsRsp
{
Total
:
uint
(
len
(
userIds
))}
result
:=
GetGroupVisitorsRsp
{
Total
:
uint
(
len
(
userIds
))}
...
@@ -870,7 +879,7 @@ func GetGroupVisitors(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -870,7 +879,7 @@ func GetGroupVisitors(c *gin.Context) (*mycontext.MyContext, error) {
result
.
Online
++
result
.
Online
++
}
}
}
}
model
.
Log
.
Infof
(
"GetGroupVisitors %s: statusMap size = %d, onLine = %d"
,
groupId
,
len
(
statusMap
),
result
.
Online
)
//
model.Log.Infof("GetGroupVisitors %s: statusMap size = %d, onLine = %d", groupId, len(statusMap), result.Online)
roles
,
_
,
err
:=
group_m
.
GetRolesInGroup
(
model
,
groupId
)
roles
,
_
,
err
:=
group_m
.
GetRolesInGroup
(
model
,
groupId
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -891,7 +900,7 @@ func GetGroupVisitors(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -891,7 +900,7 @@ func GetGroupVisitors(c *gin.Context) (*mycontext.MyContext, error) {
return
myContext
,
err
return
myContext
,
err
}
}
model
.
Log
.
Infof
(
"GetGroupVisitors %s, users %v, roles: %v, nobles: %v, vips: %v"
,
groupId
,
userIds
,
roles
,
nobleLevels
,
vips
)
//
model.Log.Infof("GetGroupVisitors %s, users %v, roles: %v, nobles: %v, vips: %v", groupId, userIds, roles, nobleLevels, vips)
roomUsers
,
err
:=
group_m
.
RoomLivingExistsUserId
(
groupId
)
roomUsers
,
err
:=
group_m
.
RoomLivingExistsUserId
(
groupId
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -946,7 +955,7 @@ func GetGroupVisitors(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -946,7 +955,7 @@ func GetGroupVisitors(c *gin.Context) (*mycontext.MyContext, error) {
return
false
return
false
})
})
model
.
Log
.
Infof
(
"GetGroupVisitors %s, sorted users: %v"
,
groupId
,
userIds
)
//
model.Log.Infof("GetGroupVisitors %s, sorted users: %v", groupId, userIds)
endPos
:=
pageSize
*
pageIndex
endPos
:=
pageSize
*
pageIndex
if
endPos
>
len
(
userIds
)
{
if
endPos
>
len
(
userIds
)
{
...
@@ -1239,7 +1248,7 @@ func GetGroupByCountry(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -1239,7 +1248,7 @@ func GetGroupByCountry(c *gin.Context) (*mycontext.MyContext, error) {
return
myContext
,
err
return
myContext
,
err
}
}
model
.
Log
.
Infof
(
"GetGroupByCountry: page size = %d, page index = %d, banMap %v"
,
pageSize
,
pageIndex
,
bannedGroups
)
//
model.Log.Infof("GetGroupByCountry: page size = %d, page index = %d, banMap %v", pageSize, pageIndex, bannedGroups)
beginTime
:=
time
.
Now
()
beginTime
:=
time
.
Now
()
groups
,
banCount
,
visitCount
,
err
:=
getCandidatesByCountry
(
model
,
bannedGroups
,
countryShortName
)
groups
,
banCount
,
visitCount
,
err
:=
getCandidatesByCountry
(
model
,
bannedGroups
,
countryShortName
)
...
@@ -1249,7 +1258,7 @@ func GetGroupByCountry(c *gin.Context) (*mycontext.MyContext, error) {
...
@@ -1249,7 +1258,7 @@ func GetGroupByCountry(c *gin.Context) (*mycontext.MyContext, error) {
endTime
:=
time
.
Now
()
endTime
:=
time
.
Now
()
model
.
Log
.
Infof
(
"GetGroupByCountry: candidates size = %d, takes %d ms banned = %d, visitCount size = %d"
,
model
.
Log
.
Infof
(
"GetGroupByCountry: candidates size = %d, takes %d ms banned = %d, visitCount size = %d"
,
len
(
groups
),
endTime
.
Sub
(
beginTime
)
.
Milliseconds
(),
banCount
,
len
(
visitCount
))
len
(
groups
),
endTime
.
Sub
(
beginTime
)
.
Milliseconds
(),
banCount
,
len
(
visitCount
))
model
.
Log
.
Infof
(
"GetGroupByCountry cost1:%v"
,
time
.
Now
()
.
Sub
(
beginTime
))
//
model.Log.Infof("GetGroupByCountry cost1:%v", time.Now().Sub(beginTime))
hotGroupList
:=
make
([]
*
group_m
.
GroupInfo
,
0
)
hotGroupList
:=
make
([]
*
group_m
.
GroupInfo
,
0
)
...
...
test/user_test.go
View file @
a3e5bd4f
...
@@ -18,7 +18,7 @@ func TestGetUserMap(t *testing.T) {
...
@@ -18,7 +18,7 @@ func TestGetUserMap(t *testing.T) {
func
TestGetUserVipMap
(
t
*
testing
.
T
)
{
func
TestGetUserVipMap
(
t
*
testing
.
T
)
{
var
userIds
[]
uint64
var
userIds
[]
uint64
for
i
:=
0
;
i
<
1
500
;
i
++
{
for
i
:=
0
;
i
<
1
0502
;
i
++
{
userIds
=
append
(
userIds
,
7642
)
userIds
=
append
(
userIds
,
7642
)
}
}
res
,
err
:=
user_m
.
BatchGetVips
(
userIds
)
res
,
err
:=
user_m
.
BatchGetVips
(
userIds
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment