//处理车辆节点消息 private void DealVehicleStatusResponse(object obj) { try { VehicleStatusResponse vs = (VehicleStatusResponse)obj; CarState cs = getCsFromVs(vs); CoreService.GetInstance().OtherMsgServer.SendCarStep(cs); } catch (Exception ex) { LOG.LogHelper.WriteLog("", ex); } }
private CarState getCsFromVs(VehicleStatusResponse vs) { CarState cs = new CarState(); try { int i; DateTime dt; cs.CASEID = vs.caseid; if (int.TryParse(vs.cccc, out i)) cs.CCCC = int.Parse(vs.cccc); if (DateTime.TryParse(vs.sj, out dt)) cs.SJ = DateTime.Parse(vs.sj); cs.CLID = vs.clid; cs.TASK_TERMINATION_REASON = vs.reason; cs.ZT = vs.zt; cs.LSH = vs.lsh; } catch (Exception ex) { LOG.LogHelper.WriteLog("", ex); } return cs; }
/// <summary> /// RecvMessage事件,并存入消息处理队列_revBSSMsg /// </summary> /// <param name="sender"></param> /// <param name="e"></param> #region private void tsh_RecvMessage(object sender, NetEventArgs e) { //<LoginMsg> // <RoutID>3201</RoutID> // <TLX>PDEP</TLX> // <TName>江苏省交换服务器</TName> //</LoginMsg> try { int msgno = e.msgEntity.msgH.msgID; string body = Encoding.Default.GetString(e.msgEntity.msgB); dtLastRecieveMsgTime = DateTime.Now; LogHelper.WriteSevNetMsgLog(body); switch (msgno) { case 1000: //Handshake Handshake hk = new Handshake(); hk = (Handshake)JSON.JsonToObject(body,hk); if (hk != null) _revBSSMsg.Enqueue(new DesMsg(DesMsgType.Handshake, hk, body)); break; case 1002: //LoginReponse LoginResponse lr = new LoginResponse(); lr = (LoginResponse)JSON.JsonToObject(body,lr); if (lr != null) _revBSSMsg.Enqueue(new DesMsg(DesMsgType.LoginResponse, lr, body)); break; case 1004: //LoginoffReponse LogoffResponse lfr = new LogoffResponse(); lfr = (LogoffResponse)JSON.JsonToObject(body,lfr); if (lfr != null) _revBSSMsg.Enqueue(new DesMsg(DesMsgType.LogoffResponse, lfr, body)); break; case 7001: //DispatchCarNotice DispatchCarNotice pc = new DispatchCarNotice(); pc=(DispatchCarNotice)JSON.JsonToObject(body,pc); if (pc != null) _revBSSMsg.Enqueue(new DesMsg(DesMsgType.DispatchCarNotice, pc, body)); break; case 7002: //VehicleStatusResponse VehicleStatusResponse vs = new VehicleStatusResponse(); vs = (VehicleStatusResponse)JSON.JsonToObject(body, vs); if (vs != null) _revBSSMsg.Enqueue(new DesMsg(DesMsgType.VehicleStatusResponse, vs, body)); break; case 7004: //VehiclePointResponse VehiclePointResponse vp = new VehiclePointResponse(); vp = (VehiclePointResponse)JSON.JsonToObject(body, vp); if (vp != null) _revBSSMsg.Enqueue(new DesMsg(DesMsgType.VehiclePointResponse, vp, body)); break; default: break; } } catch (Exception ex) { LOG.LogHelper.WriteLog("", ex); } }