commit
b4307d2c05
@ -0,0 +1,23 @@
|
||||
namespace Service.Api.Resp
|
||||
{
|
||||
public class BatteryInfo
|
||||
{
|
||||
public string? BatteryNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 电池类型
|
||||
/// </summary>
|
||||
public int? BatteryType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 电池包型号
|
||||
/// </summary>
|
||||
public int? BatteryPackageModel { get; set; }
|
||||
|
||||
public float? Soe { get; set; }
|
||||
|
||||
public float? Soc { get; set; }
|
||||
|
||||
public float? Soh { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
namespace Service.Api.Resp;
|
||||
|
||||
public class CarInfo
|
||||
{
|
||||
public string? CarNo { get; set; }
|
||||
|
||||
|
||||
public string? CarVin { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 车型数据 "0:无效值1:牵引车 2:搅拌车 3:自卸车"
|
||||
/// </summary>
|
||||
public byte? CarType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 电池数
|
||||
/// </summary>
|
||||
public int BatteryNum { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 车辆电池数据
|
||||
/// </summary>
|
||||
public List<BatteryInfo> BatteryInfos { get; set; }
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
using Service.Car.Msg.Car.Req;
|
||||
|
||||
namespace Service.Api.Resp;
|
||||
|
||||
/// <summary>
|
||||
/// 车辆返回
|
||||
/// </summary>
|
||||
public class CarInfoResp
|
||||
{
|
||||
public bool Connected { get; set; }
|
||||
|
||||
public string CarNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 度电数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ElecMsg? ElecMsg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 车辆信息
|
||||
/// </summary>
|
||||
public CarInfo? CarInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 车辆状态信息
|
||||
/// </summary>
|
||||
public CarStatus? CarStatus { get; set; }
|
||||
}
|
@ -0,0 +1,108 @@
|
||||
using HybirdFrameworkCore.Utils;
|
||||
using HybirdFrameworkDriver.Session;
|
||||
using log4net;
|
||||
using Service.Api.Resp;
|
||||
using Service.Car.Msg.Car.Req;
|
||||
using Service.Car.Server;
|
||||
using Service.TBox.Msg.TBox;
|
||||
using Service.TBox.Server;
|
||||
|
||||
namespace Service.TBox.Service;
|
||||
|
||||
public class TBoxService
|
||||
{
|
||||
private static readonly ILog Log = LogManager.GetLogger(typeof(TBoxService));
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 焕能长治
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="carNo"></param>
|
||||
public static CarInfoResp GetHnCZCarInfo(string carNo)
|
||||
{
|
||||
IoSession? ioSession = CarServerMgr.CarServer?.SessionMgr.GetSession(carNo);
|
||||
CarInfoResp carInfoResp = new CarInfoResp()
|
||||
{
|
||||
Connected = CarServerMgr.CarServer != null && ioSession != null,
|
||||
CarNo = carNo,
|
||||
CarInfo = new()
|
||||
{
|
||||
CarNo = carNo,
|
||||
CarVin = carNo,
|
||||
BatteryNum = 1,
|
||||
}
|
||||
};
|
||||
|
||||
if (ObjUtils.IsNotNull(ioSession))
|
||||
{
|
||||
ioSession.BusinessMap.TryGetValue("ElecMsg", out var elecMsg);
|
||||
if (elecMsg != null)
|
||||
{
|
||||
carInfoResp.ElecMsg = (ElecMsg)elecMsg;
|
||||
}
|
||||
|
||||
ioSession.BusinessMap.TryGetValue("HeartBeatMsg", out var heartBeatMsg);
|
||||
if (heartBeatMsg != null)
|
||||
{
|
||||
var beatMsg = (HeartBeatMsg)heartBeatMsg;
|
||||
CarStatus carStatus = new CarStatus();
|
||||
carStatus.LockStatus = beatMsg.LockStatus;
|
||||
carStatus.Keys = beatMsg.KeyStatus;
|
||||
carInfoResp.CarStatus = carStatus;
|
||||
}
|
||||
}
|
||||
|
||||
return carInfoResp;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 焕能阳泉
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static CarInfoResp GetHnYQCarInfo(string carNo)
|
||||
{
|
||||
var statusMsg = TBoxServerMgr.Server?.StatusMsg;
|
||||
BatteryInfo1? batteryInfo1 = TBoxServerMgr.Server?.BatteryInfo1;
|
||||
StatusMsg? serverStatusMsg = TBoxServerMgr.Server?.StatusMsg;
|
||||
LockStatusMsg? lockStatusMsg = TBoxServerMgr.Server?.LockStatusMsg;
|
||||
CarInfoResp carInfoResp = new CarInfoResp()
|
||||
{
|
||||
CarNo = carNo,
|
||||
Connected = TBoxServerMgr.Server != null && TBoxServerMgr.Server.Connected,
|
||||
CarInfo = new()
|
||||
{
|
||||
CarNo = carNo,
|
||||
CarVin = TBoxServerMgr.Server?.ReadVin(),
|
||||
BatteryNum = 1,
|
||||
CarType = statusMsg?.CarType,
|
||||
BatteryInfos = new List<BatteryInfo>()
|
||||
{
|
||||
new()
|
||||
{
|
||||
BatteryNo = TBoxServerMgr.Server?.BatteryNo(),
|
||||
Soc = TBoxServerMgr.Server?.SocMsg?.Soc,
|
||||
Soe = batteryInfo1?.Soe,
|
||||
Soh = TBoxServerMgr.Server?.SohMsg.Soh,
|
||||
BatteryType = batteryInfo1?.TypeCode,
|
||||
BatteryPackageModel = batteryInfo1?.Reserved1
|
||||
}
|
||||
}
|
||||
},
|
||||
ElecMsg = new()
|
||||
{
|
||||
CarNo = carNo,
|
||||
SubMile = TBoxServerMgr.Server?.SubMileMsg?.SubMile,
|
||||
TotalMile = TBoxServerMgr.Server?.TotalMileMsg?.TotalMile,
|
||||
},
|
||||
CarStatus = new()
|
||||
{
|
||||
Keys = serverStatusMsg?.Keys,
|
||||
LockStatus = lockStatusMsg?.LockStatus,
|
||||
Break = serverStatusMsg?.Break,
|
||||
Gear = serverStatusMsg?.Gear
|
||||
}
|
||||
};
|
||||
return carInfoResp;
|
||||
}
|
||||
}
|
Loading…
Reference in new issue