同步发送勾选战绩

master
罗家炜 2025-05-20 13:39:54 +08:00
parent 4ce2905807
commit f2fafa2cdd
5 changed files with 363 additions and 275 deletions

View File

@ -929,6 +929,18 @@ function M:FG_GetGroupRecord(group_id, platform, qid, limit, num, callback)
end) end)
end end
---@param militarys table 战绩id列表
---@param is_read number 0是将选中战绩设置为未读1是将选中战绩选择为已读
function M:FG_SetGroupRecordReadStatus(militarys, is_read, callback)
local _client = ControllerManager.GroupClient
local data = {}
data.militarys = militarys
data.is_read = is_read
_client:send(Protocol.WEB_FG_SET_RECORD_READ, data, function(res)
callback(res)
end)
end
-- 获取战绩 -- 获取战绩
function M:FG_GetGroupRecordSpe(group_id, platform, qid, includeMembers, limit, num, begin_time, end_time, time_type, function M:FG_GetGroupRecordSpe(group_id, platform, qid, includeMembers, limit, num, begin_time, end_time, time_type,
callback) callback)

View File

@ -1,4 +1,3 @@
Protocol = { Protocol = {
-------------------- Web -------------------------- -------------------- Web --------------------------
-------------- acc ----------- -------------- acc -----------
@ -282,6 +281,8 @@ Protocol = {
WEB_FG_GET_PERSON_RECORD = "group/log/get_person_records", WEB_FG_GET_PERSON_RECORD = "group/log/get_person_records",
-- 获取成员战绩 -- 获取成员战绩
WEB_FG_GET_MEMBER_STAT = "group/log/get_member_stat", WEB_FG_GET_MEMBER_STAT = "group/log/get_member_stat",
-- 修改战绩阅读状态
WEB_FG_SET_RECORD_READ = "group/log/read_records",
-- 获取合伙人统计 -- 获取合伙人统计
WEB_FG_GET_PARTNER_STAT = "group/log/get_partner_stat", WEB_FG_GET_PARTNER_STAT = "group/log/get_partner_stat",
--获取钻石消耗统计 --获取钻石消耗统计

View File

@ -1,4 +1,6 @@
local FamilyNumberRecord = {} local FamilyNumberRecord = {
military = { size = 0, list = {} }
}
local M = FamilyNumberRecord local M = FamilyNumberRecord
@ -17,11 +19,16 @@ function FamilyNumberRecord.New(root)
-- end -- end
self.familyType.selectedIndex = 5 self.familyType.selectedIndex = 5
local fgCtr = ControllerManager.GetController(NewGroupController)
local comp_gameTypeList = self._view:GetChild('comp_gameTypeList'):GetChild('n0') local comp_gameTypeList = self._view:GetChild('comp_gameTypeList'):GetChild('n0')
local input_IDSerach = self._view:GetChild('input_numberID')
local ctr_numberRecordRank = self._view:GetController('numberRecordRank') local ctr_numberRecordRank = self._view:GetController('numberRecordRank')
local text_recordGameType = self._view:GetChild('text_recordGameType')
local text_recordSortType = self._view:GetChild('text_recordSortType')
self._input_IDSerach = self._view:GetChild('input_numberID')
self._viewList_numberRank = self._view:GetChild('comp_numberRecordByGameType'):GetChild('n3') self._viewList_numberRankRead = self._view:GetChild('comp_numberRecordByGameTypelooked'):GetChild('n3')
self._viewList_numberRankUnRead = self._view:GetChild('comp_numberRecordByGameType'):GetChild('n3')
self._viewList_numverRecord = self._view:GetChild('list_numverRecord') self._viewList_numverRecord = self._view:GetChild('list_numverRecord')
self._viewlist_numberRecordDetail = self._view:GetChild('list_numberRecordDetail') self._viewlist_numberRecordDetail = self._view:GetChild('list_numberRecordDetail')
self._viewText_titleRecord = self._view:GetChild('text_titleRecord') self._viewText_titleRecord = self._view:GetChild('text_titleRecord')
@ -39,9 +46,12 @@ function FamilyNumberRecord.New(root)
self:NumverRankRenderer(self._group.id) self:NumverRankRenderer(self._group.id)
self:GameTypeListRenderer(comp_gameTypeList) self:GameTypeListRenderer(comp_gameTypeList)
self:NumberRecordDetailRender() self:NumberRecordDetailRender()
comp_gameTypeList.onClickItem:Set(function(context) comp_gameTypeList.onClickItem:Set(function(context)
input_IDSerach.text = ""
self:OnClickSortType(self._group.id, context.data.data.id) self:OnClickSortType(self._group.id, context.data.data.id)
ctr_numberRecordRank.selectedIndex = 0 ctr_numberRecordRank.selectedIndex = 0
text_recordGameType.text = context.data.title
end) end)
self.btn_close.onClick:Set(function() self.btn_close.onClick:Set(function()
if self.ctr_numberRecord.selectedIndex > 0 then if self.ctr_numberRecord.selectedIndex > 0 then
@ -64,10 +74,21 @@ function FamilyNumberRecord.New(root)
end end
end) end)
self._view:GetChild('btn_clearInput').onClick:Set(function() self._view:GetChild('btn_clearInput').onClick:Set(function()
self._input_IDSerach.text = "" input_IDSerach.text = ""
end) end)
self._view:GetChild('btn_searchRecord').onClick:Set(function() self._view:GetChild('btn_searchRecord').onClick:Set(function()
ViewUtil.ShowOneChooose("该功能还未开放") local tempRank = {}
for i = 1, #self.rank do
if self.rank[i].uid == tonumber(input_IDSerach.text) then
table.insert(tempRank, self.rank[i])
end
end
if #tempRank == 0 then
ViewUtil.ShowOneChooose("没有该玩家排行榜")
else
self.showRank = tempRank
self._viewList_numverRecord.numItems = #self.showRank
end
end) end)
self._view:GetChild('btn_changeMJScore').onClick:Set(function() self._view:GetChild('btn_changeMJScore').onClick:Set(function()
ViewUtil.ShowOneChooose("该功能还未开放") ViewUtil.ShowOneChooose("该功能还未开放")
@ -77,20 +98,32 @@ function FamilyNumberRecord.New(root)
ViewUtil.ShowOneChooose("该功能还未开放") ViewUtil.ShowOneChooose("该功能还未开放")
end) end)
self._view:GetChild('btn_allChoose').onClick:Set(function() self._view:GetChild('btn_allChoose').onClick:Set(function()
ViewUtil.ShowOneChooose("该功能还未开放") self._flag_allChoose = self.records[self.gameTypeNum][self.readStatusNum].childNum
self._viewlist_numberRecordDetail:RefreshVirtualList()
end) end)
self._view:GetChild('btn_allChooseRead').onClick:Set(function() self._view:GetChild('btn_allChooseRead').onClick:Set(function()
ViewUtil.ShowOneChooose("该功能还未开放") fgCtr:FG_SetGroupRecordReadStatus(self.military.list, 2 - self.readStatusNum, function(res)
pt(res)
if res.ReturnCode ~= 0 then
ViewUtil.ShowOneChooose("获取排行榜失败" .. res.ReturnCode)
else
end
end)
end) end)
self._view:GetChild('btn_allChooseReverse').onClick:Set(function() self._view:GetChild('btn_allChooseReverse').onClick:Set(function()
ViewUtil.ShowOneChooose("该功能还未开放") self._flag_allChooseReverse = self.records[self.gameTypeNum][self.readStatusNum].childNum
self._viewlist_numberRecordDetail:RefreshVirtualList()
end) end)
self._view:GetChild('comp_sortTypeList'):GetChild('n0').onClickItem:Set(function(context) self._view:GetChild('comp_sortTypeList'):GetChild('n0').onClickItem:Set(function(context)
self:OnClickSortType(context) input_IDSerach.text = ""
local sortType = tonumber(context.data.text)
self:OnClickSortType(self._group.id, 0, sortType)
ctr_numberRecordRank.selectedIndex = 0 ctr_numberRecordRank.selectedIndex = 0
text_recordSortType.text = sortType == 1 and "正数榜" or "负数榜"
end) end)
self:OnClickSortType(self._group.id)
return self return self
end end
@ -121,10 +154,10 @@ end
function M:NumverRecordRenderer() function M:NumverRecordRenderer()
self:ResetRecords() self:ResetRecords()
local numberRankList = self._viewList_numberRank local numberRankListRead = self._viewList_numberRankRead
numberRankList:SetVirtual() numberRankListRead:SetVirtual()
numberRankList.itemRenderer = function(index, obj) numberRankListRead.itemRenderer = function(index, obj)
local info = self.records[index + 1] local info = self.records[index + 1][2]
obj:GetChild('text_gameType').text = index == 0 and "麻将" or "扑克" obj:GetChild('text_gameType').text = index == 0 and "麻将" or "扑克"
obj:GetChild('text_round').text = info.childNum obj:GetChild('text_round').text = info.childNum
obj:GetChild('text_score').text = info.totalScore obj:GetChild('text_score').text = info.totalScore
@ -133,17 +166,35 @@ function M:NumverRecordRenderer()
self._flag_unReadDetail = true self._flag_unReadDetail = true
self.ctr_numberRecord.selectedIndex = 2 self.ctr_numberRecord.selectedIndex = 2
self.gameTypeNum = index + 1 self.gameTypeNum = index + 1
self.readStatusNum = 2
self._viewlist_numberRecordDetail.numItems = info.childNum self._viewlist_numberRecordDetail.numItems = info.childNum
end) end)
end end
numberRankList.numItems = 2 numberRankListRead.numItems = 2
local numberRankListUnRead = self._viewList_numberRankUnRead
numberRankListUnRead:SetVirtual()
numberRankListUnRead.itemRenderer = function(index, obj)
local info = self.records[index + 1][1]
obj:GetChild('text_gameType').text = index == 0 and "麻将" or "扑克"
obj:GetChild('text_round').text = info.childNum
obj:GetChild('text_score').text = info.totalScore
obj:GetChild('text_winNum').text = info.winNum
obj:GetChild('btn_lookRecord').onClick:Set(function()
self._flag_unReadDetail = true
self.ctr_numberRecord.selectedIndex = 2
self.gameTypeNum = index + 1
self.readStatusNum = 1
self._viewlist_numberRecordDetail.numItems = info.childNum
end)
end
numberRankListUnRead.numItems = 2
end end
function M:NumberRecordDetailRender() function M:NumberRecordDetailRender()
local list_numberRecordDetail = self._viewlist_numberRecordDetail local list_numberRecordDetail = self._viewlist_numberRecordDetail
list_numberRecordDetail:SetVirtual() list_numberRecordDetail:SetVirtual()
list_numberRecordDetail.itemRenderer = function(index, obj) list_numberRecordDetail.itemRenderer = function(index, obj)
local info = self.records[self.gameTypeNum][index + 1] local info = self.records[self.gameTypeNum][self.readStatusNum][index + 1]
obj:GetChild('text_gameName').text = info.game_info.name obj:GetChild('text_gameName').text = info.game_info.name
obj:GetChild('text_time').text = os.date('%Y-%m-%d\n%H:%M', info.create_time) obj:GetChild('text_time').text = os.date('%Y-%m-%d\n%H:%M', info.create_time)
obj:GetChild('text_roomID').text = info.room_id obj:GetChild('text_roomID').text = info.room_id
@ -151,6 +202,30 @@ function M:NumberRecordDetailRender()
obj:GetChild('btn_lookRecord').onClick:Set(function() obj:GetChild('btn_lookRecord').onClick:Set(function()
print("lingmeng查看") print("lingmeng查看")
end) end)
obj:GetController('seleted').onChanged:Set(function(context)
pt(getmetatable(context.sender))
if context.sender.selectedIndex == 1 then
if not self.military[info.military_id] then
self.military.size = self.military.size + 1
self.military[info.military_id] = self.military.size
table.insert(self.military.list, info.military_id)
end
else
if self.military[info.military_id] then
self.military.size = self.military.size - 1
table.remove(self.military.list, self.military[info.military_id])
self.military[info.military_id] = nil
end
end
end)
if self._flag_allChoose and self._flag_allChoose > 0 then
obj:GetController('seleted').selectedIndex = 1
self._flag_allChoose = self._flag_allChoose - 1
end
if self._flag_allChooseReverse and self._flag_allChooseReverse > 0 then
obj:GetController('seleted').selectedIndex = 1 - obj:GetController('seleted').selectedIndex
self._flag_allChooseReverse = self._flag_allChooseReverse - 1
end
local resultDetailList = obj:GetChild('list') local resultDetailList = obj:GetChild('list')
resultDetailList:SetVirtual() resultDetailList:SetVirtual()
resultDetailList.itemRenderer = function(index, obj) resultDetailList.itemRenderer = function(index, obj)
@ -168,7 +243,7 @@ function M:NumverRankRenderer(groupId)
local numberRecordList = self._viewList_numverRecord local numberRecordList = self._viewList_numverRecord
numberRecordList:SetVirtual() numberRecordList:SetVirtual()
numberRecordList.itemRenderer = function(index, obj) numberRecordList.itemRenderer = function(index, obj)
local info = self.rank[index + 1] local info = self.showRank[index + 1]
ImageLoad.Load(info.portrait, obj:GetChild('btn_head')._iconObject) ImageLoad.Load(info.portrait, obj:GetChild('btn_head')._iconObject)
obj:GetChild('text_ID').text = info.uid obj:GetChild('text_ID').text = info.uid
obj:GetChild('text_nick').text = info.nick obj:GetChild('text_nick').text = info.nick
@ -183,17 +258,18 @@ function M:NumverRankRenderer(groupId)
end end
end end
function M:OnClickSortType(groupId, pid) function M:OnClickSortType(groupId, pid, sortType)
print("lingmengOnClickSortType") print("lingmengOnClickSortType")
local fgCtr = ControllerManager.GetController(NewGroupController) local fgCtr = ControllerManager.GetController(NewGroupController)
local numberRecordList = self._viewList_numverRecord local numberRecordList = self._viewList_numverRecord
fgCtr:FG_GetMemberRank(groupId, 0, 0, 10, os.time() - 3600 * 120, os.time(), 1, function(res) fgCtr:FG_GetMemberRank(groupId, 0, 0, 10, os.time() - 3600 * 120, os.time(), sortType, function(res)
pt(res) pt(res)
if res.ReturnCode ~= 0 then if res.ReturnCode ~= 0 then
ViewUtil.ShowOneChooose("获取排行榜失败" .. res.ReturnCode) ViewUtil.ShowOneChooose("获取排行榜失败" .. res.ReturnCode)
else else
self.rank = res.Data.ranks self.rank = res.Data.ranks
numberRecordList.numItems = #self.rank self.showRank = self.rank
numberRecordList.numItems = #self.showRank
end end
end) end)
end end
@ -201,7 +277,8 @@ end
function M:OnClickNumberRank(groupId, uid, round) function M:OnClickNumberRank(groupId, uid, round)
print("lingmengOnClickNumberRank") print("lingmengOnClickNumberRank")
local fgCtr = ControllerManager.GetController(NewGroupController) local fgCtr = ControllerManager.GetController(NewGroupController)
local numberRankList = self._viewList_numberRank local numberRankListRead = self._viewList_numberRankRead
local numberRankListUnRead = self._viewList_numberRankUnRead
fgCtr:FG_GetGroupRecordSpe(groupId, GetPlatform(), uid, 0, 0, round, os.time() - 3600 * 120, os.time(), 3, fgCtr:FG_GetGroupRecordSpe(groupId, GetPlatform(), uid, 0, 0, round, os.time() - 3600 * 120, os.time(), 3,
function(res) function(res)
pt(res) pt(res)
@ -213,22 +290,23 @@ function M:OnClickNumberRank(groupId, uid, round)
self:ResetRecords() self:ResetRecords()
for i = 1, #records do for i = 1, #records do
local info = records[i] local info = records[i]
local tempTableChild = self.records[info.game_info.gameType] local tempTableChild = self.records[info.game_info.gameType][tonumber(info.is_read) + 1]
info.totalScore = json.decode(info.totalScore) info.totalScore = json.decode(info.totalScore)
if info.round ~= 1 or info.totalScore.score ~= 0 then
table.insert(tempTableChild, info)
local totalScore local totalScore
for i = 1, 2 do for i = 1, 2 do
if info.totalScore[i].accId == uid then if info.totalScore[i].accId == uid then
totalScore = info.totalScore[i].score totalScore = info.totalScore[i].score
end end
end end
if info.round ~= "1" or totalScore ~= 0 then
table.insert(tempTableChild, info)
tempTableChild.totalScore = tempTableChild.totalScore + totalScore tempTableChild.totalScore = tempTableChild.totalScore + totalScore
tempTableChild.childNum = tempTableChild.childNum + 1 tempTableChild.childNum = tempTableChild.childNum + 1
tempTableChild.winNum = tempTableChild.winNum + (totalScore > 0 and 1 or 0) tempTableChild.winNum = tempTableChild.winNum + (totalScore > 0 and 1 or 0)
end end
end end
numberRankList:RefreshVirtualList() numberRankListRead:RefreshVirtualList()
numberRankListUnRead:RefreshVirtualList()
end end
end) end)
end end
@ -236,10 +314,7 @@ end
function M:ResetRecords() function M:ResetRecords()
self.records = {} self.records = {}
for i = 1, 2 do for i = 1, 2 do
self.records[i] = {} self.records[i] = { { totalScore = 0, childNum = 0, winNum = 0 }, { totalScore = 0, childNum = 0, winNum = 0 } }
self.records[i].totalScore = 0
self.records[i].childNum = 0
self.records[i].winNum = 0
end end
end end

View File

@ -382,36 +382,36 @@ end
function M:OnUpdate() function M:OnUpdate()
-- --12001事件 -- --12001事件
if self._group.update_room then -- if self._group.update_room then
local fgCtr = ControllerManager.GetController(NewGroupController) -- local fgCtr = ControllerManager.GetController(NewGroupController)
if self._roomNum == self._group.room_num then -- if self._roomNum == self._group.room_num then
for i = 1, self._group.room_num do -- for i = 1, self._group.room_num do
if self._group.rooms[i] and #self._group.rooms[i].plist == 0 then -- if self._group.rooms[i] and #self._group.rooms[i].plist == 0 then
self._group.update_room = false
fgCtr:FG_RemoveRoom(
self._group.id,
self._group.rooms[i].id,
function(res)
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, string.format('删除房间-%s失败', self._group.rooms[i].id))
else
self._roomNum = #self._group.rooms
end
end
)
end
end
else
self._group.update_room = false
-- self._group.update_room = false -- self._group.update_room = false
end -- fgCtr:FG_RemoveRoom(
if self._fristRoom then -- self._group.id,
self._group.update_room = false -- self._group.rooms[i].id,
self._fristRoom = true -- function(res)
end -- if res.ReturnCode ~= 0 then
-- print("====================================UpdateFamilyRoom", fgCtr, self._group.id) -- ViewUtil.ErrorTip(res.ReturnCode, string.format('删除房间-%s失败', self._group.rooms[i].id))
self:UpdateFamilyRoom(fgCtr, self._group.id) -- else
end -- self._roomNum = #self._group.rooms
-- end
-- end
-- )
-- end
-- end
-- else
-- self._group.update_room = false
-- -- self._group.update_room = false
-- end
-- if self._fristRoom then
-- self._group.update_room = false
-- self._fristRoom = true
-- end
-- -- print("====================================UpdateFamilyRoom", fgCtr, self._group.id)
-- self:UpdateFamilyRoom(fgCtr, self._group.id)
-- end
end end
local IDENTITY_LIST = { local IDENTITY_LIST = {