using HybirdFrameworkCore.Autofac.Attribute; using HybirdFrameworkCore.Utils; using HybirdFrameworkDriver.Common; using Service.Car.Common; namespace Service.Car.Msg; public class BaseMsg : IToBytes { [Property(0, 8 * 3)] public byte[] StartChar { get; set; } = CarConst.StartChar; [Property(24, 16)] public ushort Length { get; set; } [Property(40, 8)] public byte Cmd { get; set; } [Property(48, 17 * 8)] public string CarNo { get; set; } /// /// Byte[0] yearH(20)0x14 /// Byte[1] yearL (20) 0x14 /// Byte[2] mon /// Byte[3] day /// Byte[4] Hour /// Byte[5] min /// Byte[6] sec /// Byte[7] 无 /// [Property(184, 8)] public byte YearH { get; set; } [Property(184 + 8, 8)] public byte YearL { get; set; } [Property(184 + 2 * 8, 8)] public byte Month { get; set; } [Property(184 + 3 * 8, 8)] public byte Day { get; set; } [Property(184 + 4 * 8, 8)] public byte Hour { get; set; } [Property(184 + 5 * 8, 8)] public byte Min { get; set; } [Property(184 + 6 * 8, 8)] public byte Second { get; set; } [Property(184 + 7 * 8, 8)] public byte NotUsed { get; set; } = 0; public void InitCurrentTime() { DateTime now = DateTime.Now; var num = now.Year; var d = num / 1000; //千 var c = (num - d * 1000) / 100; var b = (num - d * 1000 - c * 100) / 10; var a = num % 10; YearH = (byte)(d * 10 + c); YearL = (byte)(b * 10 + a); Month = (byte)now.Month; Day = (byte)now.Day; Hour = (byte)now.Hour; Min = (byte)now.Minute; Second = (byte)now.Second; } public byte[] ToBytes() { return ModelConvert.Encode(this); } }