Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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}
Ejemplo n.º 3
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}
Ejemplo n.º 4
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
Ejemplo n.º 5
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}
Ejemplo n.º 6
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
Ejemplo n.º 7
0
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