def get_chat_content(request):
    """
    聊天信息统计
    """

    head_lst = [
        {'width': 70, 'name': u'日期'},
        {'width': 50, 'name': u'UID'},
        {'width': 55, 'name': u'昵称'},
        {'width': 50, 'name': u'等级'},
        {'width': 50, 'name': u'VIP等级'},
        {'width': 50, 'name': u'聊天内容'},
        {'width': 50, 'name': u'服务器ID'},
        {'width': 50, 'name': u'封禁'},
    ]
    server_list_dat = server_list.get_server_list_dat()
    if request.method == 'POST':
        server_id = request.POST.get('server_id')
        row_lst = _get_chat_content(server_id)
        for i in range(len(row_lst)):
            row_lst[i-1].append(server_id)
        return render_to_response("gm/get_chat_content.html",
                                  {'row_lst': row_lst,
                                   'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id}, RequestContext(request))
    else:
        return render_to_response("gm/get_chat_content.html",
                                  {'row_lst': [],
                                   'head_lst': head_lst, 'server_list': server_list_dat}, RequestContext(request))
def get_union_chat_content(request):
    head_lst = [
        {'width': 70, 'name': u'日期'},
        {'width': 50, 'name': u'联盟ID'},
        {'width': 50, 'name': u'联盟名称'},
        {'width': 50, 'name': u'UID'},
        {'width': 55, 'name': u'昵称'},
        {'width': 50, 'name': u'等级'},
        {'width': 50, 'name': u'VIP等级'},
        {'width': 50, 'name': u'聊天内容'},
        {'width': 50, 'name': u'服务器ID'},
    ]
    server_list_dat = server_list.get_server_list_dat()

    if request.method == 'POST':
        server_id = request.POST.get('server_id')
        union_id=request.POST.get('union_id')
        if union_id == '':
            union_id=request.POST.get('union_name')
        union_name_list=_get_union_name(server_list_dat)
        row_lst=_get_union_chat_content(server_id,union_id,server_list_dat)
        return render_to_response("gm/get_union_chat_content.html",
                                  {'row_lst': row_lst,
                                   'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id,'union_name_list':union_name_list,}, RequestContext(request))
    else:
        union_name_list=_get_union_name(server_list_dat)
        return render_to_response("gm/get_union_chat_content.html",
                                  {'row_lst': [],
                                   'head_lst': head_lst, 'server_list': server_list_dat,'union_name_list':union_name_list}, RequestContext(request))
Exemple #3
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_daily_charge_reward_info(request):
    head_lst = [
        {'width': 50, 'name': u'充值数量(RMB)'},
        {'width': 50, 'name': u'获得奖励列表'},
        {'width': 50, 'name': u'获得奖励时间'},
        ]
    server_list_dat = get_server_list_dat()
    if request.method == 'POST':
        user_id = request.POST.get('user_uid')
        user_name = request.POST.get('user_name').encode('utf-8')
        user_account = request.POST.get('user_account')
        try:
            user_openid = str(request.POST.get('user_openid'))
        except UnicodeEncodeError :
            user_openid = ''

        server_id = int(request.POST.get('server_id'))
        type_hidden = 'visible'
        cmem_url = server_define.CMEM_MAP[int(server_id)]
        state_list = game_define.USER_STATE_NAME_DICT
        row_lst=[]
        source=None

        # print user_id
        # source=None
        # f=open('/opt/CGameLogserver/apps/game_manager/views/data_edit/USER_DETAIL')
        # d=pickle.load(f)
        # for i in d:
        #     user_id=str(i)
        if cmem_url:
            if  len(user_id) <> 0:
                source = memcache.get_cmem_val(cmem_url, model_define.DAILY_RECHARGE_REWARD_MODEL.format(user_id=user_id))
                #print source,'source'
            elif  len(user_name)<> 0:
                name = hashlib.md5(user_name).hexdigest().upper()
                key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name)
                user_uid = memcache.get_cmem_val_no_pick(cmem_url, key)
                source = memcache.get_cmem_val(cmem_url,model_define.DAILY_RECHARGE_REWARD_MODEL.format(user_id=user_uid))
            elif  len(user_openid) <> 0:
                try:
                    result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid))
                    source = memcache.get_cmem_val(cmem_url, model_define.DAILY_RECHARGE_REWARD_MODEL.format(user_id=result['uid']))
                except:
                    pass
            if source<> None and source['reward_date'] <> None:
                row_lst.append([str(source['recharge_rmb_num']),str(source['has_reward_lst']),str(source['reward_date'])])
        return render_to_response("data_edit/daily_charge_reward_info.html",
                                  {'row_lst': row_lst,'user_id':user_id,'user_openid':user_openid,'user_name':user_name,
                                   'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id}, RequestContext(request))
    else:
        row_lst = []
        return render_to_response("data_edit/daily_charge_reward_info.html",
                                  {'row_lst': row_lst,
                                   'head_lst': head_lst, 'server_list': server_list_dat}, RequestContext(request))
def get_player_info(request):
    # head_lst = [
    #     {'width': 50, 'name': u'名称'},
    #     {'width': 50, 'name': u'当前值'},
    #     {'width': 50, 'name': u'修改'},
    #     ]
    server_list_dat = get_server_list_dat()
    if request.method == 'POST':
        user_id = request.POST.get('user_uid')
        user_name = request.POST.get('user_name').encode('utf-8')

        try:
            user_openid = str(request.POST.get('user_openid'))
        except UnicodeEncodeError :
            user_openid = ''
        server_id = int(request.POST.get('server_id'))
        type_hidden = 'visible'
        cmem_url = server_define.CMEM_MAP[int(server_id)]
        state_list = game_define.USER_STATE_NAME_DICT
        row_lst=[]
        if cmem_url:
            if  len(user_id) <> 0:
                source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_MODEL.format(user_id=user_id))
                if source:
                    user_id=source['uid']
                    row_lst = _get_player_mem(source,user_id,server_id)
            elif len(user_name)<> 0:
                name = hashlib.md5(user_name).hexdigest().upper()
                key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name)
                user_uid = memcache.get_cmem_val_no_pick(cmem_url, key)
                source = memcache.get_cmem_val(cmem_url,model_define.PLAYER_MODEL.format(user_id=user_uid))
                if source:
                    user_id=source['uid']
                    row_lst = _get_player_mem(source,user_id,server_id)
            elif len(user_openid) <> 0:
                try:
                    result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid))
                    source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_MODEL.format(user_id=result['uid']))
                    if source:
                        user_id=source['uid']
                        row_lst = _get_player_mem(source,user_id,server_id)
                except:
                    pass
            else:
                row_lst = []
            return render_to_response("data_edit/player_info_edit.html",
                                      {'row_lst': row_lst,
                                        'server_list': server_list_dat,'cur_server_id':server_id}, RequestContext(request))
    else:
        row_lst = []
        return render_to_response("data_edit/player_info_edit.html",
                                  {'row_lst': row_lst,
                                    'server_list': server_list_dat,}, RequestContext(request))
