增加云平台mqtt版本配置项

master
rszn 6 months ago
parent 5c58db7ac3
commit 3965906566

@ -64,7 +64,7 @@ public class StationParamConst
/// </summary> /// </summary>
public static readonly string Sevstatus = "Station.Sevstatus"; public static readonly string Sevstatus = "Station.Sevstatus";
/// <summary> /// <summary>
/// 投放时间 /// 投放时间
@ -183,11 +183,11 @@ public class StationParamConst
public static readonly string SetLightDayStartTime = "Station.LightDayStartTime"; public static readonly string SetLightDayStartTime = "Station.LightDayStartTime";
public static readonly string SetLightDayEndTime = "Station.LightDayEndTime"; public static readonly string SetLightDayEndTime = "Station.LightDayEndTime";
#endregion 系统管理-基础设置 #endregion 系统管理-基础设置
//选包策略中最后结束充电时间需要>此值 //选包策略中最后结束充电时间需要>此值
public static readonly string SwapFinishChargeTime = "Station.SwapFinishChargeTime"; public static readonly string SwapFinishChargeTime = "Station.SwapFinishChargeTime";
@ -210,6 +210,7 @@ public class StationParamConst
#region cloud param #region cloud param
public static readonly string CloudServerMqttVersion = "Cloud.CloudServerMqttVersion";
public static readonly string CloudServerIp = "Cloud.CloudServerIp"; public static readonly string CloudServerIp = "Cloud.CloudServerIp";
public static readonly string CloudServerPort = "Cloud.CloudServerPort"; public static readonly string CloudServerPort = "Cloud.CloudServerPort";
public static readonly string CloudClientId = "Cloud.CloudClientId"; public static readonly string CloudClientId = "Cloud.CloudClientId";
@ -219,4 +220,4 @@ public class StationParamConst
public static readonly string CloudPubTopic = "Cloud.CloudPubTopic"; public static readonly string CloudPubTopic = "Cloud.CloudPubTopic";
#endregion #endregion
} }

