/// <summary> /// 添加日志(余额变动) /// </summary> /// <param name="log"></param> internal void AddRecord(long OperateId, long?OperateSubId, string OperateName, long BalanceType, string session = null, ToServerService toServer = null, string model = null, bool ForceBalanceChange = false) { Log log = new Log(); Client client = Resources.GetRes().Services.Where(x => x.SessionId == session).FirstOrDefault(); if (null != client) { log.AdminId = client.AdminId; log.DeviceId = client.DeviceId; } if (null != toServer) { // 复制SessionId序列化后再恢复是因为, 序列化中不需要包括它, 节省数据库空间, 恢复它是为了防止它变空以后后续操作(如推送通知需要sessionId)收到影响 string sessionId = toServer.SessionId; toServer.SessionId = null; model = JsonConvert.SerializeObject(toServer); toServer.SessionId = sessionId; } log.OperateId = OperateId; log.OperateSubId = OperateSubId; log.OperateName = OperateName; log.BalanceType = BalanceType; double currentHash = RefreshBalanceHash(false); if (currentHash != LastBalanceHash || ForceBalanceChange) { log.IsBalanceChange = 1; log.Balance = JsonConvert.SerializeObject(Resources.GetRes().BALANCES.ToList().Select(x => { return(x.FastCopy().ReChangeBalance()); }).ToList()); LastBalanceHash = currentHash; } log.AddTime = long.Parse(DateTime.Now.ToString("yyyyMMddHHmmss")); if (null != model) { log.Model = model; } lock (AccessLogs) { AccessLogs.Add(log); } }
/// <summary> /// 添加日志 /// </summary> /// <param name="log"></param> internal void AddRecord(long OperateId, long?OperateSubId, string OperateName, string session = null, ToServerService toServer = null, string model = null) { Log log = new Log(); Client client = Resources.GetRes().Services.Where(x => x.SessionId == session).FirstOrDefault(); if (null != client) { log.AdminId = client.AdminId; log.DeviceId = client.DeviceId; } if (null != toServer) { // 复制SessionId序列化后再恢复是因为, 序列化中不需要包括它, 节省数据库空间, 恢复它是为了防止它变空以后后续操作(如推送通知需要sessionId)收到影响 string sessionId = toServer.SessionId; toServer.SessionId = null; model = JsonConvert.SerializeObject(toServer); toServer.SessionId = sessionId; } log.OperateId = OperateId; log.OperateSubId = OperateSubId; log.OperateName = OperateName; log.AddTime = long.Parse(DateTime.Now.ToString("yyyyMMddHHmmss")); if (null != model) { log.Model = model; } lock (AccessLogs) { AccessLogs.Add(log); } }