--[[@------------------------------------------------------------------
|
|
@description:市场
|
|
@author:HWR
|
|
----------------------------------------------------------------------]]
|
|
MarketModel = MarketModel or BaseClass(BaseModel)
|
|
MarketModel.REQUEST_CCMD_EVENT = "MarketModel.REQUEST_CCMD_EVENT"
|
|
MarketModel.UPDATE_MARKET_TAB_RED_DOT = "MarketModel.UPDATE_MARKET_TAB_RED_DOT" --更新市场红点
|
|
MarketModel.ANS_MARKET_TAB_RED_DOT = "MarketModel.ANS_MARKET_TAB_RED_DOT" --响应更新市场红点
|
|
MarketModel.OPEN_MARKET_BUY_VIEW = "MarketModel.OPEN_MARKET_BUY_VIEW" --打开市场的购买界面
|
|
MarketModel.MARKET_BUY_SUCCESS = "MarketModel.MARKET_BUY_SUCCESS" --竞拍成功刷新界面
|
|
MarketModel.CLOSE_MARKET_UP_SHELVES_VIEW = "MarketModel.CLOSE_MARKET_UP_SHELVES_VIEW" --关闭上架界面
|
|
MarketModel.UPDATE_ONE_GOODS_BY_PRICE_UP = "MarketModel.UPDATE_ONE_GOODS_BY_PRICE_UP" --因为竞价被超过所以手动刷新商品
|
|
|
|
--一口价 竞拍
|
|
MarketModel.ONE_PRICE_TYPE = 1
|
|
MarketModel.AUCTION_PRICE_TYPE = 2
|
|
|
|
-- 社团类型,世界类型,个人类型
|
|
MarketModel.AUCTION_WORLD_TYPE = 1
|
|
MarketModel.AUCTION_GUILD_TYPE = 2
|
|
|
|
MarketModel.VER_TAB_TYPE = {
|
|
WORLD_TYPE = 1,--世界拍卖
|
|
ATTENTION_TYPE = 2,--上架提醒
|
|
GUILD_TYPE = 3,--公会拍卖
|
|
}
|
|
|
|
MarketModel.MARKET_TYPE_NAME = {
|
|
[1] = "世界拍卖",
|
|
[2] = "社团拍卖",
|
|
}
|
|
|
|
local MarketModel = MarketModel
|
|
local table_insert = table.insert
|
|
|
|
function MarketModel:__init()
|
|
MarketModel.Instance = self
|
|
self.market_cfg = {} --市场配置
|
|
self.market_guild_cfg = {} --市场
|
|
self.goods_shelves_list = {} --上架商品列表
|
|
self.under_shelves_list = {} --下架商品列表
|
|
self.auction_list = {} --玩家竞拍商品列表
|
|
self.callback_table = {} --回调列表
|
|
self.market_record_list = {} --交易记录
|
|
self.count_down_time = 9999999 --倒计时时间
|
|
|
|
self.market_goods_list = {} --单个种类市场商品列表
|
|
self.goods_list_num_table = {} --所有种类商品数量表
|
|
self.goods_max_page_table = {} --所有种类商品最大页数表
|
|
self.is_goods_list_last_page_table = {}--顾名思义
|
|
|
|
self.market_guild_goods_list = {} --单个种类社团市场商品列表
|
|
self.guild_goods_list_num_table = {} --所有种类社团商品数量表
|
|
self.guild_goods_max_page_table = {} --所有种类社团商品最大页数表
|
|
self.is_guild_goods_list_last_page_table = {}--顾名思义
|
|
self.market_red_data = {} --红点缓存
|
|
self.market_focus_list = {} --关注列表
|
|
self.market_goods_cfg = {} --按类别存起来的物品配置表
|
|
self.market_attention_list = {} --入库提醒列表
|
|
self.is_market_guild_upshelves = false--是否有社团自动上架的东西
|
|
self.last_open_view_timestamp = 0 --上一次打开界面的时间
|
|
self:InitMarketCFG()
|
|
-- self:InitMarketGoodsCFG()
|
|
end
|
|
|
|
function MarketModel:Reset( )
|
|
self.goods_shelves_list = {} --上架商品列表
|
|
self.under_shelves_list = {} --下架商品列表
|
|
self.callback_table = {} --回调列表
|
|
self.auction_list = {} --玩家竞拍商品列表
|
|
self.market_record_list = {} --交易记录
|
|
self.market_goods_list = {} --单个种类市场商品列表
|
|
self.goods_list_num_table = {} --所有种类商品数量表
|
|
self.goods_max_page_table = {} --所有种类商品最大页数表
|
|
self.is_goods_list_last_page_table = {}--顾名思义
|
|
self.market_guild_goods_list = {} --单个种类社团市场商品列表
|
|
self.guild_goods_list_num_table = {} --所有种类社团商品数量表
|
|
self.guild_goods_max_page_table = {} --所有种类社团商品最大页数表
|
|
self.is_guild_goods_list_last_page_table = {}--顾名思义
|
|
self.count_down_time = 9999999 --倒计时时间
|
|
self.market_focus_list = {} --关注列表
|
|
self.market_attention_list = {} --入库提醒列表
|
|
end
|
|
|
|
function MarketModel:getInstance()
|
|
if MarketModel.Instance == nil then
|
|
MarketModel.New()
|
|
end
|
|
return MarketModel.Instance
|
|
end
|
|
|
|
function MarketModel:GetInstance()
|
|
if MarketModel.Instance == nil then
|
|
MarketModel.New()
|
|
end
|
|
return MarketModel.Instance
|
|
end
|
|
----------------------------------新的分界线---------------------------
|
|
function MarketModel:InitMarketCFG( )
|
|
local cfg = Config.Marketsellsubtype
|
|
self.market_cfg = {}
|
|
self.market_guild_cfg = {}
|
|
for k,v in pairs(cfg) do
|
|
if not self.market_cfg[v.sell_type] then
|
|
self.market_cfg[v.sell_type] = {}
|
|
end
|
|
self.market_cfg[v.sell_type][v.sell_sub_type] = v
|
|
if not self.market_guild_cfg[v.sell_type] then
|
|
self.market_guild_cfg[v.sell_type] = {}
|
|
end
|
|
if v.sell_type == 0 then
|
|
if v.sell_sub_type == 0 then
|
|
self.market_guild_cfg[v.sell_type][v.sell_sub_type] = v
|
|
end
|
|
else
|
|
self.market_guild_cfg[v.sell_type][v.sell_sub_type] = v
|
|
end
|
|
end
|
|
end
|
|
--遍历整个物品表
|
|
function MarketModel:InitMarketGoodsCFG( )
|
|
local fun,basic
|
|
for k, v in ipairs(Config.Marketgoodsnotice) do
|
|
-- fun = loadstring(v)
|
|
-- basic = fun()
|
|
basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(v.goods_id)
|
|
-- if basic and basic.sell_category > 0 and basic.sell_subcategory > 0 and basic.expire_time == 0 then
|
|
if basic then
|
|
--如果是装备 就要把类别 职业 套数 插进去
|
|
if Config.Equipment[basic.type_id] then
|
|
basic.career = stringtotable(Config.Equipment[basic.type_id].career)
|
|
basic.series = Config.Equipment[basic.type_id].series
|
|
end
|
|
if not self.market_goods_cfg[basic.sell_category] then
|
|
self.market_goods_cfg[basic.sell_category] = {}
|
|
end
|
|
if not self.market_goods_cfg[basic.sell_category][basic.sell_subcategory] then
|
|
self.market_goods_cfg[basic.sell_category][basic.sell_subcategory] = {}
|
|
end
|
|
table_insert(self.market_goods_cfg[basic.sell_category][basic.sell_subcategory], basic)
|
|
end
|
|
end
|
|
end
|
|
|
|
function MarketModel:PrintGoods( )
|
|
do return end
|
|
for i,v in pairsByKeys(self.market_goods_cfg) do
|
|
print("sell_categor: ", i)
|
|
for ii,vv in pairsByKeys(v) do
|
|
print("sell_subcategory",ii)
|
|
for iii,vvv in ipairs(vv) do
|
|
print(vvv.type_id)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function MarketModel:GetMarketGoodsCFG( type, sub_type )
|
|
if TableSize(self.market_goods_cfg) == 0 then
|
|
self:InitMarketGoodsCFG()
|
|
end
|
|
if type and sub_type then
|
|
if sub_type == 0 then
|
|
return self.market_goods_cfg[type]
|
|
else
|
|
return self.market_goods_cfg[type][sub_type]
|
|
end
|
|
elseif type then
|
|
return self.market_goods_cfg[type]
|
|
end
|
|
return self.market_goods_cfg
|
|
end
|
|
|
|
function MarketModel:GetMarketCFG( )
|
|
return self.market_cfg
|
|
end
|
|
|
|
function MarketModel:GetMarketGuildCFG( )
|
|
return self.market_guild_cfg
|
|
end
|
|
|
|
function MarketModel:SetOnShelvesList( vo )
|
|
self.goods_shelves_list = vo
|
|
self:ChangeVar("goods_shelves_list",self.goods_shelves_list,false,true)
|
|
end
|
|
|
|
function MarketModel:GetOnShelvesList( )
|
|
return self.goods_shelves_list
|
|
end
|
|
|
|
--设置玩家下架的物品
|
|
function MarketModel:SetUnderShelvesList( list )
|
|
self.under_shelves_list = list
|
|
self:ChangeVar("under_shelves_list",self.under_shelves_list,false,true)
|
|
end
|
|
|
|
function MarketModel:GetUnderShelvesList( )
|
|
return self.under_shelves_list
|
|
end
|
|
|
|
function MarketModel:TimeLater()
|
|
local function on_answer_time( )
|
|
if self.count_down_time <= 0 or TableSize(self.callback_table) <=0 then
|
|
if self.question_time_id then
|
|
GlobalTimerQuest:CancelQuest(self.question_time_id)
|
|
self.question_time_id = nil
|
|
self.count_down_time = 9999999
|
|
end
|
|
else
|
|
self.count_down_time = self.count_down_time - 1
|
|
for k,v in pairs(self.callback_table) do
|
|
if type(v) == "function" then
|
|
v()
|
|
end
|
|
end
|
|
end
|
|
end
|
|
if not self.question_time_id then
|
|
self.question_time_id = GlobalTimerQuest:AddPeriodQuest(on_answer_time, 1, -1)
|
|
end
|
|
end
|
|
|
|
function MarketModel:DeleteFuncCallBack( index )--删除计时器方法列表里面的方法
|
|
self.callback_table[index] = nil
|
|
end
|
|
|
|
function MarketModel:SetFuncCallBack( func,index )--添加计时器方法列表里面的方法
|
|
if type(func) == "function" then
|
|
self.callback_table[index] = func
|
|
self:TimeLater()
|
|
end
|
|
end
|
|
|
|
function MarketModel:SetAuctionList( vo )
|
|
self.auction_list = vo
|
|
self:ChangeVar("auction_list",self.auction_list,false,true)
|
|
end
|
|
|
|
function MarketModel:GetAuctionList( )
|
|
return self.auction_list
|
|
end
|
|
|
|
function MarketModel:SetMarketRecordInfo(type, vo )
|
|
self.market_record_list[type] = vo
|
|
self:ChangeVar("market_record_list",self.market_record_list,false,true)
|
|
end
|
|
|
|
function MarketModel:GetMarketRecordInfo( type_id )
|
|
if type_id then
|
|
return self.market_record_list[type_id] or {}
|
|
else
|
|
return self.market_record_list
|
|
end
|
|
end
|
|
|
|
function MarketModel:GetMarketTabNameBuySellType( sell_type )
|
|
local cfg = Config.Marketselltype
|
|
if cfg[sell_type] then
|
|
return Trim(cfg[sell_type].name)
|
|
else
|
|
return ""
|
|
end
|
|
end
|
|
|
|
function MarketModel:GetMarketTabNameBuySellSubType( sell_type,sell_sub_type )
|
|
local cfg = Config.Marketsellsubtype
|
|
if cfg and cfg[sell_type.."@"..sell_sub_type] then
|
|
return cfg[sell_type.."@"..sell_sub_type].name
|
|
else
|
|
return ""
|
|
end
|
|
end
|
|
|
|
--用大类加小类来存商品
|
|
function MarketModel:SetWorldMarketGoodsInfo(type, sub_type, page, list)
|
|
if not self.market_goods_list[type.."@"..sub_type] then
|
|
self.market_goods_list[type.."@"..sub_type] = {}
|
|
end
|
|
self.market_goods_list[type.."@"..sub_type][page] = list
|
|
local total_num = 0
|
|
for k,v in pairs(self.market_goods_list[type.."@"..sub_type]) do
|
|
total_num = total_num + TableSize(v)
|
|
end
|
|
self.goods_list_num_table[type.."@"..sub_type] = total_num
|
|
self:ChangeVar("market_goods_list",self.market_goods_list,false,true)
|
|
end
|
|
|
|
--用大类加小类来存社团商品
|
|
function MarketModel:SetGuildMarketGoodsInfo(type, sub_type, page, list)
|
|
if not self.market_guild_goods_list[type.."@"..sub_type] then
|
|
self.market_guild_goods_list[type.."@"..sub_type] = {}
|
|
end
|
|
self.market_guild_goods_list[type.."@"..sub_type][page] = list
|
|
local total_num = 0
|
|
for k,v in pairs(self.market_guild_goods_list[type.."@"..sub_type]) do
|
|
total_num = total_num + TableSize(v)
|
|
end
|
|
self.guild_goods_list_num_table[type.."@"..sub_type] = total_num
|
|
self:ChangeVar("market_guild_goods_list",self.market_guild_goods_list,false,true)
|
|
end
|
|
|
|
function MarketModel:GetMarketGoodsInfo( type, sub_type )
|
|
return self.market_goods_list[type.."@"..sub_type] or {}
|
|
end
|
|
|
|
function MarketModel:GetMarketGuildGoodsInfo( type, sub_type )
|
|
return self.market_guild_goods_list[type.."@"..sub_type] or {}
|
|
end
|
|
|
|
function MarketModel:CleanMarketGoodsInfo( )
|
|
self.market_goods_list = {}
|
|
self.goods_list_num_table = {}
|
|
self.goods_max_page_table = {}
|
|
self.is_goods_list_last_page_table = {}
|
|
end
|
|
|
|
function MarketModel:CleanMarketGuildGoodsInfo( )
|
|
self.market_guild_goods_list = {}
|
|
self.guild_goods_list_num_table = {}
|
|
self.guild_goods_max_page_table = {}
|
|
self.is_guild_goods_list_last_page_table = {}
|
|
end
|
|
|
|
function MarketModel:CleanMarketGoodsInfoByType( type, sub_type )
|
|
if not type or not sub_type then
|
|
return
|
|
end
|
|
self.goods_list_num_table[type.."@"..sub_type] = 0
|
|
self.market_goods_list[type.."@"..sub_type] = {}
|
|
self.is_goods_list_last_page_table[type.."@"..sub_type] = 0
|
|
self.goods_max_page_table[type.."@"..sub_type] = {}
|
|
end
|
|
|
|
function MarketModel:CleanMarketGuildGoodsInfoByType( type, sub_type )
|
|
if not type or not sub_type then
|
|
return
|
|
end
|
|
self.guild_goods_list_num_table[type.."@"..sub_type] = 0
|
|
self.market_guild_goods_list[type.."@"..sub_type] = {}
|
|
self.is_guild_goods_list_last_page_table[type.."@"..sub_type] = 0
|
|
self.guild_goods_max_page_table[type.."@"..sub_type] = {}
|
|
end
|
|
|
|
function MarketModel:IsLastGoodsPage( type, sub_type )
|
|
if self.is_goods_list_last_page_table[type.."@"..sub_type] == 1 then
|
|
return true
|
|
else
|
|
return false
|
|
end
|
|
end
|
|
|
|
function MarketModel:IsLastGuildGoodsPage( type, sub_type )
|
|
if self.is_guild_goods_list_last_page_table[type.."@"..sub_type] == 1 then
|
|
return true
|
|
else
|
|
return false
|
|
end
|
|
end
|
|
--标记一下是否是最后一页
|
|
function MarketModel:SetGoodsListLastPageType( type, sub_type, num)
|
|
self.is_goods_list_last_page_table[type.."@"..sub_type] = num
|
|
end
|
|
|
|
--标记一下是否是最后一页
|
|
function MarketModel:SetGuildGoodsListLastPageType( type, sub_type, num)
|
|
self.is_guild_goods_list_last_page_table[type.."@"..sub_type] = num
|
|
end
|
|
|
|
--获取某tab下某个类别物品总数量
|
|
function MarketModel:GetMarketGoodsListNum( type, sub_type )
|
|
if not type or not sub_type then
|
|
return 0
|
|
end
|
|
return self.goods_list_num_table[type.."@"..sub_type] or 0
|
|
end
|
|
|
|
--获取某tab下某个类别物品总数量
|
|
function MarketModel:GetMarketGuildGoodsListNum( type, sub_type )
|
|
if not type or not sub_type then
|
|
return 0
|
|
end
|
|
return self.guild_goods_list_num_table[type.."@"..sub_type] or 0
|
|
end
|
|
|
|
function MarketModel:IsGoodsCanUpShelves( vo )
|
|
local basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(vo.type_id)
|
|
if basic and basic.sell_category > 0 and basic.sell_subcategory > 0
|
|
and vo.bind == 0 and basic.expire_time == 0 and vo.goods_num > 0 then
|
|
return true
|
|
end
|
|
return false
|
|
end
|
|
|
|
--获取背包内可上架的物品数量
|
|
function MarketModel:GetBagCanUpShelvesNum( )
|
|
local num = 0
|
|
local career = RoleManager.Instance.mainRoleInfo.career
|
|
local bag_goods_list = GoodsModel:getInstance().bag_goods_list
|
|
local equip_model = EquipModel:getInstance()
|
|
local equip_cfg
|
|
for k, v in pairs(bag_goods_list) do
|
|
if self:IsGoodsCanUpShelves(v) then
|
|
equip_cfg = equip_model:GetEquipmentCfg(v.type_id)
|
|
if equip_cfg then -- 2021年8月3日修改 追加剔除玩家本职业的装备
|
|
local is_mine = false
|
|
for k2, v2 in ipairs(equip_cfg.career) do
|
|
if v2 == career then
|
|
is_mine = true
|
|
break
|
|
end
|
|
end
|
|
if not is_mine then
|
|
num = num + 1
|
|
end
|
|
end
|
|
end
|
|
end
|
|
return num
|
|
end
|
|
|
|
--是否能竞拍
|
|
function MarketModel:IsGoodsCanAuction( type_id )
|
|
local basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(type_id)
|
|
return basic.trade_price > 0
|
|
end
|
|
|
|
--是否能一口价
|
|
function MarketModel:IsGoodsCanBuyOnePrice( type_id )
|
|
local basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(type_id)
|
|
return basic.buyout_price > 0
|
|
end
|
|
|
|
function MarketModel:SetMarketFocusList( vo )
|
|
self.market_focus_list = vo
|
|
self:ChangeVar("market_focus_list",self.market_focus_list,false,true)
|
|
self:FocusListCountDown()
|
|
end
|
|
|
|
function MarketModel:GetMarketFocusList( tab_id )
|
|
if not tab_id then
|
|
return self.market_focus_list
|
|
else
|
|
local data = {}
|
|
if tab_id == 1 then--拿全部
|
|
return self.market_focus_list
|
|
elseif tab_id == 2 then--正在竞拍
|
|
for i,v in ipairs(self.market_focus_list) do
|
|
if v.my_bid > 0 then
|
|
table_insert(data, v)
|
|
end
|
|
end
|
|
return data
|
|
elseif tab_id == 3 then--已关注
|
|
for i,v in ipairs(self.market_focus_list) do
|
|
if v.is_like == 1 then
|
|
table_insert(data, v)
|
|
end
|
|
end
|
|
return data
|
|
end
|
|
end
|
|
end
|
|
|
|
function MarketModel:SetMarketAttentionList( vo )
|
|
self.market_attention_list = {}
|
|
for i,v in ipairs(vo) do
|
|
self.market_attention_list[v.type_id] = true
|
|
end
|
|
self:ChangeVar("market_attention_list", self.market_attention_list, false, true)
|
|
end
|
|
|
|
function MarketModel:GetMarketAttentionList( )
|
|
return self.market_attention_list
|
|
end
|
|
|
|
function MarketModel:IsMarketAttentionGoods( type_id )
|
|
return self.market_attention_list[type_id] and true or false
|
|
end
|
|
--获取筛选的等级向上筛选
|
|
function MarketModel:GetMarketFliterLv( id )
|
|
local cfg = Config.Marketgoodsselectbylev
|
|
if cfg[id] then
|
|
local lv_min = cfg[id].stage
|
|
local lv_max = 9999
|
|
if cfg[id+1] then
|
|
lv_max = cfg[id+1].stage
|
|
end
|
|
return lv_min,lv_max
|
|
else
|
|
return 0,0
|
|
end
|
|
end
|
|
--获取是在哪上架
|
|
function MarketModel:GetMarketTypeName( type_id )
|
|
return MarketModel.MARKET_TYPE_NAME[type_id] or "交易市场"
|
|
end
|
|
|
|
function MarketModel:CheckMarketCanSelectZero( sell_type )
|
|
if self.market_cfg[sell_type] then
|
|
if self.market_cfg[sell_type][0] then
|
|
return true
|
|
else
|
|
return false
|
|
end
|
|
end
|
|
end
|
|
--获取筛选类别
|
|
function MarketModel:GetFliterType( sell_type,sub_type )
|
|
if sell_type == 0 then--如果是热卖 那么就读热卖表的主类型字段再调一次自己
|
|
return MarketConst.FliterType.Hot
|
|
elseif sell_type == 1 then
|
|
return MarketConst.FliterType.Armor
|
|
elseif sell_type == 3 then
|
|
return MarketConst.FliterType.Weapon
|
|
else
|
|
return MarketConst.FliterType.Other
|
|
end
|
|
end
|
|
--通过筛选类别来获取默认选中的id
|
|
function MarketModel:GetMarketDefultSelectIndexByType(fliter_type, info )
|
|
if fliter_type == MarketConst.FliterType.Armor then
|
|
for k,v in pairs(Config.Career) do
|
|
if v.career_id == info then
|
|
return v.sex + 1
|
|
end
|
|
end
|
|
elseif fliter_type == MarketConst.FliterType.Weapon then--很蛋疼不要问我为什么 问就是写死职业
|
|
if info == 1 or info == 2 then
|
|
return 2
|
|
elseif info == 3 or info == 4 then
|
|
return 3
|
|
end
|
|
end
|
|
return 0
|
|
end
|
|
|
|
--通过性别来获取职业筛选
|
|
function MarketModel:GetMarketFliterCareerBySex(sex )
|
|
for k,v in pairs(Config.Career) do
|
|
if v.career_id == sex then
|
|
return v.career_id
|
|
end
|
|
end
|
|
return 0
|
|
end
|
|
--用来判断提醒界面的东西能不能穿
|
|
function MarketModel:CheckMarketGoodsCanWear( career, wear_data )
|
|
if career == 0 then
|
|
return true
|
|
end
|
|
if wear_data and TableSize(wear_data) > 0 and career then
|
|
for i,v in ipairs(wear_data) do
|
|
if v == career then
|
|
return true
|
|
end
|
|
end
|
|
end
|
|
return false
|
|
end
|
|
|
|
function MarketModel:CheckMarketRedDot( )
|
|
local bool = false
|
|
local sales_data = self:GetOnShelvesList()
|
|
self.market_red_data.down_red = false
|
|
for i,v in ipairs(sales_data) do
|
|
if v.end_time - TimeUtil:getServerTime( ) <= 0 then
|
|
bool = true
|
|
self.market_red_data.down_red = true
|
|
end
|
|
end
|
|
self.market_red_data.can_up_shelves_red = false
|
|
local shelves_num = self:GetBagCanUpShelvesNum()
|
|
if shelves_num and shelves_num >= 3 then
|
|
self.market_red_data.can_up_shelves_red = true
|
|
end
|
|
bool = bool or self:IsGuildMarketNeedRed()
|
|
bool = bool or self.market_red_data.auction_red
|
|
bool = bool or self.market_red_data.can_up_shelves_red
|
|
self.market_red_data.guild_red = self:IsGuildMarketNeedRed()
|
|
self:Fire(MarketModel.ANS_MARKET_TAB_RED_DOT)
|
|
return bool
|
|
end
|
|
|
|
function MarketModel:SetMarketAuctionRed( bool )
|
|
self.market_red_data.auction_red = bool
|
|
self:Fire(MarketModel.UPDATE_MARKET_TAB_RED_DOT)
|
|
end
|
|
|
|
function MarketModel:GetMarketRedData( )
|
|
return self.market_red_data
|
|
end
|
|
--社团自动上架 设置一个状态量
|
|
function MarketModel:SetHasGuildGoods( bool )
|
|
self.is_market_guild_upshelves = bool
|
|
self:Fire(MarketModel.UPDATE_MARKET_TAB_RED_DOT)
|
|
end
|
|
|
|
function MarketModel:IsGuildMarketNeedRed( )
|
|
return self.is_market_guild_upshelves
|
|
end
|
|
--是否已经上架到最多了
|
|
function MarketModel:IsMaxMarketGoods( )
|
|
local cfg = Config.Marketconstant
|
|
local data = self:GetOnShelvesList()
|
|
local max_num = cfg[1].value
|
|
return TableSize(data) >= max_num
|
|
end
|
|
--是否是竞拍被超过了 只在上线的时候查一下
|
|
function MarketModel:IsAuctionNeedRed( )
|
|
local bool = false
|
|
local data = self:GetMarketFocusList(2)--拿正在竞拍的
|
|
for i,v in ipairs(data) do
|
|
if v.my_price ~= v.price then
|
|
bool = true
|
|
break
|
|
end
|
|
end
|
|
return bool
|
|
end
|
|
|
|
function MarketModel:FocusListCountDown( )
|
|
local data = self:GetMarketFocusList()
|
|
for i,v in ipairs(data) do--看看关注列表里面有没有需要倒计时的
|
|
local goods_vo = GoodsModel:getInstance():GetGoodsBasicByTypeId(v.type_id)
|
|
local market_show_time = goods_vo.market_show_time or 0
|
|
if v.up_time + market_show_time > TimeUtil:getServerTime( ) then
|
|
local function count_down_time( )
|
|
if v.up_time + market_show_time > TimeUtil:getServerTime( ) then
|
|
|
|
else
|
|
v.goods_id = v.type_id
|
|
v.is_show_time = true
|
|
GlobalEventSystem:Fire(EventName.OPEN_COMMON_AUCTION_VIEW, v)
|
|
self:DeleteFuncCallBack("showTimeTips"..v.id)
|
|
end
|
|
end
|
|
self:SetFuncCallBack(count_down_time, "showTimeTips"..v.id)
|
|
end
|
|
end
|
|
end
|
|
|
|
function MarketModel:ResetOpenViewTimestamp( )
|
|
self.last_open_view_timestamp = TimeUtil:getServerTime( )
|
|
end
|
|
|
|
function MarketModel:GetOpenViewTimestamp( )
|
|
return self.last_open_view_timestamp
|
|
end
|