@ -31,7 +31,7 @@ public class CloudClient : IMqttClientConnectedHandler, IMqttApplicationMessageR
IMqttClientDisconnectedHandler IMqttClientDisconnectedHandler
{ {
private static readonly ILog Log = LogManager.GetLogger(typeof(CloudClient)); private static readonly ILog Log = LogManager.GetLogger(typeof(CloudClient));
public SwapOrderRepository SwapOrderRepository { get; set;} public SwapOrderRepository SwapOrderRepository { get; set;}
#region tcp param #region tcp param
@ -43,7 +43,7 @@ public class CloudClient : IMqttClientConnectedHandler, IMqttApplicationMessageR
public string? Password { get; set; } public string? Password { get; set; }
public int KeepalivePeriod { get; set; } = 3000; public int KeepalivePeriod { get; set; } = 3000;
public int Timeout { get; set; } = 60; public int Timeout { get; set; } = 60;
public string Version { get; set; } = "5.0.16"; public string MqttVersion { get; set; } = "4.0.0";
public bool IsCleanSession { get; set; } = false; public bool IsCleanSession { get; set; } = false;
#endregion #endregion
@ -71,7 +71,7 @@ public class CloudClient : IMqttClientConnectedHandler, IMqttApplicationMessageR
public CarCanStart? CarCanStart { get; set; } public CarCanStart? CarCanStart { get; set; }
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public MsgPair<VehicleCertification, VehicleCertificationResp> CarAuth { get; set; } = new(); public MsgPair<VehicleCertification, VehicleCertificationResp> CarAuth { get; set; } = new();
public MsgPair<ChannelStatusReporting, ChannelStatusReportingResp> ChannelStatus { get; set; } = new(); public MsgPair<ChannelStatusReporting, ChannelStatusReportingResp> ChannelStatus { get; set; } = new();
@ -225,7 +225,7 @@ public class CloudClient : IMqttClientConnectedHandler, IMqttApplicationMessageR
MqttTopicFilter topicFilter = new MqttTopicFilter MqttTopicFilter topicFilter = new MqttTopicFilter
{ {
Topic = str, Topic = str,
QualityOfServiceLevel = MqttQualityOfServiceLevel.AtMostOnce QualityOfServiceLevel = MqttQualityOfServiceLevel.AtLeastOnce
}; };
list.Add(topicFilter); list.Add(topicFilter);
} }
@ -272,7 +272,7 @@ public class CloudClient : IMqttClientConnectedHandler, IMqttApplicationMessageR
MqttClient.PublishAsync(appMsg); MqttClient.PublishAsync(appMsg);
MqttClient.PublishAsync(appMsg); MqttClient.PublishAsync(appMsg);
} }
} }
private string SignData<T>(Model<T> model) where T : ICmd private string SignData<T>(Model<T> model) where T : ICmd
@ -366,7 +366,7 @@ public class CloudClient : IMqttClientConnectedHandler, IMqttApplicationMessageR
builder.WithKeepAlivePeriod(TimeSpan.FromSeconds(KeepalivePeriod)) builder.WithKeepAlivePeriod(TimeSpan.FromSeconds(KeepalivePeriod))
.WithCommunicationTimeout(TimeSpan.FromSeconds(Timeout)); .WithCommunicationTimeout(TimeSpan.FromSeconds(Timeout));
switch (Version) switch (MqttVersion)
{ {
case "3.1.0": case "3.1.0":
builder.WithProtocolVersion(MqttProtocolVersion.V310); builder.WithProtocolVersion(MqttProtocolVersion.V310);
@ -397,7 +397,7 @@ public class CloudClient : IMqttClientConnectedHandler, IMqttApplicationMessageR
this.Publish(vehicleCertification); this.Publish(vehicleCertification);
return CarAuth.GetResp(timeSpan); return CarAuth.GetResp(timeSpan);
} }
/// <summary> /// <summary>
/// 换电站通道状态上报 /// 换电站通道状态上报
/// </summary> /// </summary>
@ -499,8 +499,8 @@ public class CloudClient : IMqttClientConnectedHandler, IMqttApplicationMessageR
this.ChargeRecordUpLoad.Req = req; this.ChargeRecordUpLoad.Req = req;
this.Publish(req); this.Publish(req);
return ChargeRecordUpLoad.GetResp(timeSpan); return ChargeRecordUpLoad.GetResp(timeSpan);
} }
public ChargeDevDataInfoRes? SendChargeDevDataInfo(ChargeDevDataInfo req, TimeSpan? timeSpan = null) public ChargeDevDataInfoRes? SendChargeDevDataInfo(ChargeDevDataInfo req, TimeSpan? timeSpan = null)
{ {
this.ChargeDevDataInfo.Req = req; this.ChargeDevDataInfo.Req = req;
@ -512,7 +512,7 @@ public class CloudClient : IMqttClientConnectedHandler, IMqttApplicationMessageR
#region business func #region business func
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
/// <param name="chargeOrder"></param> /// <param name="chargeOrder"></param>
/// <param name="op">1 自动; 2 人工手动</param> /// <param name="op">1 自动; 2 人工手动</param>
@ -534,7 +534,7 @@ public class CloudClient : IMqttClientConnectedHandler, IMqttApplicationMessageR
ssoc = chargeOrder.StartSoc ?? 0, ssoc = chargeOrder.StartSoc ?? 0,
esoc = lastChargeOrder.StopSoc ?? 0, esoc = lastChargeOrder.StopSoc ?? 0,
//ssoe = chargeOrder.soe //ssoe = chargeOrder.soe
//esoe //esoe
dcce =0, dcce =0,
acce =0, acce =0,
tp = 0, tp = 0,
@ -557,10 +557,10 @@ public class CloudClient : IMqttClientConnectedHandler, IMqttApplicationMessageR
req.vp += Convert.ToSingle(order.ValleyElecCount); req.vp += Convert.ToSingle(order.ValleyElecCount);
req.ct += ((order.EndTime ?? DateTime.Now).Subtract(order.StartTime ?? DateTime.Now)).Minutes; req.ct += ((order.EndTime ?? DateTime.Now).Subtract(order.StartTime ?? DateTime.Now)).Minutes;
} }
this.SendChargeRecordUpLoad(req); this.SendChargeRecordUpLoad(req);
return true; return true;
} }
#endregion #endregion
} }

