Esempio n. 1
0
        /// <summary>
        /// 通过终端手机号查询对应会话
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public byte[] QueryTcpSessionByTerminalPhoneNo(string json)
        {
            if (string.IsNullOrEmpty(json))
            {
                return(EmptyHttpResponse());
            }

            JT808ResultDto <JT808TcpSessionInfoDto> resultDto = new JT808ResultDto <JT808TcpSessionInfoDto>();

            try
            {
                JT808TerminalPhoneNoDto parameter = JsonSerializer.Deserialize <JT808TerminalPhoneNoDto>(json);
                resultDto.Data = SessionManager.GetTcpAll(w => w.TerminalPhoneNo == parameter.TerminalPhoneNo).Select(s => new JT808TcpSessionInfoDto
                {
                    LastActiveTime  = s.ActiveTime,
                    StartTime       = s.StartTime,
                    TerminalPhoneNo = s.TerminalPhoneNo,
                    RemoteAddressIP = s.RemoteEndPoint.ToString(),
                }).FirstOrDefault();
                resultDto.Code = JT808ResultCode.Ok;
            }
            catch (Exception ex)
            {
                resultDto.Data    = null;
                resultDto.Code    = JT808ResultCode.Error;
                resultDto.Message = ex.StackTrace;
            }
            return(CreateHttpResponse(resultDto));
        }
Esempio n. 2
0
        /// <summary>
        /// 会话服务-通过设备终端号移除对应会话
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public byte[] RemoveUdpByTerminalPhoneNo(string json)
        {
            if (string.IsNullOrEmpty(json))
            {
                return(EmptyHttpResponse());
            }
            JT808ResultDto <bool> resultDto = new JT808ResultDto <bool>();

            try
            {
                JT808TerminalPhoneNoDto parameter = JsonSerializer.Deserialize <JT808TerminalPhoneNoDto>(json);
                SessionManager.RemoveByTerminalPhoneNo(parameter.TerminalPhoneNo);
                resultDto.Code = JT808ResultCode.Ok;
                resultDto.Data = true;
            }
            catch (AggregateException ex)
            {
                resultDto.Data    = false;
                resultDto.Code    = 500;
                resultDto.Message = ex.StackTrace;
            }
            catch (Exception ex)
            {
                resultDto.Data    = false;
                resultDto.Code    = JT808ResultCode.Error;
                resultDto.Message = ex.StackTrace;
            }
            return(CreateHttpResponse(resultDto));
        }
Esempio n. 3
0
        /// <summary>
        /// 会话服务-通过设备终端号移除对应会话
        /// </summary>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public async ValueTask <JT808ResultDto <bool> > RemoveTcpByTerminalPhoneNo(JT808TerminalPhoneNoDto parameter)
        {
            var response = await HttpClient.PostAsJsonAsync(JT808GatewayConstants.JT808WebApiRouteTable.SessionRemoveByTerminalPhoneNo, parameter);

            response.EnsureSuccessStatusCode();
            var value = await response.Content.ReadFromJsonAsync <JT808ResultDto <bool> >();

            return(value);
        }
Esempio n. 4
0
        /// <summary>
        /// 会话服务-通过设备终端号移除对应会话
        /// </summary>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public async ValueTask <JT808ResultDto <bool> > RemoveTcpByTerminalPhoneNo(JT808TerminalPhoneNoDto parameter)
        {
            var request = new HttpRequestMessage(HttpMethod.Post, JT808GatewayConstants.JT808WebApiRouteTable.SessionRemoveByTerminalPhoneNo);

            request.Content = new StringContent(JsonSerializer.Serialize(parameter));
            var response = await HttpClient.SendAsync(request);

            response.EnsureSuccessStatusCode();
            var data = await response.Content.ReadAsStreamAsync();

            var value = await JsonSerializer.DeserializeAsync <JT808ResultDto <bool> >(data);

            return(value);
        }
Esempio n. 5
0
        public ActionResult <JT808ResultDto <bool> > BlacklistRemove([FromBody] JT808TerminalPhoneNoDto parameter)
        {
            JT808ResultDto <bool> resultDto = new JT808ResultDto <bool>();

            try
            {
                BlacklistManager.Remove(parameter.TerminalPhoneNo);
                resultDto.Code = JT808ResultCode.Ok;
                resultDto.Data = true;
            }
            catch (Exception ex)
            {
                resultDto.Data    = false;
                resultDto.Code    = JT808ResultCode.Error;
                resultDto.Message = ex.StackTrace;
            }
            return(resultDto);
        }
Esempio n. 6
0
        public ActionResult <JT808ResultDto <JT808UdpSessionInfoDto> > QueryUdpSessionByTerminalPhoneNo([FromBody] JT808TerminalPhoneNoDto parameter)
        {
            JT808ResultDto <JT808UdpSessionInfoDto> resultDto = new JT808ResultDto <JT808UdpSessionInfoDto>();

            try
            {
                resultDto.Data = SessionManager.GetUdpAll(w => w.TerminalPhoneNo == parameter.TerminalPhoneNo).Select(s => new JT808UdpSessionInfoDto
                {
                    LastActiveTime  = s.ActiveTime,
                    StartTime       = s.StartTime,
                    TerminalPhoneNo = s.TerminalPhoneNo,
                    RemoteAddressIP = s.RemoteEndPoint.ToString(),
                }).FirstOrDefault();
                resultDto.Code = JT808ResultCode.Ok;
            }
            catch (Exception ex)
            {
                resultDto.Data    = null;
                resultDto.Code    = JT808ResultCode.Error;
                resultDto.Message = ex.StackTrace;
            }
            return(resultDto);
        }