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