|
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using JTTools.Dtos;
- using Microsoft.AspNetCore.Mvc;
- using JT1078.Protocol;
- using JT808.Protocol;
- using JT809.Protocol;
- using JT809.Protocol.Exceptions;
- using JT808.Protocol.Extensions;
- using JT808.Protocol.Exceptions;
- using Microsoft.AspNetCore.Cors;
- using Newtonsoft.Json;
- using JT808.Protocol.Interfaces;
- using JT809.Protocol.Interfaces;
- using Microsoft.AspNetCore.Authorization;
-
- namespace JTTools.Controllers
- {
- [Route("api/JTTools")]
- [ApiController]
- [EnableCors("Domain")]
- public class JTToolsController : ControllerBase
- {
- private readonly IJT809Config jT809Config;
- private readonly IJT808Config jT808Config;
- private readonly JT808Serializer jT808Serializer;
- private readonly JT809Serializer jT809Serializer;
-
- public JTToolsController(
- IJT809Config jT809Config,
- IJT808Config jT808Config)
- {
- this.jT809Config = jT809Config;
- this.jT808Config = jT808Config;
- jT808Serializer = jT808Config.GetSerializer();
- jT809Serializer = jT809Config.GetSerializer();
- }
-
- [Route("Parse808")]
- [HttpPost]
- public ActionResult<JTResultDto> Parse808([FromBody]JTRequestDto parameter)
- {
- JTResultDto jTResultDto = new JTResultDto();
- try
- {
- jTResultDto.Code = 200;
- jTResultDto.Data =jT808Serializer.Deserialize(parameter.HexData.ToHexBytes());
- }
- catch(JT808Exception ex)
- {
- jTResultDto.Code = 500;
- jTResultDto.Message = $"{ex.ErrorCode}-{ex.Message}";
- }
- catch (Exception ex)
- {
- jTResultDto.Code = 500;
- jTResultDto.Message = ex.Message;
- }
- return jTResultDto;
- }
-
- [Route("Analyze808")]
- [HttpPost]
- public ActionResult<JTResultDto> Analyze808([FromBody]JTRequestDto parameter)
- {
- JTResultDto jTResultDto = new JTResultDto();
- try
- {
- jTResultDto.Code = 200;
- jTResultDto.Data = jT808Serializer.Analyze(parameter.HexData.ToHexBytes());
- }
- catch (JT808Exception ex)
- {
- jTResultDto.Code = 500;
- jTResultDto.Message = $"{ex.ErrorCode}-{ex.Message}";
- }
- catch (Exception ex)
- {
- jTResultDto.Code = 500;
- jTResultDto.Message = ex.Message;
- }
- return jTResultDto;
- }
-
- [Route("Parse809")]
- [HttpPost]
- public ActionResult<JTResultDto> Parse809([FromBody]JT809RequestDto parameter)
- {
- JTResultDto jTResultDto = new JTResultDto();
- try
- {
- if (parameter.IsEncrypt)
- {
- IJT809Config jt809ConfigInternal = new JT809Config(Guid.NewGuid().ToString());
- jt809ConfigInternal.EncryptOptions = parameter.EncryptOptions;
- JT809Serializer jT809SerializerInternal = new JT809Serializer(jt809ConfigInternal);
- jTResultDto.Data = jT809SerializerInternal.Deserialize(parameter.HexData.ToHexBytes());
- }
- else
- {
- jTResultDto.Data = jT809Serializer.Deserialize(parameter.HexData.ToHexBytes());
- }
- jTResultDto.Code = 200;
-
- }
- catch (JT809Exception ex)
- {
- jTResultDto.Code = 500;
- jTResultDto.Message = $"{ex.ErrorCode}-{ex.Message}";
- }
- catch (Exception ex)
- {
- jTResultDto.Code = 500;
- jTResultDto.Message = ex.Message;
- }
- return jTResultDto;
- }
-
- [Route("Parse1078")]
- [HttpPost]
- public ActionResult<JTResultDto> Parse1078([FromBody]JTRequestDto parameter)
- {
- JTResultDto jTResultDto = new JTResultDto();
- try
- {
- jTResultDto.Code = 200;
- jTResultDto.Data = JT1078Serializer.Deserialize(parameter.HexData.ToHexBytes());
- }
- catch (Exception ex)
- {
- jTResultDto.Code = 500;
- jTResultDto.Message = ex.Message;
- }
- return jTResultDto;
- }
- }
-
- class JT809Config :JT809GlobalConfigBase
- {
- public JT809Config(string configId)
- {
- ConfigId = configId;
- }
-
- public override string ConfigId { get; }
- }
- }
|