源战役客户端
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

647 lines
20 KiB

  1. --[[@------------------------------------------------------------------
  2. @description:
  3. @author:HWR
  4. ----------------------------------------------------------------------]]
  5. MarketModel = MarketModel or BaseClass(BaseModel)
  6. MarketModel.REQUEST_CCMD_EVENT = "MarketModel.REQUEST_CCMD_EVENT"
  7. MarketModel.UPDATE_MARKET_TAB_RED_DOT = "MarketModel.UPDATE_MARKET_TAB_RED_DOT" --更新市场红点
  8. MarketModel.ANS_MARKET_TAB_RED_DOT = "MarketModel.ANS_MARKET_TAB_RED_DOT" --响应更新市场红点
  9. MarketModel.OPEN_MARKET_BUY_VIEW = "MarketModel.OPEN_MARKET_BUY_VIEW" --打开市场的购买界面
  10. MarketModel.MARKET_BUY_SUCCESS = "MarketModel.MARKET_BUY_SUCCESS" --竞拍成功刷新界面
  11. MarketModel.CLOSE_MARKET_UP_SHELVES_VIEW = "MarketModel.CLOSE_MARKET_UP_SHELVES_VIEW" --关闭上架界面
  12. MarketModel.UPDATE_ONE_GOODS_BY_PRICE_UP = "MarketModel.UPDATE_ONE_GOODS_BY_PRICE_UP" --因为竞价被超过所以手动刷新商品
  13. --一口价 竞拍
  14. MarketModel.ONE_PRICE_TYPE = 1
  15. MarketModel.AUCTION_PRICE_TYPE = 2
  16. -- 社团类型,世界类型,个人类型
  17. MarketModel.AUCTION_WORLD_TYPE = 1
  18. MarketModel.AUCTION_GUILD_TYPE = 2
  19. MarketModel.VER_TAB_TYPE = {
  20. WORLD_TYPE = 1,--世界拍卖
  21. ATTENTION_TYPE = 2,--上架提醒
  22. GUILD_TYPE = 3,--公会拍卖
  23. }
  24. MarketModel.MARKET_TYPE_NAME = {
  25. [1] = "世界拍卖",
  26. [2] = "社团拍卖",
  27. }
  28. local MarketModel = MarketModel
  29. local table_insert = table.insert
  30. function MarketModel:__init()
  31. MarketModel.Instance = self
  32. self.market_cfg = {} --市场配置
  33. self.market_guild_cfg = {} --市场
  34. self.goods_shelves_list = {} --上架商品列表
  35. self.under_shelves_list = {} --下架商品列表
  36. self.auction_list = {} --玩家竞拍商品列表
  37. self.callback_table = {} --回调列表
  38. self.market_record_list = {} --交易记录
  39. self.count_down_time = 9999999 --倒计时时间
  40. self.market_goods_list = {} --单个种类市场商品列表
  41. self.goods_list_num_table = {} --所有种类商品数量表
  42. self.goods_max_page_table = {} --所有种类商品最大页数表
  43. self.is_goods_list_last_page_table = {}--顾名思义
  44. self.market_guild_goods_list = {} --单个种类社团市场商品列表
  45. self.guild_goods_list_num_table = {} --所有种类社团商品数量表
  46. self.guild_goods_max_page_table = {} --所有种类社团商品最大页数表
  47. self.is_guild_goods_list_last_page_table = {}--顾名思义
  48. self.market_red_data = {} --红点缓存
  49. self.market_focus_list = {} --关注列表
  50. self.market_goods_cfg = {} --按类别存起来的物品配置表
  51. self.market_attention_list = {} --入库提醒列表
  52. self.is_market_guild_upshelves = false--是否有社团自动上架的东西
  53. self.last_open_view_timestamp = 0 --上一次打开界面的时间
  54. self:InitMarketCFG()
  55. -- self:InitMarketGoodsCFG()
  56. end
  57. function MarketModel:Reset( )
  58. self.goods_shelves_list = {} --上架商品列表
  59. self.under_shelves_list = {} --下架商品列表
  60. self.callback_table = {} --回调列表
  61. self.auction_list = {} --玩家竞拍商品列表
  62. self.market_record_list = {} --交易记录
  63. self.market_goods_list = {} --单个种类市场商品列表
  64. self.goods_list_num_table = {} --所有种类商品数量表
  65. self.goods_max_page_table = {} --所有种类商品最大页数表
  66. self.is_goods_list_last_page_table = {}--顾名思义
  67. self.market_guild_goods_list = {} --单个种类社团市场商品列表
  68. self.guild_goods_list_num_table = {} --所有种类社团商品数量表
  69. self.guild_goods_max_page_table = {} --所有种类社团商品最大页数表
  70. self.is_guild_goods_list_last_page_table = {}--顾名思义
  71. self.count_down_time = 9999999 --倒计时时间
  72. self.market_focus_list = {} --关注列表
  73. self.market_attention_list = {} --入库提醒列表
  74. end
  75. function MarketModel:getInstance()
  76. if MarketModel.Instance == nil then
  77. MarketModel.New()
  78. end
  79. return MarketModel.Instance
  80. end
  81. function MarketModel:GetInstance()
  82. if MarketModel.Instance == nil then
  83. MarketModel.New()
  84. end
  85. return MarketModel.Instance
  86. end
  87. ----------------------------------新的分界线---------------------------
  88. function MarketModel:InitMarketCFG( )
  89. local cfg = Config.Marketsellsubtype
  90. self.market_cfg = {}
  91. self.market_guild_cfg = {}
  92. for k,v in pairs(cfg) do
  93. if not self.market_cfg[v.sell_type] then
  94. self.market_cfg[v.sell_type] = {}
  95. end
  96. self.market_cfg[v.sell_type][v.sell_sub_type] = v
  97. if not self.market_guild_cfg[v.sell_type] then
  98. self.market_guild_cfg[v.sell_type] = {}
  99. end
  100. if v.sell_type == 0 then
  101. if v.sell_sub_type == 0 then
  102. self.market_guild_cfg[v.sell_type][v.sell_sub_type] = v
  103. end
  104. else
  105. self.market_guild_cfg[v.sell_type][v.sell_sub_type] = v
  106. end
  107. end
  108. end
  109. --遍历整个物品表
  110. function MarketModel:InitMarketGoodsCFG( )
  111. local fun,basic
  112. for k, v in ipairs(Config.Marketgoodsnotice) do
  113. -- fun = loadstring(v)
  114. -- basic = fun()
  115. basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(v.goods_id)
  116. -- if basic and basic.sell_category > 0 and basic.sell_subcategory > 0 and basic.expire_time == 0 then
  117. if basic then
  118. --如果是装备 就要把类别 职业 套数 插进去
  119. if Config.Equipment[basic.type_id] then
  120. basic.career = stringtotable(Config.Equipment[basic.type_id].career)
  121. basic.series = Config.Equipment[basic.type_id].series
  122. end
  123. if not self.market_goods_cfg[basic.sell_category] then
  124. self.market_goods_cfg[basic.sell_category] = {}
  125. end
  126. if not self.market_goods_cfg[basic.sell_category][basic.sell_subcategory] then
  127. self.market_goods_cfg[basic.sell_category][basic.sell_subcategory] = {}
  128. end
  129. table_insert(self.market_goods_cfg[basic.sell_category][basic.sell_subcategory], basic)
  130. end
  131. end
  132. end
  133. function MarketModel:PrintGoods( )
  134. do return end
  135. for i,v in pairsByKeys(self.market_goods_cfg) do
  136. print("sell_categor: ", i)
  137. for ii,vv in pairsByKeys(v) do
  138. print("sell_subcategory",ii)
  139. for iii,vvv in ipairs(vv) do
  140. print(vvv.type_id)
  141. end
  142. end
  143. end
  144. end
  145. function MarketModel:GetMarketGoodsCFG( type, sub_type )
  146. if TableSize(self.market_goods_cfg) == 0 then
  147. self:InitMarketGoodsCFG()
  148. end
  149. if type and sub_type then
  150. if sub_type == 0 then
  151. return self.market_goods_cfg[type]
  152. else
  153. return self.market_goods_cfg[type][sub_type]
  154. end
  155. elseif type then
  156. return self.market_goods_cfg[type]
  157. end
  158. return self.market_goods_cfg
  159. end
  160. function MarketModel:GetMarketCFG( )
  161. return self.market_cfg
  162. end
  163. function MarketModel:GetMarketGuildCFG( )
  164. return self.market_guild_cfg
  165. end
  166. function MarketModel:SetOnShelvesList( vo )
  167. self.goods_shelves_list = vo
  168. self:ChangeVar("goods_shelves_list",self.goods_shelves_list,false,true)
  169. end
  170. function MarketModel:GetOnShelvesList( )
  171. return self.goods_shelves_list
  172. end
  173. --设置玩家下架的物品
  174. function MarketModel:SetUnderShelvesList( list )
  175. self.under_shelves_list = list
  176. self:ChangeVar("under_shelves_list",self.under_shelves_list,false,true)
  177. end
  178. function MarketModel:GetUnderShelvesList( )
  179. return self.under_shelves_list
  180. end
  181. function MarketModel:TimeLater()
  182. local function on_answer_time( )
  183. if self.count_down_time <= 0 or TableSize(self.callback_table) <=0 then
  184. if self.question_time_id then
  185. GlobalTimerQuest:CancelQuest(self.question_time_id)
  186. self.question_time_id = nil
  187. self.count_down_time = 9999999
  188. end
  189. else
  190. self.count_down_time = self.count_down_time - 1
  191. for k,v in pairs(self.callback_table) do
  192. if type(v) == "function" then
  193. v()
  194. end
  195. end
  196. end
  197. end
  198. if not self.question_time_id then
  199. self.question_time_id = GlobalTimerQuest:AddPeriodQuest(on_answer_time, 1, -1)
  200. end
  201. end
  202. function MarketModel:DeleteFuncCallBack( index )--删除计时器方法列表里面的方法
  203. self.callback_table[index] = nil
  204. end
  205. function MarketModel:SetFuncCallBack( func,index )--添加计时器方法列表里面的方法
  206. if type(func) == "function" then
  207. self.callback_table[index] = func
  208. self:TimeLater()
  209. end
  210. end
  211. function MarketModel:SetAuctionList( vo )
  212. self.auction_list = vo
  213. self:ChangeVar("auction_list",self.auction_list,false,true)
  214. end
  215. function MarketModel:GetAuctionList( )
  216. return self.auction_list
  217. end
  218. function MarketModel:SetMarketRecordInfo(type, vo )
  219. self.market_record_list[type] = vo
  220. self:ChangeVar("market_record_list",self.market_record_list,false,true)
  221. end
  222. function MarketModel:GetMarketRecordInfo( type_id )
  223. if type_id then
  224. return self.market_record_list[type_id] or {}
  225. else
  226. return self.market_record_list
  227. end
  228. end
  229. function MarketModel:GetMarketTabNameBuySellType( sell_type )
  230. local cfg = Config.Marketselltype
  231. if cfg[sell_type] then
  232. return Trim(cfg[sell_type].name)
  233. else
  234. return ""
  235. end
  236. end
  237. function MarketModel:GetMarketTabNameBuySellSubType( sell_type,sell_sub_type )
  238. local cfg = Config.Marketsellsubtype
  239. if cfg and cfg[sell_type.."@"..sell_sub_type] then
  240. return cfg[sell_type.."@"..sell_sub_type].name
  241. else
  242. return ""
  243. end
  244. end
  245. --用大类加小类来存商品
  246. function MarketModel:SetWorldMarketGoodsInfo(type, sub_type, page, list)
  247. if not self.market_goods_list[type.."@"..sub_type] then
  248. self.market_goods_list[type.."@"..sub_type] = {}
  249. end
  250. self.market_goods_list[type.."@"..sub_type][page] = list
  251. local total_num = 0
  252. for k,v in pairs(self.market_goods_list[type.."@"..sub_type]) do
  253. total_num = total_num + TableSize(v)
  254. end
  255. self.goods_list_num_table[type.."@"..sub_type] = total_num
  256. self:ChangeVar("market_goods_list",self.market_goods_list,false,true)
  257. end
  258. --用大类加小类来存社团商品
  259. function MarketModel:SetGuildMarketGoodsInfo(type, sub_type, page, list)
  260. if not self.market_guild_goods_list[type.."@"..sub_type] then
  261. self.market_guild_goods_list[type.."@"..sub_type] = {}
  262. end
  263. self.market_guild_goods_list[type.."@"..sub_type][page] = list
  264. local total_num = 0
  265. for k,v in pairs(self.market_guild_goods_list[type.."@"..sub_type]) do
  266. total_num = total_num + TableSize(v)
  267. end
  268. self.guild_goods_list_num_table[type.."@"..sub_type] = total_num
  269. self:ChangeVar("market_guild_goods_list",self.market_guild_goods_list,false,true)
  270. end
  271. function MarketModel:GetMarketGoodsInfo( type, sub_type )
  272. return self.market_goods_list[type.."@"..sub_type] or {}
  273. end
  274. function MarketModel:GetMarketGuildGoodsInfo( type, sub_type )
  275. return self.market_guild_goods_list[type.."@"..sub_type] or {}
  276. end
  277. function MarketModel:CleanMarketGoodsInfo( )
  278. self.market_goods_list = {}
  279. self.goods_list_num_table = {}
  280. self.goods_max_page_table = {}
  281. self.is_goods_list_last_page_table = {}
  282. end
  283. function MarketModel:CleanMarketGuildGoodsInfo( )
  284. self.market_guild_goods_list = {}
  285. self.guild_goods_list_num_table = {}
  286. self.guild_goods_max_page_table = {}
  287. self.is_guild_goods_list_last_page_table = {}
  288. end
  289. function MarketModel:CleanMarketGoodsInfoByType( type, sub_type )
  290. if not type or not sub_type then
  291. return
  292. end
  293. self.goods_list_num_table[type.."@"..sub_type] = 0
  294. self.market_goods_list[type.."@"..sub_type] = {}
  295. self.is_goods_list_last_page_table[type.."@"..sub_type] = 0
  296. self.goods_max_page_table[type.."@"..sub_type] = {}
  297. end
  298. function MarketModel:CleanMarketGuildGoodsInfoByType( type, sub_type )
  299. if not type or not sub_type then
  300. return
  301. end
  302. self.guild_goods_list_num_table[type.."@"..sub_type] = 0
  303. self.market_guild_goods_list[type.."@"..sub_type] = {}
  304. self.is_guild_goods_list_last_page_table[type.."@"..sub_type] = 0
  305. self.guild_goods_max_page_table[type.."@"..sub_type] = {}
  306. end
  307. function MarketModel:IsLastGoodsPage( type, sub_type )
  308. if self.is_goods_list_last_page_table[type.."@"..sub_type] == 1 then
  309. return true
  310. else
  311. return false
  312. end
  313. end
  314. function MarketModel:IsLastGuildGoodsPage( type, sub_type )
  315. if self.is_guild_goods_list_last_page_table[type.."@"..sub_type] == 1 then
  316. return true
  317. else
  318. return false
  319. end
  320. end
  321. --标记一下是否是最后一页
  322. function MarketModel:SetGoodsListLastPageType( type, sub_type, num)
  323. self.is_goods_list_last_page_table[type.."@"..sub_type] = num
  324. end
  325. --标记一下是否是最后一页
  326. function MarketModel:SetGuildGoodsListLastPageType( type, sub_type, num)
  327. self.is_guild_goods_list_last_page_table[type.."@"..sub_type] = num
  328. end
  329. --获取某tab下某个类别物品总数量
  330. function MarketModel:GetMarketGoodsListNum( type, sub_type )
  331. if not type or not sub_type then
  332. return 0
  333. end
  334. return self.goods_list_num_table[type.."@"..sub_type] or 0
  335. end
  336. --获取某tab下某个类别物品总数量
  337. function MarketModel:GetMarketGuildGoodsListNum( type, sub_type )
  338. if not type or not sub_type then
  339. return 0
  340. end
  341. return self.guild_goods_list_num_table[type.."@"..sub_type] or 0
  342. end
  343. function MarketModel:IsGoodsCanUpShelves( vo )
  344. local basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(vo.type_id)
  345. if basic and basic.sell_category > 0 and basic.sell_subcategory > 0
  346. and vo.bind == 0 and basic.expire_time == 0 and vo.goods_num > 0 then
  347. return true
  348. end
  349. return false
  350. end
  351. --获取背包内可上架的物品数量
  352. function MarketModel:GetBagCanUpShelvesNum( )
  353. local num = 0
  354. local career = RoleManager.Instance.mainRoleInfo.career
  355. local bag_goods_list = GoodsModel:getInstance().bag_goods_list
  356. local equip_model = EquipModel:getInstance()
  357. local equip_cfg
  358. for k, v in pairs(bag_goods_list) do
  359. if self:IsGoodsCanUpShelves(v) then
  360. equip_cfg = equip_model:GetEquipmentCfg(v.type_id)
  361. if equip_cfg then -- 2021年8月3日修改 追加剔除玩家本职业的装备
  362. local is_mine = false
  363. for k2, v2 in ipairs(equip_cfg.career) do
  364. if v2 == career then
  365. is_mine = true
  366. break
  367. end
  368. end
  369. if not is_mine then
  370. num = num + 1
  371. end
  372. end
  373. end
  374. end
  375. return num
  376. end
  377. --是否能竞拍
  378. function MarketModel:IsGoodsCanAuction( type_id )
  379. local basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(type_id)
  380. return basic.trade_price > 0
  381. end
  382. --是否能一口价
  383. function MarketModel:IsGoodsCanBuyOnePrice( type_id )
  384. local basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(type_id)
  385. return basic.buyout_price > 0
  386. end
  387. function MarketModel:SetMarketFocusList( vo )
  388. self.market_focus_list = vo
  389. self:ChangeVar("market_focus_list",self.market_focus_list,false,true)
  390. self:FocusListCountDown()
  391. end
  392. function MarketModel:GetMarketFocusList( tab_id )
  393. if not tab_id then
  394. return self.market_focus_list
  395. else
  396. local data = {}
  397. if tab_id == 1 then--拿全部
  398. return self.market_focus_list
  399. elseif tab_id == 2 then--正在竞拍
  400. for i,v in ipairs(self.market_focus_list) do
  401. if v.my_bid > 0 then
  402. table_insert(data, v)
  403. end
  404. end
  405. return data
  406. elseif tab_id == 3 then--已关注
  407. for i,v in ipairs(self.market_focus_list) do
  408. if v.is_like == 1 then
  409. table_insert(data, v)
  410. end
  411. end
  412. return data
  413. end
  414. end
  415. end
  416. function MarketModel:SetMarketAttentionList( vo )
  417. self.market_attention_list = {}
  418. for i,v in ipairs(vo) do
  419. self.market_attention_list[v.type_id] = true
  420. end
  421. self:ChangeVar("market_attention_list", self.market_attention_list, false, true)
  422. end
  423. function MarketModel:GetMarketAttentionList( )
  424. return self.market_attention_list
  425. end
  426. function MarketModel:IsMarketAttentionGoods( type_id )
  427. return self.market_attention_list[type_id] and true or false
  428. end
  429. --获取筛选的等级向上筛选
  430. function MarketModel:GetMarketFliterLv( id )
  431. local cfg = Config.Marketgoodsselectbylev
  432. if cfg[id] then
  433. local lv_min = cfg[id].stage
  434. local lv_max = 9999
  435. if cfg[id+1] then
  436. lv_max = cfg[id+1].stage
  437. end
  438. return lv_min,lv_max
  439. else
  440. return 0,0
  441. end
  442. end
  443. --获取是在哪上架
  444. function MarketModel:GetMarketTypeName( type_id )
  445. return MarketModel.MARKET_TYPE_NAME[type_id] or "交易市场"
  446. end
  447. function MarketModel:CheckMarketCanSelectZero( sell_type )
  448. if self.market_cfg[sell_type] then
  449. if self.market_cfg[sell_type][0] then
  450. return true
  451. else
  452. return false
  453. end
  454. end
  455. end
  456. --获取筛选类别
  457. function MarketModel:GetFliterType( sell_type,sub_type )
  458. if sell_type == 0 then--如果是热卖 那么就读热卖表的主类型字段再调一次自己
  459. return MarketConst.FliterType.Hot
  460. elseif sell_type == 1 then
  461. return MarketConst.FliterType.Armor
  462. elseif sell_type == 3 then
  463. return MarketConst.FliterType.Weapon
  464. else
  465. return MarketConst.FliterType.Other
  466. end
  467. end
  468. --通过筛选类别来获取默认选中的id
  469. function MarketModel:GetMarketDefultSelectIndexByType(fliter_type, info )
  470. if fliter_type == MarketConst.FliterType.Armor then
  471. for k,v in pairs(Config.Career) do
  472. if v.career_id == info then
  473. return v.sex + 1
  474. end
  475. end
  476. elseif fliter_type == MarketConst.FliterType.Weapon then--很蛋疼不要问我为什么 问就是写死职业
  477. if info == 1 or info == 2 then
  478. return 2
  479. elseif info == 3 or info == 4 then
  480. return 3
  481. end
  482. end
  483. return 0
  484. end
  485. --通过性别来获取职业筛选
  486. function MarketModel:GetMarketFliterCareerBySex(sex )
  487. for k,v in pairs(Config.Career) do
  488. if v.career_id == sex then
  489. return v.career_id
  490. end
  491. end
  492. return 0
  493. end
  494. --用来判断提醒界面的东西能不能穿
  495. function MarketModel:CheckMarketGoodsCanWear( career, wear_data )
  496. if career == 0 then
  497. return true
  498. end
  499. if wear_data and TableSize(wear_data) > 0 and career then
  500. for i,v in ipairs(wear_data) do
  501. if v == career then
  502. return true
  503. end
  504. end
  505. end
  506. return false
  507. end
  508. function MarketModel:CheckMarketRedDot( )
  509. local bool = false
  510. local sales_data = self:GetOnShelvesList()
  511. self.market_red_data.down_red = false
  512. for i,v in ipairs(sales_data) do
  513. if v.end_time - TimeUtil:getServerTime( ) <= 0 then
  514. bool = true
  515. self.market_red_data.down_red = true
  516. end
  517. end
  518. self.market_red_data.can_up_shelves_red = false
  519. local shelves_num = self:GetBagCanUpShelvesNum()
  520. if shelves_num and shelves_num >= 3 then
  521. self.market_red_data.can_up_shelves_red = true
  522. end
  523. bool = bool or self:IsGuildMarketNeedRed()
  524. bool = bool or self.market_red_data.auction_red
  525. bool = bool or self.market_red_data.can_up_shelves_red
  526. self.market_red_data.guild_red = self:IsGuildMarketNeedRed()
  527. self:Fire(MarketModel.ANS_MARKET_TAB_RED_DOT)
  528. return bool
  529. end
  530. function MarketModel:SetMarketAuctionRed( bool )
  531. self.market_red_data.auction_red = bool
  532. self:Fire(MarketModel.UPDATE_MARKET_TAB_RED_DOT)
  533. end
  534. function MarketModel:GetMarketRedData( )
  535. return self.market_red_data
  536. end
  537. --社团自动上架 设置一个状态量
  538. function MarketModel:SetHasGuildGoods( bool )
  539. self.is_market_guild_upshelves = bool
  540. self:Fire(MarketModel.UPDATE_MARKET_TAB_RED_DOT)
  541. end
  542. function MarketModel:IsGuildMarketNeedRed( )
  543. return self.is_market_guild_upshelves
  544. end
  545. --是否已经上架到最多了
  546. function MarketModel:IsMaxMarketGoods( )
  547. local cfg = Config.Marketconstant
  548. local data = self:GetOnShelvesList()
  549. local max_num = cfg[1].value
  550. return TableSize(data) >= max_num
  551. end
  552. --是否是竞拍被超过了 只在上线的时候查一下
  553. function MarketModel:IsAuctionNeedRed( )
  554. local bool = false
  555. local data = self:GetMarketFocusList(2)--拿正在竞拍的
  556. for i,v in ipairs(data) do
  557. if v.my_price ~= v.price then
  558. bool = true
  559. break
  560. end
  561. end
  562. return bool
  563. end
  564. function MarketModel:FocusListCountDown( )
  565. local data = self:GetMarketFocusList()
  566. for i,v in ipairs(data) do--看看关注列表里面有没有需要倒计时的
  567. local goods_vo = GoodsModel:getInstance():GetGoodsBasicByTypeId(v.type_id)
  568. local market_show_time = goods_vo.market_show_time or 0
  569. if v.up_time + market_show_time > TimeUtil:getServerTime( ) then
  570. local function count_down_time( )
  571. if v.up_time + market_show_time > TimeUtil:getServerTime( ) then
  572. else
  573. v.goods_id = v.type_id
  574. v.is_show_time = true
  575. GlobalEventSystem:Fire(EventName.OPEN_COMMON_AUCTION_VIEW, v)
  576. self:DeleteFuncCallBack("showTimeTips"..v.id)
  577. end
  578. end
  579. self:SetFuncCallBack(count_down_time, "showTimeTips"..v.id)
  580. end
  581. end
  582. end
  583. function MarketModel:ResetOpenViewTimestamp( )
  584. self.last_open_view_timestamp = TimeUtil:getServerTime( )
  585. end
  586. function MarketModel:GetOpenViewTimestamp( )
  587. return self.last_open_view_timestamp
  588. end