Ejemplo n.º 1
0
def search(request):
    '''
    查询玩家信息
    '''
    server = get_server_by_request(request)
    userID = request.POST.get("playerId")
    data = dict(request.POST.items())
    data["severId"] = server.id
    data["playerId"] = ','.join(data["playerId"].split("\r\n"))
    data_urlencode = urllib.urlencode(data)
    url = "%s/gmapi/player/query/?" % server.gm_url
    url_get = url + data_urlencode
    result,dt = url_request_handler(url_get)
    if result:
        response = dt
    else:
        msg_dict = dt
        ctxt = RequestContext(request,msg_dict)
        return render_to_response("error.html", ctxt)
    res = simplejson.loads(response.read())
    # if res.has_key("player"):
    canBan = check_func(request, FUNC_USER_BAN)
    canGag = check_func(request, FUNC_USER_GAG)

    resdata = {
        "serverID":server.pk,
        "userID":userID,
        "canBan":canBan,
        "canGag":canGag,
        "playerinfos":res
    }
    print resdata,"$$$$"
    ctxt = RequestContext(request,resdata)

    return render_to_response("user/search.html", ctxt)
Ejemplo n.º 2
0
def by_plat(request):
    '''
    通过平台单号查询订单
    '''
    server = get_server_by_request(request)
    data = dict(request.POST.items())
    data["severId"] = server.id
    #data["playerId"] = ','.join(data["playerId"].split("\r\n"))
    data_urlencode = urllib.urlencode(data)
    print data_urlencode
    url = "%s/gmapi/order/plat/orderid/?" % server.gm_url
    url_get = url + data_urlencode
    result, dt = url_request_handler(url_get)
    if result:
        response = dt
    else:
        msg_dict = dt
        ctxt = RequestContext(request, msg_dict)
        return render_to_response("error.html", ctxt)
    res = simplejson.loads(response.read())
    resdata = {
        "ret": res["success"],
        "msg": res["message"],
        "orders": res["data"],
    }

    ctxt = RequestContext(request, resdata)
    return render_to_response("order/search_result.html", ctxt)
Ejemplo n.º 3
0
def send_mail(request):
    '''
    发送系统邮件
    '''
    server = get_server_by_request(request)
    #userID = request.POST["playerIdList"]
    data = dict(request.POST.items())
    data["severId"] = server.id
    data["playerIdList"] = ','.join(data["playerIdList"].split("\r\n"))
    data_urlencode = urllib.urlencode(data)
    url = "%s/gmapi/mail/sends/?" % server.gm_url
    url_get = url + data_urlencode
    result, dt = url_request_handler(url_get)
    if result:
        response = dt
    else:
        msg_dict = dt
        ctxt = RequestContext(request, msg_dict)
        return render_to_response("error.html", ctxt)
    res = simplejson.loads(response.read())
    userCount = len(data["playerIdList"].split(","))
    countList = range(1, userCount + 1)
    if data["playerIdList"] == "all":
        all = True
    else:
        all = False
    resdata = {"all": all, "userCount": userCount, "data": res}

    ctxt = RequestContext(request, resdata)
    return render_to_response("mail/send_result.html", ctxt)
Ejemplo n.º 4
0
def query(request):
    '''
    查看玩家物品
    '''
    server = get_server_by_request(request)
    userID = request.POST.get("playerId")
    data = dict(request.POST.items())
    server = get_server_by_request(request)
    data["severId"] = server.id
    data_urlencode = urllib.urlencode(data)
    print data_urlencode
    print server.id
    if data["type"] == "hero":
        return query_hero(request,data_urlencode,server.gm_url)
    elif data["type"] == "item":
        return query_item(request,data_urlencode,server.gm_url)
    elif data["type"] == "equip":
        return query_equip(request,data_urlencode,server.gm_url)
    elif data["type"] == "equipfragment":
        return query_equipfragment(request,data_urlencode,server.gm_url)
    elif data["type"] == "artifact":
        return query_artifact(request,data_urlencode,server.gm_url)
    elif data["type"] == "artifactfragment":
        return query_artifactfragment(request,data_urlencode,server.gm_url)
    elif data["type"] == "building":
        return query_building(request,data_urlencode,server.gm_url)
    elif data["type"] == "buildingfragment":
        return query_buildingfragment(request,data_urlencode,server.gm_url)
    elif data["type"] == "plant":
        return query_plant(request,data_urlencode,server.gm_url)
    elif data["type"] == "soulfragment":
        return query_soulfragment(request,data_urlencode,server.gm_url)
    elif data["type"] == "pve":
        return query_pve(request,data_urlencode,server.gm_url)
    elif data["type"] == "elementtower":
        return query_elementtower(request,data_urlencode,server.gm_url)
    else:
        return HttpResponse(u"请求信息不足!",content_type='text/plain')
