You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
3.0 KiB
82 lines
3.0 KiB
using LitJson;
|
|
using ProtoCSStruct;
|
|
using Sog;
|
|
using System;
|
|
using SimpleHttpServer;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Operation
|
|
{
|
|
internal class GMReward
|
|
{
|
|
[RequestMapping("reward测试", PermissionCode.PERMISSION_NONE, isMenu: false, toLog: false,ignored: true)]
|
|
public static int OnReward(string httpApiCmd, JsonData jsonData, HttpResponse rsp, HttpRequest request,
|
|
HttpQueryParams query, uint httpContextId)
|
|
{
|
|
TraceLog.Trace("GMReward.OnReward Url{0},param count {1}, httpContextId {2}",
|
|
request.Url, query.Count, httpContextId);
|
|
string rewardId = query.GetValue("rewardId");
|
|
string times = query.GetValue("times");
|
|
string rid = query.GetValue("rid");
|
|
|
|
long objectId = 0;
|
|
|
|
|
|
rsp.IsWaitFor = true;
|
|
SSGMReward req = new SSGMReward();
|
|
req.Id = httpContextId;
|
|
req.Reward.SetString(rewardId);
|
|
req.Times = int.Parse(times);
|
|
req.Rid = long.Parse(rid);
|
|
objectId = req.Rid;
|
|
|
|
OperationServerUtils.SendToWorld((int)SSGameMsgID.Reward, ref req, objectId, 0, "");
|
|
return 0;
|
|
}
|
|
|
|
|
|
public static void OnRewardRes(uint serverId, StructPacket packet)
|
|
{
|
|
HttpRequestInfo m_request = null;
|
|
try
|
|
{
|
|
ref var res = ref packet.GetMessage<SSGMRewardRes>();
|
|
var id = res.Id;
|
|
TraceLog.Debug("GMReward.OnRewardRes uid {0} ", id);
|
|
m_request = OperationServer.m_httpService.m_requestList.Find(f => f.Http.id == id);
|
|
LitJson.JsonData builder = new LitJson.JsonData();
|
|
HttpQueryParams queryParams = new HttpQueryParams(m_request.Http.httpRequest.Url);
|
|
//OnServerMonitorMsg(id, builder, m_request.Http.httpResponse, m_request.Http.httpRequest, queryParams,
|
|
// ref res);
|
|
m_request.Http.httpResponse.ContentAsUTF8 = res.Json.GetString();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
TraceLog.Error("GMReward.OnRewardRes Error Msg {0}", ex.Message);
|
|
}
|
|
finally
|
|
{
|
|
if (m_request != null)
|
|
{
|
|
m_request.ProcessEnd = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void OnServerMonitorMsg(uint id, JsonData payload, HttpResponse rsp, HttpRequest request,
|
|
HttpQueryParams query, ref SSGMRewardRes res)
|
|
{
|
|
rsp.IsWaitFor = false;
|
|
payload["type"] = 0; // 0标准json 显示。1:类Json显示,3:表格显示
|
|
payload["code"] = 0;
|
|
payload["rewardId"] = res.Reward.GetString();
|
|
payload["times"] = res.Times;
|
|
payload["rid"] = res.Rid;
|
|
payload["res"] = res.Json.GetString();
|
|
|
|
}
|
|
}
|
|
}
|
|
|