def get_arena_report_info(request):
    head_lst = [
        {'width': 50, 'name': u'玩家UID'},
        {'width': 50, 'name': u'玩家当前排名'},
        ]
    server_list_dat = get_server_list_dat()
    if request.method == 'POST':
        user_id = request.POST.get('user_uid')
        user_name = request.POST.get('user_name').encode('utf-8')
        user_account = request.POST.get('user_account')
        try:
            user_openid = str(request.POST.get('user_openid'))
        except UnicodeEncodeError :
            user_openid = ''

        server_id = int(request.POST.get('server_id'))
        type_hidden = 'visible'
        cmem_url = server_define.CMEM_MAP[int(server_id)]
        state_list = game_define.USER_STATE_NAME_DICT
        row_lst=[]
        source=None
        if cmem_url:
            if  len(user_id) <> 0:
                source = memcache.get_cmem_val(cmem_url, model_define.ARENA_BATTLE_REPORT_MODEL.format(user_id=user_id))
                #print source,'source'
                info= _get_report_mem(source,user_id,server_id)
            elif  len(user_name)<> 0:
                name = hashlib.md5(user_name).hexdigest().upper()
                key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name)
                user_uid = memcache.get_cmem_val_no_pick(cmem_url, key)
                source = memcache.get_cmem_val(cmem_url,model_define.ARENA_BATTLE_REPORT_MODEL.format(user_id=user_uid))
                info = _get_report_mem(source,user_id,server_id)
            elif  len(user_openid) <> 0:
                try:
                    result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid))
                    source = memcache.get_cmem_val(cmem_url, model_define.ARENA_BATTLE_REPORT_MODEL.format(user_id=result['uid']))
                    info = _get_report_mem(source,user_id,server_id)
                except:
                    pass
            else:
                info= []
            return render_to_response("data_edit/arena_report_info.html",
                                      {'row_lst': row_lst,'user_id':user_id,'user_openid':user_openid,'user_name':user_name,
                                       'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id,'info':info}, RequestContext(request))
    else:
        row_lst = []
        return render_to_response("data_edit/arena_report_info.html",
                                  {'row_lst': row_lst,
                                   'head_lst': head_lst, 'server_list': server_list_dat}, RequestContext(request))
def player_commit_bugs_lst(request):
    """
    获取玩家提交的BUG
    """
    server_list_dat = server_list.get_server_list_dat()
    data = {}
    data['head_lst'] = head_lst
    data['server_list'] = server_list_dat
    if request.POST.get('server_id'):
        server_id = int(request.POST.get('server_id'))
        table_list = []
        all_background_notice_lst = []

        cmem_url = str(server_define.CMEM_MAP.get(server_id))
        if cmem_url:
            player_commit_bugs_model = memcache.get_cmem_val(cmem_url, model_define.PLAYER_COMMIT_BUGS_MODEL)
            if player_commit_bugs_model:
                # memcache.put_cmem_val(cmem_url, model_define.PLAYER_COMMIT_BUGS_MODEL, server_notice_box_model)
                print player_commit_bugs_model
                bug_lst = get_bugs(player_commit_bugs_model)
                if bug_lst:
                    for bug_dict in bug_lst:
                        if bug_dict:
                            all_background_notice_lst.append(bug_dict)

        print("all_background_notice_lst: "+str(all_background_notice_lst))
        for bug_dict in all_background_notice_lst:
            if bug_dict:
                temp_content = []
                temp_content.insert(0,str(bug_dict['user_uid']))
                temp_content.insert(1,str(bug_dict['user_open_id']))
                temp_content.insert(2,str(bug_dict['player_name']))
                temp_content.insert(3,str(bug_dict['commit_time']))
                temp_content.insert(4,str(bug_dict['describe']))
                if bug_dict.get('handle',False):
                    temp_content.insert(5,"已回信")
                else:
                    temp_content.insert(5,"需要回信")
                table_list.append(temp_content)

        data['player_commit_bugs'] = table_list
        data['server_id'] = server_id
        print data
        return render_to_response("player_commit_bugs/player_commit_bugs_lst.html", data, RequestContext(request))
    else:
        data['player_commit_bugs'] = []
        return render_to_response("player_commit_bugs/player_commit_bugs_lst.html", data, RequestContext(request))
def get_trial_info(request):
    head_lst = [
        {'width': 50, 'name': u'试炼刷新时间'},
        {'width': 50, 'name': u'敌方数据'},
        ]
    server_list_dat = get_server_list_dat()
    if request.method == 'POST':
        user_id = request.POST.get('user_uid')
        user_name = request.POST.get('user_name').encode('utf-8')
        user_account = request.POST.get('user_account')
        try:
            user_openid = str(request.POST.get('user_openid'))
        except UnicodeEncodeError :
            user_openid = ''

        server_id = int(request.POST.get('server_id'))
        type_hidden = 'visible'
        cmem_url = server_define.CMEM_MAP[int(server_id)]
        state_list = game_define.USER_STATE_NAME_DICT
        row_lst=[]
        print user_id
        source=None
        if cmem_url:
            if  len(user_id) <> 0:
                source = memcache.get_cmem_val(cmem_url, model_define.GIFT_BAG_MODEL.format(user_id=user_id))
                #print source,'source'
            elif  len(user_name)<> 0:
                name = hashlib.md5(user_name).hexdigest().upper()
                key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name)
                user_uid = memcache.get_cmem_val_no_pick(cmem_url, key)
                source = memcache.get_cmem_val(cmem_url,model_define.GIFT_BAG_MODEL.format(user_id=user_uid))
            elif  len(user_openid) <> 0:
                try:
                    result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid))
                    source = memcache.get_cmem_val(cmem_url, model_define.GIFT_BAG_MODEL.format(user_id=result['uid']))
                except:
                    pass
            if source<> None:
                row_lst.append([str(source['refresh_datetime']),str(source['cur_enemy_dat'])])
        return render_to_response("data_edit/trial_info.html",
                                  {'row_lst': row_lst,'user_id':user_id,'user_openid':user_openid,'user_name':user_name,
                                   'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id}, RequestContext(request))
    else:
        row_lst = []
        return render_to_response("data_edit/trial_info.html",
                                  {'row_lst': row_lst,
                                   'head_lst': head_lst, 'server_list': server_list_dat}, RequestContext(request))
def get_mail_info(request):
    head_lst = [
        {'width': 50, 'name': u'标题'},
        {'width': 50, 'name': u'发送时间'},
        {'width': 50, 'name': u'有效期至'},
        ]
    server_list_dat = get_server_list_dat()
    if request.method == 'POST':
        user_id = request.POST.get('user_uid')
        user_name = request.POST.get('user_name').encode('utf-8')
        try:
            user_openid = str(request.POST.get('user_openid'))
        except UnicodeEncodeError :
            user_openid = ''
        server_id = int(request.POST.get('server_id'))
        type_hidden = 'visible'
        cmem_url = server_define.CMEM_MAP[int(server_id)]
        state_list = game_define.USER_STATE_NAME_DICT
        row_lst=[]
        print user_id
        if cmem_url:
            if len(user_id) <> 0:
                source = memcache.get_cmem_val(cmem_url, model_define.MAIL_MODEL.format(user_id=user_id))
                print source,'source'
                row_lst = _get_player_mem(source,user_id,server_id)
            elif len(user_name)<> 0:
                name = hashlib.md5(user_name).hexdigest().upper()
                key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name)
                user_uid = memcache.get_cmem_val_no_pick(cmem_url, key)
                source = memcache.get_cmem_val(cmem_url,model_define.MAIL_MODEL.format(user_id=user_uid))
                row_lst = _get_player_mem(source,user_id,server_id)
            elif len(user_openid) <> 0:
                try:
                    result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid))
                    source = memcache.get_cmem_val(cmem_url, model_define.MAIL_MODEL.format(user_id=result['uid']))
                    row_lst = _get_player_mem(source,user_id,server_id)
                except:
                    pass
        return render_to_response("data_edit/mail_info_edit.html",
                                  {'row_lst': row_lst,'user_id':user_id,'user_openid':user_openid,'user_name':user_name,
                                   'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id}, RequestContext(request))
    else:
        row_lst = []
        return render_to_response("data_edit/mail_info_edit.html",
                                  {'row_lst': row_lst,
                                   'head_lst': head_lst, 'server_list': server_list_dat,}, RequestContext(request))
def get_arena_reward_times_info(request):
    head_lst = [
        {'width': 50, 'name': u'奖励截止时间'},
        {'width': 50, 'name': u'奖励物品'},
        {'width': 50, 'name': u'玩家进行挑战次数'},
        {'width': 50, 'name': u'运营版本'},
        ]
    server_list_dat = get_server_list_dat()
    if request.method == 'POST':
        user_id = request.POST.get('user_uid')
        user_name = request.POST.get('user_name').encode('utf-8')
        user_account = request.POST.get('user_account')
        try:
            user_openid = str(request.POST.get('user_openid'))
        except UnicodeEncodeError :
            user_openid = ''
        server_id = int(request.POST.get('server_id'))
        type_hidden = 'visible'
        cmem_url = server_define.CMEM_MAP[int(server_id)]
        row_lst=[]
        print user_id
        source=None
        if cmem_url:
            if  len(user_id) <> 0:
                source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_ARENA_MODEL.format(user_id=user_id))
            elif  len(user_name)<> 0:
                name = hashlib.md5(user_name).hexdigest().upper()
                key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name)
                user_uid = memcache.get_cmem_val_no_pick(cmem_url, key)
                source = memcache.get_cmem_val(cmem_url,model_define.PLAYER_ACTIVITY_ARENA_MODEL.format(user_id=user_uid))
            elif  len(user_openid )<> 0:
                try:
                    result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid))
                    source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_ACTIVITY_ARENA_MODEL.format(user_id=result['uid']))
                except:
                    pass
            row_lst.append([str(source['reward_end_date']),source['single_activity_has_reward_lst'],source[ 'num'],source['version']])
            return render_to_response("data_edit/arena_reward_times_info.html",
                                      {'row_lst': row_lst,'user_id':user_id,'user_openid':user_openid,'user_name':user_name,
                                       'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id}, RequestContext(request))
    else:
        row_lst = []
        return render_to_response("data_edit/arena_reward_times_info.html",
                                  {'row_lst': row_lst,
                                   'head_lst': head_lst, 'server_list': server_list_dat}, RequestContext(request))
def body_forbiden(request):
    server_id =  request.POST.get('server_id')
    # manager = GameManager.get_by_request(request)
    # btn_lst = manager.check_admin_permission()
    # if btn_lst:
    head_lst = [
        {'width': 70, 'name': u'日期'},
        {'width': 50, 'name': u'UID'},
        {'width': 55, 'name': u'昵称'},
        {'width': 50, 'name': u'等级'},
        {'width': 50, 'name': u'VIP等级'},
        {'width': 50, 'name': u'聊天内容'},
        {'width': 50, 'name': u'服务器ID'},
        {'width': 50, 'name': u'封禁'},
    ]
    server_list_dat = server_list.get_server_list_dat()
    if request.method == 'POST':
        server_id =  request.POST.get('server')
        user_id = request.POST.get('user_id')
        cmem_url=server_define.CMEM_MAP[int(server_id)]
        row_lst = _get_chat_content(server_id)
        for i in range(len(row_lst)):
            row_lst[i-1].append(server_id)
        if cmem_url:
            try:
                source=memcache.get_cmem_val(cmem_url,model_define.USER_MODEL.format(user_id=user_id))
                source['state']=USER_STATE_FREEZE
                memcache.put_cmem_val(cmem_url,model_define.USER_MODEL.format(user_id=user_id),source)
            except:
                print 'Error: not Forzen'
        return render_to_response("gm/get_chat_content.html",
                                  # {'account': manager.account, 'btn_lst': btn_lst,
                                   {'row_lst': row_lst,
                                   'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id}, RequestContext(request))
    else:
        server_id =  request.POST.get('server')
        row_lst = _get_chat_content(server_id)
        for i in range(len(row_lst)):
            row_lst[i-1].append(server_id)
        return render_to_response("gm/get_chat_content.html",
                                  # {'account': manager.account, 'btn_lst': btn_lst,
                                   {
                                      'row_lst': row_lst,
                                   'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id,}, RequestContext(request))
def get_daily_task_info(request):
    head_lst = [
        {'width': 50, 'name': u'任务名称'},
        {'width': 50, 'name': u'任务开放等级'},
        {'width': 50, 'name': u'任务可领取最小等级'},
        {'width': 50, 'name': u'任务可领取最大等级'},
        {'width': 50, 'name': u'任务最多可完成次数'},
        {'width': 50, 'name': u'任务可获得的积分'},
        {'width': 50, 'name': u'任务可以获得的奖励'},
        {'width': 50, 'name': u'玩家完成次数'},
        {'width': 50, 'name': u'获得奖励时间'},
        {'width': 50, 'name': u'是否获得奖励'},
        ]

    head_lst1= [
        {'width': 50, 'name': u'礼包名称'},
        {'width': 50, 'name': u'获得奖励'},
        {'width': 50, 'name': u'所需任务积分'},
        ]
    server_list_dat = get_server_list_dat()
    if request.method == 'POST':
        user_id = request.POST.get('user_uid')
        user_name = request.POST.get('user_name').encode('utf-8')
        user_account = request.POST.get('user_account')
        try:
            user_openid = str(request.POST.get('user_openid'))
        except UnicodeEncodeError :
            user_openid = ''

        server_id = int(request.POST.get('server_id'))
        type_hidden = 'visible'
        cmem_url = server_define.CMEM_MAP[int(server_id)]
        state_list = game_define.USER_STATE_NAME_DICT
        row_lst=[]
        row_lst1=[]
        print user_id
        source=None
        # f=open('/opt/CGameLogserver/apps/game_manager/views/data_edit/USER_DETAIL')
        # d=pickle.load(f)
        # for i in d:
        #     user_id=str(i)
        if cmem_url:
            if  len(user_id) <> 0:
                source = memcache.get_cmem_val(cmem_url, model_define.DAILY_TASK_MODEL.format(user_id=user_id))
                #print source,'source'
            elif  len(user_name)<> 0:
                name = hashlib.md5(user_name).hexdigest().upper()
                key = model_define.PLAYER_NICK_NAME_MODEL.format(player_nick_md5=name)
                user_uid = memcache.get_cmem_val_no_pick(cmem_url, key)
                source = memcache.get_cmem_val(cmem_url,model_define.DAILY_TASK_MODEL.format(user_id=user_uid))
            elif  len(user_openid) <> 0:
                try:
                    result = memcache.get_cmem_val(cmem_url,model_define.ACCOUNT_MAPPING_MODEL.format(open_id=user_openid))
                    source = memcache.get_cmem_val(cmem_url, model_define.DAILY_TASK_MODEL.format(user_id=result['uid']))
                except:
                    pass
            if source<> None:
                for task in source['tasks']:
                    # if task in source['single_daily_task_has_reward_lst']:
                    print task, source['tasks'][task]
                    print  _get_level(task)[0],_get_level(task)[1],_get_level(task)[2],_get_level(task)[3],_get_level(task)[4],
                    row_lst.append([daily_task_name[task],
                                    _get_level(task)[0],_get_level(task)[1],_get_level(task)[2],_get_level(task)[3],_get_level(task)[4],
                                    _get_reward(task),source['tasks'][task]['num'],
                                    str(source['reward_date']),_get_wancheng(task,source['tasks']),
                                    ])
                for i in source['score_has_reward_lst']:
                    row_lst1.append([score_reward[i]['name'],score_reward[i]['reward'],score_reward[i]['score']])
        return render_to_response("data_edit/daily_task_info.html",
                                  {'row_lst': row_lst,'user_id':user_id,'user_openid':user_openid,'user_name':user_name,
                                   'head_lst': head_lst, 'server_list': server_list_dat,'cur_server_id':server_id,
                                   'head_lst1':head_lst1,'row_lst1':row_lst1
                                   }, RequestContext(request))
    else:
        row_lst = []
        row_lst1=[]
        return render_to_response("data_edit/daily_task_info.html",
                                  {'row_lst': row_lst,'head_lst1':head_lst1,'row_lst1':row_lst1,
                                   'head_lst': head_lst, 'server_list': server_list_dat}, RequestContext(request))
Exemple #13
0
def set_player_data(request):
    # 获取管理员信息
    manager = GameManager.get_by_request(request)
    head_lst = [
        #{'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':
        print request.POST, 'post'
        user_id = request.POST.get('user_id')
        server_id = int(request.POST.get('server_id'))
        typ = request.POST.get('type')
        value = request.POST.get('value')
        #print 'value',value
        if value <> '':
            if typ <> 'str':
                if typ == 'bool':
                    value = eval(typ)(eval(value))
                else:
                    value = eval(typ)(value)
                #print value
        key = request.POST.get('key')
        data = ''
        if key == 'newbie':
            # print 'newbie'
            # print int(value)
            # print get_newbie_phase_config(int(value))
            if get_newbie_phase_config(int(value)) == None:
                data = '新手引导ID应在1~5之间'
        elif key == 'gold':
            pass
        elif key == 'champion_index':
            if int(value) not in [1, 2, 3, 4, 0]:
                data = '冠军宠物位置应该在0~4之间'
        elif key == 'reward_cur_monster_star_level_id':
            if get_reward_monster_star_level_config(int(value)) == None:
                data = u'宠物等级奖励序列应在1~18之间'
        elif key == 'universal_fragment':
            pass
        elif key == 'title':
            if get_the_title_config(int(value)) == None:
                data = '玩家爵位应在1~21之间'
        elif key == 'consumption_point':
            pass
        elif key == 'role_id':
            pass
        elif key == 'reward_login_series_id':
            pass
        elif key == 'reward_cur_monster_kind_id':
            if get_reward_monster_kind_config(int(value)) == None:
                data = '宠物种类奖励序列应在1~18之间'
        elif key == 'has_first_recharge_lst':
            pass
        elif key == 'is_stone_one_draw':
            if int(value) not in [0, 1]:
                data = '首次钻石单抽状态取值应为0或1,0代表未抽过,1代表抽过'
        elif key == 'is_ten_draw':
            if int(value) not in [0, 1]:
                data = '首次钻石十连抽状态取值应为0或1,0代表未抽过,1代表抽过'
        elif key == 'champion_tid':
            cmem_url = server_define.CMEM_MAP[int(server_id)]
            source = memcache.get_cmem_val(
                cmem_url, model_define.MONSTER_MODEL.format(user_id=user_id))
            # print source['monsters']
            sign = 0
            for i in source['monsters']:
                if int(value) == i['tid']:
                    sign = 1
            # print sign
            if sign == 0:
                data = u'输入的宠物id不属于玩家拥有的宠物之一,请正确输入,玩家现有宠物:'
                for i in source['monsters']:
                    a = '(%s:%s)' % (i['tid'], get_monster_config(
                        i['tid'])['name'])
                    data += a
        elif key == 'champion_power':
            pass
        elif key == 'name':
            pass
        elif key == 'level':
            if int(value) > 120 or int(value) < 1:
                data = u'玩家等级应在1~120级之间,请输入正确的值'
        elif key == 'cur_stage':
            if get_stages_config(int(value)) == None:
                data = u'关卡ID输入错误'
        elif key == 'reward_cur_monster_quality_id':
            if get_reward_monster_quality_config(int(value)) == None:
                data = u'当前宠物品质奖励序列应在1~3之间'
        elif key == 'reward_cur_team_combat_power_id':
            if get_reward_team_power(int(value)) == None:
                data = u'当前队伍战斗力奖励序列应在1~47之间'
        elif key == 'reward_friend_num_id':
            if get_fried_num_config(int(value)) == None:
                data = u'好友数量奖励序列应在1~6之间'
        elif key == 'reward_cur_monster_level_id':
            if get_reward_monster_level_config(int(value)) == None:
                data = u'宠物等级奖励序列应在1~10之间'

        if value <> '' and data == '':
            # print "i'work"
            cmem_url = server_define.CMEM_MAP[int(server_id)]
            if cmem_url:
                source = memcache.get_cmem_val(
                    cmem_url,
                    model_define.PLAYER_MODEL.format(user_id=user_id))
                if eval(typ) == type(value) or (typ == 'str'
                                                and type(value) == unicode):
                    #print source,key,value,user_id,type(user_id)
                    old_value = source[key]
                    source[key] = value
                    memcache.put_cmem_val(
                        cmem_url,
                        model_define.PLAYER_MODEL.format(user_id=user_id),
                        source)
                    # 操作日志记录
                    insert_action_edit_player(manager, str(server_id),
                                              str(user_id), key, old_value,
                                              value)
        return HttpResponse(data)
Exemple #14
0
def get_stone_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 = ""
        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
        refresh_time = ""
        if cmem_url:
            if len(user_id) <> 0:
                source = memcache.get_cmem_val(cmem_url, model_define.PLAYER_STONE_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_STONE_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_STONE_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 len(["shop_item_state_dict"]) <> 0:
                    for i in source["shop_item_state_dict"].items():
                        result = _get_stone_shop_name(i[0], name_dict, shop_dict)
                        row_lst.append([result[0], result[1], result[2], _get_stone_shop_state(i[1])])
        return render_to_response(
            "data_edit/stone_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/stone_shop_info.html",
            {"row_lst": row_lst, "head_lst": head_lst, "server_list": server_list_dat},
            RequestContext(request),
        )
Exemple #15
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),
        )
Exemple #16
0
def union_shop_function(request):
    """
       联盟商店
    """
    manager = GameManager.get_by_request(request)
    btn_lst = manager.check_admin_permission()

    if btn_lst:

        from apps.logs.statistics_tables.union.union_shop_log import get_table
        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'人数占比'
            },
        ]
        if request.method == 'POST':
            start_date = request.POST.get("search_start_date")
            # end_date = request.POST.get("search_end_date")
            server_id = int(request.POST.get("server_id"))
            #user_id=str(request.POST.get("user_id"))
            #platform_id=(request.POST.get('platform_id'))
            try:
                start_date_date = datetime.datetime.strptime(
                    start_date, "%m/%d/%Y").date()
            except:
                start_date_date = datetime.datetime.now().date()
            # end_date_date = datetime.datetime.strptime(end_date, "%m/%d/%Y").date()
            server_list_dat = server_list.get_server_list_dat()
            row_lst = get_table(start_date_date, server_id)
            return render_to_response(
                "log/union_shop.html", {
                    'account': manager.account,
                    'btn_lst': btn_lst,
                    'row_lst': row_lst,
                    'head_lst': head_lst,
                    'search_start_date': start_date,
                    'server_list': server_list_dat,
                    'cur_server_id': server_id
                }, RequestContext(request))
        else:
            row_lst = []
            now_date_str = datetime.date.today().strftime("%m/%d/%Y")
            start_date = now_date_str
            end_date = now_date_str
            server_list_dat = server_list.get_server_list_dat()
            #some_list=cost_item_dict.keys()
            return render_to_response(
                "log/union_shop.html", {
                    'account': manager.account,
                    'btn_lst': btn_lst,
                    'row_lst': row_lst,
                    'head_lst': head_lst,
                    'search_start_date': start_date,
                    'server_list': server_list_dat
                }, RequestContext(request))
    else:
        return HttpResponseRedirect('/Tyranitar6/login/')
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),
        )
Exemple #18
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))
Exemple #19
0
def union_count_function(request):
    """
       联盟统计
    """
    manager = GameManager.get_by_request(request)
    btn_lst = manager.check_admin_permission()

    if btn_lst:

        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'进入联盟人数占比'
            },
        ]
        if request.method == 'POST':
            start_date = request.POST.get("search_start_date")
            end_date = request.POST.get("search_end_date")
            server_id = int(request.POST.get("server_id"))
            try:
                start_date_date = datetime.datetime.strptime(
                    start_date, "%m/%d/%Y").date()
            except:
                start_date_date = datetime.datetime.now().date()
            try:
                end_date_date = datetime.datetime.strptime(
                    end_date, "%m/%d/%Y").date()
            except:
                end_date_date = start_date_date

            server_list_dat = server_list.get_server_list_dat()

            from apps.logs.statistics_tables.union.union_count_log import get_table
            row_lst = get_table(start_date_date, end_date_date, server_id)
            print row_lst

            return render_to_response(
                "log/union_count.html", {
                    'account': manager.account,
                    'btn_lst': btn_lst,
                    'row_lst': row_lst,
                    'head_lst': head_lst,
                    'search_start_date': start_date,
                    'search_end_date': end_date,
                    'server_list': server_list_dat,
                    'cur_server_id': server_id
                }, RequestContext(request))
        else:
            row_lst = []
            now_date_str = datetime.date.today().strftime("%m/%d/%Y")
            start_date = now_date_str
            end_date = now_date_str
            server_list_dat = server_list.get_server_list_dat()
            #some_list=cost_item_dict.keys()
            return render_to_response(
                "log/union_count.html", {
                    'account': manager.account,
                    'btn_lst': btn_lst,
                    'row_lst': row_lst,
                    'head_lst': head_lst,
                    'search_start_date': start_date,
                    'search_end_date': end_date,
                    'server_list': server_list_dat
                }, RequestContext(request))
    else:
        return HttpResponseRedirect('/Tyranitar6/login/')
