using Newtonsoft.Json; using Server.SQL; using static Server.Scheduler.SessionScheduler; namespace Server.System { public abstract class AbstractService { public abstract Protocol ProtocolValue(); public abstract string Process(); public abstract Req Requst(string json); public virtual bool Session(Req req) { if(req.uuid == "") return false; return true; } } /// /// 입력 요청 데이터 /// public abstract class Req { public Protocol cmd; public string uuid; public User user; public virtual bool IsReceivedAllField() { return true; } public virtual bool GetRedis() { try { Dictionary hash = Statics.redis.GetAllHash("UserInfo", uuid); user.id = (int)hash["id"]; user.uuid = (string)hash["uuid"]; user.mail = (string)hash["mail"]; user.nickname = (string)hash["nickname"]; user.gold = (int)hash["gold"]; user.free_cash = (int)hash["free_cash"]; user.pay_cash = (int)hash["pay_cash"]; Statics.redis.SetHash("end_login", DateTime.Now, "UserInfo", uuid); return true; } catch (Exception e) { return false; } } } /// /// 반환 데이터 /// public abstract class Resp { public int status = 200; public virtual string ToJson() { return JsonConvert.SerializeObject(this); } } }