def index(request, template): """ 玩家宝物 author : 全勇男 {'treasure_items': [ {'tid': 20006, 'phase': 1, 'level': 43, 'uid': 4, 'level_exp': 1000}, {'tid': 20005, 'phase': 0, 'level_exp': 0, 'uid': 15, 'level': 1}, {'tid': 20001, 'phase': 0, 'level': 20, 'uid': 24, 'level_exp': 30400}, {'tid': 20007, 'phase': 0, 'level': 1, 'uid': 46, 'level_exp': 0}, {'tid': 20008, 'phase': 0, 'level_exp': 0, 'uid': 47, 'level': 1}, {'tid': 20004, 'phase': 0, 'level': 1, 'uid': 50, 'level_exp': 0}, {'tid': 20001, 'phase': 0, 'level': 1, 'uid': 52, 'level_exp': 0}], 'uid': '1000000950', 'seq': 53} """ add_item_function = 'data_edit.treasure_item_model.{function}'.format(function=add_item.__name__) function_name = 'data_edit.treasure_item_model.{function}'.format(function=set_memcache.__name__) del_item_function = 'data_edit.treasure_item_model.{function}'.format(function=del_item.__name__) server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) item_dict_name, item_lst_type = game_config.get_item_config_with_id_name() item_dict_name = { key:value for key, value in item_dict_name.items() if item_lst_type[key] == 6} if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) cmem_url = server_define.CMEM_MAP[int(server_id)] try: if cmem_url: if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.TREASURE_ITEM_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url, model_define.TREASURE_ITEM_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.TREASURE_ITEM_MODEL.format(user_id=result['uid'])) user_uid = user_id = result['uid'] user_uid = source['uid'] item_lst = source['treasure_items'] return render_to_response(template, locals(), RequestContext(request)) except UnicodeEncodeError: return render_to_response(template, locals(), RequestContext(request)) except TypeError: return render_to_response(template, locals(), RequestContext(request)) except UnboundLocalError: return render_to_response(template, locals(), RequestContext(request)) else: row_dict = {} return render_to_response(template, locals(), RequestContext(request))
def get_boss_kyurem_info(request): head_lst = [ {'width': 50, 'name': u'重置挑战次数'}, {'width': 50, 'name': u'上次挑战时间'}, {'width': 50, 'name': u'挑战BOSS次数'}, {'width': 50, 'name': u'玩家鼓励值'}, {'width': 50, 'name': u'是否领取奖励'} ] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_account = request.POST.get('user_account') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError : user_openid = '' server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst=[] print user_id source=None print user_id source=None # f=open('/opt/CGameLogserver/apps/game_manager/views/data_edit/USER_DETAIL') # d=pickle.load(f) # for i in d: # user_id=str(i) if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_WORLD_BOSS_KYUREM_MODEL.format(user_id=user_id)) #print source,'source' elif len(user_name)<> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url,model_define.PLAYER_WORLD_BOSS_KYUREM_MODEL.format(user_id=user_uid)) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_WORLD_BOSS_KYUREM_MODEL.format(user_id=result['uid'])) except: pass if source<> None : row_lst.append([str(source['reset_challenge_count']),str(source['last_play_datetime']),str(source['challenge_count']),str(source['player_inspire']),str(source['has_reward']),]) return render_to_response("data_edit/boss_kyurem_info.html", {'row_lst': row_lst,'user_id':user_id,'user_openid':user_openid,'user_name':user_name, 'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id}, RequestContext(request)) else: row_lst = [] return render_to_response("data_edit/boss_kyurem_info.html", {'row_lst': row_lst, 'head_lst': head_lst, 'server_list': server_list_dat}, RequestContext(request))
def get_daily_charge_reward_info(request): head_lst = [ {'width': 50, 'name': u'充值数量(RMB)'}, {'width': 50, 'name': u'获得奖励列表'}, {'width': 50, 'name': u'获得奖励时间'}, ] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_account = request.POST.get('user_account') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError : user_openid = '' server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst=[] source=None # print user_id # source=None # f=open('/opt/CGameLogserver/apps/game_manager/views/data_edit/USER_DETAIL') # d=pickle.load(f) # for i in d: # user_id=str(i) if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val(cmem_url, model_define.DAILY_RECHARGE_REWARD_MODEL.format(user_id=user_id)) #print source,'source' elif len(user_name)<> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url,model_define.DAILY_RECHARGE_REWARD_MODEL.format(user_id=user_uid)) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.DAILY_RECHARGE_REWARD_MODEL.format(user_id=result['uid'])) except: pass if source<> None and source['reward_date'] <> None: row_lst.append([str(source['recharge_rmb_num']),str(source['has_reward_lst']),str(source['reward_date'])]) return render_to_response("data_edit/daily_charge_reward_info.html", {'row_lst': row_lst,'user_id':user_id,'user_openid':user_openid,'user_name':user_name, 'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id}, RequestContext(request)) else: row_lst = [] return render_to_response("data_edit/daily_charge_reward_info.html", {'row_lst': row_lst, 'head_lst': head_lst, 'server_list': server_list_dat}, RequestContext(request))
def get_player_info(request): # head_lst = [ # {'width': 50, 'name': u'名称'}, # {'width': 50, 'name': u'当前值'}, # {'width': 50, 'name': u'修改'}, # ] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError : user_openid = '' server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst=[] if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_MODEL.format(user_id=user_id)) if source: user_id=source['uid'] row_lst = _get_player_mem(source,user_id,server_id) elif len(user_name)<> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url,model_define.PLAYER_MODEL.format(user_id=user_uid)) if source: user_id=source['uid'] row_lst = _get_player_mem(source,user_id,server_id) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_MODEL.format(user_id=result['uid'])) if source: user_id=source['uid'] row_lst = _get_player_mem(source,user_id,server_id) except: pass else: row_lst = [] return render_to_response("data_edit/player_info_edit.html", {'row_lst': row_lst, 'server_list': server_list_dat,'cur_server_id':server_id}, RequestContext(request)) else: row_lst = [] return render_to_response("data_edit/player_info_edit.html", {'row_lst': row_lst, 'server_list': server_list_dat,}, RequestContext(request))
def get_player_reward_seven_level_info(request): """ 玩家开服七天等级 """ server_list, platform_list = daily_log._get_server_list(None,None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get("user_uid") user_name = request.POST.get("user_name") user_openid = request.POST.get("user_openid") server_id = int(request.POST.get("server_id")) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] if cmem_url: source = {} if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_REWARD_SEVEN_LEVEL_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name.encode('utf-8')).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url,model_define.PLAYER_REWARD_SEVEN_LEVEL_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) user_uid = result['uid'] source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_REWARD_SEVEN_LEVEL_MODEL.format(user_id=user_uid)) print source if source: each_config_dic ={} reward_lst = source['single_activity_has_reward_lst'] new_reward_config_lst = game_config.get_all_reward_seven_level_config() each_config_dic = new_reward_config_lst[str(1)] if reward_lst: for reward_id in reward_lst: each_config_dic = new_reward_config_lst[str(reward_id)] key_lst = new_reward_config_lst['1'].keys() dic = {} lst = [] print "沙发沙发沙发",key_lst for each_key in key_lst: lst = [] for _key ,_val in new_reward_config_lst.items(): lst.append(_val[each_key]) dic[each_key] = lst print "好了没",dic return render_to_response("data_edit/player_reward_seven_level_info.html",locals(),RequestContext(request)) else: return render_to_response("data_edit/player_reward_seven_level_info.html",locals(),RequestContext(request))
def get_arena_report_info(request): head_lst = [ {'width': 50, 'name': u'玩家UID'}, {'width': 50, 'name': u'玩家当前排名'}, ] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_account = request.POST.get('user_account') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError : user_openid = '' server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst=[] source=None if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val(cmem_url, model_define.ARENA_BATTLE_REPORT_MODEL.format(user_id=user_id)) #print source,'source' info= _get_report_mem(source,user_id,server_id) elif len(user_name)<> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url,model_define.ARENA_BATTLE_REPORT_MODEL.format(user_id=user_uid)) info = _get_report_mem(source,user_id,server_id) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.ARENA_BATTLE_REPORT_MODEL.format(user_id=result['uid'])) info = _get_report_mem(source,user_id,server_id) except: pass else: info= [] return render_to_response("data_edit/arena_report_info.html", {'row_lst': row_lst,'user_id':user_id,'user_openid':user_openid,'user_name':user_name, 'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id,'info':info}, RequestContext(request)) else: row_lst = [] return render_to_response("data_edit/arena_report_info.html", {'row_lst': row_lst, 'head_lst': head_lst, 'server_list': server_list_dat}, RequestContext(request))
def get_trial_info(request): head_lst = [ {'width': 50, 'name': u'试炼刷新时间'}, {'width': 50, 'name': u'敌方数据'}, ] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_account = request.POST.get('user_account') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError : user_openid = '' server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst=[] print user_id source=None if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val(cmem_url, model_define.GIFT_BAG_MODEL.format(user_id=user_id)) #print source,'source' elif len(user_name)<> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url,model_define.GIFT_BAG_MODEL.format(user_id=user_uid)) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.GIFT_BAG_MODEL.format(user_id=result['uid'])) except: pass if source<> None: row_lst.append([str(source['refresh_datetime']),str(source['cur_enemy_dat'])]) return render_to_response("data_edit/trial_info.html", {'row_lst': row_lst,'user_id':user_id,'user_openid':user_openid,'user_name':user_name, 'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id}, RequestContext(request)) else: row_lst = [] return render_to_response("data_edit/trial_info.html", {'row_lst': row_lst, 'head_lst': head_lst, 'server_list': server_list_dat}, RequestContext(request))
def index(request, template): """ 类型看格式 author : 全勇男 7天登录 """ server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) cmem_url = server_define.CMEM_MAP[int(server_id)] try: if cmem_url: if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.LOGIN_7_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url, model_define.LOGIN_7_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.LOGIN_7_MODEL.format(user_id=result['uid'])) user_uid = user_id = result['uid'] row_dict = collections.OrderedDict() row_dict = {u'7天登录ID列表': source['reward_id_lst']} return render_to_response(template, locals(), RequestContext(request)) except UnicodeEncodeError: return render_to_response(template, locals(), RequestContext(request)) except TypeError: return render_to_response(template, locals(), RequestContext(request)) except UnboundLocalError: return render_to_response(template, locals(), RequestContext(request)) else: row_dict = {} return render_to_response(template, locals(), RequestContext(request))
def get_mail_info(request): head_lst = [ {'width': 50, 'name': u'标题'}, {'width': 50, 'name': u'发送时间'}, {'width': 50, 'name': u'有效期至'}, ] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError : user_openid = '' server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst=[] print user_id if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val(cmem_url, model_define.MAIL_MODEL.format(user_id=user_id)) print source,'source' row_lst = _get_player_mem(source,user_id,server_id) elif len(user_name)<> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url,model_define.MAIL_MODEL.format(user_id=user_uid)) row_lst = _get_player_mem(source,user_id,server_id) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.MAIL_MODEL.format(user_id=result['uid'])) row_lst = _get_player_mem(source,user_id,server_id) except: pass return render_to_response("data_edit/mail_info_edit.html", {'row_lst': row_lst,'user_id':user_id,'user_openid':user_openid,'user_name':user_name, 'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id}, RequestContext(request)) else: row_lst = [] return render_to_response("data_edit/mail_info_edit.html", {'row_lst': row_lst, 'head_lst': head_lst, 'server_list': server_list_dat,}, RequestContext(request))
def get_arena_reward_times_info(request): head_lst = [ {'width': 50, 'name': u'奖励截止时间'}, {'width': 50, 'name': u'奖励物品'}, {'width': 50, 'name': u'玩家进行挑战次数'}, {'width': 50, 'name': u'运营版本'}, ] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_account = request.POST.get('user_account') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError : user_openid = '' server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] row_lst=[] print user_id source=None if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_ARENA_MODEL.format(user_id=user_id)) elif len(user_name)<> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url,model_define.PLAYER_ACTIVITY_ARENA_MODEL.format(user_id=user_uid)) elif len(user_openid )<> 0: try: result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_ARENA_MODEL.format(user_id=result['uid'])) except: pass row_lst.append([str(source['reward_end_date']),source['single_activity_has_reward_lst'],source[ 'num'],source['version']]) return render_to_response("data_edit/arena_reward_times_info.html", {'row_lst': row_lst,'user_id':user_id,'user_openid':user_openid,'user_name':user_name, 'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id}, RequestContext(request)) else: row_lst = [] return render_to_response("data_edit/arena_reward_times_info.html", {'row_lst': row_lst, 'head_lst': head_lst, 'server_list': server_list_dat}, RequestContext(request))
def index(request, template): """ 类型看格式 {'data_version': '3', 'uid': '1000105733', #循环取出物品中文名字在前台显示。 'items': { 81025: 2, 80008: 21, 80009: 31, 80010: 4, 80011: 2, 80012: 1, 80013: 1, 80014: 0, 80015: 0, 81056: 13, 80302: 198, 80303: 1087, 80048: 125, 80306: 297, 81086: 16, 81098: 10, 82006: 11, 82007: 20, 82008: 20, 81113: 9, 80101: 3, 80102: 5, 80103: 0, 81010: 11 }} """ item_lst = collections.OrderedDict() item_dict_name, item_lst_type = game_config.get_item_config_with_id_name() add_item_function = 'data_edit.items_info.{function}'.format( function=add_item.__name__) function_name = 'data_edit.items_info.{function}'.format( function=set_memcache.__name__) del_item_function = 'data_edit.items_info.{function}'.format( function=del_item.__name__) server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) cmem_url = server_define.CMEM_MAP[int(server_id)] if cmem_url: try: if len(user_uid): source = memcache.get_cmem_val( cmem_url, model_define.ITEM_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.ITEM_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) source = memcache.get_cmem_val( cmem_url, model_define.ITEM_MODEL.format(user_id=result['uid'])) user_uid = user_id = result['uid'] row_dict = collections.OrderedDict() for _key, _value in source['items'].items(): row_dict[_key] = { 'name': game_config.get_item_config(_key)['name'], 'num': _value } return render_to_response(template, locals(), RequestContext(request)) except UnicodeEncodeError: return render_to_response(template, locals(), RequestContext(request)) except TypeError: return render_to_response(template, locals(), RequestContext(request)) except UnboundLocalError: return render_to_response(template, locals(), RequestContext(request)) else: row_list = [] return render_to_response(template, locals(), RequestContext(request))
def get_player_invitation_info(request): head_lst = [{ 'width': 50, 'name': u'谁的邀请' }, { 'width': 50, 'name': u'对方UID' }, { 'width': 50, 'name': u'对方等级' }, { 'width': 50, 'name': u'是否有奖励' }, { 'width': 50, 'name': u'奖励内容' }] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_account = request.POST.get('user_account') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError: user_openid = '' server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst = [] # print user_id # source=None # f=open('/opt/CGameLogserver/apps/game_manager/views/data_edit/USER_DETAIL') # d=pickle.load(f) # for i in d: # user_id=str(i) name_dict = get_all_invitation_reward_config() if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_INVITATION_MODEL.format( user_id=user_id)) #print source,'source' elif len(user_name) <> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_INVITATION_MODEL.format( user_id=user_uid)) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_INVITATION_MODEL.format( user_id=result['uid'])) except: pass if source: if source['invite_me'] <> 0: row_lst.append(['该玩家被邀请', source['uid'], '', '', '']) if len(source['i_invite_dict']) <> 0: for i in source['i_invite_dict'].keys(): if i in source['i_invite_has_reward_lst_dict'].keys(): row_lst.append([ '该玩家向他人发出的邀请', i, source['i_invite_dict'][i], '是', _get_reward( source['i_invite_has_reward_lst_dict'][i], name_dict) ]) else: row_lst.append([ '该玩家向他人发出的邀请', i, source['i_invite_dict'][i], '否', '' ]) return render_to_response( "data_edit/player_invitation_info.html", { 'row_lst': row_lst, 'user_id': user_id, 'user_openid': user_openid, 'user_name': user_name, 'head_lst': head_lst, 'server_list': server_list_dat, 'cur_server_id': server_id }, RequestContext(request)) else: row_lst = [] return render_to_response( "data_edit/player_invitation_info.html", { 'row_lst': row_lst, 'head_lst': head_lst, 'server_list': server_list_dat }, RequestContext(request))
def get_player_activity_weixin_share_function(request, templates): """ 玩家运营数据编辑 单笔充值 source {'reward_end_date': datetime.date(2015, 8, 15), 'complete': [2,3], # 可完成 #微信分享没有用 'version': u'20150716_14_09', 'has_reward_lst': [2], # 完成并交接 'uid': '1000103005'} reward_share_weixin_config {"itemId": 0, "stone": 500, "star": 0, "power": 0,"gold": 0, "freeDrop": 0, "itemNum": 0, "playerLevel": 50, "id": 5, "stage": 0} """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.player_activity_weixin_share.{function}'.format(function=set_player_activity_weixin_share_function.__name__) print 'function_name', function_name server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ {'name': u'名称'}, {'name': u'1代表已有——0代表没有'}, ] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_WEIXIN_SHARE_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_name = user_name source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_WEIXIN_SHARE_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) user_uid = result['uid'] return_openid = user_openid source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_WEIXIN_SHARE_MODEL.format(user_id=user_uid)) if source: print 'source', source row_dict = collections.OrderedDict() # 有序字典 # -----------------------------------不可改元素---------------------------------------------------------------# # [[[0,1],[0,1]],[[0,1],[0,1]]] 三层[] # ------------------------用户UID uid = source.get('uid', 'None') if uid != 'None': uid_lst = [[u'用户UID', uid]] else: uid_lst = [] # ------------------运营活动奖励结束时间 try: reward_end_date = source['reward_end_date'].strftime('%Y-%m-%d') # 运营活动奖励结束时间 reward_end_date_lst = [[u'运营活动奖励结束时间', reward_end_date]] except: reward_end_date_lst = [] # ------------------运营活动当前版本 try: version = source['version'] # 运营活动当前版本 version_lst = [[u'运营活动当前版本', version]] except: version_lst = [] # ---------------- 玩家领取的奖励 try: reward_lst = source.get('has_reward_lst', []) # [1,2,3,4,5] reward_str = '' # 字符串 cur_reward_config_lst = game_config.get_all_reward_share_weixin_config() # 策划填的配置表 if reward_lst: for reward_id in reward_lst: each_conf_lst = cur_reward_config_lst[str(reward_id)] # 取出每条配置表 for key, each_int_value in each_conf_lst.items(): # 遍历每个key 值 if each_int_value: # 有值 if key in CUR_CON_STR_DIT: # 且在配置字典 if key in SPECIAL_CON_STR_LST.keys(): # 是特殊处理key each_item_str = game_config.get_item_config(each_int_value)['name'] # 取物品名 each_item_str += u": " each_item_val = each_conf_lst[SPECIAL_CON_STR_LST[key]] # 取数量 else: if u'stage' == key: stage_dic = game_config.get_stages_config(each_int_value) each_item_str = u'通过副本_' + stage_dic['stageInfo'] + u'_' each_item_val = each_int_value else: each_item_str = CUR_CON_STR_DIT[key] # 取物品名 each_item_val = each_int_value # 取数量 reward_str += each_item_str # 字符串拼接名字 reward_str += str(each_item_val) + "; " # 字符串拼接值 else: continue else: continue reward_str += '-----------' reward_lst = [[u'玩家已奖励信息',reward_str]] # print reward_lst except: reward_lst = [] # ---------------- 玩家已完成充值 try: complete_reward_lst = source.get('complete', []) # [1,2,3,4,5] reward_str = '' # 字符串 cur_reward_config_lst = game_config.get_all_reward_share_weixin_config() # 策划填的配置表 if complete_reward_lst: for reward_id in complete_reward_lst: each_conf_lst = cur_reward_config_lst[str(reward_id)] # 取出每条配置表 for key, each_int_value in each_conf_lst.items(): # 遍历每个key 值 if each_int_value: # 有值 if key in CUR_CON_STR_DIT: # 且在配置字典 if key in SPECIAL_CON_STR_LST.keys(): # 是特殊处理key each_item_str = game_config.get_item_config(each_int_value)['name'] # 取物品名 each_item_str += u": " each_item_val = each_conf_lst[SPECIAL_CON_STR_LST[key]] # 取数量 else: if u'stage' == key: stage_dic = game_config.get_stages_config(each_int_value) each_item_str = u'通过副本_' + stage_dic['stageInfo'] + u'_' each_item_val = each_int_value else: each_item_str = CUR_CON_STR_DIT[key] # 取物品名 each_item_val = each_int_value # 取数量 # 取数量 reward_str += each_item_str # 字符串拼接名字 reward_str += str(each_item_val) + "; " # 字符串拼接值 else: continue else: continue reward_str += '-----------' complete_reward_lst = [[u'玩家可领取奖励信息',reward_str]] # print complete_reward_lst except: complete_reward_lst = [] # ------------------- 汇总 有就加入总表(三层列表 [[[],[]],[[],[]]]) all_immutable_lst = [] if uid_lst: all_immutable_lst.append(uid_lst) if reward_end_date_lst: all_immutable_lst.append(reward_end_date_lst) if version_lst: all_immutable_lst.append(version_lst) if reward_lst: all_immutable_lst.append(reward_lst) if complete_reward_lst: all_immutable_lst.append(complete_reward_lst) # -------------------------------------------------------------------------------------------------------------------# # -----------------------------------可改元素-------------------------------------------------------------------------# # {key1:{'name':X,'num':X},key2:{'name':X,'num':X}} # complete has_reward_lst # 单笔充值 可改元素 完成未交任务表 完成并交任务表 # _complete = source.get('complete', []) _has_reward_lst = source.get('has_reward_lst', []) cur_reward_config_lst = game_config.get_all_reward_share_weixin_config() # 策划填的配置表 # key1 ==> "has_reward_lst$$1" for i in xrange(1, len(cur_reward_config_lst)+1): key_str = string.join(['has_reward_lst', str(i)], '$$') key_str1 = string.join(['complete', str(i)], '$$') # if i in _complete: # row_dict[key_str1] = {'name': u'可领奖励%s'%(str(i)), 'num': 1} # else: # row_dict[key_str1] = {'name': u'可领奖励%s'%(str(i)), 'num': 0} if i in _has_reward_lst: row_dict[key_str] = {'name': u'已领奖励%s'%(str(i)), 'num': 1} else: row_dict[key_str] = {'name': u'已领奖励%s'%(str(i)), 'num': 0} # -----------------------------------------------------------------------------------------------------------------------# else: if user_uid: return_uid = user_uid if user_openid: return_openid = user_openid if user_name: return_name = user_name return render_to_response(templates, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request))
def get_daily_task_info(request): head_lst = [ {'width': 50, 'name': u'任务名称'}, {'width': 50, 'name': u'任务开放等级'}, {'width': 50, 'name': u'任务可领取最小等级'}, {'width': 50, 'name': u'任务可领取最大等级'}, {'width': 50, 'name': u'任务最多可完成次数'}, {'width': 50, 'name': u'任务可获得的积分'}, {'width': 50, 'name': u'任务可以获得的奖励'}, {'width': 50, 'name': u'玩家完成次数'}, {'width': 50, 'name': u'获得奖励时间'}, {'width': 50, 'name': u'是否获得奖励'}, ] head_lst1= [ {'width': 50, 'name': u'礼包名称'}, {'width': 50, 'name': u'获得奖励'}, {'width': 50, 'name': u'所需任务积分'}, ] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_account = request.POST.get('user_account') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError : user_openid = '' server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst=[] row_lst1=[] print user_id source=None # f=open('/opt/CGameLogserver/apps/game_manager/views/data_edit/USER_DETAIL') # d=pickle.load(f) # for i in d: # user_id=str(i) if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val(cmem_url, model_define.DAILY_TASK_MODEL.format(user_id=user_id)) #print source,'source' elif len(user_name)<> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url,model_define.DAILY_TASK_MODEL.format(user_id=user_uid)) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.DAILY_TASK_MODEL.format(user_id=result['uid'])) except: pass if source<> None: for task in source['tasks']: # if task in source['single_daily_task_has_reward_lst']: print task, source['tasks'][task] print _get_level(task)[0],_get_level(task)[1],_get_level(task)[2],_get_level(task)[3],_get_level(task)[4], row_lst.append([daily_task_name[task], _get_level(task)[0],_get_level(task)[1],_get_level(task)[2],_get_level(task)[3],_get_level(task)[4], _get_reward(task),source['tasks'][task]['num'], str(source['reward_date']),_get_wancheng(task,source['tasks']), ]) for i in source['score_has_reward_lst']: row_lst1.append([score_reward[i]['name'],score_reward[i]['reward'],score_reward[i]['score']]) return render_to_response("data_edit/daily_task_info.html", {'row_lst': row_lst,'user_id':user_id,'user_openid':user_openid,'user_name':user_name, 'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id, 'head_lst1':head_lst1,'row_lst1':row_lst1 }, RequestContext(request)) else: row_lst = [] row_lst1=[] return render_to_response("data_edit/daily_task_info.html", {'row_lst': row_lst,'head_lst1':head_lst1,'row_lst1':row_lst1, 'head_lst': head_lst, 'server_list': server_list_dat}, RequestContext(request))
def index(request, template): """ 数据后台 --- 用户管理 搜索 显示 memcahe 抓去到的信息 source['openid'] <type 'str'> source['last_login_time'] <type 'int'> source['last_login_cookie_time'] <type 'int'> source['platform_id'] <type 'int'> source['state'] <type 'int'> source['last_login_distance_days'] <type 'int'> source['add_time'] <type 'datetime.datetime'> source['last_player_time'] <type 'float'> source['name'] <type 'str'> source['uid'] <type 'int'> """ server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT if cmem_url: try: if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.USER_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url,model_define.USER_MODEL.format(user_id=user_uid)) print source elif len(user_openid): result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.USER_MODEL.format(user_id=result['uid'])) state_id = source['state'] date_array = datetime.datetime.utcfromtimestamp(source.get('last_player_time',0)) last_player_time = date_array.strftime("%Y-%m-%d %H:%M:%S") if last_player_time == '1970-01-01 00:00:00': last_player_time = 'None' row_dict = collections.OrderedDict() row_dict[u'uid'] = {'name': u'UID', 'value': source.get('uid','None')} row_dict[u'openid'] = {'name': u'OpenID', 'value': source.get('openid','None')} row_dict[u'add_time'] = {'name': u'安装时间', 'value': source.get('add_time','None')} row_dict[u'platform_id'] = {'name': u'玩家平台', 'value': source.get('platform_id','None')} row_dict[u'last_player_time'] = {'name': u'最后游戏时间', 'value': last_player_time} row_dict[u'state'] = {'name': u'当前状态', 'value': source.get('state','None')} return render_to_response(template, locals(), RequestContext(request)) except UnicodeEncodeError: return render_to_response(template, locals(), RequestContext(request)) except TypeError: return render_to_response(template, locals(), RequestContext(request)) except UnboundLocalError: return render_to_response(template, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(template, locals(), RequestContext(request))
def get_player_activity_regist_recharge_function(request, templates): """ 玩家运营数据编辑 豪华充值(签到) source {'uid': '1000099479', 'complete_id': 20, 'recharge_date': None, 'has_reward_lst': [3, 13, 16, 22, 12, 17], 'reward_end_date': datetime.date(2015, 8, 3), 'active_id': 21 } regist_recharge_config {"itemId": 81373, "stone": 0, "gold": 0, "freeDrop": 0, "itemNum": 10, "id": 30} """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.player_activity_regist_recharge.{function}'.format( function=set_player_activity_regist_recharge_function.__name__) print 'function_name', function_name server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ { 'name': u'名称' }, { 'name': u'数量' }, ] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_ACTIVITY_REGIST_RECHARGE_MODEL. format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_name = user_name source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_ACTIVITY_REGIST_RECHARGE_MODEL. format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) user_uid = result['uid'] return_openid = user_openid source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_ACTIVITY_REGIST_RECHARGE_MODEL. format(user_id=user_uid)) if source: print 'source', source # -----------------------------------不可改元素---------------------------------------------------------------# # [[[0,1],[0,1]],[[0,1],[0,1]]] 三层[] # ------------------------用户UID uid = source.get('uid', 'None') if uid != 'None': uid_lst = [[u'用户UID', uid]] else: uid_lst = [] # ------------------奖励可领取最后时间 try: reward_end_date = source['reward_end_date'].strftime( '%Y-%m-%d') # 运营活动奖励结束时间 reward_end_date_lst = [[ u'玩家最后奖励领取时间', reward_end_date ]] except: reward_end_date_lst = [] # ------------------运营活动当前版本recharge_date try: recharge_date = source['recharge_date'].strftime( '%Y-%m-%d') # 运营活动奖励结束时间 recharge_date_lst = [[u'今天充值时间', reward_end_date]] except: reward_end_date_lst = [] # ---------------- 玩家奖励信息 try: reward_lst = source.get('has_reward_lst', []) # [1,2,3,4,5] reward_str = '' # 字符串 cur_reward_config_lst = game_config.get_all_regist_recharge_config( ) # 策划填的配置表 if reward_lst: for reward_id in reward_lst: each_conf_lst = cur_reward_config_lst[str( reward_id)] # 取出每条配置表 for key, each_int_value in each_conf_lst.items( ): # 遍历每个key 值 if each_int_value: # 有值 if key in CUR_CON_STR_DIT: # 且在配置字典 if key in SPECIAL_CON_STR_LST.keys( ): # 是特殊处理key each_item_str = game_config.get_item_config( each_int_value)[ 'name'] # 取物品名 each_item_str += u": " each_item_val = each_conf_lst[ SPECIAL_CON_STR_LST[ key]] # 取数量 else: each_item_str = CUR_CON_STR_DIT[ key] # 取物品名 each_item_val = each_int_value # 取数量 reward_str += each_item_str # 字符串拼接名字 reward_str += str( each_item_val ) + "; " # 字符串拼接值 else: continue else: continue reward_str += '-----------' reward_lst = [[u'玩家奖励信息', reward_str]] # print reward_lst except: reward_lst = [] # ------------------- 汇总 有就加入总表(三层列表 [[[],[]],[[],[]]]) all_immutable_lst = [] if uid_lst: all_immutable_lst.append(uid_lst) if reward_end_date_lst: all_immutable_lst.append(reward_end_date_lst) if recharge_date_lst: all_immutable_lst.append(recharge_date_lst) if reward_lst: all_immutable_lst.append(reward_lst) # -----------------------------------可改元素-------------------------------------------------------------------------# # {key1:{'name':X,'num':X},key2:{'name':X,'num':X}} row_dict = collections.OrderedDict() # 有序字典 # has_reward_lst complete_id active_id ==>> 奖励表 充值到哪天 可领奖到哪天 # 单笔充值 可改元素 完成未交任务表 完成并交任务表 _has_reward_lst = source.get('has_reward_lst', []) _complete_id = source.get('complete_id', 0) _active_id = source.get('active_id', 0) cur_reward_config_lst = game_config.get_all_regist_recharge_config( ) # 策划填的配置表 key_str = string.join(['complete_id', '-1'], '$$') row_dict[key_str] = { 'name': u'签到已完成充值到第几天', 'num': _complete_id } key_str = string.join(['active_id', '-1'], '$$') row_dict[key_str] = { 'name': u'签到可领取奖励到第几天', 'num': _active_id } # key1 ==> "has_reward_lst$$1" for i in xrange(1, len(cur_reward_config_lst) + 1): key_str = string.join(['has_reward_lst', str(i)], '$$') if i >= 10: if i in _has_reward_lst: row_dict[key_str] = { 'name': u'签到第__%s__天奖励状态(1/0:已领/未领)' % (str(i)), 'num': 1 } else: row_dict[key_str] = { 'name': u'签到第__%s__天奖励状态(1/0:已领/未领)' % (str(i)), 'num': 0 } else: if i in _has_reward_lst: row_dict[key_str] = { 'name': u'签到第__0%s__天奖励状态(1/0:已领/未领)' % (str(i)), 'num': 1 } else: row_dict[key_str] = { 'name': u'签到第__0%s__天奖励状态(1/0:已领/未领)' % (str(i)), 'num': 0 } # -----------------------------------------------------------------------------------------------------------------------# else: if user_uid: return_uid = user_uid if user_openid: return_openid = user_openid if user_name: return_name = user_name return render_to_response(templates, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request))
def get_gym_shop_info(request): head_lst = [ {"width": 50, "name": u"物品名称"}, {"width": 50, "name": u"物品数量"}, {"width": 50, "name": u"物品价格(道馆币)"}, {"width": 50, "name": u"是否购买"}, ] server_list_dat = get_server_list_dat() if request.method == "POST": user_id = request.POST.get("user_uid") user_name = request.POST.get("user_name").encode("utf-8") user_account = request.POST.get("user_account") try: user_openid = str(request.POST.get("user_openid")) except UnicodeEncodeError: user_openid = "" server_id = int(request.POST.get("server_id")) name_dict, laji = get_item_config_with_id_name() cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst = [] source = None # f=open('/opt/CGameLogserver/apps/game_manager/views/data_edit/USER_DETAIL') # d=pickle.load(f) # for i in d: # user_id=str(i) refresh_time = "" if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val(cmem_url, model_define.GYM_SHOP_MODEL.format(user_id=user_id)) elif len(user_name) <> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url, model_define.GYM_SHOP_MODEL.format(user_id=user_uid)) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid) ) source = memcache.get_cmem_val(cmem_url, model_define.GYM_SHOP_MODEL.format(user_id=result["uid"])) except: pass if source <> None: refresh_time = "刷新时间:%s" % source["refresh_datetime"].strftime("%Y-%m-%d %H:%M:%S") if "refresh_num" in source.keys(): # if source['refresh_num']<>0: refresh_time += ",刷新次数: %s" % source["refresh_num"] if "gym_point" in source.keys(): refresh_time += ",玩家现在有道馆币:%s" % source["gym_point"] if len(["item_state_dict"]) <> 0: for i in source["item_state_dict"].items(): result = _get_gym_shop_name(i[0], name_dict) row_lst.append([result[0], result[1], result[2], _get_stone_shop_state(i[1])]) return render_to_response( "data_edit/gym_shop_info.html", { "row_lst": row_lst, "user_id": user_id, "user_openid": user_openid, "user_name": user_name, "head_lst": head_lst, "server_list": server_list_dat, "cur_server_id": server_id, "refresh_time": refresh_time, }, RequestContext(request), ) else: row_lst = [] return render_to_response( "data_edit/gym_shop_info.html", {"row_lst": row_lst, "head_lst": head_lst, "server_list": server_list_dat}, RequestContext(request), )
def get_arena_reward_times_info(request): head_lst = [ { 'width': 50, 'name': u'奖励截止时间' }, { 'width': 50, 'name': u'奖励物品' }, { 'width': 50, 'name': u'玩家进行挑战次数' }, { 'width': 50, 'name': u'运营版本' }, ] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_account = request.POST.get('user_account') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError: user_openid = '' server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] row_lst = [] print user_id source = None if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_ACTIVITY_ARENA_MODEL.format( user_id=user_id)) elif len(user_name) <> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_ACTIVITY_ARENA_MODEL.format( user_id=user_uid)) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_ACTIVITY_ARENA_MODEL.format( user_id=result['uid'])) except: pass row_lst.append([ str(source['reward_end_date']), source['single_activity_has_reward_lst'], source['num'], source['version'] ]) return render_to_response( "data_edit/arena_reward_times_info.html", { 'row_lst': row_lst, 'user_id': user_id, 'user_openid': user_openid, 'user_name': user_name, 'head_lst': head_lst, 'server_list': server_list_dat, 'cur_server_id': server_id }, RequestContext(request)) else: row_lst = [] return render_to_response( "data_edit/arena_reward_times_info.html", { 'row_lst': row_lst, 'head_lst': head_lst, 'server_list': server_list_dat }, RequestContext(request))
def get_world_boss_shop_info(request): head_lst = [ { 'width': 50, 'name': u'物品名称' }, { 'width': 50, 'name': u'物品数量' }, { 'width': 50, 'name': u'物品价格(世界BOSS点数)' }, { 'width': 50, 'name': u'是否购买' }, ] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_account = request.POST.get('user_account') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError: user_openid = '' name_dict, laji = get_item_config_with_id_name() # shop_dict= get_world_boss_shop_config() server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst = [] print user_id source = None refresh_time = '' if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_WORLD_BOSS_SHOP_MODEL.format( user_id=user_id)) elif len(user_name) <> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_WORLD_BOSS_SHOP_MODEL.format( user_id=user_uid)) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_WORLD_BOSS_SHOP_MODEL.format( user_id=result['uid'])) except: pass if source <> None: refresh_time = '刷新时间:%s' % source['refresh_datetime'].strftime( "%Y-%m-%d %H:%M:%S") if 'refresh_num' in source.keys(): refresh_time += ',刷新次数: %s' % source['refresh_num'] if 'world_boss_shop_point' in source.keys(): refresh_time += ',玩家现有世界BOSS点数: %s' % source['refresh_num'] if 'data_version' in source.keys(): refresh_time += ',数据版本 %s' % source['data_version'] if len(['shop_item_state_dict']) <> 0: for i in source['shop_item_state_dict'].items(): result = _get_world_boss_shop_name(i[0], name_dict) row_lst.append([ result[0], result[1], result[2], _get_stone_shop_state(i[1]) ]) return render_to_response( "data_edit/world_boss_shop_info.html", { 'row_lst': row_lst, 'user_id': user_id, 'user_openid': user_openid, 'user_name': user_name, 'head_lst': head_lst, 'server_list': server_list_dat, 'cur_server_id': server_id, 'refresh_time': refresh_time }, RequestContext(request)) else: row_lst = [] return render_to_response( "data_edit/world_boss_shop_info.html", { 'row_lst': row_lst, 'head_lst': head_lst, 'server_list': server_list_dat }, RequestContext(request))
def get_gym_info(request): head_lst = [ {'width': 50, 'name': u'当前关卡ID'}, {'width': 50, 'name': u'当前手动重置挑战次数'}, {'width': 50, 'name': u'当前挑战星级'}, {'width': 50, 'name': u'历史挑战最高星级'}, {'width': 50, 'name': u'当前关卡是否已挑战'}, {'width': 50, 'name': u'当前可用星级'}, ] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_account = request.POST.get('user_account') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError : user_openid = '' name_dict,laji=get_item_config_with_id_name() shop_dict=get_all_stone_shop_config() server_id = int(request.POST.get('server_id')) cmem_url = server_define.CMEM_MAP[int(server_id)] row_lst={} print user_id source=None # f=open('/opt/CGameLogserver/apps/game_manager/views/data_edit/USER_DETAIL') # d=pickle.load(f) # for i in d: # user_id=str(i) refresh_time='' if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val(cmem_url, model_define.GYM_MODEL.format(user_id=user_id)) elif len(user_name)<> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url,model_define.GYM_MODEL.format(user_id=user_uid)) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.GYM_MODEL.format(user_id=result['uid'])) user_id=source['uid'] except: pass if source<> None: refresh_time='上次手动刷新时间 %s' % str(source['last_refresh_date']) row_lst['cur_gym_id']=['当前关卡ID',source['cur_gym_id']] row_lst['cur_reset_gym_count']=[u'当前手动重置挑战次数',source['cur_reset_gym_count']] row_lst['history_top_star_num']=[ u'历史最高星级',source['history_top_star_num']] row_lst['cur_star_num']=[u'当前星级',source['cur_star_num']] row_lst['cur_gym_end']=[u'当前关卡是否已挑战',source['cur_gym_end']] row_lst['cur_use_star']=[ u'当前已使用星级',source['cur_use_star']] cur_zone_star_num_lst=source['cur_zone_star_num_lst'] cur_battle_buffs='' if len(source['cur_battle_buffs'])<>0: for i in source['cur_battle_buffs']: cur_battle_buffs+=str(i)+',' can_mop_zone='' if len(list(source['can_mop_zone']))<>0: for i in list(source['can_mop_zone']): can_mop_zone+=str(i)+' , ' has_reward_id='' if len(list(source['has_reward_id']))<>0: for i in list(source['has_reward_id']): has_reward_id+=str(i)+',' # row_lst['cur_zone_star_num_lst']=['当前挑战区域关卡星级:',source['cur_zone_star_num_lst'][0],source['cur_zone_star_num_lst'][1],source['cur_zone_star_num_lst'][2]] # row_lst['cur_battle_buffs']=['当前所携带的BUFF:'] # for i in xrange(len(source['cur_battle_buffs'])): # row_lst['cur_battle_buffs'].append(source['cur_battle_buffs'][i]) # row_lst['can_mop_zone']=['可以扫荡的区域ID:'] # for i in xrange(len(source['can_mop_zone'])): # row_lst['can_mop_zone'].append(list(source['can_mop_zone'])[i]) # row_lst['has_reward_id']=['已经购买的奖励ID:'] # for i in xrange(len(source['has_reward_id'])): # # print tuple(source['has_reward_id'])[1] # row_lst['has_reward_id'].append(list(source['has_reward_id'])[i]) # # for i in xrange(len(source['cur_zone_star_num_lst'])): # row_lst['cur_zone_star_num_lst%s' % str(i+1) ]=['当前挑战区域关卡%s的挑战星级:' % i+1,source['cur_zone_star_num_lst'][i]] # print get_gym_buff_config(1) # for i in xrange(len(source['cur_battle_buffs'])): # row_lst['cur_battle_buffs%s' % i+1 ]=['当前所携带的BUFF:' % i+1,source['cur_battle_buffs'][i]] # for i in xrange(len(source['can_mop_zone'])): # row_lst['can_mop_zone%s' % i+1]=['可以扫荡的区域%s:'% i+1,source['can_mop_zone'][i]] print row_lst return render_to_response("data_edit/gym_info.html", {'row_lst': row_lst,'user_id':user_id,'user_openid':user_openid,'user_name':user_name, 'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id,'refresh_time':refresh_time ,'cur_zone_star_num_lst':cur_zone_star_num_lst,'cur_battle_buffs':cur_battle_buffs,'has_reward_id':has_reward_id}, RequestContext(request)) else: row_lst = [] return render_to_response("data_edit/gym_info.html", {'row_lst': row_lst, 'head_lst': head_lst, 'server_list': server_list_dat}, RequestContext(request))
def index(request, template): """ 30天签到 author : 全勇男 last_sign_date=None, # 上次签到日 cur_reward_index=1, # 当前领奖序列 has_double_reward=False, # 已经领取双倍奖励 reward_sign_series_id=0, # 连续签到次数 has_series_reward=False, # 30天是否领取奖励 {'uid': '1000110564', 'last_sign_date': None, 'has_double_reward': False, 双倍领奖 'cur_reward_index': 1, 序号 'has_series_reward': False, 已经连续奖励 'reward_sign_series_id': 0} 领奖id """ server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) cmem_url = server_define.CMEM_MAP[int(server_id)] try: if cmem_url: if len(user_uid): source = memcache.get_cmem_val( cmem_url, model_define.SIGN_30_MODEL.format(user_id=user_uid)) print source elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.SIGN_30_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) source = memcache.get_cmem_val( cmem_url, model_define.SIGN_30_MODEL.format( user_id=result['uid'])) user_uid = user_id = result['uid'] row_dict = collections.OrderedDict() row_dict = { u'上次签到日': source['last_sign_date'], u'已经领取双倍奖励': source['has_double_reward'], u'当前领奖序列': source['cur_reward_index'], u'30天是否领取奖励': source['has_series_reward'], u'连续签到次数': source['reward_sign_series_id'], } return render_to_response(template, locals(), RequestContext(request)) return render_to_response(template, locals(), RequestContext(request)) except UnicodeEncodeError: return render_to_response(template, locals(), RequestContext(request)) except TypeError: return render_to_response(template, locals(), RequestContext(request)) except UnboundLocalError: return render_to_response(template, locals(), RequestContext(request)) else: row_dict = {} return render_to_response(template, locals(), RequestContext(request))
def index(request, template): """ 玩家联盟商店 author : 全勇男 get_union_shop_items_config {'uid': '1000110564', 'union_item_lst': [12, 15, 35, 53, 70, 76], # 商店商品列表 'union_item_state_dict': {35: 0, 70: 0, 12: 0, 76: 0, 15: 0, 53: 0}, # 物品状态 'reward_date': datetime.date(2015, 8, 1), 'refresh_date': datetime.datetime(2015, 8, 1, 13, 3, 25, 588918), #最后刷新时间 'refresh_num': 4} #刷新次数 """ server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) cmem_url = server_define.CMEM_MAP[int(server_id)] row_lst = [] try: if cmem_url: if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.UNION_SHOP_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url, model_define.UNION_SHOP_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.UNION_SHOP_MODEL.format(user_id=result['uid'])) for item_num in source['union_item_lst']: item_name = game_config.get_item_config(game_config.get_union_shop_items_by_num(item_num))['name'] print item_name row_lst.append( [ source['reward_date'], item_name, source['union_item_state_dict'][item_num]]) print row_lst last_refresh = source['refresh_date'] refresh_count = source['refresh_num'] return render_to_response(template, locals(), RequestContext(request)) except UnicodeEncodeError: return render_to_response(template, locals(), RequestContext(request)) except TypeError: return render_to_response(template, locals(), RequestContext(request)) except UnboundLocalError: return render_to_response(template, locals(), RequestContext(request)) else: row_dict = {} return render_to_response(template, locals(), RequestContext(request))
def get_stage_data_function(request, player_stage_edit): """ 玩家关卡数据编辑 { 'data_version': '2', 'stages': {30211: {'num': 0, 'id': 30211, 'rank': -1, 'buy_count': 0},30085: {'num': 0, 'id': 30085, 'rank': 0, 'buy_count': 0},} 'uid': '1000099826', 'last_reset_time': datetime.date(2015, 7, 24) } """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.player_stage_edit.{function}'.format(function=set_stage_data_function.__name__) server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ {'name': u'副本名称'}, {'name': u'攻打次数'}, {'name': u'是否已开启'}, {'name': u'重置次数'}, ] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.STAGE_MODEL.format(user_id=user_uid)) return_uid = user_uid elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_uid = user_uid return_name = user_name source = memcache.get_cmem_val(cmem_url, model_define.STAGE_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) user_uid = result['uid'] return_uid = user_uid return_openid = user_openid source = memcache.get_cmem_val(cmem_url, model_define.STAGE_MODEL.format(user_id=return_uid)) if source: # print 'source', source row_dict = collections.OrderedDict() # 有序字典 for stage_id, stage_state in source['stages'].items(): stage_config = game_config.get_stages_config(int(stage_id)) try: row_dict[stage_id] = {'name': stage_config['stageInfo'] + '_' + str(stage_config['id']), 'num': stage_state.get('num', 'None'), 'rank': stage_state.get('rank', 'None'), 'buy_count': stage_state.get('buy_count', 'None'), } except: print stage_id, stage_state return render_to_response(player_stage_edit, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(player_stage_edit, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(player_stage_edit, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(player_stage_edit, locals(), RequestContext(request))
def index(request, zone_info_edit): """ 玩家区域查询 """ # reload(sys) # sys.setdefaultencoding('utf-8') # manager = GameManager.get_by_request(request) # btn_lst = manager.check_admin_permission() server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get("user_uid") user_name = request.POST.get("user_name") user_openid = request.POST.get("user_openid") server_id = int(request.POST.get("server_id")) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] # state_list = game_define.USER_STATE_NAME_DICT # print state_list if cmem_url: try: source = {} if len(user_uid): source = memcache.get_cmem_val( cmem_url, model_define.ZONE_MODEL.format(user_id=user_uid)) print source elif len(user_name): name = hashlib.md5( user_name.encode('utf-8')).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.ZONE_MODEL.format(user_id=user_uid)) print source elif len(user_openid): result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) source = memcache.get_cmem_val( cmem_url, model_define.ZONE_MODEL.format(user_id=result['uid'])) print source if source: row_dict = collections.OrderedDict() # row_dict = {1001:{'id':222}} for _key, _value in source['zones_dict'].items(): print _key, _value # if _value['normal_rank'] == 0: # _value['normal_rank'] = "娃娃完美金冠通关" 或者可以换成 u'娃娃完美金冠通关’ # elif _value['normal_rank'] == -1: # _value['normal_rank'] = "娃儿" 同上 # elif _value['normal_rank'] == None: # _value['normal_rank'] = "瓜娃子你不是金冠啊" 同上 #两种方法转换成汉字输出 字典或者if判断 都是以normal为例 row_dict[_key] = { 'name': game_config.get_zones_config(_key)['name'], 'normal_pass_reward': REWARD_NAME.get(_value['normal_pass_reward']), 'normal_gold_crown_reward': REWARD_NAME.get( _value['normal_gold_crown_reward']), 'hard_pass_reward': REWARD_NAME.get(_value['hard_pass_reward']), 'hard_gold_crown_reward': REWARD_NAME.get(_value['hard_gold_crown_reward']), # 'normal_rank':STAGE_PASS_NAME.get(_value['normal_rank'],u'已通关'), # 'hero_rank':STAGE_PASS_NAME.get(_value['hero_rank'],u'已通关'), 'normal_rank': STAGE_PASS_NAME.get(_value['normal_rank'], u'已通关'), 'hero_rank': STAGE_PASS_NAME.get(_value['hero_rank'], u'已通关'), } return render_to_response(zone_info_edit, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(zone_info_edit, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(zone_info_edit, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' row_dict = {} # print locals() return render_to_response(zone_info_edit, locals(), RequestContext(request))
def index(request, template): """ 玩家联盟商店 author : 全勇男 get_union_shop_items_config {'uid': '1000110564', 'union_item_lst': [12, 15, 35, 53, 70, 76], # 商店商品列表 'union_item_state_dict': {35: 0, 70: 0, 12: 0, 76: 0, 15: 0, 53: 0}, # 物品状态 'reward_date': datetime.date(2015, 8, 1), 'refresh_date': datetime.datetime(2015, 8, 1, 13, 3, 25, 588918), #最后刷新时间 'refresh_num': 4} #刷新次数 """ server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) cmem_url = server_define.CMEM_MAP[int(server_id)] row_lst = [] try: if cmem_url: if len(user_uid): source = memcache.get_cmem_val( cmem_url, model_define.UNION_SHOP_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.UNION_SHOP_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) source = memcache.get_cmem_val( cmem_url, model_define.UNION_SHOP_MODEL.format( user_id=result['uid'])) for item_num in source['union_item_lst']: item_name = game_config.get_item_config( game_config.get_union_shop_items_by_num( item_num))['name'] print item_name row_lst.append([ source['reward_date'], item_name, source['union_item_state_dict'][item_num] ]) print row_lst last_refresh = source['refresh_date'] refresh_count = source['refresh_num'] return render_to_response(template, locals(), RequestContext(request)) except UnicodeEncodeError: return render_to_response(template, locals(), RequestContext(request)) except TypeError: return render_to_response(template, locals(), RequestContext(request)) except UnboundLocalError: return render_to_response(template, locals(), RequestContext(request)) else: row_dict = {} return render_to_response(template, locals(), RequestContext(request))
def get_player_activity_hard_stage_function(request, player_activity_hard_stage): """ 玩家困难运营数据编辑 source {'reward_end_date': datetime.date(2015, 8, 14), 'single_activity_has_reward_lst': [1, 2], 'version': u'20150715_5_35', 'uid': '1000000950' 'num': 35, } config_dict {"stone": 50, "pokeBall": 1, "num1": 0, "gold": 0, "num3": 0, "item2": 0, "item3": 0, "item1": 0, "equipmentId": 0, "experience": 100, "times": 10, "num2": 0, "id": 1}, """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.PlayerActivityHardStage.{function}'.format( function=set_player_activity_hard_stage_function.__name__) print 'function_name', function_name server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ { 'name': u'名称' }, { 'name': u'数量' }, ] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_ACTIVITY_HARD_STAGE_MODEL.format( user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_name = user_name source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_ACTIVITY_HARD_STAGE_MODEL.format( user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) user_uid = result['uid'] return_openid = user_openid source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_ACTIVITY_HARD_STAGE_MODEL.format( user_id=user_uid)) if source: # print 'source', source row_dict = collections.OrderedDict() # 有序字典 # -----------------------------------不可改元素---------------------------------------------------------------# # [[[0,1],[0,1]],[[0,1],[0,1]]] 三层[] # ------------------------用户UID uid = source.get('uid', 'None') if uid != 'None': uid_lst = [[u'用户UID', uid]] else: uid_lst = [] # ------------------运营活动奖励结束时间 try: reward_end_date = source['reward_end_date'].strftime( '%Y-%m-%d') # 运营活动奖励结束时间 reward_end_date_lst = [[ u'运营活动奖励结束时间', reward_end_date ]] except: reward_end_date_lst = [] # ------------------运营活动当前版本 try: version = source['version'] # 运营活动当前版本 version_lst = [[u'运营活动当前版本', version]] except: version_lst = [] # ---------------- 玩家奖励信息 try: reward_lst = source.get( 'single_activity_has_reward_lst', []) # [1,2,3,4,5] reward_str = '' # 字符串 cur_reward_config_lst = game_config.get_all_reward_times_hard_stage_config( ) # 策划填的配置表 if reward_lst: for reward_id in reward_lst: each_conf_lst = cur_reward_config_lst[str( reward_id)] # 取出每条配置表 for key, each_int_value in each_conf_lst.items( ): # 遍历每个key 值 if each_int_value: # 有值 if key in CUR_CON_STR_DIT: # 且在配置字典 if key in SPECIAL_CON_STR_LST.keys( ): # 是特殊处理key each_item_str = game_config.get_item_config( each_int_value)[ 'name'] # 取物品名 each_item_str += u": " each_item_val = each_conf_lst[ SPECIAL_CON_STR_LST[ key]] # 取数量 else: each_item_str = CUR_CON_STR_DIT[ key] # 取物品名 each_item_val = each_int_value # 取数量 reward_str += each_item_str # 字符串拼接名字 reward_str += str( each_item_val ) + "; " # 字符串拼接值 else: continue else: continue reward_str += '-----------' reward_lst = [[u'玩家奖励信息', reward_str]] # print reward_lst except: reward_lst = [] # ------------------- 汇总 有就加入总表(三层列表 [[[],[]],[[],[]]]) all_immutable_lst = [] if uid_lst: all_immutable_lst.append(uid_lst) if reward_end_date_lst: all_immutable_lst.append(reward_end_date_lst) if version_lst: all_immutable_lst.append(version_lst) if reward_lst: all_immutable_lst.append(reward_lst) # -------------------------------------------------------------------------------------------------------------------# # -----------------------------------可改元素-------------------------------------------------------------------------# # {key1:{'name':X,'num':X},key2:{'name':X,'num':X}} # 困难副本战胜次数 hard_win_count = source.get('num', 'None') if hard_win_count != 'None': row_dict['hard_win_count'] = { 'name': u'困难副本战胜次数', 'num': hard_win_count } # -----------------------------------------------------------------------------------------------------------------------# else: if user_uid: return_uid = user_uid if user_openid: return_openid = user_openid if user_name: return_name = user_name return render_to_response(player_activity_hard_stage, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(player_activity_hard_stage, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(player_activity_hard_stage, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(player_activity_hard_stage, locals(), RequestContext(request))
def get_player_activity_regist_recharge_function(request, templates): """ 玩家运营数据编辑 豪华充值(签到) source {'uid': '1000099479', 'complete_id': 20, 'recharge_date': None, 'has_reward_lst': [3, 13, 16, 22, 12, 17], 'reward_end_date': datetime.date(2015, 8, 3), 'active_id': 21 } regist_recharge_config {"itemId": 81373, "stone": 0, "gold": 0, "freeDrop": 0, "itemNum": 10, "id": 30} """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.player_activity_regist_recharge.{function}'.format(function=set_player_activity_regist_recharge_function.__name__) print 'function_name', function_name server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ {'name': u'名称'}, {'name': u'数量'}, ] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_REGIST_RECHARGE_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_name = user_name source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_REGIST_RECHARGE_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) user_uid = result['uid'] return_openid = user_openid source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_REGIST_RECHARGE_MODEL.format(user_id=user_uid)) if source: print 'source', source # -----------------------------------不可改元素---------------------------------------------------------------# # [[[0,1],[0,1]],[[0,1],[0,1]]] 三层[] # ------------------------用户UID uid = source.get('uid', 'None') if uid != 'None': uid_lst = [[u'用户UID', uid]] else: uid_lst = [] # ------------------奖励可领取最后时间 try: reward_end_date = source['reward_end_date'].strftime('%Y-%m-%d') # 运营活动奖励结束时间 reward_end_date_lst = [[u'玩家最后奖励领取时间', reward_end_date]] except: reward_end_date_lst = [] # ------------------运营活动当前版本recharge_date try: recharge_date = source['recharge_date'].strftime('%Y-%m-%d') # 运营活动奖励结束时间 recharge_date_lst = [[u'今天充值时间', reward_end_date]] except: reward_end_date_lst = [] # ---------------- 玩家奖励信息 try: reward_lst = source.get('has_reward_lst', []) # [1,2,3,4,5] reward_str = '' # 字符串 cur_reward_config_lst = game_config.get_all_regist_recharge_config() # 策划填的配置表 if reward_lst: for reward_id in reward_lst: each_conf_lst = cur_reward_config_lst[str(reward_id)] # 取出每条配置表 for key, each_int_value in each_conf_lst.items(): # 遍历每个key 值 if each_int_value: # 有值 if key in CUR_CON_STR_DIT: # 且在配置字典 if key in SPECIAL_CON_STR_LST.keys(): # 是特殊处理key each_item_str = game_config.get_item_config(each_int_value)['name'] # 取物品名 each_item_str += u": " each_item_val = each_conf_lst[SPECIAL_CON_STR_LST[key]] # 取数量 else: each_item_str = CUR_CON_STR_DIT[key] # 取物品名 each_item_val = each_int_value # 取数量 reward_str += each_item_str # 字符串拼接名字 reward_str += str(each_item_val) + "; " # 字符串拼接值 else: continue else: continue reward_str += '-----------' reward_lst = [[u'玩家奖励信息',reward_str]] # print reward_lst except: reward_lst = [] # ------------------- 汇总 有就加入总表(三层列表 [[[],[]],[[],[]]]) all_immutable_lst = [] if uid_lst: all_immutable_lst.append(uid_lst) if reward_end_date_lst: all_immutable_lst.append(reward_end_date_lst) if recharge_date_lst: all_immutable_lst.append(recharge_date_lst) if reward_lst: all_immutable_lst.append(reward_lst) # -----------------------------------可改元素-------------------------------------------------------------------------# # {key1:{'name':X,'num':X},key2:{'name':X,'num':X}} row_dict = collections.OrderedDict() # 有序字典 # has_reward_lst complete_id active_id ==>> 奖励表 充值到哪天 可领奖到哪天 # 单笔充值 可改元素 完成未交任务表 完成并交任务表 _has_reward_lst = source.get('has_reward_lst', []) _complete_id = source.get('complete_id', 0) _active_id = source.get('active_id', 0) cur_reward_config_lst = game_config.get_all_regist_recharge_config() # 策划填的配置表 key_str = string.join(['complete_id', '-1'], '$$') row_dict[key_str] = {'name': u'签到已完成充值到第几天','num': _complete_id} key_str = string.join(['active_id', '-1'], '$$') row_dict[key_str] = {'name': u'签到可领取奖励到第几天','num': _active_id} # key1 ==> "has_reward_lst$$1" for i in xrange(1, len(cur_reward_config_lst)+1): key_str = string.join(['has_reward_lst', str(i)], '$$') if i >= 10: if i in _has_reward_lst: row_dict[key_str] = {'name': u'签到第__%s__天奖励状态(1/0:已领/未领)'%(str(i)), 'num': 1} else: row_dict[key_str] = {'name': u'签到第__%s__天奖励状态(1/0:已领/未领)'%(str(i)), 'num': 0} else: if i in _has_reward_lst: row_dict[key_str] = {'name': u'签到第__0%s__天奖励状态(1/0:已领/未领)'%(str(i)), 'num': 1} else: row_dict[key_str] = {'name': u'签到第__0%s__天奖励状态(1/0:已领/未领)'%(str(i)), 'num': 0} # -----------------------------------------------------------------------------------------------------------------------# else: if user_uid: return_uid = user_uid if user_openid: return_openid = user_openid if user_name: return_name = user_name return render_to_response(templates, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request))
def get_player_activity_holiday_shop_function(request, templates): """ 玩家运营数据编辑 假日商店 source {'reward_end_date': datetime.date(2015, 8, 15), 'num_dict': {2: 3, 3: 2, 5: 1, 7: 1}, 'version': u'20150716_22_09', 'uid': '1000103005'} holiday_shop_config {"goldGet": 0, "stoneGet": 0, "stoneNeed": 50, "idItemGet": 86001, "numItemGet": 50, "numItemNeed": 0, "idItemNeed": 0, "leftTimes": 1, "freeDrawGet": 0, "goldNeed": 0, "id": 12}} """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.player_activity_holiday_shop.{function}'.format(function=set_player_activity_holiday_shop_function.__name__) print 'function_name', function_name server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ {'name': u'名称'}, {'name': u'数量'}, ] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_HOLIDAY_SHOP_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_name = user_name source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_HOLIDAY_SHOP_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) user_uid = result['uid'] return_openid = user_openid source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_HOLIDAY_SHOP_MODEL.format(user_id=user_uid)) if source: # print 'source', source row_dict = collections.OrderedDict() # 有序字典 # -----------------------------------不可改元素---------------------------------------------------------------# # [[[0,1],[0,1]],[[0,1],[0,1]]] 三层[] # ------------------------用户UID uid = source.get('uid', 'None') if uid != 'None': uid_lst = [[u'用户UID', uid]] else: uid_lst = [] # ------------------运营活动奖励结束时间 try: reward_end_date = source['reward_end_date'].strftime('%Y-%m-%d') # 运营活动奖励结束时间 reward_end_date_lst = [[u'运营活动奖励结束时间', reward_end_date]] except: reward_end_date_lst = [] # ------------------运营活动当前版本 try: version = source['version'] # 运营活动当前版本 version_lst = [[u'运营活动当前版本', version]] except: version_lst = [] # ---------------- 玩家已触发购买信息------------------------------------- try: completed_dic = source.get('num_dict', {}) # 已兑换信息表 reward_lst = [] for shop_even_id, get_item_num in completed_dic.items(): # 事件字典 reward_str = '' # 字符串 if completed_dic: cur_shop_even_id_config_dic = game_config.get_holiday_shop_config_with_id(int(shop_even_id)) # 策划填的配置表中的一条 for key, each_int_value in cur_shop_even_id_config_dic.items(): # 遍历每个key 与 值 if each_int_value: # 有值 if key in CUR_CON_STR_DIT: # 且在配置字典 if key in SPECIAL_CON_STR_LST.keys(): # 特殊处理key if u'idItemGet' == key: # 商城兑换物品要加“兑换”字符串 each_item_str = u'兑换——' each_item_str += game_config.get_item_config(each_int_value)['name'] # 取物品名 each_item_str += u": " each_item_val = cur_shop_even_id_config_dic[SPECIAL_CON_STR_LST[key]] # 取数量 else: each_item_str = game_config.get_item_config(each_int_value)['name'] # 取物品名 each_item_str += u": " each_item_val = cur_shop_even_id_config_dic[SPECIAL_CON_STR_LST[key]] # 取数量 else: each_item_str = CUR_CON_STR_DIT[key] # 取物品名 each_item_val = each_int_value # 取数量 reward_str += each_item_str # 字符串拼接名字 reward_str += str(each_item_val) + "; " # 字符串拼接值 else: continue else: continue reward_str += u'已经兑换次数:' + str(get_item_num) reward_str += '-----------' reward_lst.append([u'玩家已触发商城事件ID_'+str(shop_even_id),reward_str]) # print reward_lst except: completed_dic = {} # ---------------- 玩家已触发购买信息------------------------------------- # ------------------- 汇总 有就加入总表(三层列表 [[[],[]],[[],[]]]) all_immutable_lst = [] if uid_lst: all_immutable_lst.append(uid_lst) if reward_end_date_lst: all_immutable_lst.append(reward_end_date_lst) if version_lst: all_immutable_lst.append(version_lst) if reward_lst: all_immutable_lst.append(reward_lst) # -------------------------------------------------------------------------------------------------------------------# # -----------------------------------可改元素-------------------------------------------------------------------------# # {key1:{'name':X,'num':X},key2:{'name':X,'num':X}} # ---------------- 商城所有可购买次数修改------------------------------------- player_completed_dic = source.get('num_dict', {}) # 便利商店购买次数 for each_eve_id, each_eve_dic in (game_config.get_all_holiday_shop_config()).items(): _each_item_str = "" # 1.已触发的购买事件 修改 if int(each_eve_id) in player_completed_dic.keys(): # 玩家已触发商城购买ID事件 for _each_key, _each_value in each_eve_dic.items(): if _each_value: if u"idItemGet" == _each_key: # 物品 _each_item_str += game_config.get_item_config(_each_value)['name'] # 取物品名 elif _each_key in SHOP_BUY_NOT_ITEM_LST: # 非物品 _each_item_str = SHOP_BUY_NOT_ITEM_LST[_each_key] row_dict[int(each_eve_id)] = {'name': u'便利商店事件__%s__<%s>__<购买次数上限%s>' % (str(each_eve_id), _each_item_str, each_eve_dic.get('leftTimes',-1)), 'num': player_completed_dic[int(each_eve_id)]} # 2.未触发的购买事件 修改 else: # 玩家未触发商城购买ID事件 要显示未触发的所有 for _each_key, _each_value in each_eve_dic.items(): if _each_value: # 物品 if u"idItemGet" == _each_key: # 物品 _each_item_str += game_config.get_item_config(_each_value)['name'] # 取物品名 elif _each_key in SHOP_BUY_NOT_ITEM_LST: # 非物品 _each_item_str = SHOP_BUY_NOT_ITEM_LST[_each_key] row_dict[int(each_eve_id)] = {'name': u'便利商店事件__%s__<%s>__<购买次数上限%s>' % (str(each_eve_id), _each_item_str, each_eve_dic.get('leftTimes',-1)), 'num': 0} # -----------------------------------------------------------------------------------------------------------------------# else: if user_uid: return_uid = user_uid if user_openid: return_openid = user_openid if user_name: return_name = user_name return render_to_response(templates, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request))
def get_everyday_vip_reward_function(request, everyday_vip_reward): """ 每日VIP奖励时间 {'uid': '1000099826', 'reward_date': None} """ # 以函数的指针方式传递函数并调用 """注: 每日vip不处理数据只显示""" # function_name = 'data_edit.everyday_vip_reward.{function}'.format(function=set_everyday_vip_reward_data_function.__name__) server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ { 'name': u'VIP_uid' }, { 'name': u'领取时间' }, ] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val( cmem_url, model_define.DAILY_VIP_REWARD_MODEL.format( user_id=user_uid)) return_uid = user_uid elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_uid = user_uid return_name = user_name source = memcache.get_cmem_val( cmem_url, model_define.DAILY_VIP_REWARD_MODEL.format( user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) user_uid = result['uid'] return_uid = user_uid return_openid = user_openid source = memcache.get_cmem_val( cmem_url, model_define.DAILY_VIP_REWARD_MODEL.format( user_id=return_uid)) if source: # print 'source', source import copy _source = copy.deepcopy(source) if _source['reward_date']: _source['reward_date'] = _source[ 'reward_date'].strftime('%Y-%m-%d') else: _source['reward_date'] = u'今天还未领取' row_dict = collections.OrderedDict() # 有序字典 row_dict = [_source] # print row_dict, "llllllllllllllllllllllll", source return render_to_response(everyday_vip_reward, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(everyday_vip_reward, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(everyday_vip_reward, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(everyday_vip_reward, locals(), RequestContext(request))
def get_player_reward_seven_level_info(request): """ 玩家开服七天等级 """ server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get("user_uid") user_name = request.POST.get("user_name") user_openid = request.POST.get("user_openid") server_id = int(request.POST.get("server_id")) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] if cmem_url: source = {} if len(user_uid): source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_REWARD_SEVEN_LEVEL_MODEL.format( user_id=user_uid)) elif len(user_name): name = hashlib.md5( user_name.encode('utf-8')).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_REWARD_SEVEN_LEVEL_MODEL.format( user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) user_uid = result['uid'] source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_REWARD_SEVEN_LEVEL_MODEL.format( user_id=user_uid)) print source if source: each_config_dic = {} reward_lst = source['single_activity_has_reward_lst'] new_reward_config_lst = game_config.get_all_reward_seven_level_config( ) each_config_dic = new_reward_config_lst[str(1)] if reward_lst: for reward_id in reward_lst: each_config_dic = new_reward_config_lst[str(reward_id)] key_lst = new_reward_config_lst['1'].keys() dic = {} lst = [] print "沙发沙发沙发", key_lst for each_key in key_lst: lst = [] for _key, _val in new_reward_config_lst.items(): lst.append(_val[each_key]) dic[each_key] = lst print "好了没", dic return render_to_response( "data_edit/player_reward_seven_level_info.html", locals(), RequestContext(request)) else: return render_to_response( "data_edit/player_reward_seven_level_info.html", locals(), RequestContext(request))
def get_player_activity_one_charge_function(request, templates): """ 玩家运营数据编辑 单笔充值 source {'reward_end_date': datetime.date(2015, 8, 15), 'one_charge_complete': [2], # 可完成 'version': u'20150716_14_09', 'has_reward_lst': [2], # 完成并交接 'uid': '1000103005'} reward_time_recharge_short_config {"monsterId": 0, "stone": 0, "pokeBall": 5, "num1": 1000, "gold": 200000000, "num3": 0, "item2": 0, "money": 20000, "item1": 80008, "equipmentId": 0, "experience": 0, "item3": 0, "monsterStar": 0, "num2": 0, "id": 16} """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.player_activity_one_charge.{function}'.format(function=set_player_activity_one_charge_function.__name__) print 'function_name', function_name server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ {'name': u'名称'}, {'name': u'1代表已有——0代表没有'}, ] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_ONE_RECHARGE_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_name = user_name source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_ONE_RECHARGE_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) user_uid = result['uid'] return_openid = user_openid source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_ONE_RECHARGE_MODEL.format(user_id=user_uid)) if source: print 'source', source row_dict = collections.OrderedDict() # 有序字典 # -----------------------------------不可改元素---------------------------------------------------------------# # [[[0,1],[0,1]],[[0,1],[0,1]]] 三层[] # ------------------------用户UID uid = source.get('uid', 'None') if uid != 'None': uid_lst = [[u'用户UID', uid]] else: uid_lst = [] # ------------------运营活动奖励结束时间 try: reward_end_date = source['reward_end_date'].strftime('%Y-%m-%d') # 运营活动奖励结束时间 reward_end_date_lst = [[u'运营活动奖励结束时间', reward_end_date]] except: reward_end_date_lst = [] # ------------------运营活动当前版本 try: version = source['version'] # 运营活动当前版本 version_lst = [[u'运营活动当前版本', version]] except: version_lst = [] # ---------------- 玩家领取的奖励 try: reward_lst = source.get('has_reward_lst', []) # [1,2,3,4,5] reward_str = '' # 字符串 cur_reward_config_lst = game_config.get_all_reward_one_recharge_config() # 策划填的配置表 if reward_lst: for reward_id in reward_lst: each_conf_lst = cur_reward_config_lst[str(reward_id)] # 取出每条配置表 for key, each_int_value in each_conf_lst.items(): # 遍历每个key 值 if each_int_value: # 有值 if key in CUR_CON_STR_DIT: # 且在配置字典 if key in SPECIAL_CON_STR_LST.keys(): # 是特殊处理key each_item_str = game_config.get_item_config(each_int_value)['name'] # 取物品名 each_item_str += u": " each_item_val = each_conf_lst[SPECIAL_CON_STR_LST[key]] # 取数量 else: each_item_str = CUR_CON_STR_DIT[key] # 取物品名 each_item_val = each_int_value # 取数量 reward_str += each_item_str # 字符串拼接名字 reward_str += str(each_item_val) + "; " # 字符串拼接值 else: continue else: continue reward_str += '-----------' reward_lst = [[u'玩家已奖励信息',reward_str]] # print reward_lst except: reward_lst = [] # ---------------- 玩家已完成充值 try: complete_reward_lst = source.get('one_charge_complete', []) # [1,2,3,4,5] reward_str = '' # 字符串 cur_reward_config_lst = game_config.get_all_reward_one_recharge_config() # 策划填的配置表 if complete_reward_lst: for reward_id in complete_reward_lst: each_conf_lst = cur_reward_config_lst[str(reward_id)] # 取出每条配置表 for key, each_int_value in each_conf_lst.items(): # 遍历每个key 值 if each_int_value: # 有值 if key in CUR_CON_STR_DIT: # 且在配置字典 if key in SPECIAL_CON_STR_LST.keys(): # 是特殊处理key each_item_str = game_config.get_item_config(each_int_value)['name'] # 取物品名 each_item_str += u": " each_item_val = each_conf_lst[SPECIAL_CON_STR_LST[key]] # 取数量 else: each_item_str = CUR_CON_STR_DIT[key] # 取物品名 each_item_val = each_int_value # 取数量 reward_str += each_item_str # 字符串拼接名字 reward_str += str(each_item_val) + "; " # 字符串拼接值 else: continue else: continue reward_str += '-----------' complete_reward_lst = [[u'玩家可领取奖励信息',reward_str]] # print complete_reward_lst except: complete_reward_lst = [] # ------------------- 汇总 有就加入总表(三层列表 [[[],[]],[[],[]]]) all_immutable_lst = [] if uid_lst: all_immutable_lst.append(uid_lst) if reward_end_date_lst: all_immutable_lst.append(reward_end_date_lst) if version_lst: all_immutable_lst.append(version_lst) if reward_lst: all_immutable_lst.append(reward_lst) if complete_reward_lst: all_immutable_lst.append(complete_reward_lst) # -------------------------------------------------------------------------------------------------------------------# # -----------------------------------可改元素-------------------------------------------------------------------------# # {key1:{'name':X,'num':X},key2:{'name':X,'num':X}} # one_charge_complete has_reward_lst # 单笔充值 可改元素 完成未交任务表 完成并交任务表 _one_charge_complete = source.get('one_charge_complete', []) _has_reward_lst = source.get('has_reward_lst', []) cur_reward_config_lst = game_config.get_all_reward_one_recharge_config() # 策划填的配置表 # key1 ==> "has_reward_lst$$1" for i in xrange(1, len(cur_reward_config_lst)+1): key_str = string.join(['has_reward_lst', str(i)], '$$') key_str1 = string.join(['one_charge_complete', str(i)], '$$') if i in _one_charge_complete: row_dict[key_str1] = {'name': u'可领奖励%s状态(单笔充值%s元)'%(str(i), cur_reward_config_lst[str(i)]['money']), 'num': 1} else: row_dict[key_str1] = {'name': u'可领奖励%s状态(单笔充值%s元)'%(str(i), cur_reward_config_lst[str(i)]['money']), 'num': 0} if i in _has_reward_lst: row_dict[key_str] = {'name': u'已领奖励%s状态(单笔充值%s元)'%(str(i), cur_reward_config_lst[str(i)]['money']), 'num': 1} else: row_dict[key_str] = {'name': u'已领奖励%s状态(单笔充值%s元)'%(str(i), cur_reward_config_lst[str(i)]['money']), 'num': 0} # -----------------------------------------------------------------------------------------------------------------------# else: if user_uid: return_uid = user_uid if user_openid: return_openid = user_openid if user_name: return_name = user_name return render_to_response(templates, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request))
def index(request, template): """ 类型看格式 {'data_version': '3', 'uid': '1000105733', #循环取出物品中文名字在前台显示。 'items': { 81025: 2, 80008: 21, 80009: 31, 80010: 4, 80011: 2, 80012: 1, 80013: 1, 80014: 0, 80015: 0, 81056: 13, 80302: 198, 80303: 1087, 80048: 125, 80306: 297, 81086: 16, 81098: 10, 82006: 11, 82007: 20, 82008: 20, 81113: 9, 80101: 3, 80102: 5, 80103: 0, 81010: 11 }} """ item_lst = collections.OrderedDict() item_dict_name, item_lst_type = game_config.get_item_config_with_id_name() add_item_function = 'data_edit.items_info.{function}'.format(function=add_item.__name__) function_name = 'data_edit.items_info.{function}'.format(function=set_memcache.__name__) del_item_function = 'data_edit.items_info.{function}'.format(function=del_item.__name__) server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) cmem_url = server_define.CMEM_MAP[int(server_id)] if cmem_url: try: if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.ITEM_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url, model_define.ITEM_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.ITEM_MODEL.format(user_id=result['uid'])) user_uid = user_id = result['uid'] row_dict = collections.OrderedDict() for _key, _value in source['items'].items(): row_dict[_key] = {'name': game_config.get_item_config(_key)['name'], 'num': _value} return render_to_response(template, locals(), RequestContext(request)) except UnicodeEncodeError: return render_to_response(template, locals(), RequestContext(request)) except TypeError: return render_to_response(template, locals(), RequestContext(request)) except UnboundLocalError: return render_to_response(template, locals(), RequestContext(request)) else: row_list = [] return render_to_response(template, locals(), RequestContext(request))
def index(request, template): """ 类型看格式 author : 全勇男 7天登录 """ server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) cmem_url = server_define.CMEM_MAP[int(server_id)] try: if cmem_url: if len(user_uid): source = memcache.get_cmem_val( cmem_url, model_define.LOGIN_7_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.LOGIN_7_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) source = memcache.get_cmem_val( cmem_url, model_define.LOGIN_7_MODEL.format( user_id=result['uid'])) user_uid = user_id = result['uid'] row_dict = collections.OrderedDict() row_dict = {u'7天登录ID列表': source['reward_id_lst']} return render_to_response(template, locals(), RequestContext(request)) except UnicodeEncodeError: return render_to_response(template, locals(), RequestContext(request)) except TypeError: return render_to_response(template, locals(), RequestContext(request)) except UnboundLocalError: return render_to_response(template, locals(), RequestContext(request)) else: row_dict = {} return render_to_response(template, locals(), RequestContext(request))
def get_player_trial_essence_info(request): """ 玩家熔炼精华 """ server_list, platform_list = daily_log._get_server_list(None,None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get("user_uid") user_name = request.POST.get("user_name") user_openid = request.POST.get("user_openid") server_id = int(request.POST.get("server_id")) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] if cmem_url: source = {} if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_TRIAL_ESSENCE_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name.encode('utf-8')).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url,model_define.PLAYER_TRIAL_ESSENCE_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) user_uid = result['uid'] source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_TRIAL_ESSENCE_MODEL.format(user_id=user_uid)) print source if source: refresh_datetime = source['refresh_datetime'].strftime('%Y-%m-%d %H:%M:%S') refresh_datetime_lst = [refresh_datetime] new_row_lst = [] row_lst = source['cur_enemy_dat'] print row_lst refresh_time = row_lst[0] last_refresh_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(float(refresh_time))) last_refresh_time_lst = [last_refresh_time] rand_enemy_num = int(row_lst[1]) rand_level_result = row_lst[2] rand_individual = row_lst[3] rand_star_result = row_lst[4] new_member_lst = "" member_lst = [row_lst[5],row_lst[6],row_lst[7],row_lst[8],row_lst[9]] for i in member_lst: new_member_lst += (game_config.get_monster_config(int(i))['name']).encode('utf-8')+'\t、' row_list_append = [rand_enemy_num,rand_level_result,rand_individual,rand_star_result,str(new_member_lst)] new_row_lst.extend(row_list_append) print new_row_lst all_items_lst = [] if refresh_datetime_lst: all_items_lst.append(refresh_datetime_lst) if last_refresh_time_lst: all_items_lst.append(last_refresh_time_lst) if new_row_lst: all_items_lst.extend(new_row_lst) return render_to_response("data_edit/player_trial_essence_info.html",locals(),RequestContext(request)) else: return render_to_response("data_edit/player_trial_essence_info.html",locals(),RequestContext(request))
def get_player_treasure_function(request, player_treasure_edit): """ 玩家夺宝数据编辑 source { 'grab_msg_lst': [{'id': 100001, 'name': '\xe8\xbd\xbb\xe7\xa6\xbb', 'time': 1435990209.13243}, {'id': 100002, 'name': '400501g', 'time': 1436947184.663864}], 'last_refresh_time': 1437884014.024381, 'reset_treasure_date': datetime.date(2015, 7, 26), 'uid': '1000000950', 'open_synthesize_set': set([20001, 20004, 20005]), 'treasure_point': 8, 'reset_treasure_count': 0, 'treasure_fragment_dict': {100001: 0, 100002: 1, 100003: 2, 100014: 2, 100015: 1, 83001: 1, 100026: 0, 83003: 1, 100028: 0, 100029: 0, 100030: 0, 100031: 0, 100032: 0, 100033: 0, 100034: 0, 100035: 0, 100036: 0, 100037: 2, 100038: 0, 100039: 2, 100040: 0, 100041: 0, 100042: 1, 100043: 0, 100044: 0, 100045: 0, 100046: 0, 100047: 0, 100048: 0, 100025: 0, 100027: 0}} """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.player_treasure.{function}'.format(function=set_player_treasure_function.__name__) print 'function_name', function_name server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ {'name': u'名称'}, {'name': u'数量'}, ] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.TREASURE_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_name = user_name source = memcache.get_cmem_val(cmem_url, model_define.TREASURE_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) user_uid = result['uid'] return_openid = user_openid source = memcache.get_cmem_val(cmem_url, model_define.TREASURE_MODEL.format(user_id=user_uid)) if source: # print 'source', source row_dict = collections.OrderedDict() # 有序字典 treasure_lst = [] # -----------------------------------不可改元素---------------------------------------------------------------# # [[[0,1],[0,1]],[[0,1],[0,1]]] 三层[] # ------------------------用户UID uid = source.get('uid', 'None') if uid != 'None': uid_lst = [[u'用户UID', uid]] else: uid_lst = [] # ----------------- 已合成宝石 注:没有数目 open_synthesize_set = source.get('open_synthesize_set', []) for treasure_id in open_synthesize_set: treasure_lst.append(game_config.get_item_config(treasure_id)['name']) treasure_lst = [[u'已合成宝石', u' '.join(treasure_lst)]] # ------------------重置夺宝时间 try: reset_treasure_date = source['reset_treasure_date'].strftime('%Y-%m-%d') # 重置夺宝时间 reset_treasure_date_lst = [[u'重置夺宝时间', reset_treasure_date]] except: reset_treasure_date_lst = [] # ------------------最后刷新时间 try: last_refresh_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(source['last_refresh_time'])) # 最后刷新时间 last_refresh_time_lst = [[u'最后刷新时间', last_refresh_time]] except: last_refresh_time_lst = [] # ---------------- 被抢夺信息 try: grab_msg_lst = source.get('grab_msg_lst', []) # 被抢夺信息 [{'id':x,name:'','time':3}{}] _tmp_grab_lst = [] num = 0 for each_msg_dict in grab_msg_lst: num += 1 # 字符串拼接 例如:“在时间:2015-07-04 14:10:09 被玩家:轻离 掠夺物品:100001一个” _tmp_grab_lst.append([u'被抢夺信息0'+str(num), '在时间:'+str(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(each_msg_dict['time'])))+' 被玩家:'+each_msg_dict['name']+' 掠夺物品:'+str(each_msg_dict['id']) + '一个']) new_grab_msg_lst = [_tmp_grab_lst] except: new_grab_msg_lst = [] # ------------------- 汇总 有就加入总表(三层列表 [[[],[]],[[],[]]]) all_immutable_lst = [] if uid_lst: all_immutable_lst.append(uid_lst) if treasure_lst: all_immutable_lst.append(treasure_lst) if reset_treasure_date_lst: all_immutable_lst.append(reset_treasure_date_lst) if last_refresh_time_lst: all_immutable_lst.append(last_refresh_time_lst) if new_grab_msg_lst: all_immutable_lst.extend(new_grab_msg_lst) # -------------------------------------------------------------------------------------------------------------------# # -----------------------------------可改元素-------------------------------------------------------------------------# # {key1:{'name':X,'num':X},key2:{'name':X,'num':X}} treasure_point = source.get('treasure_point', 0) # 夺宝次数 reset_treasure_count = source.get('reset_treasure_count', 0) # 夺宝刷新次数 # 宝石碎片id + num treasure_fragment_dict = source.get('treasure_fragment_dict', {}) # 夺宝宝石碎片字典 暂时没有物品名字列表 TODO 加上宝石碎片物品列表 if treasure_fragment_dict: for treasure_debris_id, _value in treasure_fragment_dict.items(): row_dict[treasure_debris_id] = {'name': '宝石碎片_' + str(treasure_debris_id), 'num': _value} # 夺宝剩余次数 row_dict['treasure_point'] = {'name': u'夺宝剩余次数', 'num': treasure_point} # 夺宝刷新次数 row_dict['reset_treasure_count'] = {'name': u'夺宝刷新次数', 'num': reset_treasure_count} # -----------------------------------------------------------------------------------------------------------------------# else: if user_uid: return_uid = user_uid if user_openid: return_openid = user_openid if user_name: return_name = user_name return render_to_response(player_treasure_edit, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(player_treasure_edit, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(player_treasure_edit, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(player_treasure_edit, locals(), RequestContext(request))
def index(request, template): """ 玩家私信 author : 全勇男 {'new_label': True, #已读未读 'private_mail': [{'content': u'\u6211\u5df2\u7ecf\u63a5\u53d7\u4e86\u60a8\u7684\u597d\u53cb\u9080\u8bf7\uff0c\u5927\u5bb6\u4e00\u8d77\u73a9\u800d\u5427\uff01', 'name': '\xe4\xb8\xa4\xe5\x9d\x97\xe4\xba\x94', 'time': 1438328576.698478}, {'content': 'fkjdshfkdsfdsf ', 'name': '\xe4\xb8\xa4\xe5\x9d\x97\xe4\xba\x94', 'time': 1438328605.817033}, {'content': 'wenni fdfg dg dg dgd', 'name': '\xe4\xb8\xa4\xe5\x9d\x97\xe4\xba\x94', 'time': 1438328616.180619}, {'content': 'dgdf gdfg d', 'name': '\xe4\xb8\xa4\xe5\x9d\x97\xe4\xba\x94', 'time': 1438328619.498057}, {'content': 'dg dgdg dgdgd d', 'name': '\xe4\xb8\xa4\xe5\x9d\x97\xe4\xba\x94', 'time': 1438328623.004101}, {'content': 'gfhgfhfh gfhfh d h', 'name': '\xe4\xb8\xa4\xe5\x9d\x97\xe4\xba\x94', 'time': 1438328626.179098}, {'content': 'hgf hf hgf ', 'name': '\xe4\xb8\xa4\xe5\x9d\x97\xe4\xba\x94', 'time': 1438328629.125485}], 'uid': '1000110564'} """ server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) cmem_url = server_define.CMEM_MAP[int(server_id)] try: if cmem_url: if len(user_uid): mail_dict = memcache.get_cmem_val(cmem_url, model_define.PRIVATE_MAIL_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) mail_dict = memcache.get_cmem_val(cmem_url, model_define.PRIVATE_MAIL_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) mail_dict = memcache.get_cmem_val(cmem_url, model_define.PRIVATE_MAIL_MODEL.format(user_id=result['uid'])) return render_to_response(template, locals(), RequestContext(request)) except UnicodeEncodeError: return render_to_response(template, locals(), RequestContext(request)) except TypeError: return render_to_response(template, locals(), RequestContext(request)) except UnboundLocalError: return render_to_response(template, locals(), RequestContext(request)) else: row_dict = {} return render_to_response(template, locals(), RequestContext(request))
def index(request, equip_info_edit): """ ① 玩家装备数据 此函数功能:1.显示最新数据 2.修改装备 3.删除装备 4.添加装备 """ # 获取当前管理员 # 1.公用代码部分 即每次修改 删除 添加 数据后 显示最新数据 manager = GameManager.get_by_request(request) server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get("user_uid") user_name = request.POST.get("user_name") user_openid = request.POST.get("user_openid") server_id = int(request.POST.get("server_id")) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] if cmem_url: print 'cmem_url', cmem_url try: source = {} if len(user_uid): source = memcache.get_cmem_val( cmem_url, model_define.EQUIP_MODEL.format(user_id=user_uid)) # print source elif len(user_name): name = hashlib.md5( user_name.encode('utf-8')).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.EQUIP_MODEL.format(user_id=user_uid)) # print source elif len(user_openid): result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) user_uid = result['uid'] source = memcache.get_cmem_val( cmem_url, model_define.EQUIP_MODEL.format(user_id=user_uid)) # print source if source: """以上是公用部分,以下是修改 删除 添加""" # 2.修改装备 try: old_edit_data = eval(request.POST.get("old_edit_data")) old_edit_data.pop('name') # 得到编辑的源数据 will_edit_tid = request.POST.get( "will_edit_tid") # 要改成装备tid will_edit_tid_level = request.POST.get( "will_edit_tid_level") # 要改的装备的等级 result = edit_function(cmem_url, source, old_edit_data, int(will_edit_tid), int(will_edit_tid_level)) if result: # 操作日志记录 insert_action_change_equip(manager, str(server_id), str(source['uid']), old_edit_data['uid'], old_edit_data['tid'], will_edit_tid, old_edit_data['level'], will_edit_tid_level) except: # 不是编辑 或 数据不对 跳过 pass # 3.删除装备 删除比较简单不单写函数 try: delete_data = eval(request.POST.get('delete_data')) delete_data.pop('name') if delete_data: # 操作日志记录 insert_action_delete_equip(manager, str(server_id), str(user_uid), delete_data['uid'], delete_data['tid'], delete_data['level']) source['equips'].remove(delete_data) result = memcache.put_cmem_val( cmem_url, model_define.EQUIP_MODEL.format( user_id=int(user_uid)), source) except: # 不是删除 或 数据不对 跳过 pass # 4.添加装备 添加比较简单不单写函数 try: add_data = eval(request.POST.get('add_data')) if add_data: will_edit_tid = request.POST.get("will_edit_tid") will_edit_tid_level = request.POST.get( "will_edit_tid_level") if will_edit_tid and will_edit_tid_level: equip_config = game_config.get_equipment_config( int(will_edit_tid)) source['equips'].append({ 'uid': int(add_data), 'tid': int(will_edit_tid), 'level': int(will_edit_tid_level), 'type': int(equip_config['type']) }) # 下个装备序列计数加1 source['seq_id'] = int(add_data) + 1 result = memcache.put_cmem_val( cmem_url, model_define.EQUIP_MODEL.format( user_id=int(user_uid)), source) # 操作日志记录 insert_action_add_equip( manager, str(server_id), str(user_uid), add_data, will_edit_tid, will_edit_tid_level) print "Finish" except: # 不是添加 或 数据不对 跳过 pass """以下是公用部分,以上是修改 删除 添加""" if source: row_list = source['equips'] for each_value in row_list: equip_config = game_config.get_item_config( each_value['tid']) each_value['name'] = equip_config['name'] return render_to_response(equip_info_edit, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(equip_info_edit, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(equip_info_edit, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' row_dict = {} return render_to_response(equip_info_edit, locals(), RequestContext(request))
def get_monster_lst(request): """ 数据后台 --- 宠物信息 seq_id <type 'int'> uid <type 'str'> monster_high_star_level <type 'int'> monster_kind <type 'list'> data_version <type 'str'> monster_high_level <type 'int'> monster_high_quality <type 'int'> monsters <type 'str'> [ evo_level 4 <type 'int'> star_level_exp 16 <type 'int'> skillsExp [0, 0] <type 'list'> level 54 <type 'int'> playerID 1000095298 <type 'str'> effort 2 <type 'int'> starLevel 3 <type 'int'> sex 0 <type 'int'> generation 1 <type 'int'> individual [1, 0, 1, 0, 0, 0] <type 'list'> evo_sun_stone 96 <type 'int'> skillsLevel [6, 10] <type 'list'> exp 11739 <type 'int'> personality 11 <type 'int'> tid 25 <type 'int'> uid 1 <type 'int'> star_level_rate 0.02083 <type 'float'> maxLevel 60 <type 'int'> createTime 2015-05-31 09:12:51.761554 <type 'datetime.datetime'> evo_fail_count 0 <type 'int'> ] list中都是int HpIndividual = 0 AttackIndividual = 1 DefenceIndividual = 2 SpcAttackIndividual = 3 SpcDefenceIndividual = 4 SpeedIndividual = 5 """ # 获取当前管理员 manager = GameManager.get_by_request(request) function_name = "data_edit.monster_info_edit.{function}".format(function=set_memcache.__name__) server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == "POST": user_uid = request.POST.get("user_uid") user_name = request.POST.get("user_name").encode("utf-8") user_openid = request.POST.get("user_openid") server_id = request.POST.get("server_id") cmem_url = server_define.CMEM_MAP[int(server_id)] table_lst = [] if len(user_uid): monster_model = memcache.get_cmem_val(cmem_url, model_define.MONSTER_MODEL.format(user_id=int(user_uid))) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) monster_model = memcache.get_cmem_val(cmem_url, model_define.MONSTER_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) monster_model = memcache.get_cmem_val(cmem_url, model_define.MONSTER_MODEL.format(user_id=result["uid"])) # 宠物相关最高值 uid = monster_model["uid"] monster_high_star_level = monster_model["monster_high_star_level"] monster_kind = monster_model["monster_kind"] monster_high_level = monster_model["monster_high_level"] monster_high_quality = monster_model["monster_high_quality"] all_monsters = monster_model["monsters"] head_lst = [ {"width": 50, "name": u"玩家ID"}, {"width": 50, "name": u"宠物最高星级"}, {"width": 50, "name": u"宠物最高等级"}, {"width": 50, "name": u"宠物最高品质"}, {"width": 50, "name": u"宠物种类个数"}, ] row_lst = [uid, monster_high_star_level, monster_high_level, monster_high_quality, len(monster_kind)] table_lst.append(row_lst) for _monster in all_monsters: _monster_config = game_config.get_monster_config(_monster["tid"]) _monster["name"] = _monster_config["name"] type_hidden = "visible" return render_to_response( "data_edit/monster_info_edit.html", { "server_list": server_list, "user_uid": user_uid, "server_id": int(server_id), "row_lst": table_lst, "head_lst": head_lst, "monster_lst": all_monsters, "function_name": function_name, "type_hidden": type_hidden, }, RequestContext(request), ) else: # row_list = [] type_hidden = "hidden" return render_to_response("data_edit/monster_info_edit.html", locals(), RequestContext(request))
def get_player_team_function(request, templates): """ 玩家队伍数据编辑 source { 'team_equips': [[182, 94, 1430, 524, 1723], [190, 1344, 1353, 370, 488], [114, 1716, 1715, 461, 489], [113, 1343, 1352, 193, 487], [497, 1342, 1354, 523, 0]], 'team_treasure_2': [[52, 4], [0, 50], [0, 0], [0, 0], [24, 0]], 'team_monsters': [6536, 448, 0, 0, 7747], 'active_band_id_lst': [], 'uid': '1000000950' } """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.player_team.{function}'.format(function=set_player_team_function.__name__) print 'function_name', function_name server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ {'name': u'队伍位置'}, {'name': u'宠物'}, {'name': u'装备1'}, {'name': u'装备2'}, {'name': u'装备3'}, {'name': u'装备4'}, {'name': u'装备5'}, {'name': u'宝石1'}, {'name': u'宝石2'}, ] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.TEAM_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_name = user_name source = memcache.get_cmem_val(cmem_url, model_define.TEAM_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) user_uid = result['uid'] return_openid = user_openid source = memcache.get_cmem_val(cmem_url, model_define.TEAM_MODEL.format(user_id=user_uid)) if source: print 'source', source row_dict = collections.OrderedDict() # 有序字典 # -----------------------------------可改元素-------------------------------------------------------------------------# # 只修改队伍装备 队伍宝石 宠物 # 队伍位置信息 五个位置 for i in xrange(5): try: row_dict[i] = {'name': u'队伍位置' + '_' + str(i + 1), # 位置i 'monsters': source['team_monsters'][i], # 宠物i 'equips_1': source['team_equips'][i][0], # 装备1 'equips_2': source['team_equips'][i][1], # 装备2 'equips_3': source['team_equips'][i][2], # 装备3 'equips_4': source['team_equips'][i][3], # 装备4 'equips_5': source['team_equips'][i][4], # 装备5 'treasures_1': source['team_treasure_2'][i][0], # 宝石1 'treasures_2': source['team_treasure_2'][i][1], # 宝石2 } except: print i # 取玩家现有宠物表 装备表 宝石表 # ------------宠物表 # monsters_id_name_dict = {} # monsters_source = memcache.get_cmem_val(cmem_url, model_define.MONSTER_MODEL.format(user_id=user_uid)) # print 'monsters_source', monsters_source # ------------装备表 equips_id_name_dict = {} equips_source = memcache.get_cmem_val(cmem_url, model_define.EQUIP_MODEL.format(user_id=user_uid)) print 'equips_source_start', equips_source, 'equips_source_end' # diec = collections.OrderedDict() # for each_euqip_dict in equips_source['equips']: # diec[each_euqip_dict['uid']] = { # each_euqip_dict['tid'], # each_euqip_dict['type'], # # } # print diec return render_to_response(templates, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request))
def get_sum_charge_reward_info(request): head_lst = [{"width": 50, "name": u"充值数量(RMB)"}, {"width": 50, "name": u"获得奖励列表"}, {"width": 50, "name": u"获得奖励时间"}] server_list_dat = get_server_list_dat() if request.method == "POST": user_id = request.POST.get("user_uid") user_name = request.POST.get("user_name").encode("utf-8") user_account = request.POST.get("user_account") try: user_openid = str(request.POST.get("user_openid")) except UnicodeEncodeError: user_openid = "" server_id = int(request.POST.get("server_id")) type_hidden = "visible" cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst = [] source = None print user_id if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val(cmem_url, model_define.SUM_RECHARGE_REWARD_MODEL.format(user_id=user_id)) # print source,'source' elif len(user_name) <> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.SUM_RECHARGE_REWARD_MODEL.format(user_id=user_uid) ) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid) ) source = memcache.get_cmem_val( cmem_url, model_define.SUM_RECHARGE_REWARD_MODEL.format(user_id=result["uid"]) ) except: pass # print source if source <> None: row_lst.append( [str(source["recharge_rmb_num"]), str(source["has_reward_lst"]), str(source["reward_end_date"])] ) return render_to_response( "data_edit/sum_charge_reward_info.html", { "row_lst": row_lst, "user_id": user_id, "user_openid": user_openid, "user_name": user_name, "head_lst": head_lst, "server_list": server_list_dat, "cur_server_id": server_id, }, RequestContext(request), ) else: row_lst = [] return render_to_response( "data_edit/sum_charge_reward_info.html", {"row_lst": row_lst, "head_lst": head_lst, "server_list": server_list_dat}, RequestContext(request), )
def get_daily_task_info(request): head_lst = [ { 'width': 50, 'name': u'任务名称' }, { 'width': 50, 'name': u'任务开放等级' }, { 'width': 50, 'name': u'任务可领取最小等级' }, { 'width': 50, 'name': u'任务可领取最大等级' }, { 'width': 50, 'name': u'任务最多可完成次数' }, { 'width': 50, 'name': u'任务可获得的积分' }, { 'width': 50, 'name': u'任务可以获得的奖励' }, { 'width': 50, 'name': u'玩家完成次数' }, { 'width': 50, 'name': u'获得奖励时间' }, { 'width': 50, 'name': u'是否获得奖励' }, ] head_lst1 = [ { 'width': 50, 'name': u'礼包名称' }, { 'width': 50, 'name': u'获得奖励' }, { 'width': 50, 'name': u'所需任务积分' }, ] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_account = request.POST.get('user_account') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError: user_openid = '' server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst = [] row_lst1 = [] print user_id source = None # f=open('/opt/CGameLogserver/apps/game_manager/views/data_edit/USER_DETAIL') # d=pickle.load(f) # for i in d: # user_id=str(i) if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val( cmem_url, model_define.DAILY_TASK_MODEL.format(user_id=user_id)) #print source,'source' elif len(user_name) <> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.DAILY_TASK_MODEL.format(user_id=user_uid)) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) source = memcache.get_cmem_val( cmem_url, model_define.DAILY_TASK_MODEL.format( user_id=result['uid'])) except: pass if source <> None: for task in source['tasks']: # if task in source['single_daily_task_has_reward_lst']: print task, source['tasks'][task] print _get_level(task)[0], _get_level(task)[1], _get_level( task)[2], _get_level(task)[3], _get_level(task)[4], row_lst.append([ daily_task_name[task], _get_level(task)[0], _get_level(task)[1], _get_level(task)[2], _get_level(task)[3], _get_level(task)[4], _get_reward(task), source['tasks'][task]['num'], str(source['reward_date']), _get_wancheng(task, source['tasks']), ]) for i in source['score_has_reward_lst']: row_lst1.append([ score_reward[i]['name'], score_reward[i]['reward'], score_reward[i]['score'] ]) return render_to_response( "data_edit/daily_task_info.html", { 'row_lst': row_lst, 'user_id': user_id, 'user_openid': user_openid, 'user_name': user_name, 'head_lst': head_lst, 'server_list': server_list_dat, 'cur_server_id': server_id, 'head_lst1': head_lst1, 'row_lst1': row_lst1 }, RequestContext(request)) else: row_lst = [] row_lst1 = [] return render_to_response( "data_edit/daily_task_info.html", { 'row_lst': row_lst, 'head_lst1': head_lst1, 'row_lst1': row_lst1, 'head_lst': head_lst, 'server_list': server_list_dat }, RequestContext(request))
def index(request, equip_info_edit): """ ① 玩家装备数据 此函数功能:1.显示最新数据 2.修改装备 3.删除装备 4.添加装备 """ # 获取当前管理员 # 1.公用代码部分 即每次修改 删除 添加 数据后 显示最新数据 manager = GameManager.get_by_request(request) server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get("user_uid") user_name = request.POST.get("user_name") user_openid = request.POST.get("user_openid") server_id = int(request.POST.get("server_id")) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] if cmem_url: print 'cmem_url', cmem_url try: source = {} if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.EQUIP_MODEL.format(user_id=user_uid)) # print source elif len(user_name): name = hashlib.md5(user_name.encode('utf-8')).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url, model_define.EQUIP_MODEL.format(user_id=user_uid)) # print source elif len(user_openid): result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) user_uid = result['uid'] source = memcache.get_cmem_val(cmem_url, model_define.EQUIP_MODEL.format(user_id=user_uid)) # print source if source: """以上是公用部分,以下是修改 删除 添加""" # 2.修改装备 try: old_edit_data = eval(request.POST.get("old_edit_data")) old_edit_data.pop('name') # 得到编辑的源数据 will_edit_tid = request.POST.get("will_edit_tid") # 要改成装备tid will_edit_tid_level = request.POST.get("will_edit_tid_level") # 要改的装备的等级 result = edit_function(cmem_url, source, old_edit_data, int(will_edit_tid), int(will_edit_tid_level)) if result: # 操作日志记录 insert_action_change_equip(manager, str(server_id), str(source['uid']), old_edit_data['uid'], old_edit_data['tid'], will_edit_tid, old_edit_data['level'], will_edit_tid_level) except: # 不是编辑 或 数据不对 跳过 pass # 3.删除装备 删除比较简单不单写函数 try: delete_data = eval(request.POST.get('delete_data')) delete_data.pop('name') if delete_data: # 操作日志记录 insert_action_delete_equip(manager, str(server_id), str(user_uid), delete_data['uid'], delete_data['tid'], delete_data['level']) source['equips'].remove(delete_data) result = memcache.put_cmem_val(cmem_url, model_define.EQUIP_MODEL.format(user_id=int(user_uid)), source) except: # 不是删除 或 数据不对 跳过 pass # 4.添加装备 添加比较简单不单写函数 try: add_data = eval(request.POST.get('add_data')) if add_data: will_edit_tid = request.POST.get("will_edit_tid") will_edit_tid_level = request.POST.get("will_edit_tid_level") if will_edit_tid and will_edit_tid_level: equip_config = game_config.get_equipment_config(int(will_edit_tid)) source['equips'].append({ 'uid': int(add_data), 'tid': int(will_edit_tid), 'level': int(will_edit_tid_level), 'type': int(equip_config['type']) }) # 下个装备序列计数加1 source['seq_id'] = int(add_data) + 1 result = memcache.put_cmem_val(cmem_url,model_define.EQUIP_MODEL.format(user_id=int(user_uid)), source) # 操作日志记录 insert_action_add_equip(manager, str(server_id), str(user_uid), add_data, will_edit_tid, will_edit_tid_level) print "Finish" except: # 不是添加 或 数据不对 跳过 pass """以下是公用部分,以上是修改 删除 添加""" if source: row_list = source['equips'] for each_value in row_list: equip_config = game_config.get_item_config(each_value['tid']) each_value['name'] = equip_config['name'] return render_to_response(equip_info_edit, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(equip_info_edit, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(equip_info_edit, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' row_dict = {} return render_to_response(equip_info_edit, locals(), RequestContext(request))
def get_union_stage_function(request, templates): """ 联盟关卡: source { 'union_stage_chest': #通关宝箱个数=当前人数+10 [{'id': 9, 'name': '', 'uid': 0}, {'id': 14, 'name': '', 'uid': 0}, {'id': 14, 'name': '', 'uid': 0}, {'id': 16, 'name': '', 'uid': 0}, {'id': 1, 'name': '', 'uid': 0}, {'id': 14, 'name': '', 'uid': 0}, {'id': 7, 'name': '', 'uid': 0}, {'id': 19, 'name': '', 'uid': 0}, {'id': 3, 'name': '', 'uid': 0}, {'id': 25, 'name': '', 'uid': 0}, {'id': 19, 'name': '', 'uid': 0} ], 'stage_dat': {70001: [50000, 50000, 50000, 50000, 100000], 70002: [50000, 50000, 50000, 50000, 100000], 70003: [50000, 50000, 50000, 50000, 100000], 70004: [50000, 50000, 50000, 50000, 100000], 70005: [50000, 50000, 50000, 50000, 100000], 70006: [0, 150000, 0, 0, 0]}, 'union_stage_damage': {'1000110497': {'uid': '1000110497', 'dmg': 450000}}, 'damage_rank': [{'uid': '1000099479', 'dmg': 0}], 'union_stage_killer': {70002: '1000110497', 70006: '1000110497'}, 'union_stage_reward_config_lst': None, 'union_top_pass_stage_level_time': 0, 'union_max_user_num': 30, 'uid': '3016', 'union_next_target_stage_level': 1, 'stage_cur_hp': 1650000, 'stage_total_hp': 1650000, 'union_target_stage_level': 1, 'union_open_stage_level': 1, 'union_top_pass_stage_level': 0, 'last_union_stage_refresh_datetime': datetime.datetime(2015, 8, 3, 18, 0), 'union_user_num': 6 } def_attrs = dict( uid=None, union_user_num=1, # 联盟人数 union_max_user_num=1, # 联盟最高人数 # 关卡部分 last_union_stage_refresh_datetime=None, # 联盟关卡刷新时间 union_target_stage_level=1, # 联盟目标关卡 union_next_target_stage_level=1, # 盟主设定的目标关卡 union_top_pass_stage_level=0, # 联盟通关的最高级关卡 union_top_pass_stage_level_time=0, # 联盟最高关卡完成时间 stage_dat=dict(), # 关卡数据 stage_total_hp=0, # 总体生命值(几个关卡的HP总和) stage_cur_hp=0, # 当前生命值(几个关卡的当前HP总和) union_open_stage_level=1, # 公会开启关卡 union_stage_chest=[], # 关卡宝箱 union_stage_reward_config_lst=None, # 宝箱部分配置表 union_stage_damage=dict(), # 联盟关卡伤害数据 damage_rank=[], # 伤害排行 # 击杀显示 union_stage_killer=dict(), # 联盟关卡击杀 ) """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.union_stage.{function}'.format( function=set_union_stage_function.__name__) server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': union_uid = request.POST.get('union_uid') union_name = request.POST.get('union_name').encode('utf-8') print union_name server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ { 'name': u'条目' }, { 'name': u'内容' }, ] if cmem_url: try: source = dict() if len(union_uid): source = memcache.get_cmem_val( cmem_url, model_define.UNION_STAGE_CAS_MODEL.format( union_id=union_uid)) return_uid = union_uid elif len(union_name): name = hashlib.md5(union_name).hexdigest().upper() key = model_define.UNION_NAME_MODEL.format( union_name_md5=name) union_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_uid = union_uid return_name = union_name source = memcache.get_cmem_val( cmem_url, model_define.UNION_STAGE_CAS_MODEL.format( union_id=union_uid)) if source: print 'source', source row_dict = collections.OrderedDict() # 有序字典 # --------------------------------------显示部分------------------------------------------------ # 17条 # 普通选项(key:单值) 11条 其中2条需要取公会名字 2条需要转换时间 nor_lst = [] for _each_nor_key, _each_name in NORMAL_DICT.items(): # 1.处理日期 _value = source[_each_nor_key] if 'union_top_pass_stage_level_time' == _each_nor_key: if _value: _value = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(_value)) if 'last_union_stage_refresh_datetime' == _each_nor_key: if _value: _value = _value.strftime('%Y-%m-%d %H:%M:%S') # 2.处理关卡id nor_lst.extend([[_each_name, _value]]) all_immutable_lst = [] if nor_lst: all_immutable_lst.append(nor_lst) # --------------------------------------可修改部分---------------------------------------------- return render_to_response(templates, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request))
def get_monster_lst(request): """ 数据后台 --- 宠物信息 seq_id <type 'int'> uid <type 'str'> monster_high_star_level <type 'int'> monster_kind <type 'list'> data_version <type 'str'> monster_high_level <type 'int'> monster_high_quality <type 'int'> monsters <type 'str'> [ evo_level 4 <type 'int'> star_level_exp 16 <type 'int'> skillsExp [0, 0] <type 'list'> level 54 <type 'int'> playerID 1000095298 <type 'str'> effort 2 <type 'int'> starLevel 3 <type 'int'> sex 0 <type 'int'> generation 1 <type 'int'> individual [1, 0, 1, 0, 0, 0] <type 'list'> evo_sun_stone 96 <type 'int'> skillsLevel [6, 10] <type 'list'> exp 11739 <type 'int'> personality 11 <type 'int'> tid 25 <type 'int'> uid 1 <type 'int'> star_level_rate 0.02083 <type 'float'> maxLevel 60 <type 'int'> createTime 2015-05-31 09:12:51.761554 <type 'datetime.datetime'> evo_fail_count 0 <type 'int'> ] list中都是int HpIndividual = 0 AttackIndividual = 1 DefenceIndividual = 2 SpcAttackIndividual = 3 SpcDefenceIndividual = 4 SpeedIndividual = 5 """ # 获取当前管理员 manager = GameManager.get_by_request(request) function_name = 'data_edit.monster_info_edit.{function}'.format( function=set_memcache.__name__) server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = request.POST.get('server_id') cmem_url = server_define.CMEM_MAP[int(server_id)] table_lst = [] if len(user_uid): monster_model = memcache.get_cmem_val( cmem_url, model_define.MONSTER_MODEL.format(user_id=int(user_uid))) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) monster_model = memcache.get_cmem_val( cmem_url, model_define.MONSTER_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) monster_model = memcache.get_cmem_val( cmem_url, model_define.MONSTER_MODEL.format(user_id=result['uid'])) # 宠物相关最高值 uid = monster_model['uid'] monster_high_star_level = monster_model['monster_high_star_level'] monster_kind = monster_model['monster_kind'] monster_high_level = monster_model['monster_high_level'] monster_high_quality = monster_model['monster_high_quality'] all_monsters = monster_model['monsters'] head_lst = [ { 'width': 50, 'name': u'玩家ID' }, { 'width': 50, 'name': u'宠物最高星级' }, { 'width': 50, 'name': u'宠物最高等级' }, { 'width': 50, 'name': u'宠物最高品质' }, { 'width': 50, 'name': u'宠物种类个数' }, ] row_lst = [ uid, monster_high_star_level, monster_high_level, monster_high_quality, len(monster_kind) ] table_lst.append(row_lst) for _monster in all_monsters: _monster_config = game_config.get_monster_config(_monster['tid']) _monster['name'] = _monster_config['name'] type_hidden = 'visible' return render_to_response( "data_edit/monster_info_edit.html", { "server_list": server_list, "user_uid": user_uid, 'server_id': int(server_id), 'row_lst': table_lst, 'head_lst': head_lst, 'monster_lst': all_monsters, 'function_name': function_name, 'type_hidden': type_hidden }, RequestContext(request)) else: # row_list = [] type_hidden = 'hidden' return render_to_response("data_edit/monster_info_edit.html", locals(), RequestContext(request))
def get_union_stage_function(request, templates): """ 联盟关卡: source { 'union_stage_chest': #通关宝箱个数=当前人数+10 [{'id': 9, 'name': '', 'uid': 0}, {'id': 14, 'name': '', 'uid': 0}, {'id': 14, 'name': '', 'uid': 0}, {'id': 16, 'name': '', 'uid': 0}, {'id': 1, 'name': '', 'uid': 0}, {'id': 14, 'name': '', 'uid': 0}, {'id': 7, 'name': '', 'uid': 0}, {'id': 19, 'name': '', 'uid': 0}, {'id': 3, 'name': '', 'uid': 0}, {'id': 25, 'name': '', 'uid': 0}, {'id': 19, 'name': '', 'uid': 0} ], 'stage_dat': {70001: [50000, 50000, 50000, 50000, 100000], 70002: [50000, 50000, 50000, 50000, 100000], 70003: [50000, 50000, 50000, 50000, 100000], 70004: [50000, 50000, 50000, 50000, 100000], 70005: [50000, 50000, 50000, 50000, 100000], 70006: [0, 150000, 0, 0, 0]}, 'union_stage_damage': {'1000110497': {'uid': '1000110497', 'dmg': 450000}}, 'damage_rank': [{'uid': '1000099479', 'dmg': 0}], 'union_stage_killer': {70002: '1000110497', 70006: '1000110497'}, 'union_stage_reward_config_lst': None, 'union_top_pass_stage_level_time': 0, 'union_max_user_num': 30, 'uid': '3016', 'union_next_target_stage_level': 1, 'stage_cur_hp': 1650000, 'stage_total_hp': 1650000, 'union_target_stage_level': 1, 'union_open_stage_level': 1, 'union_top_pass_stage_level': 0, 'last_union_stage_refresh_datetime': datetime.datetime(2015, 8, 3, 18, 0), 'union_user_num': 6 } def_attrs = dict( uid=None, union_user_num=1, # 联盟人数 union_max_user_num=1, # 联盟最高人数 # 关卡部分 last_union_stage_refresh_datetime=None, # 联盟关卡刷新时间 union_target_stage_level=1, # 联盟目标关卡 union_next_target_stage_level=1, # 盟主设定的目标关卡 union_top_pass_stage_level=0, # 联盟通关的最高级关卡 union_top_pass_stage_level_time=0, # 联盟最高关卡完成时间 stage_dat=dict(), # 关卡数据 stage_total_hp=0, # 总体生命值(几个关卡的HP总和) stage_cur_hp=0, # 当前生命值(几个关卡的当前HP总和) union_open_stage_level=1, # 公会开启关卡 union_stage_chest=[], # 关卡宝箱 union_stage_reward_config_lst=None, # 宝箱部分配置表 union_stage_damage=dict(), # 联盟关卡伤害数据 damage_rank=[], # 伤害排行 # 击杀显示 union_stage_killer=dict(), # 联盟关卡击杀 ) """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.union_stage.{function}'.format(function=set_union_stage_function.__name__) server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': union_uid = request.POST.get('union_uid') union_name = request.POST.get('union_name').encode('utf-8') print union_name server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ {'name': u'条目'}, {'name': u'内容'}, ] if cmem_url: try: source = dict() if len(union_uid): source = memcache.get_cmem_val(cmem_url, model_define.UNION_STAGE_CAS_MODEL.format(union_id=union_uid)) return_uid = union_uid elif len(union_name): name = hashlib.md5(union_name).hexdigest().upper() key = model_define.UNION_NAME_MODEL.format(union_name_md5=name) union_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_uid = union_uid return_name = union_name source = memcache.get_cmem_val(cmem_url, model_define.UNION_STAGE_CAS_MODEL.format(union_id=union_uid)) if source: print 'source', source row_dict = collections.OrderedDict() # 有序字典 # --------------------------------------显示部分------------------------------------------------ # 17条 # 普通选项(key:单值) 11条 其中2条需要取公会名字 2条需要转换时间 nor_lst = [] for _each_nor_key, _each_name in NORMAL_DICT.items(): # 1.处理日期 _value = source[_each_nor_key] if 'union_top_pass_stage_level_time' == _each_nor_key: if _value: _value = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(_value)) if 'last_union_stage_refresh_datetime' == _each_nor_key: if _value: _value = _value.strftime('%Y-%m-%d %H:%M:%S') # 2.处理关卡id nor_lst.extend([[_each_name, _value]]) all_immutable_lst = [] if nor_lst: all_immutable_lst.append(nor_lst) # --------------------------------------可修改部分---------------------------------------------- return render_to_response(templates, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request))
def get_player_activity_normal_stage_function(request, player_activity_normal_stage): """ 玩家普通运营数据编辑 source {'reward_end_date': datetime.date(2015, 8, 14), 'single_activity_has_reward_lst': [1, 2], 'version': u'20150715_5_35', 'uid': '1000000950' 'num': 35, } config_dict {"stone": 50, "pokeBall": 1, "num1": 0, "gold": 0, "num3": 0, "item2": 0, "item3": 0, "item1": 0, "equipmentId": 0, "experience": 100, "times": 10, "num2": 0, "id": 1}, """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.PlayerActivityNormalStage.{function}'.format(function=set_player_activity_normal_stage_function.__name__) print 'function_name', function_name server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ {'name': u'名称'}, {'name': u'数量'}, ] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_NORMAL_STAGE_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_name = user_name source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_NORMAL_STAGE_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) user_uid = result['uid'] return_openid = user_openid source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_NORMAL_STAGE_MODEL.format(user_id=user_uid)) if source: # print 'source', source row_dict = collections.OrderedDict() # 有序字典 # -----------------------------------不可改元素---------------------------------------------------------------# # [[[0,1],[0,1]],[[0,1],[0,1]]] 三层[] # ------------------------用户UID uid = source.get('uid', 'None') if uid != 'None': uid_lst = [[u'用户UID', uid]] else: uid_lst = [] # ------------------运营活动奖励结束时间 try: reward_end_date = source['reward_end_date'].strftime('%Y-%m-%d') # 运营活动奖励结束时间 reward_end_date_lst = [[u'运营活动奖励结束时间', reward_end_date]] except: reward_end_date_lst = [] # ------------------运营活动当前版本 try: version = source['version'] # 运营活动当前版本 version_lst = [[u'运营活动当前版本', version]] except: version_lst = [] # ---------------- 玩家奖励信息 try: reward_lst = source.get('single_activity_has_reward_lst', []) # [1,2,3,4,5] reward_str = '' # 字符串 cur_reward_config_lst = game_config.get_all_reward_times_normal_stage_config() # 策划填的配置表 if reward_lst: for reward_id in reward_lst: each_conf_lst = cur_reward_config_lst[str(reward_id)] # 取出每条配置表 for key, each_int_value in each_conf_lst.items(): # 遍历每个key 值 if each_int_value: # 有值 if key in CUR_CON_STR_DIT: # 且在配置字典 if key in SPECIAL_CON_STR_LST.keys(): # 是特殊处理key each_item_str = game_config.get_item_config(each_int_value)['name'] # 取物品名 each_item_str += u": " each_item_val = each_conf_lst[SPECIAL_CON_STR_LST[key]] # 取数量 else: each_item_str = CUR_CON_STR_DIT[key] # 取物品名 each_item_val = each_int_value # 取数量 reward_str += each_item_str # 字符串拼接名字 reward_str += str(each_item_val) + "; " # 字符串拼接值 else: continue else: continue reward_str += '-----------' reward_lst = [[u'玩家奖励信息',reward_str]] # print reward_lst except: reward_lst = [] # ------------------- 汇总 有就加入总表(三层列表 [[[],[]],[[],[]]]) all_immutable_lst = [] if uid_lst: all_immutable_lst.append(uid_lst) if reward_end_date_lst: all_immutable_lst.append(reward_end_date_lst) if version_lst: all_immutable_lst.append(version_lst) if reward_lst: all_immutable_lst.append(reward_lst) # -------------------------------------------------------------------------------------------------------------------# # -----------------------------------可改元素-------------------------------------------------------------------------# # {key1:{'name':X,'num':X},key2:{'name':X,'num':X}} # 普通副本战胜次数 normal_win_count = source.get('num', 'None') if normal_win_count != 'None': row_dict['normal_win_count'] = {'name': u'普通副本战胜次数', 'num': normal_win_count} # -----------------------------------------------------------------------------------------------------------------------# else: if user_uid: return_uid = user_uid if user_openid: return_openid = user_openid if user_name: return_name = user_name return render_to_response(player_activity_normal_stage, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(player_activity_normal_stage, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(player_activity_normal_stage, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(player_activity_normal_stage, locals(), RequestContext(request))
def get_everyday_vip_reward_function(request, everyday_vip_reward): """ 每日VIP奖励时间 {'uid': '1000099826', 'reward_date': None} """ # 以函数的指针方式传递函数并调用 """注: 每日vip不处理数据只显示""" # function_name = 'data_edit.everyday_vip_reward.{function}'.format(function=set_everyday_vip_reward_data_function.__name__) server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = "请输入uid" return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == "POST": user_uid = request.POST.get("user_uid") user_name = request.POST.get("user_name").encode("utf-8") user_openid = request.POST.get("user_openid") server_id = int(request.POST.get("server_id")) cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [{"name": u"VIP_uid"}, {"name": u"领取时间"}] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val( cmem_url, model_define.DAILY_VIP_REWARD_MODEL.format(user_id=user_uid) ) return_uid = user_uid elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_uid = user_uid return_name = user_name source = memcache.get_cmem_val( cmem_url, model_define.DAILY_VIP_REWARD_MODEL.format(user_id=user_uid) ) elif len(user_openid): result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid) ) user_uid = result["uid"] return_uid = user_uid return_openid = user_openid source = memcache.get_cmem_val( cmem_url, model_define.DAILY_VIP_REWARD_MODEL.format(user_id=return_uid) ) if source: # print 'source', source import copy _source = copy.deepcopy(source) if _source["reward_date"]: _source["reward_date"] = _source["reward_date"].strftime("%Y-%m-%d") else: _source["reward_date"] = u"今天还未领取" row_dict = collections.OrderedDict() # 有序字典 row_dict = [_source] # print row_dict, "llllllllllllllllllllllll", source return render_to_response(everyday_vip_reward, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = "hidden" return render_to_response(everyday_vip_reward, locals(), RequestContext(request)) except TypeError: type_hidden = "hidden" return render_to_response(everyday_vip_reward, locals(), RequestContext(request)) else: row_list = [] type_hidden = "hidden" return render_to_response(everyday_vip_reward, locals(), RequestContext(request))
def get_gym_shop_info(request): head_lst = [ { 'width': 50, 'name': u'物品名称' }, { 'width': 50, 'name': u'物品数量' }, { 'width': 50, 'name': u'物品价格(道馆币)' }, { 'width': 50, 'name': u'是否购买' }, ] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_account = request.POST.get('user_account') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError: user_openid = '' server_id = int(request.POST.get('server_id')) name_dict, laji = get_item_config_with_id_name() cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst = [] source = None # f=open('/opt/CGameLogserver/apps/game_manager/views/data_edit/USER_DETAIL') # d=pickle.load(f) # for i in d: # user_id=str(i) refresh_time = '' if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val( cmem_url, model_define.GYM_SHOP_MODEL.format(user_id=user_id)) elif len(user_name) <> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.GYM_SHOP_MODEL.format(user_id=user_uid)) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) source = memcache.get_cmem_val( cmem_url, model_define.GYM_SHOP_MODEL.format( user_id=result['uid'])) except: pass if source <> None: refresh_time = '刷新时间:%s' % source['refresh_datetime'].strftime( "%Y-%m-%d %H:%M:%S") if 'refresh_num' in source.keys(): # if source['refresh_num']<>0: refresh_time += ',刷新次数: %s' % source['refresh_num'] if 'gym_point' in source.keys(): refresh_time += ',玩家现在有道馆币:%s' % source['gym_point'] if len(['item_state_dict']) <> 0: for i in source['item_state_dict'].items(): result = _get_gym_shop_name(i[0], name_dict) row_lst.append([ result[0], result[1], result[2], _get_stone_shop_state(i[1]) ]) return render_to_response( "data_edit/gym_shop_info.html", { 'row_lst': row_lst, 'user_id': user_id, 'user_openid': user_openid, 'user_name': user_name, 'head_lst': head_lst, 'server_list': server_list_dat, 'cur_server_id': server_id, 'refresh_time': refresh_time }, RequestContext(request)) else: row_lst = [] return render_to_response( "data_edit/gym_shop_info.html", { 'row_lst': row_lst, 'head_lst': head_lst, 'server_list': server_list_dat }, RequestContext(request))
def get_stage_data_function(request, player_stage_edit): """ 玩家关卡数据编辑 { 'data_version': '2', 'stages': {30211: {'num': 0, 'id': 30211, 'rank': -1, 'buy_count': 0},30085: {'num': 0, 'id': 30085, 'rank': 0, 'buy_count': 0},} 'uid': '1000099826', 'last_reset_time': datetime.date(2015, 7, 24) } """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.player_stage_edit.{function}'.format( function=set_stage_data_function.__name__) server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ { 'name': u'副本名称' }, { 'name': u'攻打次数' }, { 'name': u'是否已开启' }, { 'name': u'重置次数' }, ] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val( cmem_url, model_define.STAGE_MODEL.format(user_id=user_uid)) return_uid = user_uid elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_uid = user_uid return_name = user_name source = memcache.get_cmem_val( cmem_url, model_define.STAGE_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) user_uid = result['uid'] return_uid = user_uid return_openid = user_openid source = memcache.get_cmem_val( cmem_url, model_define.STAGE_MODEL.format(user_id=return_uid)) if source: # print 'source', source row_dict = collections.OrderedDict() # 有序字典 for stage_id, stage_state in source['stages'].items(): stage_config = game_config.get_stages_config( int(stage_id)) try: row_dict[stage_id] = { 'name': stage_config['stageInfo'] + '_' + str(stage_config['id']), 'num': stage_state.get('num', 'None'), 'rank': stage_state.get('rank', 'None'), 'buy_count': stage_state.get('buy_count', 'None'), } except: print stage_id, stage_state return render_to_response(player_stage_edit, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(player_stage_edit, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(player_stage_edit, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(player_stage_edit, locals(), RequestContext(request))
def index(request,zone_info_edit): """ 玩家区域查询 """ # reload(sys) # sys.setdefaultencoding('utf-8') # manager = GameManager.get_by_request(request) # btn_lst = manager.check_admin_permission() server_list, platform_list = daily_log._get_server_list(None,None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get("user_uid") user_name = request.POST.get("user_name") user_openid = request.POST.get("user_openid") server_id = int(request.POST.get("server_id")) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] # state_list = game_define.USER_STATE_NAME_DICT # print state_list if cmem_url: try: source = {} if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.ZONE_MODEL.format(user_id=user_uid)) print source elif len(user_name): name = hashlib.md5(user_name.encode('utf-8')).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val(cmem_url,model_define.ZONE_MODEL.format(user_id=user_uid)) print source elif len(user_openid): result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) source = memcache.get_cmem_val(cmem_url, model_define.ZONE_MODEL.format(user_id=result['uid'])) print source if source: row_dict = collections.OrderedDict() # row_dict = {1001:{'id':222}} for _key,_value in source['zones_dict'].items(): print _key , _value # if _value['normal_rank'] == 0: # _value['normal_rank'] = "娃娃完美金冠通关" 或者可以换成 u'娃娃完美金冠通关’ # elif _value['normal_rank'] == -1: # _value['normal_rank'] = "娃儿" 同上 # elif _value['normal_rank'] == None: # _value['normal_rank'] = "瓜娃子你不是金冠啊" 同上 #两种方法转换成汉字输出 字典或者if判断 都是以normal为例 row_dict[_key] ={'name':game_config.get_zones_config(_key)['name'], 'normal_pass_reward':REWARD_NAME.get(_value['normal_pass_reward']), 'normal_gold_crown_reward':REWARD_NAME.get(_value['normal_gold_crown_reward']), 'hard_pass_reward':REWARD_NAME.get(_value['hard_pass_reward']), 'hard_gold_crown_reward':REWARD_NAME.get(_value['hard_gold_crown_reward']), # 'normal_rank':STAGE_PASS_NAME.get(_value['normal_rank'],u'已通关'), # 'hero_rank':STAGE_PASS_NAME.get(_value['hero_rank'],u'已通关'), 'normal_rank':STAGE_PASS_NAME.get(_value['normal_rank'],u'已通关'), 'hero_rank':STAGE_PASS_NAME.get(_value['hero_rank'],u'已通关'), } return render_to_response(zone_info_edit, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(zone_info_edit, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(zone_info_edit, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' row_dict = {} # print locals() return render_to_response(zone_info_edit, locals(), RequestContext(request))
def get_player_catch_monster_function(request, player_catch_monster_edit): """ 玩家抓宠副本编辑 source {'catch_monster_stage_id_lst': [40501, 40801, 40802], 'catch_monster_stage_lst': [1, 6, 1], 'last_refresh_date': datetime.date(2015, 7, 25), 'uid': '1000101754' } """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.player_catch_monster.{function}'.format(function=set_player_catch_monster_function.__name__) server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ {'name': u'副本名称'}, {'name': u'攻打次数'}, ] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.CATCH_MONSTER_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_name = user_name source = memcache.get_cmem_val(cmem_url, model_define.CATCH_MONSTER_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) user_uid = result['uid'] return_openid = user_openid source = memcache.get_cmem_val(cmem_url, model_define.CATCH_MONSTER_MODEL.format(user_id=user_uid)) if source: # print 'source', source row_dict = collections.OrderedDict() # 有序字典 return_uid = user_uid last_refresh_date = source.get('last_refresh_date', datetime.date(0001, 01, 01)).strftime('%Y-%m-%d') for stage_id, stage_count in zip(source['catch_monster_stage_id_lst'], source['catch_monster_stage_lst']): stage_config = game_config.get_stages_config(int(stage_id)) try: row_dict[stage_id] = {'name': stage_config['stageInfo'] + '_' + str(stage_config['id']), 'num': stage_count, } except: print stage_id, stage_count else: # 数据为空 返回空表 if user_uid: return_uid = user_uid else: user_uid = "None" last_refresh_date = 'None' row_dict = {'name': 'None', 'num': 'None'} # print row_dict return render_to_response(player_catch_monster_edit, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(player_catch_monster_edit, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(player_catch_monster_edit, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(player_catch_monster_edit, locals(), RequestContext(request))
def get_arena_report_info(request): head_lst = [ { 'width': 50, 'name': u'玩家UID' }, { 'width': 50, 'name': u'玩家当前排名' }, ] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_account = request.POST.get('user_account') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError: user_openid = '' server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst = [] source = None if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val( cmem_url, model_define.ARENA_BATTLE_REPORT_MODEL.format( user_id=user_id)) #print source,'source' info = _get_report_mem(source, user_id, server_id) elif len(user_name) <> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.ARENA_BATTLE_REPORT_MODEL.format( user_id=user_uid)) info = _get_report_mem(source, user_id, server_id) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) source = memcache.get_cmem_val( cmem_url, model_define.ARENA_BATTLE_REPORT_MODEL.format( user_id=result['uid'])) info = _get_report_mem(source, user_id, server_id) except: pass else: info = [] return render_to_response( "data_edit/arena_report_info.html", { 'row_lst': row_lst, 'user_id': user_id, 'user_openid': user_openid, 'user_name': user_name, 'head_lst': head_lst, 'server_list': server_list_dat, 'cur_server_id': server_id, 'info': info }, RequestContext(request)) else: row_lst = [] return render_to_response( "data_edit/arena_report_info.html", { 'row_lst': row_lst, 'head_lst': head_lst, 'server_list': server_list_dat }, RequestContext(request))
def get_boss_kyurem_info(request): head_lst = [{ 'width': 50, 'name': u'重置挑战次数' }, { 'width': 50, 'name': u'上次挑战时间' }, { 'width': 50, 'name': u'挑战BOSS次数' }, { 'width': 50, 'name': u'玩家鼓励值' }, { 'width': 50, 'name': u'是否领取奖励' }] server_list_dat = get_server_list_dat() if request.method == 'POST': user_id = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_account = request.POST.get('user_account') try: user_openid = str(request.POST.get('user_openid')) except UnicodeEncodeError: user_openid = '' server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] state_list = game_define.USER_STATE_NAME_DICT row_lst = [] print user_id source = None print user_id source = None # f=open('/opt/CGameLogserver/apps/game_manager/views/data_edit/USER_DETAIL') # d=pickle.load(f) # for i in d: # user_id=str(i) if cmem_url: if len(user_id) <> 0: source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_WORLD_BOSS_KYUREM_MODEL.format( user_id=user_id)) #print source,'source' elif len(user_name) <> 0: name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_WORLD_BOSS_KYUREM_MODEL.format( user_id=user_uid)) elif len(user_openid) <> 0: try: result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) source = memcache.get_cmem_val( cmem_url, model_define.PLAYER_WORLD_BOSS_KYUREM_MODEL.format( user_id=result['uid'])) except: pass if source <> None: row_lst.append([ str(source['reset_challenge_count']), str(source['last_play_datetime']), str(source['challenge_count']), str(source['player_inspire']), str(source['has_reward']), ]) return render_to_response( "data_edit/boss_kyurem_info.html", { 'row_lst': row_lst, 'user_id': user_id, 'user_openid': user_openid, 'user_name': user_name, 'head_lst': head_lst, 'server_list': server_list_dat, 'cur_server_id': server_id }, RequestContext(request)) else: row_lst = [] return render_to_response( "data_edit/boss_kyurem_info.html", { 'row_lst': row_lst, 'head_lst': head_lst, 'server_list': server_list_dat }, RequestContext(request))
def get_player_activity_time_limited_shift_shop_function(request, templates): """ 玩家运营数据编辑 友好商店 source {'reward_end_date': datetime.date(2015, 8, 15), 'num_dict': {2: 3, 3: 2, 5: 1, 7: 1}, 'version': u'20150716_22_09', 'uid': '1000103005'} time_limited_shift_shop_config {"goldGet": 0, "stoneGet": 0, "stoneNeed": 100, "idItemGet": 80303, "numItemGet": 120, "freeDrawGet": 0, "numItemNeed2": 0, "leftTimes": 1, "idItemNeed1": 81143, "idItemNeed2": 0, "goldNeed": 0, "id": 12, "numItemNeed1": 5} """ # 以函数的指针方式传递函数并调用 function_name = 'data_edit.player_activity_time_limited_shift_shop.{function}'.format(function=set_player_activity_time_limited_shift_shop_function.__name__) print 'function_name', function_name server_list, platform_list = daily_log._get_server_list(None, None) try: server_list.remove(server_list[0]) except: pass return_uid = '请输入uid' return_openid = "请输入openid" return_name = "请输入玩家昵称" if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) type_hidden = 'visible' cmem_url = server_define.CMEM_MAP[int(server_id)] head_lst = [ {'name': u'名称'}, {'name': u'数量'}, ] if cmem_url: try: source = dict() if len(user_uid): source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_TIME_LIMITED_SHIFT_SHOP_MODEL.format(user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) return_name = user_name source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_TIME_LIMITED_SHIFT_SHOP_MODEL.format(user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val(cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid)) user_uid = result['uid'] return_openid = user_openid source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_TIME_LIMITED_SHIFT_SHOP_MODEL.format(user_id=user_uid)) if source: # print 'source', source row_dict = collections.OrderedDict() # 有序字典 # -----------------------------------不可改元素---------------------------------------------------------------# # [[[0,1],[0,1]],[[0,1],[0,1]]] 三层[] # ------------------------用户UID uid = source.get('uid', 'None') if uid != 'None': uid_lst = [[u'用户UID', uid]] else: uid_lst = [] # ------------------运营活动奖励结束时间 try: reward_end_date = source['reward_end_date'].strftime('%Y-%m-%d') # 运营活动奖励结束时间 reward_end_date_lst = [[u'运营活动奖励结束时间', reward_end_date]] except: reward_end_date_lst = [] # ------------------运营活动当前版本 try: version = source['version'] # 运营活动当前版本 version_lst = [[u'运营活动当前版本', version]] except: version_lst = [] # ---------------- 玩家已触发购买信息------------------------------------- try: completed_dic = source.get('num_dict', {}) # 已兑换信息表 reward_lst = [] for shop_even_id, get_item_num in completed_dic.items(): # 事件字典 reward_str = '' # 字符串 if completed_dic: cur_shop_even_id_config_dic = game_config.get_time_limited_shift_shop_config_with_id(int(shop_even_id)) # 策划填的配置表中的一条 for key, each_int_value in cur_shop_even_id_config_dic.items(): # 遍历每个key 与 值 if each_int_value: # 有值 if key in CUR_CON_STR_DIT: # 且在配置字典 if key in SPECIAL_CON_STR_LST.keys(): # 特殊处理key if u'idItemGet' == key: # 商城兑换物品要加“兑换”字符串 each_item_str = u'兑换——' each_item_str += game_config.get_item_config(each_int_value)['name'] # 取物品名 each_item_str += u": " each_item_val = cur_shop_even_id_config_dic[SPECIAL_CON_STR_LST[key]] # 取数量 else: each_item_str = game_config.get_item_config(each_int_value)['name'] # 取物品名 each_item_str += u": " each_item_val = cur_shop_even_id_config_dic[SPECIAL_CON_STR_LST[key]] # 取数量 else: each_item_str = CUR_CON_STR_DIT[key] # 取物品名 each_item_val = each_int_value # 取数量 reward_str += each_item_str # 字符串拼接名字 reward_str += str(each_item_val) + "; " # 字符串拼接值 else: continue else: continue reward_str += u'已经兑换次数:' + str(get_item_num) reward_str += '-----------' reward_lst.append([u'玩家已触发商城事件ID_'+str(shop_even_id),reward_str]) # print reward_lst except: completed_dic = {} # ---------------- 玩家已触发购买信息------------------------------------- # ------------------- 汇总 有就加入总表(三层列表 [[[],[]],[[],[]]]) all_immutable_lst = [] if uid_lst: all_immutable_lst.append(uid_lst) if reward_end_date_lst: all_immutable_lst.append(reward_end_date_lst) if version_lst: all_immutable_lst.append(version_lst) if reward_lst: all_immutable_lst.append(reward_lst) # -------------------------------------------------------------------------------------------------------------------# # -----------------------------------可改元素-------------------------------------------------------------------------# # {key1:{'name':X,'num':X},key2:{'name':X,'num':X}} # ---------------- 商城所有可购买次数修改------------------------------------- player_completed_dic = source.get('num_dict', {}) # 友好商店购买次数 for each_eve_id, each_eve_dic in (game_config.get_all_time_limited_shift_shop_config()).items(): _each_item_str = "" # 1.已触发的购买事件 修改 if int(each_eve_id) in player_completed_dic.keys(): # 玩家已触发商城购买ID事件 for _each_key, _each_value in each_eve_dic.items(): if _each_value: if u"idItemGet" == _each_key: # 物品 _each_item_str += game_config.get_item_config(_each_value)['name'] # 取物品名 elif _each_key in SHOP_BUY_NOT_ITEM_LST: # 非物品 _each_item_str = SHOP_BUY_NOT_ITEM_LST[_each_key] row_dict[int(each_eve_id)] = {'name': u'友好商店事件__%s__<%s>__<购买次数上限%s>' % (str(each_eve_id), _each_item_str, each_eve_dic.get('leftTimes',-1)), 'num': player_completed_dic[int(each_eve_id)]} # 2.未触发的购买事件 修改 else: # 玩家未触发商城购买ID事件 要显示未触发的所有 for _each_key, _each_value in each_eve_dic.items(): if _each_value: # 物品 if u"idItemGet" == _each_key: # 物品 _each_item_str += game_config.get_item_config(_each_value)['name'] # 取物品名 elif _each_key in SHOP_BUY_NOT_ITEM_LST: # 非物品 _each_item_str = SHOP_BUY_NOT_ITEM_LST[_each_key] row_dict[int(each_eve_id)] = {'name': u'友好商店事件__%s__<%s>__<购买次数上限%s>' % (str(each_eve_id), _each_item_str, each_eve_dic.get('leftTimes',-1)), 'num': 0} # -----------------------------------------------------------------------------------------------------------------------# else: if user_uid: return_uid = user_uid if user_openid: return_openid = user_openid if user_name: return_name = user_name return render_to_response(templates, locals(), RequestContext(request)) except UnboundLocalError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) except TypeError: type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request)) else: row_list = [] type_hidden = 'hidden' return render_to_response(templates, locals(), RequestContext(request))
def index(request, template): """ 玩家私信 author : 全勇男 {'new_label': True, #已读未读 'private_mail': [{'content': u'\u6211\u5df2\u7ecf\u63a5\u53d7\u4e86\u60a8\u7684\u597d\u53cb\u9080\u8bf7\uff0c\u5927\u5bb6\u4e00\u8d77\u73a9\u800d\u5427\uff01', 'name': '\xe4\xb8\xa4\xe5\x9d\x97\xe4\xba\x94', 'time': 1438328576.698478}, {'content': 'fkjdshfkdsfdsf ', 'name': '\xe4\xb8\xa4\xe5\x9d\x97\xe4\xba\x94', 'time': 1438328605.817033}, {'content': 'wenni fdfg dg dg dgd', 'name': '\xe4\xb8\xa4\xe5\x9d\x97\xe4\xba\x94', 'time': 1438328616.180619}, {'content': 'dgdf gdfg d', 'name': '\xe4\xb8\xa4\xe5\x9d\x97\xe4\xba\x94', 'time': 1438328619.498057}, {'content': 'dg dgdg dgdgd d', 'name': '\xe4\xb8\xa4\xe5\x9d\x97\xe4\xba\x94', 'time': 1438328623.004101}, {'content': 'gfhgfhfh gfhfh d h', 'name': '\xe4\xb8\xa4\xe5\x9d\x97\xe4\xba\x94', 'time': 1438328626.179098}, {'content': 'hgf hf hgf ', 'name': '\xe4\xb8\xa4\xe5\x9d\x97\xe4\xba\x94', 'time': 1438328629.125485}], 'uid': '1000110564'} """ server_list, platform_list = daily_log._get_server_list(None, None) server_list.remove(server_list[0]) if request.method == 'POST': user_uid = request.POST.get('user_uid') user_name = request.POST.get('user_name').encode('utf-8') user_openid = request.POST.get('user_openid') server_id = int(request.POST.get('server_id')) cmem_url = server_define.CMEM_MAP[int(server_id)] try: if cmem_url: if len(user_uid): mail_dict = memcache.get_cmem_val( cmem_url, model_define.PRIVATE_MAIL_MODEL.format( user_id=user_uid)) elif len(user_name): name = hashlib.md5(user_name).hexdigest().upper() key = model_define.PLAYER_NICK_NAME_MODEL.format( player_nick_md5=name) user_uid = memcache.get_cmem_val_no_pick(cmem_url, key) mail_dict = memcache.get_cmem_val( cmem_url, model_define.PRIVATE_MAIL_MODEL.format( user_id=user_uid)) elif len(user_openid): result = memcache.get_cmem_val( cmem_url, model_define.ACCOUNT_MAPPING_MODEL.format( open_id=user_openid)) mail_dict = memcache.get_cmem_val( cmem_url, model_define.PRIVATE_MAIL_MODEL.format( user_id=result['uid'])) return render_to_response(template, locals(), RequestContext(request)) except UnicodeEncodeError: return render_to_response(template, locals(), RequestContext(request)) except TypeError: return render_to_response(template, locals(), RequestContext(request)) except UnboundLocalError: return render_to_response(template, locals(), RequestContext(request)) else: row_dict = {} return render_to_response(template, locals(), RequestContext(request))