Exemple #20
0
def acount_release_forbiden(request):
    """
    聊天信息统计
    """
    # _gm = GameManager()
    # btn_lst = _gm.check_admin_permission()
    #server_id =  request.POST.get('server_id')

    # manager = GameManager.get_by_request(request)
    # btn_lst = manager.check_admin_permission()
    # if btn_lst:
    head_lst = [
        {
            'width': 70,
            'name': u'OPEN_ID'
        },
        {
            'width': 50,
            'name': u'UID'
        },
        {
            'width': 55,
            'name': u'昵称'
        },
        {
            'width': 50,
            'name': u'等级'
        },
        {
            'width': 50,
            'name': u'VIP等级'
        },
        {
            'width': 50,
            'name': u'当前金币'
        },
        {
            'width': 50,
            'name': u'当前钻石'
        },
        {
            'width': 50,
            'name': u'当前经验'
        },
        {
            'width': 50,
            'name': u'当前状态'
        },
    ]
    server_list_dat = server_list.get_server_list_dat()
    print server_list_dat
    #print server_list_dat
    change_lst = [{
        'id': 3,
        'name': u'查询'
    }, {
        'id': -1,
        'name': u'解封'
    }, {
        'id': 1,
        'name': u'封禁'
    }, {
        'id': 2,
        'name': u'内部账号'
    }]
    # for i in USER_STATE_NAME_DICT.items():
    #     print i, i[1][0:-1]
    #     change_lst.append({'id':i[0],'name':i[1][0:-4]})
    # print change_lst
    if request.method == 'POST':
        user_id = request.POST.get('user_id')
        server_id = request.POST.get('server_id')
        #submit_value=request.POST.get('submit_value')
        change_id = request.POST.get('change_id')
        cmem_url = server_define.CMEM_MAP[int(server_id)]
        row_lst = []
        if cmem_url:
            if int(change_id) == 3:
                try:
                    row_lst = _get_imformation(user_id, cmem_url)
                except:
                    row_lst = []
            else:
                try:
                    _set_state(user_id, int(change_id), cmem_url)
                    row_lst = _get_imformation(user_id, cmem_url)
                except:
                    row_lst = []
        return render_to_response(
            "gm/account_release_forbiden.html",
            # {'account': manager.account, 'btn_lst': btn_lst,
            {
                'row_lst': row_lst,
                'head_lst': head_lst,
                'server_list': server_list_dat,
                'cur_server_id': server_id,
                'change_list': change_lst
            },
            RequestContext(request))
    else:
        return render_to_response(
            "gm/account_release_forbiden.html",
            # {'account': manager.account, 'btn_lst': btn_lst,
            {
                'row_lst': [],
                'head_lst': head_lst,
                'server_list': server_list_dat,
                'change_list': change_lst
            },
            RequestContext(request))
