/// <summary> /// 获取二维码座位信息 /// </summary> /// <param name="codeStr"></param> /// <returns></returns> public string QRcodeSeatInfo(string codeStr) { try { AJM_HandleResult result = new AJM_HandleResult(); string[] scanResultArray = codeStr.Split('?'); ScanCodeParamModel scancode = null; if (scanResultArray.Length >= 2) { string[] strParam = scanResultArray[1].Split('='); if (strParam.Length >= 2) { scancode = ScanCodeParamModel.Prase(strParam[1]);//兼容url的二维码。 } } else { scancode = ScanCodeParamModel.Prase(codeStr); } if (scancode == null) { result.Result = false; result.Msg = "二维码错误!"; return(JSONSerializer.Serialize(result)); } Seat seatInfo = SeatManageDateService.GetSeatInfoBySeatNum(scancode.SeatNum); if (seatInfo == null) { result.Result = false; result.Msg = "此座位不存在!"; return(JSONSerializer.Serialize(result)); } AJM_SeatStatus jm_Seat = new AJM_SeatStatus(); jm_Seat.SeatNo = seatInfo.SeatNo; jm_Seat.SeatShortNo = seatInfo.ShortSeatNo; jm_Seat.RoomName = seatInfo.ReadingRoom.Name; jm_Seat.RoomNo = seatInfo.ReadingRoom.No; jm_Seat.IsStopUse = seatInfo.IsSuspended; if (seatInfo.ReadingRoom.Setting.SeatBespeak.Used && !seatInfo.IsSuspended) { DateTime ndt = DateTime.Now; if (seatInfo.ReadingRoom.Setting.SeatBespeak.NowDayBespeak && seatInfo.SeatUsedState == EnterOutLogType.Leave) { jm_Seat.BespeakDate.Add(ndt.ToShortDateString(), seatInfo.ReadingRoom.Setting.GetBespeakTimeList(ndt).Select(t => t.ToShortTimeString()).ToList()); } for (int i = 1; i <= seatInfo.ReadingRoom.Setting.SeatBespeak.BespeakBeforeDays; i++) { List <BespeakLogInfo> list = SeatManageDateService.GetBespeakLogInfoBySeatNo(seatInfo.SeatNo, ndt.AddDays(i)); if (list.Count > 0 && !seatInfo.ReadingRoom.Setting.IsCanBespeakSeat(ndt.AddDays(i))) { continue; } jm_Seat.BespeakDate.Add(ndt.AddDays(i).ToShortDateString(), seatInfo.ReadingRoom.Setting.GetBespeakTimeList(ndt.AddDays(i)).Select(t => t.ToShortTimeString()).ToList()); } } result.Result = true; result.Msg = JSONSerializer.Serialize(jm_Seat); return(JSONSerializer.Serialize(result)); } catch (Exception ex) { WriteLog.Write("获取二维码信息遇到异常:" + ex.Message); AJM_HandleResult result = new AJM_HandleResult(); result.Result = false; result.Msg = "执行遇到异常!"; return(JSONSerializer.Serialize(result)); } }
/// <summary> /// 获取二维码信息 /// </summary> /// <param name="strQRcode"></param> /// <returns></returns> public string GetQRcodeInfo(string strQRcode) { try { string[] scanResultArray = strQRcode.Split('?'); ScanCodeParamModel scancode = null; if (scanResultArray.Length >= 2) { string[] strParam = scanResultArray[1].Split('='); if (strParam.Length >= 2) { scancode = ScanCodeParamModel.Prase(strParam[1]);//兼容url的二维码。 } } else { scancode = ScanCodeParamModel.Prase(strQRcode); } if (scancode == null) { JM_HandleResult result = new JM_HandleResult(); result.Result = false; result.Msg = "二维码错误!"; return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result)); } Seat seatInfo = seatDataService.GetSeatInfoBySeatNum(scancode.SeatNum); if (seatInfo == null) { JM_HandleResult result = new JM_HandleResult(); result.Result = false; result.Msg = "此座位不存在!"; return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result)); } JM_QRcode jm_QRcode = new JM_QRcode(); JM_Seat jm_seat = new JM_Seat(); jm_seat.CanBeBespeak = seatInfo.CanBeBespeak; jm_seat.HavePower = seatInfo.HavePower; jm_seat.IsSuspended = seatInfo.IsSuspended; jm_seat.ReadingRoomNum = seatInfo.ReadingRoomNum; jm_seat.ReadingRoomName = seatInfo.ReadingRoom.Name; jm_seat.SeatNo = seatInfo.SeatNo; jm_seat.SeatUsedState = seatInfo.SeatUsedState.ToString(); jm_seat.ShortSeatNo = seatInfo.ShortSeatNo; jm_seat.BaseHeight = seatInfo.BaseHeight; jm_seat.BaseWidth = seatInfo.BaseWidth; jm_seat.PositionX = seatInfo.PositionX; jm_seat.PositionY = seatInfo.PositionY; jm_seat.RotationAngle = seatInfo.RotationAngle; jm_QRcode.SeatInfo = jm_seat; if (seatInfo.ReadingRoom.Setting.SeatBespeak.Used && !seatInfo.IsSuspended) { if (seatInfo.ReadingRoom.Setting.SeatBespeak.NowDayBespeak && seatInfo.SeatUsedState == EnterOutLogType.Leave) { JM_CanBespeakSeatInfo jm_bespeakInfo = new JM_CanBespeakSeatInfo(); jm_bespeakInfo.SeatID = seatInfo.SeatNo; jm_bespeakInfo.SeatNum = seatInfo.ShortSeatNo; jm_bespeakInfo.ReadingRoomNo = seatInfo.ReadingRoomNum; jm_bespeakInfo.BespeakDate = DateTime.Now.ToShortDateString(); jm_QRcode.BeaspeakSeat.Add(jm_bespeakInfo); } for (int i = 1; i <= seatInfo.ReadingRoom.Setting.SeatBespeak.BespeakBeforeDays; i++) { List <SeatManage.ClassModel.BespeakLogInfo> list = seatDataService.GetBespeakLogInfoBySeatNo(seatInfo.SeatNo, DateTime.Now.AddDays(i)); if (list.Count > 0) { continue; } JM_CanBespeakSeatInfo jm_bespeakInfo = new JM_CanBespeakSeatInfo(); jm_bespeakInfo.SeatID = seatInfo.SeatNo; jm_bespeakInfo.SeatNum = seatInfo.ShortSeatNo; jm_bespeakInfo.ReadingRoomNo = seatInfo.ReadingRoomNum; jm_bespeakInfo.BespeakDate = DateTime.Now.AddDays(i).ToShortDateString(); jm_QRcode.BeaspeakSeat.Add(jm_bespeakInfo); } } return(SeatManage.SeatManageComm.JSONSerializer.Serialize(jm_QRcode)); } catch (Exception ex) { SeatManage.SeatManageComm.WriteLog.Write("获取二维码信息遇到异常:" + ex.Message); JM_HandleResult result = new JM_HandleResult(); result.Result = false; result.Msg = "执行遇到异常!"; return(SeatManage.SeatManageComm.JSONSerializer.Serialize(result)); } }