using System; using System.Threading; using System.Collections.Concurrent; using Sog.Service; using Sog; using ProtoCSStruct; using System.Text.RegularExpressions; using System.Collections.Generic; using Org.BouncyCastle.Bcpg; using Org.BouncyCastle.Ocsp; namespace Operation { public class ExchangeCodeSvc : BaseReloadableService { public override int GetServiceType() { return OperationServiceType.ExchangeCodeSvc; } public override void Dispose() { } public ExchangeCodeSvc() { } public void OnExchangeSaveDbRes(uint serverID, StructPacket packet) { ref SSExchangeCodeSaveDbRes res = ref packet.GetMessage(); HttpRequestInfo m_request = null; try { var id = res.Seq; TraceLog.Debug("ExchangeCodeSvc.OnExchangeSaveDbRes 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); Exchange.OnSaveDbMsg(id, builder, m_request.Http.httpResponse, m_request.Http.httpRequest, queryParams, ref res); m_request.Http.httpResponse.ContentAsUTF8 = builder.ToJson(); } catch (Exception ex) { TraceLog.Error("ExchangeCodeSvc.OnExchangeSaveDbRes Error Msg {0}", ex.Message); } finally { if (m_request != null) { m_request.ProcessEnd = true; } } } public void OnExchangeChangeStatusDbRes(uint serverID, StructPacket packet) { ref SSExchangeStatusChangeRes res = ref packet.GetMessage(); HttpRequestInfo m_request = null; try { var id = (uint)res.ReqId; TraceLog.Debug("ExchangeCodeSvc.OnExchangeChangeStatusDbRes reqId {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); Exchange.OnMsgChange(id, builder, m_request.Http.httpResponse, m_request.Http.httpRequest, queryParams, ref res); m_request.Http.httpResponse.ContentAsUTF8 = builder.ToJson(); } catch (Exception ex) { TraceLog.Error("ExchangeCodeSvc.OnExchangeChangeStatusDbRes Error Msg {0}", ex.Message); } finally { if (m_request != null) { m_request.ProcessEnd = true; } } } public void OnExchangeQueryDbRes(uint serverID, StructPacket packet) { ref SSExchangeCodeQueryDbRes res = ref packet.GetMessage(); HttpRequestInfo m_request = null; try { var id = res.ReqId; TraceLog.Debug("ExchangeCodeSvc.OnExchangeQueryDbRes 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); Exchange.OnMsgSelect(id, builder, m_request.Http.httpResponse, m_request.Http.httpRequest, queryParams, ref res); m_request.Http.httpResponse.ContentAsUTF8 = builder.ToJson(); } catch (Exception ex) { TraceLog.Error("ExchangeCodeSvc.OnExchangeQueryDbRes Error Msg {0}", ex.Message); } finally { if (m_request != null) { m_request.ProcessEnd = true; } } } public void SaveExchangeCodeData(ref ExchangeConfigure one, uint reqId) { StructPacket dbPacket = new StructPacket(); dbPacket.Header.Type = (int)SSGameMsgID.ExchangeSaveDbReq; StructMessageParser parser = new StructMessageParser(); dbPacket.Parser = parser; ref SSExchangeCodeSaveDbReq req = ref dbPacket.GetMessage(); req.Data.CopyFrom(ref one); req.Seq = reqId; OperationServerUtils.GetPacketSender().SendToPlayerOpServer((int)SSGameMsgID.ExchangeSaveDbReq, ref req, 0); } } }