/// <summary> /// 载入道具返回 /// </summary> /// <param name="dbi"></param> private void loadBack(DbAccessItem dbi) { if (dbi.Result.ErrCode != 0) { SvLogger.Error("DB Access Fail : Op=Load Account, ErrMsg={0}, Data={1}.", dbi.Result.ErrMsg, dbi.SpName); } else { DataTable dt = dbi.OutDs.Tables[0]; foreach (DataRow dr in dt.Rows) { TAccount t = new TAccount(); t.account = HTBaseFunc.NullToStr(dr["LoginName"]); t.token = HTBaseFunc.NullToStr(dr["Token"]); t.showName = HTBaseFunc.NullToStr(dr["ShowName"]); t.power = HTBaseFunc.NullToInt(dr["Power"]); t.createTime = HTBaseFunc.NullToDateTime(dr["CreateTime"]).ToString("yyyy-MM-dd HH:mm:ss"); Account acc = new Account(t); m_dataDic[acc.m_Data.account] = acc; } DataLoadManager.Instance.AddLoadSuccTableCount(); } OnLoadDataFromDBFinish(dbi.Result.ErrCode == 0); }
/// <summary> /// 检查调用保护,返回剩余秒数 /// </summary> /// <param name="campid">匹配ID</param> /// <param name="calledOper">调用操作</param> /// <param name="allowInterval">允许的间隔,毫秒级</param> /// <returns>返回剩余的间隔</returns> public int CheckCall(string campid, string calledOper, int allowInterval) { Hashtable callHash = (Hashtable)_callProtectList[campid]; if (callHash == null) { return(0); } else { if (callHash.Contains(calledOper)) { DateTime endCall = HTBaseFunc.NullToDateTime(callHash[calledOper]).AddMilliseconds(allowInterval); DateTime dtNow = HTBaseFunc.GetTime(0); if (endCall > dtNow) { TimeSpan ts = (TimeSpan)(endCall - dtNow); return((int)ts.TotalMilliseconds); } else { return(0); } } else { return(0); } } }