好友优化
This commit is contained in:
parent
8c3ca0e3a5
commit
3860669bfe
@ -694,7 +694,7 @@ func GetRecommendPlayer(p *Player, Num int) []int {
|
||||
if v.Uid == int(p.M_DwUin) {
|
||||
continue
|
||||
}
|
||||
if FriendMod.CheckApply(v.Uid) {
|
||||
if FriendMod.CheckSendApply(v.Uid) {
|
||||
continue
|
||||
}
|
||||
if FriendMod.CheckFriend(v.Uid) {
|
||||
|
||||
@ -1311,6 +1311,21 @@ func ReqApplyFriend(args []interface{}) error {
|
||||
req := &msg.ReqApplyFriend{}
|
||||
proto.Unmarshal(buf, req)
|
||||
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{
|
||||
Type: MsqMod.HANDLE_TYPE_APPLY,
|
||||
From: int(player.M_DwUin),
|
||||
|
||||
@ -9,6 +9,7 @@ import (
|
||||
type FriendMod struct {
|
||||
FriendList map[int]struct{} // 好友列表
|
||||
ApplyList map[int]int64 // 请求列表
|
||||
SendApply map[int]int64 // 发送的申请
|
||||
Card map[string]*card.CardInfo // 收到的申请交换
|
||||
Log []*LogInfo // 日志
|
||||
AutoId int
|
||||
@ -106,12 +107,24 @@ func (f *FriendMod) GetFriendList() []int {
|
||||
return list
|
||||
}
|
||||
|
||||
// 收到申请
|
||||
func (f *FriendMod) AddFriendApply(Uid int) {
|
||||
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) {
|
||||
f.AddFriend(UId)
|
||||
delete(f.SendApply, UId)
|
||||
delete(f.ApplyList, UId)
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user