Exemple #21
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))
Exemple #22
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))
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))
Exemple #24
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))
def friend_count_function(request):
    """
    好友统计
    """
    manager = GameManager.get_by_request(request)
    btn_lst = manager.check_admin_permission()
    if btn_lst:

        head_lst = [
            {'width': 50, 'name': u'时间'},
            {'width': 50, 'name': u'添加好友次数'},
            {'width': 50, 'name': u'通过申请好友数'},
            {'width': 50, 'name': u'通过申请好友占比'},
        ]
        if request.method == 'POST' :
            start_date = request.POST.get("search_start_date")
            end_date = request.POST.get("search_end_date")
            server_id = int(request.POST.get("server_id"))
            user_id=str(request.POST.get("user_id"))
            platform_id=request.POST.get('platform_id')
            start_date_date = datetime.datetime.strptime(start_date, "%m/%d/%Y").date()
            end_date_date = datetime.datetime.strptime(end_date, "%m/%d/%Y").date()

            server_list_dat=  server_list.get_server_list_dat()
            if user_id <> '':
                from apps.logs.statistics_tables.friend_count.friend_count_log import get_table
                row_lst =get_table(start_date_date, end_date_date, server_id)
                #     print server_list
                return render_to_response("log/friend_count.html", {'account':manager.account,'btn_lst':btn_lst,'row_lst': row_lst,'head_lst': head_lst, 'search_start_date': start_date, 'search_end_date': end_date, 'server_list': server_list_dat,'platform_id':platform_id,'cur_server_id':server_id }, RequestContext(request))

        else:
            row_lst = []
            now_date_str = datetime.date.today().strftime("%m/%d/%Y")
            start_date = now_date_str
            end_date = now_date_str
            server_list_dat =server_list.get_server_list_dat()
            return render_to_response("log/friend_count.html", {'account':manager.account,'btn_lst':btn_lst,'row_lst': row_lst,'head_lst': head_lst, 'search_start_date': start_date, 'search_end_date': end_date,  'server_list': server_list_dat,'platform_id':'None'}, RequestContext(request))
    else:
        return HttpResponseRedirect('/Tyranitar6/login/')

