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