好友优化

This commit is contained in:
hahwu 2025-01-22 17:51:20 +08:00
parent 8c3ca0e3a5
commit 3860669bfe
3 changed files with 29 additions and 1 deletions

View File

@ -694,7 +694,7 @@ func GetRecommendPlayer(p *Player, Num int) []int {
if v.Uid == int(p.M_DwUin) { if v.Uid == int(p.M_DwUin) {
continue continue
} }
if FriendMod.CheckApply(v.Uid) { if FriendMod.CheckSendApply(v.Uid) {
continue continue
} }
if FriendMod.CheckFriend(v.Uid) { if FriendMod.CheckFriend(v.Uid) {

View File

@ -1311,6 +1311,21 @@ func ReqApplyFriend(args []interface{}) error {
req := &msg.ReqApplyFriend{} req := &msg.ReqApplyFriend{}
proto.Unmarshal(buf, req) proto.Unmarshal(buf, req)
Uid := int(req.Uid) Uid := int(req.Uid)
FriendMod := player.PlayMod.getFriendMod()
if FriendMod.CheckFriend(Uid) {
player.SendErrClienRes(&msg.ResApplyFriend{
Code: msg.RES_CODE_FAIL,
Msg: "already friend",
})
return fmt.Errorf("already friend")
}
if FriendMod.CheckSendApply(Uid) {
player.SendErrClienRes(&msg.ResApplyFriend{
Code: msg.RES_CODE_FAIL,
Msg: "already apply",
})
return fmt.Errorf("already apply")
}
m := &MsqMod.Msg{ m := &MsqMod.Msg{
Type: MsqMod.HANDLE_TYPE_APPLY, Type: MsqMod.HANDLE_TYPE_APPLY,
From: int(player.M_DwUin), From: int(player.M_DwUin),

View File

@ -9,6 +9,7 @@ import (
type FriendMod struct { type FriendMod struct {
FriendList map[int]struct{} // 好友列表 FriendList map[int]struct{} // 好友列表
ApplyList map[int]int64 // 请求列表 ApplyList map[int]int64 // 请求列表
SendApply map[int]int64 // 发送的申请
Card map[string]*card.CardInfo // 收到的申请交换 Card map[string]*card.CardInfo // 收到的申请交换
Log []*LogInfo // 日志 Log []*LogInfo // 日志
AutoId int AutoId int
@ -106,12 +107,24 @@ func (f *FriendMod) GetFriendList() []int {
return list return list
} }
// 收到申请
func (f *FriendMod) AddFriendApply(Uid int) { func (f *FriendMod) AddFriendApply(Uid int) {
f.ApplyList[Uid] = GoUtil.Now() f.ApplyList[Uid] = GoUtil.Now()
} }
// 发送申请
func (f *FriendMod) AddSendApply(Uid int) {
f.SendApply[Uid] = GoUtil.Now()
}
func (f *FriendMod) CheckSendApply(Id int) bool {
_, ok := f.SendApply[Id]
return ok
}
func (f *FriendMod) AgreeApply(UId int) { func (f *FriendMod) AgreeApply(UId int) {
f.AddFriend(UId) f.AddFriend(UId)
delete(f.SendApply, UId)
delete(f.ApplyList, UId) delete(f.ApplyList, UId)
} }