#
# def _get_server_list():
#     """
#         获取游戏服务器列表
#     """
#     from apps.game_manager.mysql import server_list
#     all_server_list = server_list.get_all_server(True)
#     server_list = []
#     server_list.append({'id': -1, 'name': u'通服务器'},)
#     for item in all_server_list:
#         server_id = item['id']
#         server_name = item['name'] + '_' + str(item['id'])
#         server_dict = {'id': server_id, 'name': server_name}
#         server_list.append(server_dict)
#     platform_list = [
#         {'id': -1, 'name': u'通平台'},
#         {'id': 0, 'name': u'测试'},
#         {'id': 800003, 'name': u'海马'},
#         {'id': 800004, 'name': u'飞流'},
#         # {'id': 2, 'name': u'anysdk'},
#         {'id': 500001, 'name':  u'iOS-91手机助手'},
#         {'id': 500004, 'name':  u'iOS-iTools'},
#         {'id': 500015, 'name':  u'iOS-快用'},
#         {'id': 500017, 'name':  u'iOS-海马助手'},
#         {'id': 500020, 'name':  u'iOS-爱思助手'},
#         {'id': 500030, 'name':  u'iOS-XY助手'},
#         {'id': 500002, 'name':  u'同步推'},
#         {'id': 500003, 'name':  u'pp助手'},
#         {'id': 800006, 'name':  u'爱苹果'},
#         {'id': 500035, 'name':  u'叉叉助手'}
#     ]
#     return server_list, platform_list
Exemple #26
0
def union_hall_function(request):
    """
       联盟殿堂
    """
    manager = GameManager.get_by_request(request)
    btn_lst = manager.check_admin_permission()
    if btn_lst:

        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'服务器ID'
            },
        ]
        if request.method == 'POST':
            start_date = request.POST.get("search_start_date")
            server_id = int(request.POST.get("server_id"))
            try:
                start_date_date = datetime.datetime.strptime(
                    start_date, "%m/%d/%Y").date()
            except:
                start_date_date = datetime.datetime.now().date()

            row_lst = union_hall_modes.get_table(start_date_date, server_id)

            server_list_dat = server_list.get_server_list_dat()
            return render_to_response(
                "log/union_hall.html", {
                    'account': manager.account,
                    'btn_lst': btn_lst,
                    'row_lst': row_lst,
                    'head_lst': head_lst,
                    'search_start_date': start_date,
                    'server_list': server_list_dat,
                    'cur_server_id': server_id
                }, RequestContext(request))
        else:
            row_lst = []
            now_date_str = datetime.date.today().strftime("%m/%d/%Y")
            start_date = now_date_str
            server_list_dat = server_list.get_server_list_dat()
            return render_to_response(
                "log/union_hall.html", {
                    'account': manager.account,
                    'btn_lst': btn_lst,
                    'row_lst': row_lst,
                    'head_lst': head_lst,
                    'search_start_date': start_date,
                    'server_list': server_list_dat
                }, RequestContext(request))
    else:
        return HttpResponseRedirect('/Tyranitar6/login/')
