private void deleteData() { foreach (int rid in this.dataCache.Keys) { List <BaiTanLogItemData> list = null; this.dataCache.TryGetValue(rid, out list); if (list != null && list.Count != 0) { string minTime = list[list.Count - 1].BuyTime; int deleteCount = BaiTanLogDBController.getInstance().delete(rid, minTime); } } }
/// <summary> /// 定期删除多余的数据 /// </summary> private void deleteData() { foreach (int rid in dataCache.Keys) { List <BaiTanLogItemData> list = null; dataCache.TryGetValue(rid, out list); if (null == list || list.Count == 0) { continue; } string minTime = list[list.Count - 1].BuyTime; int deleteCount = BaiTanLogDBController.getInstance().delete(rid, minTime); } }
/// <summary> /// 摆摊日志触发处理 /// </summary> /// <param name="bhId"></param> /// <param name="roleName"></param> /// <param name="shijianType"></param> /// <param name="param1"></param> /// <param name="param2"></param> /// <param name="param3"></param> public void onAddBaiTanLog(BaiTanLogItemData data) { List <BaiTanLogItemData> _dataList = null; List <BaiTanLogItemData> _dataList2 = null; lock (dataCache) { if (!dataCache.TryGetValue(data.rid, out _dataList)) { _dataList = new List <BaiTanLogItemData>(); dataCache.Add(data.rid, _dataList); } if (!dataCache.TryGetValue(data.OtherRoleID, out _dataList2)) { _dataList2 = new List <BaiTanLogItemData>(); dataCache.Add(data.OtherRoleID, _dataList2); } } lock (_dataList) { //将最新的数据插入到最前面 _dataList.Insert(0, data); //超过规定容量,删除最后一个 if (_dataList.Count > MaxCacheNum) { _dataList.RemoveAt(_dataList.Count - 1); } } lock (_dataList2) { //将最新的数据插入到最前面 _dataList2.Insert(0, data); //超过规定容量,删除最后一个 if (_dataList2.Count > MaxCacheNum) { _dataList2.RemoveAt(_dataList2.Count - 1); } } BaiTanLogDBController.getInstance().insert(data); }
public bool initialize() { List <BaiTanLogItemData> dataList = BaiTanLogDBController.getInstance().getBaiTanLogItemDataList(); if (null == dataList) { return(true); } foreach (BaiTanLogItemData data in dataList) { List <BaiTanLogItemData> _dataList = null; //卖出日志 if (!dataCache.TryGetValue(data.rid, out _dataList)) { _dataList = new List <BaiTanLogItemData>(); dataCache.Add(data.rid, _dataList); } if (_dataList.Count >= MaxCacheNum) { continue; } _dataList.Add(data); //购买日志 if (!dataCache.TryGetValue(data.OtherRoleID, out _dataList)) { _dataList = new List <BaiTanLogItemData>(); dataCache.Add(data.OtherRoleID, _dataList); } if (_dataList.Count >= MaxCacheNum) { continue; } _dataList.Add(data); } return(true); }
public bool initialize() { List <BaiTanLogItemData> dataList = BaiTanLogDBController.getInstance().getBaiTanLogItemDataList(); bool result; if (null == dataList) { result = true; } else { foreach (BaiTanLogItemData data in dataList) { List <BaiTanLogItemData> _dataList = null; if (!this.dataCache.TryGetValue(data.rid, out _dataList)) { _dataList = new List <BaiTanLogItemData>(); this.dataCache.Add(data.rid, _dataList); } if (_dataList.Count < BaiTanManager.MaxCacheNum) { _dataList.Add(data); if (!this.dataCache.TryGetValue(data.OtherRoleID, out _dataList)) { _dataList = new List <BaiTanLogItemData>(); this.dataCache.Add(data.OtherRoleID, _dataList); } if (_dataList.Count < BaiTanManager.MaxCacheNum) { _dataList.Add(data); } } } result = true; } return(result); }
public void onAddBaiTanLog(BaiTanLogItemData data) { List <BaiTanLogItemData> _dataList = null; List <BaiTanLogItemData> _dataList2 = null; lock (this.dataCache) { if (!this.dataCache.TryGetValue(data.rid, out _dataList)) { _dataList = new List <BaiTanLogItemData>(); this.dataCache.Add(data.rid, _dataList); } if (!this.dataCache.TryGetValue(data.OtherRoleID, out _dataList2)) { _dataList2 = new List <BaiTanLogItemData>(); this.dataCache.Add(data.OtherRoleID, _dataList2); } } lock (_dataList) { _dataList.Insert(0, data); if (_dataList.Count > BaiTanManager.MaxCacheNum) { _dataList.RemoveAt(_dataList.Count - 1); } } lock (_dataList2) { _dataList2.Insert(0, data); if (_dataList2.Count > BaiTanManager.MaxCacheNum) { _dataList2.RemoveAt(_dataList2.Count - 1); } } BaiTanLogDBController.getInstance().insert(data); }