local baseCell = autoImport("BaseCell")
ExchangeSellIntroduceCell = class("ExchangeSellIntroduceCell", baseCell)

function ExchangeSellIntroduceCell:Init()
	self:FindObjs()
	self:InitShow()
end

function ExchangeSellIntroduceCell:FindObjs()
	self.countDown = self:FindGO("CountDown")
	if self.countDown then
		self.countDown = self.countDown:GetComponent(UILabel)
	end
	self.count = self:FindGO("Count")
	if self.count then
		self.count = self.count:GetComponent(UILabel)
	end
	self.buyerCount = self:FindGO("BuyerCount")
	if self.buyerCount then
		self.buyerCount = self.buyerCount:GetComponent(UILabel)
	end
	self.info = self:FindGO("Info")
	if self.info then
		self.info = self.info:GetComponent(UILabel)
	end
	self.info2 = self:FindGO("Info2")
	if self.info2 then
		self.info2 = self.info2:GetComponent(UILabel)
	end
	self.info3 = self:FindGO("Info3")
	if self.info3 then
		self.info3 = self.info3:GetComponent(UILabel)
	end
	self.table = self:FindGO("Table")
	if self.table then
		self.table = self.table:GetComponent(UITable)
	end
	self.rate = self:FindGO("Rate")
	if self.rate then
		self.rate = self.rate:GetComponent(UILabel)
	end
	self.tip = self:FindGO("Tip")
end

function ExchangeSellIntroduceCell:InitShow()
	-- body
end

function ExchangeSellIntroduceCell:SetData(data)
	self.data = data
	if data then
		local type = data.type
		local itemData = data.itemData
		local staticData = itemData.staticData
		local isShowEnchant = self:IsShowEnchant(itemData)

		if self.rate then
			self.rate.text = string.format(ZhString.ShopMall_ExchangeRateTitle , CommonFun.calcTradeTax(data.price))
		end

		if type == ShopMallStateTypeEnum.WillPublicity then		
			local showTime = Table_Exchange[staticData.id] and Table_Exchange[staticData.id].ShowTime or 0

			if self.info then
				self.info.text = string.format( GameConfig.Exchange.SellShow1 , staticData.NameZh )
			end
			if self.info2 then
				self.info2.text = string.format( GameConfig.Exchange.SellShow3 , staticData.NameZh , math.ceil(showTime/60))
			end

			if self.info3 then
				self.info3.gameObject:SetActive(isShowEnchant)
				if isShowEnchant then
					self:SetEnchantLabel(itemData,self.info3)
				end			
			end
			if self.tip then
				self.tip:SetActive(isShowEnchant)
			end

			if self.table then
				self.table:Reposition()
			end

		elseif type == ShopMallStateTypeEnum.InPublicity then
			if self.timeTick == nil then
				self.timeTick = TimeTickManager.Me():CreateTick(0,1000,self.UpdateCountDown,self)
			end
			if self.count then
				self.count.text = string.format(ZhString.ShopMall_IntroduceCount, data.count)
			end
			if self.buyerCount then
				self.buyerCount.text = string.format(ZhString.ShopMall_IntroduceBuyerCount, data.buyerCount)
			end
			if self.info then
				self.info.text = string.format( GameConfig.Exchange.SellShow4 , staticData.NameZh )
			end

			if self.info2 then
				self.info2.gameObject:SetActive(isShowEnchant)
				if isShowEnchant then
					self:SetEnchantLabel(itemData,self.info2)
				end
			end
			if self.tip then
				self.tip:SetActive(isShowEnchant)
			end

			if self.table then
				self.table:Reposition()
			end

		else
			if self.count then
				self.count.text = data.count
			end
			--擁有附魔裝備
			if self.info then
				if isShowEnchant then
					self:SetEnchantLabel(itemData,self.info)
				end
			end
		end
	end
end

function ExchangeSellIntroduceCell:UpdateCountDown()
	if self.data then
		local time = self.data.endTime - ServerTime.CurServerTime()/1000
		local min,sec
		if time > 0 then
			min,sec = ClientTimeUtil.GetFormatSecTimeStr( time )
		else
			min = 0
			sec = 0
		end
		self.countDown.text = string.format( ZhString.ShopMall_ExchangePublicityCountDown , min , sec )
	end
end

function ExchangeSellIntroduceCell:OnDestroy() 
	TimeTickManager.Me():ClearTick(self)
end

function ExchangeSellIntroduceCell:IsShowEnchant(itemData)
	return itemData and itemData.enchantInfo and #itemData.enchantInfo:GetEnchantAttrs() > 0 or false
end

function ExchangeSellIntroduceCell:SetEnchantLabel(itemData,uiLabel)
	if itemData.enchantInfo:IsShowWhenTrade() then
		uiLabel.text = ZhString.ShopMall_ExchangeEnchant
	else
		uiLabel.text = ZhString.ShopMall_ExchangeHideEnchant
	end
end