Exemple #27
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))
def acount_release_forbiden(request):
    """
    聊天信息统计
    """
    # _gm = GameManager()
    # btn_lst = _gm.check_admin_permission()
    # server_id =  request.POST.get('server_id')

    # manager = GameManager.get_by_request(request)
    # btn_lst = manager.check_admin_permission()
    # if btn_lst:
    head_lst = [
        {"width": 70, "name": u"OPEN_ID"},
        {"width": 50, "name": u"UID"},
        {"width": 55, "name": u"昵称"},
        {"width": 50, "name": u"等级"},
        {"width": 50, "name": u"VIP等级"},
        {"width": 50, "name": u"当前金币"},
        {"width": 50, "name": u"当前钻石"},
        {"width": 50, "name": u"当前经验"},
        {"width": 50, "name": u"当前状态"},
    ]
    server_list_dat = server_list.get_server_list_dat()
    print server_list_dat
    # print server_list_dat
    change_lst = [
        {"id": 3, "name": u"查询"},
        {"id": -1, "name": u"解封"},
        {"id": 1, "name": u"封禁"},
        {"id": 2, "name": u"内部账号"},
    ]
    # for i in USER_STATE_NAME_DICT.items():
    #     print i, i[1][0:-1]
    #     change_lst.append({'id':i[0],'name':i[1][0:-4]})
    # print change_lst
    if request.method == "POST":
        user_id = request.POST.get("user_id")
        server_id = request.POST.get("server_id")
        # submit_value=request.POST.get('submit_value')
        change_id = request.POST.get("change_id")
        cmem_url = server_define.CMEM_MAP[int(server_id)]
        row_lst = []
        if cmem_url:
            if int(change_id) == 3:
                try:
                    row_lst = _get_imformation(user_id, cmem_url)
                except:
                    row_lst = []
            else:
                try:
                    _set_state(user_id, int(change_id), cmem_url)
                    row_lst = _get_imformation(user_id, cmem_url)
                except:
                    row_lst = []
        return render_to_response(
            "gm/account_release_forbiden.html",
            # {'account': manager.account, 'btn_lst': btn_lst,
            {
                "row_lst": row_lst,
                "head_lst": head_lst,
                "server_list": server_list_dat,
                "cur_server_id": server_id,
                "change_list": change_lst,
            },
            RequestContext(request),
        )
    else:
        return render_to_response(
            "gm/account_release_forbiden.html",
            # {'account': manager.account, 'btn_lst': btn_lst,
            {"row_lst": [], "head_lst": head_lst, "server_list": server_list_dat, "change_list": change_lst},
            RequestContext(request),
        )
