示例#1
0
    def on_props_list(self, uid, gid, mi):
        props_list = FishProps.get_props_list(uid, gid)
        info = {
            'c': Context.UserAttr.get_chip(uid, gid, 0),
            'd': Context.UserAttr.get_diamond(uid, gid, 0),
            'o': Context.UserAttr.get_coupon(uid, gid, 0)
        }
        if props_list:
            info['p'] = props_list

        # 升级礼包
        conf = Context.Configure.get_game_item_json(gid, 'exp.level.reward')
        level, _ = FishAccount.get_exp_info(uid, gid)
        if level < len(conf):
            info['up'] = FishProps.convert_reward(conf[level])

        mo = MsgPack(Message.MSG_SYS_PROPS_LIST | Message.ID_ACK)
        mo.update_param(info)
        return mo
示例#2
0
    def query_user_info(self, gid, mi, request):
        uid = mi.get_param('userId')
        user_attrs = ['createTime', 'deviceId', 'nick', 'idType', 'userName', 'channel', 'platform']
        kvs = Context.Data.get_attrs_dict(uid, user_attrs)
        game_attrs = ['pay_total', 'session_login', 'exp', 'barrel_level', 'chip', 'diamond', 'in_chip', 'out_chip']
        _kvs = Context.Data.get_game_attrs_dict(uid, gid, game_attrs)
        kvs.update(_kvs)

        kvs['chip'] = int(kvs.get('chip', 0))
        kvs['in_chip'] = int(kvs.get('in_chip', 0))
        kvs['out_chip'] = int(kvs.get('out_chip', 0))
        kvs['diamond'] = int(kvs.get('diamond', 0))

        dt = Time.str_to_datetime(kvs['createTime'], '%Y-%m-%d %X.%f')
        kvs['createTime'] = Time.datetime_to_str(dt, '%Y-%m-%d %X')

        dt = Time.str_to_datetime(kvs['session_login'], '%Y-%m-%d %X.%f')
        kvs['session_login'] = Time.datetime_to_str(dt, '%Y-%m-%d %X')

        if int(kvs['idType']) == 13:
            kvs['phone'] = kvs['userName']

        kvs['pay_total'] = int(kvs.get('pay_total', 0))
        kvs['vip_level'] = FishAccount.get_vip_level(uid, gid, pay_total=int(kvs['pay_total']))

        exp = int(kvs['exp'])
        kvs['level'], _ = FishAccount.get_exp_info(uid, gid, exp=exp)
        barrel_level = int(kvs['barrel_level'])
        kvs['barrel_multiple'] = FishAccount.trans_barrel_level(gid, barrel_level)

        l = (201, 202, 203, 204, 205, 211, 212, 213, 214, 215, 216, 217, 218, 219)
        _list = FishProps.get_props_list(uid, gid, l)
        props_map = dict(_list)
        props_list = []
        for i in l:
            count = props_map.get(i, 0)
            props_list.append(count)
        kvs['props'] = props_list
        mo = MsgPack(0)
        mo.update_param(kvs)
        return mo