/// <summary> /// 处理心跳上传请求 /// </summary> /// <param name="request"></param> /// <returns></returns> public KeepaliveResponse HandleKeepaliveResponse(KeepaliveRequest request) { System.DateTime CurrentTime = new System.DateTime(); CurrentTime = System.DateTime.Now; KeepaliveResponse response = new KeepaliveResponse { DeviceId = request.DeviceId, DeviceType = request.DeviceType, ClientTime = request.ClientTime, ServerTime = CurrentTime.ToString() }; onlineDeviceService.InsertOrUpDateOnlineDeceive(request); return(response); }
/// <summary> /// 保存或更新在线信息 zfc /// </summary> /// <param name="request"></param> public void InsertOrUpDateOnlineDeceive(KeepaliveRequest request) { var onlineDevice = onlineDeviceDAO.GetByClientId(request.DeviceId); if (onlineDevice == null) { //插入 onlineDevice = new OnlineDevice(); string name_zh = ""; string name_en = ""; //设置设备中英文设备名称 switch (request.DeviceType) { case DeviceType.P00: name_en = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.EN, "Dev.Rowing"); name_zh = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.ZH, "Dev.Rowing"); break; case DeviceType.P01: name_en = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.EN, "Dev.SittingBreastPusher"); name_zh = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.ZH, "Dev.SittingBreastPusher"); break; case DeviceType.P02: name_en = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.EN, "Dev.HorizontalLegPress"); name_zh = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.ZH, "Dev.HorizontalLegPress"); break; case DeviceType.P03: name_en = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.EN, "Dev.AbdominalMuscleTraining"); name_zh = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.ZH, "Dev.AbdominalMuscleTraining"); break; case DeviceType.P04: name_en = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.EN, "Dev.TricepsTraining"); name_zh = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.ZH, "Dev.TricepsTraining"); break; case DeviceType.P05: name_en = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.EN, "Dev.HipAbduction"); name_zh = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.ZH, "Dev.HipAbduction"); break; case DeviceType.P06: name_en = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.EN, "Dev.LegBender"); name_zh = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.ZH, "Dev.LegBender"); break; case DeviceType.P07: name_en = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.EN, "Dev.Butterfly"); name_zh = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.ZH, "Dev.Butterfly"); break; case DeviceType.P08: name_en = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.EN, "Dev.ReverseButterfly"); name_zh = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.ZH, "Dev.ReverseButterfly"); break; case DeviceType.P09: name_en = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.EN, "Dev.SittingBack"); name_zh = LanguageUtils.GetLanuageStrByLanguageAndKey(LanguageUtils.ZH, "Dev.SittingBack"); break; default: break; } onlineDevice.od_gmt_modified = DateTime.Now; onlineDevice.od_clientid = request.DeviceId; onlineDevice.od_clientname_en = name_en; onlineDevice.od_clientname_ch = name_zh; //插入记录 onlineDeviceDAO.Insert(onlineDevice); } else { //更新心跳时间 onlineDeviceDAO.UpdateOnlineTime(onlineDevice.pk_od_id, DateTime.Now); } }