def friend_count_function(request):
    """
    好友统计
    """
    manager = GameManager.get_by_request(request)
    btn_lst = manager.check_admin_permission()
    if btn_lst:

        head_lst = [
            {
                'width': 50,
                'name': u'时间'
            },
            {
                'width': 50,
                'name': u'添加好友次数'
            },
            {
                'width': 50,
                'name': u'通过申请好友数'
            },
            {
                'width': 50,
                'name': u'通过申请好友占比'
            },
        ]
        if request.method == 'POST':
            start_date = request.POST.get("search_start_date")
            end_date = request.POST.get("search_end_date")
            server_id = int(request.POST.get("server_id"))
            user_id = str(request.POST.get("user_id"))
            platform_id = request.POST.get('platform_id')
            start_date_date = datetime.datetime.strptime(
                start_date, "%m/%d/%Y").date()
            end_date_date = datetime.datetime.strptime(end_date,
                                                       "%m/%d/%Y").date()

            server_list_dat = server_list.get_server_list_dat()
            if user_id <> '':
                from apps.logs.statistics_tables.friend_count.friend_count_log import get_table
                row_lst = get_table(start_date_date, end_date_date, server_id)
                #     print server_list
                return render_to_response(
                    "log/friend_count.html", {
                        'account': manager.account,
                        'btn_lst': btn_lst,
                        'row_lst': row_lst,
                        'head_lst': head_lst,
                        'search_start_date': start_date,
                        'search_end_date': end_date,
                        'server_list': server_list_dat,
                        'platform_id': platform_id,
                        'cur_server_id': server_id
                    }, RequestContext(request))

        else:
            row_lst = []
            now_date_str = datetime.date.today().strftime("%m/%d/%Y")
            start_date = now_date_str
            end_date = now_date_str
            server_list_dat = server_list.get_server_list_dat()
            return render_to_response(
                "log/friend_count.html", {
                    'account': manager.account,
                    'btn_lst': btn_lst,
                    'row_lst': row_lst,
                    'head_lst': head_lst,
                    'search_start_date': start_date,
                    'search_end_date': end_date,
                    'server_list': server_list_dat,
                    'platform_id': 'None'
                }, RequestContext(request))
    else:
        return HttpResponseRedirect('/Tyranitar6/login/')


