|  |  |  | 
|---|
|  |  |  | if not cfgID: | 
|---|
|  |  |  | return | 
|---|
|  |  |  | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FlashSaleYY % goodsID, packData.State, ChConfig.Def_PDictType_FlashSale) | 
|---|
|  |  |  | Sync_FlashSaleAppointmentInfo(curPlayer) | 
|---|
|  |  |  | Sync_FlashSaleAppointmentInfo(curPlayer, goodsID) | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def Sync_FlashSaleAppointmentInfo(curPlayer): | 
|---|
|  |  |  | def Sync_FlashSaleAppointmentInfo(curPlayer, goodsID=0): | 
|---|
|  |  |  | ##通知限时抢购预约情况 | 
|---|
|  |  |  | actInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FlashSale, {}) | 
|---|
|  |  |  | if not actInfo: | 
|---|
|  |  |  | 
|---|
|  |  |  | return | 
|---|
|  |  |  | packInfo = ChPyNetSendPack.tagMCFlashSaleAppointmentInfo() | 
|---|
|  |  |  | packInfo.GoodsList = [] | 
|---|
|  |  |  | shopTypeList = flashSaleIpyData.GetShopTypeList() | 
|---|
|  |  |  | for dayIndex, shopList in enumerate(shopTypeList): | 
|---|
|  |  |  | for timeIndex, shopType in enumerate(shopList): | 
|---|
|  |  |  | shopItemIpyDataList = IpyGameDataPY.GetIpyGameDataByCondition("Store", {"ShopType":shopType}, True, True) | 
|---|
|  |  |  | if not shopItemIpyDataList: | 
|---|
|  |  |  | continue | 
|---|
|  |  |  | for i in xrange(len(shopItemIpyDataList)): | 
|---|
|  |  |  | goodsMark = dayIndex * 10000 + timeIndex * 100 + i  #商品标识 | 
|---|
|  |  |  | isAppointment = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FlashSaleYY % goodsMark, 0, ChConfig.Def_PDictType_FlashSale) | 
|---|
|  |  |  | if isAppointment: | 
|---|
|  |  |  | packInfo.GoodsList.append(goodsMark) | 
|---|
|  |  |  | if goodsID == 0: | 
|---|
|  |  |  | packInfo.IsAll = 1 | 
|---|
|  |  |  | shopTypeList = flashSaleIpyData.GetShopTypeList() | 
|---|
|  |  |  | for dayIndex, shopList in enumerate(shopTypeList): | 
|---|
|  |  |  | for timeIndex, shopType in enumerate(shopList): | 
|---|
|  |  |  | shopItemIpyDataList = IpyGameDataPY.GetIpyGameDataByCondition("Store", {"ShopType":shopType}, True, True) | 
|---|
|  |  |  | if not shopItemIpyDataList: | 
|---|
|  |  |  | continue | 
|---|
|  |  |  | for i in xrange(len(shopItemIpyDataList)): | 
|---|
|  |  |  | goodsMark = dayIndex * 10000 + timeIndex * 100 + i  #商品标识 | 
|---|
|  |  |  | isAppointment = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FlashSaleYY % goodsMark, 0, ChConfig.Def_PDictType_FlashSale) | 
|---|
|  |  |  | if isAppointment: | 
|---|
|  |  |  | appoinetmentPack = ChPyNetSendPack.tagMCFlashSaleAppointmentState() | 
|---|
|  |  |  | appoinetmentPack.GoodsMark = goodsMark | 
|---|
|  |  |  | appoinetmentPack.State = 1 | 
|---|
|  |  |  | packInfo.GoodsList.append(appoinetmentPack) | 
|---|
|  |  |  | else: | 
|---|
|  |  |  | packInfo.IsAll = 0 | 
|---|
|  |  |  | isAppointment = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FlashSaleYY % goodsID, 0, ChConfig.Def_PDictType_FlashSale) | 
|---|
|  |  |  | appoinetmentPack = ChPyNetSendPack.tagMCFlashSaleAppointmentState() | 
|---|
|  |  |  | appoinetmentPack.GoodsMark = goodsID | 
|---|
|  |  |  | appoinetmentPack.State = isAppointment | 
|---|
|  |  |  | packInfo.GoodsList.append(appoinetmentPack) | 
|---|
|  |  |  | packInfo.GoodsCount = len(packInfo.GoodsList) | 
|---|
|  |  |  | NetPackCommon.SendFakePack(curPlayer, packInfo) | 
|---|
|  |  |  | return | 
|---|