|  |  | 
 |  |  |     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
 |