|
|
|
|
using log4net;
|
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
using Service.TBox.Server;
|
|
|
|
|
using WebStarter.Dto.Resp;
|
|
|
|
|
|
|
|
|
|
namespace WebStarter.Controllers;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 车辆管理
|
|
|
|
|
/// </summary>
|
|
|
|
|
[ApiController]
|
|
|
|
|
[Route("[controller]")]
|
|
|
|
|
public class TBoxController : ControllerBase
|
|
|
|
|
{
|
|
|
|
|
private static readonly ILog Log = LogManager.GetLogger(typeof(TBoxController));
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 连接车辆
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="carNo">vin码</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
[HttpGet("/connect/{carNo}")]
|
|
|
|
|
public bool Connect(string carNo)
|
|
|
|
|
{
|
|
|
|
|
Log.Info($"Connect-{carNo}");
|
|
|
|
|
TBoxServerMgr.Server.StartSendVin(carNo);
|
|
|
|
|
return TBoxServerMgr.Server != null && TBoxServerMgr.Server.Connected;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 加锁
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="carNo">vin码</param>
|
|
|
|
|
/// <returns>"0:未解锁未上锁 1:解锁成功 2:上锁成功 3:无效数据 其他状态无效" </returns>
|
|
|
|
|
[HttpGet("/lock/{carNo}")]
|
|
|
|
|
public int Lock(string carNo)
|
|
|
|
|
{
|
|
|
|
|
Log.Info($"Lock");
|
|
|
|
|
TBoxServerMgr.Server?.StartSendLock(1);
|
|
|
|
|
return TBoxServerMgr.Server?.LockStatusMsg?.LockStatus ?? 100;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 解锁
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="carNo">vin码</param>
|
|
|
|
|
/// <returns>发送状态</returns>
|
|
|
|
|
[HttpGet("/unLock/{carNo}")]
|
|
|
|
|
public int UnLock(string carNo)
|
|
|
|
|
{
|
|
|
|
|
Log.Info($"UnLock {carNo}");
|
|
|
|
|
TBoxServerMgr.Server?.StartSendLock(2);
|
|
|
|
|
return TBoxServerMgr.Server?.LockStatusMsg?.LockStatus ?? 100;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取车辆信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
[HttpGet("/getCarInfo/{carNo}")]
|
|
|
|
|
public TBoxInfo GetCarInfo()
|
|
|
|
|
{
|
|
|
|
|
Log.Info($"Restart");
|
|
|
|
|
TBoxInfo result = new TBoxInfo()
|
|
|
|
|
{
|
|
|
|
|
BatteryOneSn = TBoxServerMgr.Server?.BatteryOneSn,
|
|
|
|
|
BatteryTwoSn = TBoxServerMgr.Server?.BatteryTwoSn,
|
|
|
|
|
BatteryThreeSn = TBoxServerMgr.Server?.BatteryThreeSn,
|
|
|
|
|
BatteryFourSn = TBoxServerMgr.Server?.BatteryFourSn,
|
|
|
|
|
BatteryInfo1 = TBoxServerMgr.Server?.BatteryInfo1,
|
|
|
|
|
LockStatusMsg = TBoxServerMgr.Server?.LockStatusMsg,
|
|
|
|
|
SocMsg = TBoxServerMgr.Server?.SocMsg,
|
|
|
|
|
SohMsg = TBoxServerMgr.Server?.SohMsg,
|
|
|
|
|
StatusMsg = TBoxServerMgr.Server?.StatusMsg,
|
|
|
|
|
SubMileMsg = TBoxServerMgr.Server?.SubMileMsg,
|
|
|
|
|
TotalMileMsg = TBoxServerMgr.Server?.TotalMileMsg,
|
|
|
|
|
VersionMsg = TBoxServerMgr.Server?.VersionMsg,
|
|
|
|
|
RestartMsg = TBoxServerMgr.Server?.RestartMsg,
|
|
|
|
|
Vin = TBoxServerMgr.Server?.ReadVin(),
|
|
|
|
|
CarConnected = TBoxServerMgr.Server != null && TBoxServerMgr.Server.Connected,
|
|
|
|
|
TBoxConnected = TBoxServerMgr.Server != null
|
|
|
|
|
};
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 断开连接
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="carNo">vin码</param>
|
|
|
|
|
/// <returns>发送状态</returns>
|
|
|
|
|
[HttpGet("/disConnect/{carNo}")]
|
|
|
|
|
public bool DisConnect(string carNo)
|
|
|
|
|
{
|
|
|
|
|
TBoxServerMgr.Server?.StartSendLock(0);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Reset
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="carNo">vin码</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
[HttpGet("/reset")]
|
|
|
|
|
public bool Reset()
|
|
|
|
|
{
|
|
|
|
|
TBoxServerMgr.Server?.Reset();
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|