def activatecode_use(request): char_id = request._char_id code_id = request._proto.code_id data = {'char_id': char_id, 'code_id': code_id} try: res = api_activatecode_use(data) except APIFailure: raise SanguoException(errormsg.SERVER_FAULT, char_id, "ActivateCode Use", "APIFailure. api_activatecode_use") if res['ret'] != 0: raise SanguoException( res['ret'], char_id, "ActivateCode use", "api_activatecode_use ret = {0}".format(res['ret'])) # DONE package = res['data']['package'] drop = get_drop_from_raw_package(package) mail = Mail(char_id) mail.add(ACTIVATECODE_MAIL_TITLE, ACTIVATECODE_MAIL_CONTENT, arrow.utcnow().format('YYYY-MM-DD HH:mm:ss'), attachment=json.dumps(drop)) return None
def send_mail(request): data = request.body data = json.loads(data) char_ids = data.get('char_id', None) if char_ids: cids = char_ids else: chars = MongoCharacter.objects.all() cids = [c.id for c in chars] mail_name = data['mail']['name'] mail_content = data['mail']['content'] mail_send_at = data['mail']['send_at'] attachment = data['mail'].get('attachment', '') if attachment: attachment = json.dumps( get_drop_from_raw_package(data['mail']['attachment']) ) for cid in cids: m = Mail(cid) m.add(mail_name, mail_content, create_at=mail_send_at, attachment=attachment) return {'ret': 0}
def send_mail(request): data = request.body data = json.loads(data) mode = data.get('mode', None) if mode == 'test': print "GOT TEST MAIL" return {'ret': 0} char_ids = data.get('char_id', None) mail_name = data['mail']['name'] mail_content = data['mail']['content'] mail_send_at = data['mail']['send_at'] attachment = data['mail'].get('attachment', '') if attachment: attachment = json.dumps( get_drop_from_raw_package(data['mail']['attachment']) ) arg = { 'name': mail_name, 'content': mail_content, 'create_at': mail_send_at, 'attachment': attachment, 'char_ids': char_ids } mail.send_mail(data=json.dumps(arg)) return {'ret': 0}
def checkin(self): if self.c.has_checked: raise SanguoException( errormsg.CHECKIN_ALREADY_CHECKIN, self.char_id, "CheckIn checkin", "already checkin", ) self.c.has_checked = True day = self.c.day self.c.save() resource = Resource(self.char_id, "Daily Checkin", 'checkin reward. day {0}'.format(day)) resource_add = CHECKIN_DATA[str(day)]['package'] resource_add = get_drop_from_raw_package(resource_add) standard_drop = resource.add(**resource_add) msg = CheckInResponse() msg.ret = 0 msg.reward.MergeFrom( standard_drop_to_attachment_protomsg(standard_drop)) self.send_update_notify(day) return msg
def send_mail(request): data = request.body data = json.loads(data) mode = data.get('mode', None) if mode == 'test': print "GOT TEST MAIL" return {'ret': 0} char_ids = data.get('char_id', None) mail_name = data['mail']['name'] mail_content = data['mail']['content'] mail_send_at = data['mail']['send_at'] attachment = data['mail'].get('attachment', '') if attachment: attachment = json.dumps( get_drop_from_raw_package(data['mail']['attachment'])) arg = { 'name': mail_name, 'content': mail_content, 'create_at': mail_send_at, 'attachment': attachment, 'char_ids': char_ids } mail.send_mail(data=json.dumps(arg)) return {'ret': 0}
def checkin(self): if self.c.has_checked: raise SanguoException( errormsg.CHECKIN_ALREADY_CHECKIN, self.char_id, "CheckIn checkin", "already checkin", ) self.c.has_checked = True day = self.c.day self.c.save() resource = Resource(self.char_id, "Daily Checkin", 'checkin reward. day {0}'.format(day)) resource_add = self.checkin_data[str(day)]['package'] resource_add = get_drop_from_raw_package(resource_add) standard_drop = resource.add(**resource_add) msg = CheckInResponse() msg.ret = 0 msg.reward.MergeFrom(standard_drop_to_attachment_protomsg(standard_drop)) self.send_update_notify(day) return msg
def activatecode_use(request): char_id = request._char_id code_id = request._proto.code_id data = { 'char_id': char_id, 'code_id': code_id } try: res = api_activatecode_use(data) except APIFailure: raise SanguoException( errormsg.SERVER_FAULT, char_id, "ActivateCode Use", "APIFailure. api_activatecode_use" ) if res['ret'] != 0: raise SanguoException( res['ret'], char_id, "ActivateCode use", "api_activatecode_use ret = {0}".format(res['ret']) ) # DONE package = res['data']['package'] drop = get_drop_from_raw_package(package) mail = Mail(char_id) mail.add( ACTIVATECODE_MAIL_TITLE, ACTIVATECODE_MAIL_CONTENT, arrow.utcnow().format('YYYY-MM-DD HH:mm:ss'), attachment=json.dumps(drop) ) return None