#
# def _get_server_list():
#     """
#         获取游戏服务器列表
#     """
#     from apps.game_manager.mysql import server_list
#     all_server_list = server_list.get_all_server(True)
#     server_list = []
#     server_list.append({'id': -1, 'name': u'通服务器'},)
#     for item in all_server_list:
#         server_id = item['id']
#         server_name = item['name'] + '_' + str(item['id'])
#         server_dict = {'id': server_id, 'name': server_name}
#         server_list.append(server_dict)
#     platform_list = [
#         {'id': -1, 'name': u'通平台'},
#         {'id': 0, 'name': u'测试'},
#         {'id': 800003, 'name': u'海马'},
#         {'id': 800004, 'name': u'飞流'},
#         # {'id': 2, 'name': u'anysdk'},
#         {'id': 500001, 'name':  u'iOS-91手机助手'},
#         {'id': 500004, 'name':  u'iOS-iTools'},
#         {'id': 500015, 'name':  u'iOS-快用'},
#         {'id': 500017, 'name':  u'iOS-海马助手'},
#         {'id': 500020, 'name':  u'iOS-爱思助手'},
#         {'id': 500030, 'name':  u'iOS-XY助手'},
#         {'id': 500002, 'name':  u'同步推'},
#         {'id': 500003, 'name':  u'pp助手'},
#         {'id': 800006, 'name':  u'爱苹果'},
#         {'id': 500035, 'name':  u'叉叉助手'}
#     ]
#     return server_list, platform_list
Exemple #30
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))
Exemple #31
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))
def set_player_data(request):
    # 获取管理员信息
    manager = GameManager.get_by_request(request)
    head_lst = [
        #{'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':
        print request.POST,'post'
        user_id=request.POST.get('user_id')
        server_id=int(request.POST.get('server_id'))
        typ=request.POST.get('type')
        value=request.POST.get('value')
        #print 'value',value
        if value <> '':
            if typ <> 'str':
                if typ=='bool':
                    value=eval(typ)(eval(value))
                else:
                    value=eval(typ)(value)
                #print value
        key=request.POST.get('key')
        data=''
        if key=='newbie':
            # print 'newbie'
            # print int(value)
            # print get_newbie_phase_config(int(value))
            if get_newbie_phase_config(int(value))==None:
                data='新手引导ID应在1~5之间'
        elif key=='gold':
            pass
        elif key=='champion_index':
            if int(value) not in [1,2,3,4,0]:
                data='冠军宠物位置应该在0~4之间'
        elif key=='reward_cur_monster_star_level_id':
            if get_reward_monster_star_level_config(int(value))==None:
                data=u'宠物等级奖励序列应在1~18之间'
        elif key=='universal_fragment':
            pass
        elif key=='title':
            if get_the_title_config(int(value))==None:
                data='玩家爵位应在1~21之间'
        elif key=='consumption_point':
            pass
        elif key=='role_id':
            pass
        elif key=='reward_login_series_id':
            pass
        elif key=='reward_cur_monster_kind_id':
            if get_reward_monster_kind_config(int(value))==None:
                data='宠物种类奖励序列应在1~18之间'
        elif key=='has_first_recharge_lst':
            pass
        elif key=='is_stone_one_draw':
            if int(value) not in [0,1]:
                 data='首次钻石单抽状态取值应为0或1,0代表未抽过,1代表抽过'
        elif key=='is_ten_draw':
            if int(value) not in [0,1]:
                data='首次钻石十连抽状态取值应为0或1,0代表未抽过,1代表抽过'
        elif key=='champion_tid':
            cmem_url=server_define.CMEM_MAP[int(server_id)]
            source=memcache.get_cmem_val(cmem_url,model_define.MONSTER_MODEL.format(user_id=user_id))
            # print source['monsters']
            sign=0
            for i in source['monsters']:
                if int(value) == i['tid']:
                    sign=1
            # print sign
            if sign==0:
                data=u'输入的宠物id不属于玩家拥有的宠物之一,请正确输入,玩家现有宠物:'
                for i in source['monsters']:
                    a='(%s:%s)'% (i['tid'],get_monster_config(i['tid'])['name'])
                    data+=a
        elif key=='champion_power':
            pass
        elif key=='name':
            pass
        elif key=='level':
            if int(value)>120 or int(value)<1:
                data=u'玩家等级应在1~120级之间,请输入正确的值'
        elif key=='cur_stage':
            if get_stages_config(int(value))==None:
                data=u'关卡ID输入错误'
        elif key=='reward_cur_monster_quality_id':
            if get_reward_monster_quality_config(int(value))==None:
                data=u'当前宠物品质奖励序列应在1~3之间'
        elif key=='reward_cur_team_combat_power_id':
            if get_reward_team_power(int(value))==None:
                data=u'当前队伍战斗力奖励序列应在1~47之间'
        elif key=='reward_friend_num_id':
            if get_fried_num_config(int(value))==None:
                data=u'好友数量奖励序列应在1~6之间'
        elif key=='reward_cur_monster_level_id':
            if get_reward_monster_level_config(int(value))==None:
                data=u'宠物等级奖励序列应在1~10之间'

        if value <> ''and data=='':
            # print "i'work"
            cmem_url=server_define.CMEM_MAP[int(server_id)]
            if cmem_url:
                source=memcache.get_cmem_val(cmem_url,model_define.PLAYER_MODEL.format(user_id=user_id))
                if eval(typ)==type(value) or (typ=='str' and type(value)==unicode) :
                    #print source,key,value,user_id,type(user_id)
                    old_value = source[key]
                    source[key]=value
                    memcache.put_cmem_val(cmem_url,model_define.PLAYER_MODEL.format(user_id=user_id),source)
                    # 操作日志记录
                    insert_action_edit_player(manager, str(server_id), str(user_id), key, old_value, value)
        return HttpResponse(data)