private void button21_Click(object sender, EventArgs e) { CmdLogs cmd = new CmdLogs() { CardInfoId = 1, CmdInfo = "11111-22222-33333-44444-55555-66666-77777", CmdType = GlareLedSysDefPub.CmdDefSetOilValue, CommDevId = 1, CreateTime = DateTime.Now, Id = 0, IsDetele = 0, Result = 0, ResultInfo = "", UpdateTime = DateTime.Now }; string strError = ""; CmdLogsBll.AddCommDevInfo(ref cmd, out strError); bool bSend = InsertCmdToMemcached(cmd.Id); bool bRecived = false; if (bSend) { for (int i = 1; i < 10; i++) { Thread.Sleep(1000); if (RemoveCmdHandledInMemcached(cmd.Id)) { bRecived = true; break; } } } }
public bool SendCMD(int id, string value) { bool bSend = false; if (!string.IsNullOrWhiteSpace(id.ToString())) { using (LedDb db = new LedDb()) { string strError = string.Empty; GlareSysEfDbAndModels.CmdLogs aLog = new GlareSysEfDbAndModels.CmdLogs() { CardInfoId = id, CmdInfo = value, CmdType = GlareLedSysDefPub.CmdDefSetOilValue, CommDevId = id, CreateTime = DateTime.Now, IsDetele = 0, Result = 0, ResultInfo = "", UpdateTime = DateTime.Now }; bSend = CmdLogsBll.AddCommDevInfo(ref aLog, out strError); bSend = InsertCmdToMemcached(aLog.Id); if (bSend) { for (int i = 1; i < 10; i++) { Thread.Sleep(1000); if (RemoveCmdHandledInMemcached(aLog.Id)) { bSend = true; break; } } } } } else { bSend = false; } return(bSend); }
private void buttonMdyCfg_Click(object sender, EventArgs e) { //1 //双面显示(单面为0x00) //3 //一面三个牌 //5 //每个牌5个8(包含小8) //0 //是否显示9/10 //8 //亮度等级 CmdLogs cmd = new CmdLogs() { CardInfoId = 1, CmdInfo = "1-3-5-0-8", CmdType = GlareLedSysDefPub.CmdDefSetOilCfg, CommDevId = 1, CreateTime = DateTime.Now, Id = 0, IsDetele = 0, Result = 0, ResultInfo = "", UpdateTime = DateTime.Now }; string strError = ""; CmdLogsBll.AddCommDevInfo(ref cmd, out strError); bool bSend = InsertCmdToMemcached(cmd.Id); PiPublic.Log.LogMgr.WriteDebugDefSys("Insert To db,memdb id is:" + cmd.Id + " result is:" + bSend); bool bRecived = false; if (bSend) { for (int i = 1; i < 20; i++) { Thread.Sleep(1000); if (RemoveCmdHandledInMemcached(cmd.Id)) { bRecived = true; break; } } } }
/// <summary> /// 设置小数点 /// </summary> /// <param name="point"></param> /// <returns></returns> public bool SetPoint(int id, int IsDouble, int ScreenCount, string CardModel, int CardPointCount) { string strCardPointCount = string.Format("{0}-{0}-{0}-{0}-{0}-{0}-{0}-{0}-{0}-{0}-{0}-{0}", CardPointCount); // 设置小数点位数 GlareSysEfDbAndModels.CmdLogs cmd = new GlareSysEfDbAndModels.CmdLogs() { CardInfoId = 1, CmdInfo = strCardPointCount,//(默认重复12次,如果carkpoint是2,那么就是2-2-2-2....-2,如果是1则是1-1-1-1...-1),Web界面Add一个save界面 CmdType = GlareLedSysDefPub.CmdDefSetOilDigiCfg, CommDevId = 1, CreateTime = DateTime.Now, Id = 0, IsDetele = 0, Result = 0, ResultInfo = "", UpdateTime = DateTime.Now }; string strError = ""; CmdLogsBll.AddCommDevInfo(ref cmd, out strError); bool bSend = InsertCmdToMemcached(cmd.Id); bool bRecived = false; if (bSend) { for (int i = 1; i < 10; i++) { Thread.Sleep(1000); if (RemoveCmdHandledInMemcached(cmd.Id)) { bRecived = true; break; } } } if (bRecived) { SaveDev(id, IsDouble, ScreenCount, CardModel, CardPointCount); } return(bRecived); }
private void button28_Click(object sender, EventArgs e) { // 读取小数点位数 CmdLogs cmd = new CmdLogs() { CardInfoId = 1, CmdInfo = "", CmdType = GlareLedSysDefPub.CmdDefGetOilDigiCfg, CommDevId = 1, CreateTime = DateTime.Now, Id = 0, IsDetele = 0, Result = 0, ResultInfo = "", UpdateTime = DateTime.Now }; string strError = ""; CmdLogsBll.AddCommDevInfo(ref cmd, out strError); bool bSend = InsertCmdToMemcached(cmd.Id); bool bRecived = false; if (bSend) { for (int i = 1; i < 10; i++) { Thread.Sleep(1000); if (RemoveCmdHandledInMemcached(cmd.Id)) { MessageBox.Show("处理成功,查询数据库获取结果"); bRecived = true; break; } } } }
public void Run() { int iTestNoCmdTickCount = 0; while (_run) { try { Thread.Sleep(100); RemoveHendResultInMemcached(); string strIds = PiPublic.MemcachedMgr.GetVal("NewCmdIds"); PiPublic.MemcachedMgr.SetVal("NewCmdIds", ""); if (strIds.Length == 0) { iTestNoCmdTickCount++; if (iTestNoCmdTickCount > 1000) { iTestNoCmdTickCount = 0; PiPublic.MemcachedMgr.SetVal(GLLedPublic.GlareLedSysDefPub.MemcachedKeyCmdResult, ""); } continue; } PiPublic.Log.LogMgr.WriteDebugDefSys("memcached cmd id is" + strIds); iTestNoCmdTickCount = 0; List <CmdLogs> lstCmd = CmdLogsBll.GetNewCmdsByMinutes(3); if (lstCmd.Count == 0) { // 时间过期到命令 PiPublic.Log.LogMgr.WriteDebugDefSys("memcached cmd timeouted...."); PiPublic.MemcachedMgr.SetVal(GLLedPublic.GlareLedSysDefPub.MemcachedKeyNewCmd, ""); continue; } bool bResult = false; string strResult = ""; foreach (var item in lstCmd) { LogMgr.WriteDebugDefSys("handleing cmd id is" + item.Id + "create dt is" + item.CreateTime); if (item.CreateTime.Value.AddMinutes(1) < DateTime.Now) { RemoveNewCmdInMemcached(item.Id); CmdLogsBll.UpdateACmdResult(item.Id, 99, "timeoutcmd"); continue; } if (item.CmdType == GlareLedSysDefPub.CmdDefSetOilValue) { bResult = SetOilValue(item.CommDevId.Value, item.CmdInfo); CmdLogsBll.UpdateACmdResult(item.Id, bResult ? 1 : 99, bResult ? "Success" : "Failed"); InsertNewHanedMemcached(item.Id); } else if (item.CmdType == GlareLedSysDefPub.CmdDefSetOilCfg) { bResult = SetOilCfg(item.CommDevId.Value, item.CmdInfo); CmdLogsBll.UpdateACmdResult(item.Id, bResult ? 1 : 99, bResult ? "Success" : "Failed"); InsertNewHanedMemcached(item.Id); } else if (item.CmdType == GlareLedSysDefPub.CmdDefGetOilCfg) { bResult = GetOilCfgBySpilits(item.CommDevId.Value, out strResult); CmdLogsBll.UpdateACmdResult(item.Id, bResult ? 1 : 99, strResult); InsertNewHanedMemcached(item.Id); } else if (item.CmdType == GlareLedSysDefPub.CmdDefGetOilValue) { bResult = GetOilValue(item.CommDevId.Value, out strResult); CmdLogsBll.UpdateACmdResult(item.Id, bResult ? 1 : 99, strResult); InsertNewHanedMemcached(item.Id); } else if (item.CmdType == GlareLedSysDefPub.CmdDefSetOilDigiCfg) { bResult = SetOilDigi(item.CommDevId.Value, item.CmdInfo); CmdLogsBll.UpdateACmdResult(item.Id, bResult ? 1 : 99, bResult ? "Success" : "Failed"); InsertNewHanedMemcached(item.Id); } else if (item.CmdType == GlareLedSysDefPub.CmdDefGetOilDigiCfg) { bResult = GetOilDigiCfgBySpilits(item.CommDevId.Value, out strResult); CmdLogsBll.UpdateACmdResult(item.Id, bResult ? 1 : 99, strResult); InsertNewHanedMemcached(item.Id); } else { } } } catch (Exception ex) { LogMgr.WriteErrorDefSys("cmd op thread ex:"); LogMgr.WriteErrorDefSys(ex.Message); } } }
public ActionResult Setcfg(int id, int IsDouble, int ScreenCount, string CardModel, int CardPointCount) { object objResult = null; if (!string.IsNullOrWhiteSpace(id.ToString())) { using (LedDb db = new LedDb()) { string strError = string.Empty; //1 //双面显示(单面为0x00) isdouble //3 //一面三个牌 screencount //5 //每个牌5个8(包含小8) 价格数字的数量(CardModel,例如:GL-88888,那就填写5,GL-88888-8(上标小字),填写6 //0 //是否显示9/10(如果是GL-888-8-910,则为1,否则为0) //8 //亮度等级,永远写8 string CmdInfo = ""; if (IsDouble == 1)//双面显示 { CmdInfo = "1"; } else { CmdInfo = "0x00"; } CmdInfo = CmdInfo + "-" + ScreenCount.ToString();//screencount string strEightModel = CardModel.Replace("GL", "").Replace("-", ""); int iEightCount = strEightModel.Length; CmdInfo = CmdInfo + "-" + iEightCount.ToString(); //每个牌5个8(包含小8) if (CardModel.Contains("910")) //是否显示9/10 { CmdInfo = CmdInfo + "-1"; } else { CmdInfo = CmdInfo + "-0"; } CmdInfo = CmdInfo + "-8";//亮度 GlareSysEfDbAndModels.CmdLogs cmd = new GlareSysEfDbAndModels.CmdLogs() { CardInfoId = id, CmdInfo = CmdInfo, CmdType = GlareLedSysDefPub.CmdDefSetOilCfg, CommDevId = id, CreateTime = DateTime.Now, Id = 0, IsDetele = 0, Result = 0, ResultInfo = "", UpdateTime = DateTime.Now }; CmdLogsBll.AddCommDevInfo(ref cmd, out strError); bool bSend = InsertCmdToMemcached(cmd.Id); bool bRecived = false; if (bSend) { for (int i = 1; i < 10; i++) { Thread.Sleep(1000); if (RemoveCmdHandledInMemcached(cmd.Id)) { bRecived = true; break; } } } if (bRecived) { bool bSetPoint = SetPoint(id, IsDouble, ScreenCount, CardModel, CardPointCount); if (bSetPoint) { objResult = new ResultHelper() { Desc = "Command issued Success", Msg = "Command issued Success", Obj = cmd, Ret = 1, Status = true }; } else { objResult = new ResultHelper() { Desc = "Setcfg Success,Command issued Faile,please try again", Msg = "Setcfg Success,Command issued Faile,please try again", Obj = cmd, Ret = -1, Status = false }; } } else { objResult = new ResultHelper() { Status = false, Ret = -1, Obj = null, Msg = strError, Desc = strError }; } } } else { objResult = new ResultHelper() { Status = false, Ret = -1, Obj = null, Msg = "id is null,Please try again later", Desc = "id is null,Please try again later" }; } return(Json(objResult)); }
public ActionResult SendCMD(int id, string value) { object objResult = null; if (!string.IsNullOrWhiteSpace(id.ToString())) { using (LedDb db = new LedDb()) { string strError = string.Empty; GlareSysEfDbAndModels.CmdLogs aLog = new GlareSysEfDbAndModels.CmdLogs() { CardInfoId = id, CmdInfo = value, CmdType = GlareLedSysDefPub.CmdDefSetOilValue, CommDevId = id, CreateTime = DateTime.Now, IsDetele = 0, Result = 0, ResultInfo = "", UpdateTime = DateTime.Now }; bool bSend = CmdLogsBll.AddCommDevInfo(ref aLog, out strError); bSend = InsertCmdToMemcached(aLog.Id); bool bRecived = false; if (bSend) { for (int i = 1; i < 10; i++) { Thread.Sleep(1000); if (RemoveCmdHandledInMemcached(aLog.Id)) { bRecived = true; break; } } } if (bRecived) { objResult = new ResultHelper() { Desc = "Command issued Success", Msg = "Command issued Success", Obj = aLog, Ret = 1, Status = true }; } else { objResult = new ResultHelper() { Status = false, Ret = -1, Obj = null, Msg = strError, Desc = strError }; } } } else { objResult = new ResultHelper() { Status = false, Ret = -1, Obj = null, Msg = "id is null,Please try again later", Desc = "id is null,Please try again later" }; } return(Json(objResult)); }