@ -1,13 +1,9 @@
using Autofac; using Autofac;
using Entity.DbModel.Station;
using HybirdFrameworkCore.Autofac; using HybirdFrameworkCore.Autofac;
using HybirdFrameworkCore.Autofac.Attribute; using HybirdFrameworkCore.Autofac.Attribute;
using HybirdFrameworkCore.Redis; using HybirdFrameworkCore.Redis;
using log4net; using log4net;
using Newtonsoft.Json;
using Repository.Station; using Repository.Station;
using Service.Cloud.Msg;
using Service.Cloud.Msg.Host.Req;
using Service.Init; using Service.Init;
namespace Service.Cloud.Client; namespace Service.Cloud.Client;
@ -22,6 +18,7 @@ public class CloudClientMgr
{ {
CloudClient = AppInfo.Container.Resolve<CloudClient>(); CloudClient = AppInfo.Container.Resolve<CloudClient>();
CloudClient.MqttVersion = StaticStationInfo.CloudServerMqttVersion;
CloudClient.ServerIp = StaticStationInfo.CloudServerIp; CloudClient.ServerIp = StaticStationInfo.CloudServerIp;
CloudClient.ServerPort = StaticStationInfo.CloudServerPort; CloudClient.ServerPort = StaticStationInfo.CloudServerPort;
CloudClient.ClientId = StaticStationInfo.CloudClientId; CloudClient.ClientId = StaticStationInfo.CloudClientId;
@ -93,4 +90,4 @@ public class CloudClientMgr
} }
});*/ });*/
} }
} }

@ -1,7 +1,6 @@
using Autofac; using Autofac;
using Entity.Constant; using Entity.Constant;
using HybirdFrameworkCore.Autofac; using HybirdFrameworkCore.Autofac;
using Service.Station;
using Service.System; using Service.System;
namespace Service.Init; namespace Service.Init;
@ -135,17 +134,17 @@ public class StaticStationInfo
{ {
get get
{ {
string port = Resolve(StationParamConst.CloudServerPort); string port = Resolve(StationParamConst.CloudServerPort, "33000");
if (string.IsNullOrWhiteSpace(port))
{
return 33000;
}
return int.Parse(port); return int.Parse(port);
} }
set => Set(StationParamConst.CloudServerPort, value); set => Set(StationParamConst.CloudServerPort, value);
} }
public static string CloudServerMqttVersion
{
get => Resolve(StationParamConst.CloudServerMqttVersion, "4.0.0");
set => Set(StationParamConst.CloudServerMqttVersion, value);
}
public static string CloudClientId public static string CloudClientId
{ {
get => Resolve(StationParamConst.CloudClientId); get => Resolve(StationParamConst.CloudClientId);
@ -182,7 +181,7 @@ public class StaticStationInfo
private static SysConfigService _sysConfigService; private static SysConfigService _sysConfigService;
private static string Resolve(string key) private static string Resolve(string key, string? value = default)
{ {
if (_sysConfigService == null) if (_sysConfigService == null)
{ {
@ -195,7 +194,7 @@ public class StaticStationInfo
return s; return s;
} }
return ""; return value;
} }
private static void Set(string key, object value) private static void Set(string key, object value)
@ -209,4 +208,4 @@ public class StaticStationInfo
} }
#endregion #endregion
} }

Loading…
Cancel
Save