From 763d63969503518ec6777633d58f6efd114cc0f1 Mon Sep 17 00:00:00 2001 From: zhouhaihai Date: Fri, 29 Nov 2019 15:03:52 +0800 Subject: [PATCH] 批量增加好友bug --- src/actions/FriendAction.lua | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/actions/FriendAction.lua b/src/actions/FriendAction.lua index b6361bd..882b668 100644 --- a/src/actions/FriendAction.lua +++ b/src/actions/FriendAction.lua @@ -201,8 +201,8 @@ function _M.applyListRpc(agent, data) return true end -local function checkHandleApply(roleId, objectId) - local result = nil +local function checkHandleApply(roleId, objectId, needAddNew) + needAddNew = needAddNew or 0 local redret = redisproxy:pipelining(function (red) red:hlen(FRIEND_KEY:format(roleId)) red:hlen(FRIEND_KEY:format(objectId)) @@ -210,22 +210,21 @@ local function checkHandleApply(roleId, objectId) red:sismember(FRIEND_BLACK_KEY:format(roleId), objectId) end) --自己好友满了 - if not result and redret[1] >= globalCsv.friendListLimit then - result = 1 + if (redret[1] + needAddNew) >= globalCsv.friendListLimit then + return 1 end -- 对方好友满了 - if not result and redret[2] >= globalCsv.friendListLimit then - result = 2 + if redret[2] >= globalCsv.friendListLimit then + return 2 end -- 对方把你拉黑 - if not result and redret[3] == 1 then - result = 3 + if redret[3] == 1 then + return 3 end -- 你把对方拉黑了 - if not result and redret[4] == 1 then - result = 4 + if redret[4] == 1 then + return 4 end - return result end function _M.handleApplyRpc(agent, data) @@ -291,7 +290,7 @@ function _M.handleApplyRpc(agent, data) local needAddInfo = {} for _, objId in ipairs(allIds) do objId = tonumber(objId) - local cr = checkHandleApply(roleId, objId) + local cr = checkHandleApply(roleId, objId, #needAdd) if not cr then table.insert(needAdd, objId) table.insert(needAddMy, objId) -- libgit2 0.21.2