def Donate(self,technology):
     '''捐献'''
     nowdate = datetime.date.today()
     limittime = 1
     if self.getPost()>0:
         limittime = 2
     if (nowdate - self.getLastDonate()).days<1 and self.getDonatetimes()>=limittime:
         msg = Lg().g(351)
         pushOtherMessage(905,msg,[self._owner.getDynamicId()])
         return {'result':False,'message':Lg().g(351)}
     guild = GuildManager().getGuildById(self.id)
     if not guild:
         return {'result':False,'message':Lg().g(339)}
     operator = self._owner.baseInfo.id
     coinCount = self._owner.level.getLevel()*250
     if self._owner.finance.getCoin()<coinCount:
         msg = Lg().g(88)
         pushOtherMessage(905,msg,[self._owner.getDynamicId()])
         return {'result':False,'message':Lg().g(88)}
     data = guild.Donate(operator,coinCount,technology)
     if data.get('result',False):
         self.addContribution(coinCount)
         self._owner.finance.updateCoin(self._owner.finance.getCoin()-coinCount)
         if (nowdate - self.getLastDonate()).days>1:
             self.updateLastDonate(nowdate)
         self.updateDonatetimes(self.getDonatetimes()+1)
         self._owner.updatePlayerInfo()
     else:
         msg = data.get('message')
         pushOtherMessage(905,msg,[self._owner.getDynamicId()])
     return data