Ejemplo n.º 1
0
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))
Ejemplo n.º 2
0
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))
Ejemplo n.º 3
0
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))
Ejemplo n.º 4
0
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))
Ejemplo n.º 6
0
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))
Ejemplo n.º 7
0
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))
Ejemplo n.º 8
0
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))
Ejemplo n.º 9
0
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))
Ejemplo n.º 10
0
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))
Ejemplo n.º 11
0
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))
Ejemplo n.º 14
0
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))
Ejemplo n.º 15
0
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))
Ejemplo n.º 17
0
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),
        )
Ejemplo n.º 18
0
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))
Ejemplo n.º 19
0
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))
Ejemplo n.º 20
0
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))
Ejemplo n.º 21
0
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))
Ejemplo n.º 22
0
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))
Ejemplo n.º 23
0
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))
Ejemplo n.º 24
0
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))
Ejemplo n.º 25
0
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))
Ejemplo n.º 26
0
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))
Ejemplo n.º 28
0
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))
Ejemplo n.º 29
0
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))
Ejemplo n.º 30
0
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))
Ejemplo n.º 31
0
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))
Ejemplo n.º 32
0
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))
Ejemplo n.º 33
0
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))
Ejemplo n.º 35
0
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))
Ejemplo n.º 36
0
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))
Ejemplo n.º 37
0
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))
Ejemplo n.º 38
0
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))
Ejemplo n.º 39
0
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))
Ejemplo n.º 40
0
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),
        )
Ejemplo n.º 41
0
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))
Ejemplo n.º 42
0
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))
Ejemplo n.º 43
0
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))
Ejemplo n.º 44
0
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))
Ejemplo n.º 45
0
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))
Ejemplo n.º 47
0
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))
Ejemplo n.º 48
0
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))
Ejemplo n.º 49
0
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))
Ejemplo n.º 50
0
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))
Ejemplo n.º 51
0
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))
Ejemplo n.º 52
0
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))
Ejemplo n.º 53
0
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))
Ejemplo n.º 55
0
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))