Ejemplo n.º 5
0
def send(request):
    '''
    发放物品
    '''
    server = get_server_by_request(request)
    data = dict(request.POST.items())
    data["severId"] = server.id
    data_urlencode = urllib.urlencode(data)
    url = "%s/gmapi/send/send/?" % server.gm_url
    url_get = url + data_urlencode
    req = urllib2.Request(url_get)
    response = urllib2.urlopen(req)
    res = simplejson.loads(response.read())
    resdata = {
    "ret":res["success"],
    "msg":res["message"],
    }

    ctxt = RequestContext(request,resdata)
    return render_to_response("result.html", ctxt)
Ejemplo n.º 6
0
def get_action_info(request):
    '''
    查看玩家行为数据
    '''
    playerId = request.POST.get("player_id","")
    action_dict = dict(request.POST.items())
    del action_dict["player_id"]
    del action_dict["start_time"]
    del action_dict["end_time"]
    server = get_server_by_request(request)
    #db = client["%s_s%s" % (settings.PLATFORM_PREFIX, server.id)]
    startTime = request.POST.get("start_time","")
    endTime = request.POST.get("end_time","")
    player_id = int(server.id) * 1000000000 + int(playerId)
    err_message = u""

    try:
        start_datetime = datetime.datetime.strptime(startTime,'%Y-%m-%d %H:%M')
        end_datetime = datetime.datetime.strptime(endTime,'%Y-%m-%d %H:%M')
        if end_datetime <= start_datetime:
            err_message = u"开始时间必须小于结束时间!"
    except:
        err_message = u"请输入正确的开始时间和结束时间!"

    datas = []
    if not err_message:
        db = client["%s_s%s" % (settings.PLATFORM_PREFIX, server.id)]

        log_date = start_datetime.date()
        start_date = start_datetime.date()
        end_date = end_datetime.date()
        list_date = start_date
        date_list = [start_date]
        if list_date < end_date:
            list_date += datetime.timedelta(days = 1)
            date_list.append(list_date)
        for date in date_list:
            table = db["log_%s%s%s" % (date.year, str(date.month).rjust(2, "0"), str(date.day).rjust(2, "0"))]
            for action in action_dict.keys():
                if date == start_date == end_date:
                    data = list(table.find({"user_id":str(player_id), "action":str(action), "category":{"$in": request.POST.getlist(str(action))}, "action_time":{"$gte": startTime, "$lte": endTime}}).sort("action_time",pymongo.ASCENDING))
                elif date == start_date:
                    data = list(table.find({"user_id":str(player_id), "action":str(action), "category":{"$in": request.POST.getlist(str(action))}, "action_time":{"$gte": startTime}}).sort("action_time",pymongo.ASCENDING))
                elif date == end_date:
                    data = list(table.find({"user_id":str(player_id), "action":str(action), "category":{"$in": request.POST.getlist(str(action))}, "action_time":{"$lte": endTime}}).sort("action_time",pymongo.ASCENDING))
                else:
                    data = list(table.find({"user_id":str(player_id), "action":str(action), "category":{"$in": request.POST.getlist(str(action))}}).sort("action_time",pymongo.ASCENDING))
                datas.extend(data)

        for action_data in datas:
            action_data["message"] = eval(action_data["message"])
            action_data["info"] = action_data["message"].get("info","")
            del action_data["message"]["info"]
            # action_data["message"]["before"] = action_data["message"].get("before",-1)
            # action_data["message"]["after"] = action_data["message"].get("after",-1)

        resdata = {
            "ret":True,
            "actions_info":datas,
            }
        print datas
    else:
        resdata = {
        "ret":False,
        "msg":err_message,
        }

    ctxt = RequestContext(request,resdata)

    return render_to_response("action/action_result.html", ctxt)