diff --git a/_const/redis_key/group_k/enter_room.go b/_const/redis_key/group_k/enter_room.go index 3e01264b2d6977596ea4eb863faefa0041172d1d..ac4ad9a5d6c27dd322c82e99fa6efa375cc08a02 100644 --- a/_const/redis_key/group_k/enter_room.go +++ b/_const/redis_key/group_k/enter_room.go @@ -9,7 +9,7 @@ import ( const ( UserEnterRoomPrefix = "uer:" UserEnterRoomUserKey = UserEnterRoomPrefix + "u:${user_id}" - UserEnterRoomGroupKey = UserEnterRoomPrefix + "g:${user_id}" + UserEnterRoomGroupKey = UserEnterRoomPrefix + "g:${group_id}" ) func GetUserEnterRoomUserKey(userId uint64) string { diff --git a/cron/mic_cron/on_mic.go b/cron/mic_cron/on_mic.go index 4e2127c1ecbe8bd4996cc9b3109e410717272f22..5e5ad8b1e3df0999b333bc93f6c87fc6ee5abb18 100644 --- a/cron/mic_cron/on_mic.go +++ b/cron/mic_cron/on_mic.go @@ -27,6 +27,8 @@ func OnMicCheck() { model.Log.Errorf("cron micIn group_m.GetMicUser err:%v", err) } if micUser != nil { + continue + // todo 先不做麦位相关的动作。。 if err := mic_ev.PublishOnMicEvent(model, &mic_ev.OnMicEvent{ GroupUuid: micUser.GroupUuid, I: micUser.I, diff --git a/domain/cache/group_c/enter_room.go b/domain/cache/group_c/enter_room.go index 814ce8b0c0062473a5b3bae6240714edf3da68d3..ff8631f74d07ef41db1ff9d3ee7dd03994e80aa4 100644 --- a/domain/cache/group_c/enter_room.go +++ b/domain/cache/group_c/enter_room.go @@ -28,6 +28,7 @@ func ZAddUserEnterRoom(model *domain.Model, userId uint64, imGroupId string) { } // 获取最近房间访客 +// 15天 func GetLastRoomVisitors(model *domain.Model, imGroupId string) (userIds []uint64) { groupKey := group_k.GetUserEnterRoomGroupKey(imGroupId) res, err := model.Redis.ZRangeByScore(model, groupKey, &redis.ZRangeBy{ @@ -47,11 +48,12 @@ func GetLastRoomVisitors(model *domain.Model, imGroupId string) (userIds []uint6 } // 获取最近进入的房间 +// 3个月 func GetUserRecentRooms(model *domain.Model, userId uint64) (imGroupIds []string) { userKey := group_k.GetUserEnterRoomUserKey(userId) var err error imGroupIds, err = model.Redis.ZRangeByScore(model, userKey, &redis.ZRangeBy{ - Min: fmt.Sprintf("%d", time.Now().AddDate(0, 0, -15).Unix()), + Min: fmt.Sprintf("%d", time.Now().AddDate(0, -3, 0).Unix()), Max: "+inf", }).Result() if err != nil { @@ -64,8 +66,10 @@ func GetUserRecentRooms(model *domain.Model, userId uint64) (imGroupIds []string // 15天前访问的 func RemoveRoomVisitors(model *domain.Model, imGroupId string) { groupKey := group_k.GetUserEnterRoomGroupKey(imGroupId) - err := model.Redis.ZRemRangeByScore(model, groupKey, "-inf", fmt.Sprintf("%d", time.Now().AddDate(0, 0, -15).Unix())).Err() + n, err := model.Redis.ZRemRangeByScore(model, groupKey, "-inf", fmt.Sprintf("%d", time.Now().AddDate(0, 0, -15).Unix())).Result() if err != nil { model.Log.Errorf("RemoveRoomVisitors fail:%v", err) + } else { + model.Log.Infof("RemoveRoomVisitors key:%v,n:%v", groupKey, n) } } diff --git a/domain/model/gift_m/gift.go b/domain/model/gift_m/gift.go index 9fe54c86c20ff6d7fabf9fa083a43c482e675f56..51ebce135c3ce2fb2464e0e2ee8db7ba6b178d41 100644 --- a/domain/model/gift_m/gift.go +++ b/domain/model/gift_m/gift.go @@ -127,6 +127,40 @@ func (g *GiftOperate) GetConsumeByRange(beginTime, endTime time.Time) (uint32, u if len(rows) <= 0 { return 0, 0, nil } + + if beginTime.Unix() >= 1691337600 && beginTime.Unix() < 1691942400 { // 因为这周水果机被部分人刷币,所以这里做了特殊的处理 + reduceMap := map[string]uint64{ + "HTGS#a63226380": 20000000, + //"HTGS#a42641278": 10000000, + "@TGS#3ZZ5GZLHA": 27141539, + "HTGS#a81630128": 8955410, + "HTGS#a42300598": 50211301, + "HTGS#a40088696": 10000000, + "HTGS#a21700997": 14352310, + "HTGS#a83608384": 49644203, + "@TGS#33GDXTSIH": 50000000, + "HTGS#a50538513": 15000000, + "HTGS#a77282385": 15000000, + "HTGS#a59437326": 10000000, + "HTGS#a16909405": 10000000, + "HTGS#a44104431": 16861206, + "HTGS#a56794634": 59591313, + "HTGS#a11286025": 31232311, + "HTGS#a17238550": 52309338, + "HTGS#a83592361": 79545067, + "HTGS#a39882521": 10255093, + } + if reduceNum, ok := reduceMap[g.SceneUid]; ok { + if g.Log != nil { + g.Log.Infof("fruit diamond reduceMap,groupId:%v,reduceNum:%v", g.SceneUid, reduceNum) + } + if rows[0].Consume >= reduceNum { + rows[0].Consume -= reduceNum + } else { + rows[0].Consume = 0 + } + } + } return rows[0].C, rows[0].Consume, nil } diff --git a/route/group_r/group_list.go b/route/group_r/group_list.go index 03e570d4d8589d25fada90b01008e6d3c01a1fb5..cebe0a6c86225a5b93bbceb4d9a38583ae0b9520 100644 --- a/route/group_r/group_list.go +++ b/route/group_r/group_list.go @@ -16,6 +16,7 @@ import ( "hilo-group/cv/group_power_cv" "hilo-group/cv/medal_cv" "hilo-group/cv/user_cv" + "hilo-group/domain/cache/group_c" "hilo-group/domain/cache/res_c" "hilo-group/domain/cache/room_c" "hilo-group/domain/model/game_m" @@ -703,11 +704,12 @@ func GetRecentGroup(c *gin.Context) (*mycontext.MyContext, error) { model := domain.CreateModelContext(myContext) - uer := group_m.UserEnterRoom{UserId: userId} - rec, err := uer.Find(model.Db) - if err != nil { - return myContext, err - } + //uer := group_m.UserEnterRoom{UserId: userId} + //rec, err := uer.Find(model.Db) + //if err != nil { + // return myContext, err + //} + rec := group_c.GetUserRecentRooms(model, userId) myGroups, err := group_m.FindGroupMapByOwner(model, userId) if err != nil { @@ -716,9 +718,9 @@ func GetRecentGroup(c *gin.Context) (*mycontext.MyContext, error) { // 剔除自己创建的群 groupIds := make([]string, 0) - for _, i := range rec { - if _, ok := myGroups[i.GroupId]; !ok { - groupIds = append(groupIds, i.GroupId) + for _, groupId := range rec { + if _, ok := myGroups[groupId]; !ok { + groupIds = append(groupIds, groupId) } } @@ -827,19 +829,20 @@ func GetGroupVisitors(c *gin.Context) (*mycontext.MyContext, error) { return myContext, err } - uer := group_m.UserEnterRoom{GroupId: groupId} - rows, err := uer.Find(model.Db) - if err != nil { - return myContext, err - } + //uer := group_m.UserEnterRoom{GroupId: groupId} + //rows, err := uer.Find(model.Db) + //if err != nil { + // return myContext, err + //} + rows := group_c.GetLastRoomVisitors(model, groupId) - now := time.Now() - t := now.AddDate(0, 0, -15) // 只要15天内进入房间的人 + //now := time.Now() + //t := now.AddDate(0, 0, -15) // 只要15天内进入房间的人 userIds := make([]uint64, 0) - for _, i := range rows { - if i.EnterTime.After(t) { - userIds = append(userIds, i.UserId) - } + for _, u := range rows { + //if i.EnterTime.After(t) { + userIds = append(userIds, u) + //} } users, err := user_m.GetUserMapByIds(model, userIds) if err != nil { @@ -970,6 +973,8 @@ func GetGroupVisitors(c *gin.Context) (*mycontext.MyContext, error) { } } resp.ResponseOk(c, result) + // 清理15天之前的访客 + group_c.RemoveRoomVisitors(model, groupId) return myContext, nil } diff --git a/route/group_r/group_op.go b/route/group_r/group_op.go index 10f99df0c6cfb2a4dd503c90688c120d5d610e23..c5ef5f0bee8e1a354e29746da67b7737f6504124 100644 --- a/route/group_r/group_op.go +++ b/route/group_r/group_op.go @@ -1858,6 +1858,10 @@ func GroupIn(c *gin.Context) (*mycontext.MyContext, error) { if groupId == "HTGS#a93989299" { provider = group_e.GroupProvider_TRTC } + // 指定房间号写死sw + if groupId == "HTGS#a25015185" { + provider = group_e.GroupProvider_SW + } if channelId, token, err := group_s.NewGroupService(myContext).GroupIn(userId, externalId, groupId, password, imei, ip, provider, gi.Id); err != nil { return myContext, err diff --git a/test/user_test.go b/test/user_test.go index 55124d9c53c4d87c9e9a494d970244615078980e..b4310b7432bdb10acb303a19742a33a31f447bdb 100644 --- a/test/user_test.go +++ b/test/user_test.go @@ -2,6 +2,7 @@ package test import ( "git.hilo.cn/hilo-common/domain" + "hilo-group/domain/cache/group_c" "hilo-group/domain/model/user_m" "testing" ) @@ -23,3 +24,7 @@ func TestGetUserVipMap(t *testing.T) { res, err := user_m.BatchGetVips(userIds) t.Logf("%v-%v", res, err) } + +func TestRemoveRoomVisit(t *testing.T) { + group_c.RemoveRoomVisitors(domain.CreateModelNil(), "HTGS#a47478749") +}