From e941901f8f7ec4ec6f7d629750988e63c0d69200 Mon Sep 17 00:00:00 2001
From: Hinse <756681202@qq.com>
Date: Sat, 18 Jun 2022 14:58:15 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=B0=E7=9A=84=E5=8D=8F?=
=?UTF-8?q?=E8=AE=AE=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ResultInfos/Dtos/ResultDto.cs | 110 ++++++++++++
.../ResultInfos/IResultService.cs | 7 +
.../ResultInfos/ResultService.cs | 107 ++++++++++-
.../SubscribeInfo/Dtos/SubscribeDto.cs | 14 +-
.../SubscribeInfo/ISubscribeService.cs | 6 +
.../SubscribeInfo/SubscribeService.cs | 13 ++
Waste.Application/Waste.Application.xml | 168 ++++++++++++++++++
Waste.CreateDB/Program.cs | 3 +-
Waste.Domain/DataModel/W_MeasureResult.cs | 47 +++++
Waste.Domain/DataModel/W_ResultExt.cs | 3 +
Waste.SocketService.cs/MyPackage.cs | 33 +++-
Waste.SocketService.cs/MyPackageFilter.cs | 88 ++++++++-
Waste.SocketService.cs/Program.cs | 26 ++-
.../PublishProfiles/FolderProfile.pubxml.user | 2 +-
.../appsettings.Development.json | 8 +-
Waste.SocketService.cs/appsettings.json | 8 +-
.../waste.ybhdmob.com.pubxml.user | 2 +-
17 files changed, 623 insertions(+), 22 deletions(-)
create mode 100644 Waste.Domain/DataModel/W_MeasureResult.cs
diff --git a/Waste.Application/ResultInfos/Dtos/ResultDto.cs b/Waste.Application/ResultInfos/Dtos/ResultDto.cs
index a260cc3..d219dec 100644
--- a/Waste.Application/ResultInfos/Dtos/ResultDto.cs
+++ b/Waste.Application/ResultInfos/Dtos/ResultDto.cs
@@ -113,6 +113,116 @@ namespace Waste.Application
public bool IsWeight { get; set; } = false;
}
+ ///
+ /// A8协议包内容
+ ///
+ public class A8Package
+ {
+ ///
+ /// 垃圾类别小类
+ ///
+ public string WasteSType { get; set; } = "";
+ ///
+ /// 消息ID
+ ///
+ public string UUID { get; set; } = "";
+ ///
+ /// 上报时间
+ ///
+ public string UploadTime { get; set; } = "";
+ ///
+ /// 价格
+ ///
+ public string Price { get; set; } = "";
+ ///
+ /// 金额
+ ///
+ public string Amount { get; set; } = "";
+ ///
+ /// 操作员
+ ///
+ public string OpUser { get; set; } = "";
+ }
+
+ ///
+ /// A8协议模块上传的数据包体
+ ///
+ public class A8MyPackage:A8Package
+ {
+ ///
+ /// 固定头
+ ///
+ public string Key { get; set; } = "";
+ ///
+ /// 数据体长度
+ ///
+ public int Len { get; set; } = 0;
+ ///
+ /// IMEI
+ ///
+ public string IMEI { get; set; } = "";
+ ///
+ /// ICCID
+ ///
+ public string ICCID { get; set; } = "";
+ ///
+ /// IMSI
+ ///
+ public string IMSI { get; set; } = "";
+ ///
+ /// 信号强度
+ ///
+ public string GSLQ { get; set; } = "";
+ ///
+ /// 时间
+ ///
+ public string Time { get; set; }
+ ///
+ /// 经度
+ ///
+ public string Longitude { get; set; } = "";
+ ///
+ /// 纬度
+ ///
+ public string Latitude { get; set; } = "";
+ ///
+ /// 桶大小
+ ///
+ public string size { get; set; } = "";
+ ///
+ /// 垃圾桶编号
+ ///
+ public string trashcode { get; set; } = "";
+ ///
+ /// 垃圾类别
+ ///
+ public string WasteType { get; set; } = "";
+ ///
+ /// 重量,KG
+ ///
+ public string Weight { get; set; } = "0";
+ ///
+ /// 内容
+ ///
+ public string Body { get; set; } = "";
+ ///
+ /// 字符串结果
+ ///
+ public string Str { get; set; } = "";
+ ///
+ /// 是否是否通过校检,true-是,false-否
+ ///
+ public bool IsChecked { get; set; } = true;
+ ///
+ /// 是否为心跳包数据
+ ///
+ public bool IsHeart { get; set; } = false;
+ ///
+ /// 是否为有效测量
+ ///
+ public bool IsWeight { get; set; } = false;
+ }
+
///
/// 新的4G模块上传的数据包体
///
diff --git a/Waste.Application/ResultInfos/IResultService.cs b/Waste.Application/ResultInfos/IResultService.cs
index 0a2a862..d27fd52 100644
--- a/Waste.Application/ResultInfos/IResultService.cs
+++ b/Waste.Application/ResultInfos/IResultService.cs
@@ -30,6 +30,13 @@ namespace Waste.Application
///
///
Task InsertResultBy4GAsync(nMyPackage myPackage);
+
+ ///
+ /// 新的A8 4G模块测量结果增加
+ ///
+ ///
+ ///
+ Task InsertResultByA84GAsync(A8MyPackage myPackage);
///
/// wifi模块测量结果增加
///
diff --git a/Waste.Application/ResultInfos/ResultService.cs b/Waste.Application/ResultInfos/ResultService.cs
index 3fc2b2c..069d903 100644
--- a/Waste.Application/ResultInfos/ResultService.cs
+++ b/Waste.Application/ResultInfos/ResultService.cs
@@ -127,6 +127,12 @@ namespace Waste.Application
{
it.PostStatus = res.Status;
}
+ var allext = cache.Get(list => {
+ var ids = list.Select(e => e.Id).ToList();
+ return dbClient.Queryable().Where(e => ids.Contains(e.ResultId)).ToList();
+ });
+ var ext = allext.FirstOrDefault(e => e.ResultId == it.Id);
+ it.WasteType = ext != null && !ext.WasteSType.IsEmpty() ? $"{ext.WasteSType}【{it.WasteType}】" : it.WasteType;
})
.ToPageListAsync(param.offset, param.limit, totalnum);
return new PageParms
@@ -170,7 +176,7 @@ namespace Waste.Application
{
isfrist = true;
}
- decimal currentweight= data.Weight.IsEmpty() ? 0 : data.Weight.ToDecimal();
+ decimal currentweight = data.Weight.IsEmpty() ? 0 : data.Weight.ToDecimal();
//记录数据
await dbClient.Ado.UseStoredProcedure().ExecuteCommandAsync("Proc_InsertResult", new
{
@@ -280,13 +286,110 @@ namespace Waste.Application
}
}
///
+ /// 新的A8 4G模块测量结果增加
+ ///
+ ///
+ ///
+ public async Task InsertResultByA84GAsync(A8MyPackage myPackage)
+ {
+ //如果uuid不为空,并且以存在记录,则忽略
+ if (!myPackage.IsHeart && !myPackage.UUID.IsEmpty() && await dbClient.Queryable().AnyAsync(x => x.UUID == myPackage.UUID))
+ {
+ _loggerService.AddLogger($"A8记录重复,内容:{myPackage.ToJson()}", 1);
+ return;
+ }
+ //查找设备
+ var device = await dbClient.Queryable().FirstAsync(x => myPackage.IMEI == x.Ecode);
+ // _loggerService.AddLogger($"接收到的数据,参数:{myPackage.ToJson()}", 3);
+ if (device == null)
+ {
+ //记录日志
+ _loggerService.AddLogger($"设备未找到,参数:{myPackage.ToJson()}", 3);
+ return;
+ }
+ var devicedata = await dbClient.Queryable().FirstAsync(x => x.DeviceId == device.Id);
+ var resultid = IDGen.NextID();
+ DateTime time = DateTime.Now;
+ if (myPackage.IsHeart)
+ {
+ if (string.IsNullOrEmpty(myPackage.Longitude) || myPackage.Longitude.ToDecimal() == 0) myPackage.Longitude = devicedata != null ? devicedata.Longitude : "0";
+ if (string.IsNullOrEmpty(myPackage.Latitude) || myPackage.Latitude.ToDecimal() == 0) myPackage.Latitude = devicedata != null ? devicedata.Latitude : "0";
+ }
+ else
+ {
+ if (string.IsNullOrEmpty(myPackage.IMSI)) myPackage.IMSI = devicedata != null ? devicedata.IMSI : "";
+ if (string.IsNullOrEmpty(myPackage.IMEI)) myPackage.IMEI = devicedata != null ? devicedata.IMEI : "";
+ if (string.IsNullOrEmpty(myPackage.ICCID)) myPackage.ICCID = devicedata != null ? devicedata.ICCID : "";
+ if (!string.IsNullOrEmpty(myPackage.Time) && myPackage.Time.Length == 14)
+ {
+ time = $"{myPackage.Time.Substring(0, 4)}-{myPackage.Time.Substring(4, 2)}-{myPackage.Time.Substring(6, 2)} {myPackage.Time.Substring(8, 2)}:{myPackage.Time.Substring(10, 2)}:{myPackage.Time.Substring(12, 2)}".ToDate();
+ }
+ }
+ //检查设备是否为今天第一次上报
+ bool isfrist = false;
+ if (device.LastHeartTime.HasValue && device.LastHeartTime.Value.Date != DateTime.Now.Date)
+ {
+ isfrist = true;
+ }
+ var Weight = myPackage.Weight.IsEmpty() ? 0 : myPackage.Weight.ToDecimal();
+ decimal price = myPackage.Price.IsEmpty() ? 0 : myPackage.Price.ToDecimal();
+ decimal amount = myPackage.Amount.IsEmpty() ? 0 : myPackage.Amount.ToDecimal();
+ string wastestype = myPackage.WasteSType.ToStr();
+ //记录数据
+ await dbClient.Ado.UseStoredProcedure().ExecuteCommandAsync("Proc_InsertResult", new
+ {
+ deviceid = device.Id,
+ businessid = device.Businessid,
+ resultid = resultid,
+ imei = myPackage.IMEI,
+ iccid = myPackage.ICCID,
+ imsi = myPackage.IMSI,
+ time = time,
+ latitude = myPackage.Latitude,
+ longitude = myPackage.Longitude,
+ sign = myPackage.GSLQ,
+ city = "",
+ area = myPackage.trashcode,
+ wastetype = myPackage.WasteType,
+ weigth = Weight,
+ isheart = myPackage.IsHeart,
+ tare = device.Tare,
+ isfrist = isfrist
+ });
+ if (!myPackage.IsHeart)
+ {
+ //记录价格数据
+ if (!myPackage.UUID.IsEmpty())
+ {
+ await dbClient.Insertable(new W_MeasureResult
+ {
+ ResultId = resultid,
+ WasteSType = wastestype,
+ Amount = amount,
+ OpUser = myPackage.OpUser.ToStr(),
+ Price = price,
+ UUID = myPackage.UUID
+ }).ExecuteCommandAsync();
+ }
+ await SendMessageToThird(new SendThirdMessageSubscribeS2SDto
+ {
+ DeviceId = device.Id,
+ Time = time,
+ TrashCode = myPackage.trashcode,
+ WasteType = myPackage.WasteType,
+ Weight = Weight,
+ WasteSType = wastestype
+ });
+ }
+ }
+ ///
/// 给第三方推送消息
///
///
///
private async Task SendMessageToThird(SendThirdMessageSubscribeS2SDto input)
{
- if(input.Weight <= 0)
+ if (input.Weight <= 0)
{
return;
}
diff --git a/Waste.Application/SubscribeInfo/Dtos/SubscribeDto.cs b/Waste.Application/SubscribeInfo/Dtos/SubscribeDto.cs
index 9916d5c..8734088 100644
--- a/Waste.Application/SubscribeInfo/Dtos/SubscribeDto.cs
+++ b/Waste.Application/SubscribeInfo/Dtos/SubscribeDto.cs
@@ -9,7 +9,7 @@ namespace Waste.Application.SubscribeInfo
///
/// 测量记录
///
- public class ResultS2SDto
+ public class ResultS2SDto
{
///
/// 设备ID
@@ -97,6 +97,10 @@ namespace Waste.Application.SubscribeInfo
///
public string WasteType { get; set; }
///
+ /// 物品小类别
+ ///
+ public string WasteSType { get; set; } = "";
+ ///
/// 重量,单位KG
///
public decimal Weight { get; set; }
@@ -113,7 +117,7 @@ namespace Waste.Application.SubscribeInfo
///
/// 发送第三方消息
///
- public class SendThirdMessageSubscriDto: SendMessageToThirdS2CDto
+ public class SendThirdMessageSubscriDto : SendMessageToThirdS2CDto
{
///
/// 推送地址
@@ -129,6 +133,12 @@ namespace Waste.Application.SubscribeInfo
/// 垃圾类别
///
public string WasteType { get; set; }
+
+ ///
+ /// 物品小类别
+ ///
+ public string WasteSType { get; set; } = "";
+
///
/// 重量,单位KG
///
diff --git a/Waste.Application/SubscribeInfo/ISubscribeService.cs b/Waste.Application/SubscribeInfo/ISubscribeService.cs
index 8f82dcf..7b8df6a 100644
--- a/Waste.Application/SubscribeInfo/ISubscribeService.cs
+++ b/Waste.Application/SubscribeInfo/ISubscribeService.cs
@@ -49,6 +49,12 @@ namespace Waste.Application.SubscribeInfo
///
///
Task Insert4GResultAsync(nMyPackage myPackage);
+ ///
+ /// A8 4G模块传输的数据增加测量记录
+ ///
+ ///
+ ///
+ void InsertA84GResultAsync(A8MyPackage myPackage);
///
/// 测试,4G模块传输的数据增加测量记录
///
diff --git a/Waste.Application/SubscribeInfo/SubscribeService.cs b/Waste.Application/SubscribeInfo/SubscribeService.cs
index 98fd2a2..5ba6f3a 100644
--- a/Waste.Application/SubscribeInfo/SubscribeService.cs
+++ b/Waste.Application/SubscribeInfo/SubscribeService.cs
@@ -244,6 +244,8 @@ namespace Waste.Application.SubscribeInfo
{
await _resultService.InsertResultBy4GAsync(myPackage);
}
+
+
///
/// 测试,4G模块传输的数据增加测量记录
///
@@ -286,5 +288,16 @@ namespace Waste.Application.SubscribeInfo
}
_loggerService.AddLogger($"第三方设备消息发送成功,内容:{data.ToJson()},返回:{returnstr}", 3);
}
+ ///
+ /// A8 4G模块传输的数据增加测量记录
+ ///
+ ///
+ ///
+ [CapSubscribe("result.service.inserta84g")]
+ public async void InsertA84GResultAsync(A8MyPackage myPackage)
+ {
+ _loggerService.AddLogger($"A8记录,内容:{myPackage.ToJson()}", 1);
+ await _resultService.InsertResultByA84GAsync(myPackage);
+ }
}
}
diff --git a/Waste.Application/Waste.Application.xml b/Waste.Application/Waste.Application.xml
index 7934a27..68dbe2e 100644
--- a/Waste.Application/Waste.Application.xml
+++ b/Waste.Application/Waste.Application.xml
@@ -1719,6 +1719,136 @@
是否为有效测量
+
+
+ A8协议包内容
+
+
+
+
+ 垃圾类别小类
+
+
+
+
+ 消息ID
+
+
+
+
+ 上报时间
+
+
+
+
+ 价格
+
+
+
+
+ 金额
+
+
+
+
+ 操作员
+
+
+
+
+ A8协议模块上传的数据包体
+
+
+
+
+ 固定头
+
+
+
+
+ 数据体长度
+
+
+
+
+ IMEI
+
+
+
+
+ ICCID
+
+
+
+
+ IMSI
+
+
+
+
+ 信号强度
+
+
+
+
+ 时间
+
+
+
+
+ 经度
+
+
+
+
+ 纬度
+
+
+
+
+ 桶大小
+
+
+
+
+ 垃圾桶编号
+
+
+
+
+ 垃圾类别
+
+
+
+
+ 重量,KG
+
+
+
+
+ 内容
+
+
+
+
+ 字符串结果
+
+
+
+
+ 是否是否通过校检,true-是,false-否
+
+
+
+
+ 是否为心跳包数据
+
+
+
+
+ 是否为有效测量
+
+
新的4G模块上传的数据包体
@@ -1875,6 +2005,13 @@
+
+
+ 新的A8 4G模块测量结果增加
+
+
+
+
wifi模块测量结果增加
@@ -1934,6 +2071,13 @@
+
+
+ 新的A8 4G模块测量结果增加
+
+
+
+
给第三方推送消息
@@ -2108,6 +2252,11 @@
垃圾类别
+
+
+ 物品小类别
+
+
重量,单位KG
@@ -2143,6 +2292,11 @@
垃圾类别
+
+
+ 物品小类别
+
+
重量,单位KG
@@ -2215,6 +2369,13 @@
+
+
+ A8 4G模块传输的数据增加测量记录
+
+
+
+
测试,4G模块传输的数据增加测量记录
@@ -2290,6 +2451,13 @@
+
+
+ A8 4G模块传输的数据增加测量记录
+
+
+
+
地址列表
diff --git a/Waste.CreateDB/Program.cs b/Waste.CreateDB/Program.cs
index 5efe513..3048f6f 100644
--- a/Waste.CreateDB/Program.cs
+++ b/Waste.CreateDB/Program.cs
@@ -10,7 +10,8 @@ namespace Waste.CreateDB
Console.WriteLine("开始创建表!");
var context = new CreateTable();
context.Create(false, 50,
- typeof(W_DeviceConfig)
+ typeof(W_DeviceConfig),
+ typeof(W_MeasureResult)
);
}
}
diff --git a/Waste.Domain/DataModel/W_MeasureResult.cs b/Waste.Domain/DataModel/W_MeasureResult.cs
new file mode 100644
index 0000000..e31dd26
--- /dev/null
+++ b/Waste.Domain/DataModel/W_MeasureResult.cs
@@ -0,0 +1,47 @@
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Waste.Domain
+{
+ ///
+ /// 更多测量记录
+ ///
+ [SugarTable("W_MeasureResult", TableDescription = "更多测量记录", IsDisabledUpdateAll = false, IsDisabledDelete = true)]
+ public class W_MeasureResult
+ {
+ ///
+ /// 记录ID
+ ///
+ [SugarColumn(ColumnDescription = "记录ID",IsPrimaryKey =true)]
+ public Guid ResultId { get; set; }
+ ///
+ /// 物品小类
+ ///
+ [SugarColumn(ColumnDescription = "物品小类", ColumnDataType = "nvarchar(100)")]
+ public string WasteSType { get; set; }
+ ///
+ /// 价格
+ ///
+ [SugarColumn(ColumnDescription = "价格", ColumnDataType = "decimal(18,2)")]
+ public decimal Price { get; set; }
+ ///
+ /// 金额
+ ///
+ [SugarColumn(ColumnDescription = "金额", ColumnDataType = "decimal(18,2)")]
+ public decimal Amount { get; set; }
+ ///
+ /// 操作员
+ ///
+ [SugarColumn(ColumnDescription = "操作员", ColumnDataType = "nvarchar(100)")]
+ public string OpUser { get; set; }
+ ///
+ /// 唯一消息ID
+ ///
+ [SugarColumn(ColumnDescription = "唯一消息ID", ColumnDataType = "varchar(50)",IndexGroupNameList =new string[] { "index_uuid"})]
+ public string UUID { get; set; }
+ }
+}
diff --git a/Waste.Domain/DataModel/W_ResultExt.cs b/Waste.Domain/DataModel/W_ResultExt.cs
index 11ad6e6..a699f42 100644
--- a/Waste.Domain/DataModel/W_ResultExt.cs
+++ b/Waste.Domain/DataModel/W_ResultExt.cs
@@ -11,6 +11,9 @@ namespace Waste.Domain
///
public class W_ResultExt
{
+ ///
+ /// 主键
+ ///
public Guid Id { get; set; }
///
/// 记录ID
diff --git a/Waste.SocketService.cs/MyPackage.cs b/Waste.SocketService.cs/MyPackage.cs
index 48e1c31..e6397dd 100644
--- a/Waste.SocketService.cs/MyPackage.cs
+++ b/Waste.SocketService.cs/MyPackage.cs
@@ -9,7 +9,7 @@ namespace Waste.SocketService
///
/// socket包内容
///
- public class MyPackage
+ public class MyPackage: A8Package
{
///
/// 固定头
@@ -84,4 +84,35 @@ namespace Waste.SocketService
///
public bool IsWeight { get; set; } = false;
}
+
+ ///
+ /// A8协议包内容
+ ///
+ public class A8Package
+ {
+ ///
+ /// 垃圾类别小类
+ ///
+ public string WasteSType { get; set; } = "";
+ ///
+ /// 消息ID
+ ///
+ public string UUID { get; set; } = "";
+ ///
+ /// 上报时间
+ ///
+ public string UploadTime { get; set; } = "";
+ ///
+ /// 价格
+ ///
+ public string Price { get; set; } = "";
+ ///
+ /// 金额
+ ///
+ public string Amount { get; set; } = "";
+ ///
+ /// 操作员
+ ///
+ public string OpUser { get; set; } = "";
+ }
}
diff --git a/Waste.SocketService.cs/MyPackageFilter.cs b/Waste.SocketService.cs/MyPackageFilter.cs
index 14ec14c..fa4e17e 100644
--- a/Waste.SocketService.cs/MyPackageFilter.cs
+++ b/Waste.SocketService.cs/MyPackageFilter.cs
@@ -208,7 +208,7 @@ namespace Waste.SocketService
key = keys.BytesToString();
}
#endregion
- if (key != "A9")
+ if (key != "A9" && key !="A8")
{
var len = reader.Length;
string msg = "";
@@ -221,6 +221,90 @@ namespace Waste.SocketService
package.IsChecked = false;
package.Body = msg;
}
+ else if (key == "A8")
+ {
+ package.Key = key;
+ package.Len = (int)reader.Length - 2;
+ string body = "";
+ byte[] bytes = new byte[package.Len];
+ for (var i = 0; i < package.Len; i++)
+ {
+ reader.TryRead(out byte val);
+ bytes[i] = val;
+ }
+ if (bytes.Length == 1 && bytes[0] == 0)
+ {
+ return null;
+ }
+ body = bytes.BytesToString().Replace("\r", "").Replace("\n", "");
+ package.Body = bytes.BytesToHexStr();
+ var arr = body.Split('|');
+ #region 心跳包的处理,IMEI|GPS
+ if (arr.Length == 2)
+ {
+ package.IsHeart = true;
+ package.IMEI = arr[0];
+ var gpsarr = arr[1].Split(',');
+ if (gpsarr.Length == 2)
+ {
+ package.Longitude = gpsarr[0];
+ package.Latitude = gpsarr[1];
+ }
+ }
+ else if (arr.Length == 7 && string.IsNullOrEmpty(arr[6]))
+ {
+ package.IsHeart = true;
+ package.ICCID = arr[0];
+ package.IMEI = arr[1];
+ package.IMSI = arr[2];
+ var gslq = Encoding.GetEncoding("GB2312").GetBytes(arr[3]);
+ if (gslq.Length == 2)
+ {
+ package.GSLQ = Convert.ToInt32(gslq[1]).ToString();
+ }
+ else
+ {
+ package.GSLQ = gslq.BytesToHexStr();
+ }
+ package.Time = $"{arr[4]}{arr[5]}".Replace("-", "").Replace(":", "");
+ }
+ else if (arr.Length == 7)
+ {
+ package.ICCID = arr[0];
+ package.IMEI = arr[1];
+ package.IMSI = arr[2];
+ var gslq = Encoding.GetEncoding("GB2312").GetBytes(arr[3]);
+ if (gslq.Length == 2)
+ {
+ package.GSLQ = Convert.ToInt32(gslq[1]).ToString();
+ }
+ else
+ {
+ package.GSLQ = gslq.BytesToHexStr();
+ }
+ package.Time = $"{arr[4]}{arr[5]}".Replace("-", "").Replace(":", "");
+ //uuid@datetime@垃圾类型@子类@重量@价格@金额@操作员
+ var measurearr =Encoding.UTF8.GetString(Encoding.GetEncoding("GB2312").GetBytes(arr[6])).Split('@');
+ if (measurearr.Length == 8)
+ {
+ package.UUID = measurearr[0];
+ package.UploadTime = measurearr[1];
+ package.WasteType = measurearr[2];
+ package.WasteSType = measurearr[3];
+ package.Weight = measurearr[4];
+ package.Price = measurearr[5];
+ package.Amount = measurearr[6];
+ package.OpUser = measurearr[7];
+ package.IsWeight = true;
+ }
+ else
+ {
+ package.size = arr[6];
+ }
+
+ }
+ #endregion
+ }
else
{
package.Key = key;
@@ -251,7 +335,7 @@ namespace Waste.SocketService
package.Latitude = gpsarr[1];
}
}
- else if(arr.Length == 7 && string.IsNullOrEmpty(arr[6]))
+ else if (arr.Length == 7 && string.IsNullOrEmpty(arr[6]))
{
package.IsHeart = true;
package.ICCID = arr[0];
diff --git a/Waste.SocketService.cs/Program.cs b/Waste.SocketService.cs/Program.cs
index ed37b17..010bfe7 100644
--- a/Waste.SocketService.cs/Program.cs
+++ b/Waste.SocketService.cs/Program.cs
@@ -115,23 +115,41 @@ namespace Waste.SocketService
string msg = $"ͨУ,ʮ:{package.Body},ַ:{package.Str}";
if (package.IsHeart)
{
- msg = $"{msg},,{(package == null?"":JsonConvert.SerializeObject(package))}";
+ msg = $"{msg},,{(package == null ? "" : JsonConvert.SerializeObject(package))}";
}
else
{
msg = $"{msg},,{(package == null ? "" : JsonConvert.SerializeObject(package))}";
if (package.IsWeight)
{
- msg = $"{msg},ͰС:{package.size},Ͱ:{package.trashcode},:{package.WasteType},:{package.Weight}KG";
+ if (package.Key == "A8")
+ {
+ msg = $"{msg},uuid:{package.UUID},ʱ:{package.UploadTime},:{package.WasteType},С:{package.WasteSType},:{package.Weight},۸:{package.Price},:{package.Amount},Ա:{package.OpUser}";
+ }
+ else
+ {
+ msg = $"{msg},ͰС:{package.size},Ͱ:{package.trashcode},:{package.WasteType},:{package.Weight}KG";
+ }
}
else
{
msg = $"{msg},:{package.size}";
}
}
- //rabbitmqзϢ
- await _capBus.PublishAsync("result.service.insert4g", package);
_logger.Information(msg);
+ if (package.Key == "A8")
+ {
+ await _capBus.PublishAsync("result.service.inserta84g", package);
+ if (!session.Channel.IsClosed)
+ {
+ string returndata = $"STATUS,OK,{package.UUID}";
+ await session.SendAsync(Encoding.GetEncoding("GB2312").GetBytes(returndata + "\r\n"));
+ }
+ }
+ else
+ {
+ await _capBus.PublishAsync("result.service.insert4g", package);
+ }
}
else
{
diff --git a/Waste.SocketService.cs/Properties/PublishProfiles/FolderProfile.pubxml.user b/Waste.SocketService.cs/Properties/PublishProfiles/FolderProfile.pubxml.user
index e8b8e97..8b37728 100644
--- a/Waste.SocketService.cs/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/Waste.SocketService.cs/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,6 +4,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
-->
- True|2022-05-17T09:19:03.8993888Z;True|2021-11-23T17:56:50.1140092+08:00;True|2021-11-23T17:47:15.3723334+08:00;True|2021-11-23T17:46:56.0953346+08:00;True|2021-11-23T15:39:30.7279293+08:00;True|2021-11-23T15:26:11.9749528+08:00;True|2021-11-23T15:19:15.3506970+08:00;True|2021-11-23T14:58:10.0460847+08:00;
+ True|2022-06-18T03:30:52.8509064Z;True|2022-06-18T11:12:53.8211499+08:00;True|2022-06-18T11:11:56.6483268+08:00;True|2022-06-18T10:40:35.8822373+08:00;True|2022-05-17T17:19:03.8993888+08:00;True|2021-11-23T17:56:50.1140092+08:00;True|2021-11-23T17:47:15.3723334+08:00;True|2021-11-23T17:46:56.0953346+08:00;True|2021-11-23T15:39:30.7279293+08:00;True|2021-11-23T15:26:11.9749528+08:00;True|2021-11-23T15:19:15.3506970+08:00;True|2021-11-23T14:58:10.0460847+08:00;
\ No newline at end of file
diff --git a/Waste.SocketService.cs/appsettings.Development.json b/Waste.SocketService.cs/appsettings.Development.json
index c4e3574..e216756 100644
--- a/Waste.SocketService.cs/appsettings.Development.json
+++ b/Waste.SocketService.cs/appsettings.Development.json
@@ -1,5 +1,5 @@
{
- "logfile": "e:/errlog/wastesocket.jt-sky.com", //־ļ·
+ "logfile": "e:/errlog/wastesocket.jt-sky.com", //日志文件路径
"Serilog": {
"MinimumLevel": {
"Default": "Information",
@@ -11,7 +11,7 @@
}
}
},
- "serverOptions": { //supersocker
+ "serverOptions": { //supersocker配置
"name": "WasteService",
"listeners": [
{
@@ -20,11 +20,11 @@
}
]
},
- "RabbitmqSetting": { //rabbitmq
+ "RabbitmqSetting": { //rabbitmq配置
"HostName": "localhost",
"Port": 5672,
"UserName": "liuzl",
"Password": "liuzl",
- "DBConnection": "Server=123.60.2.99,4331;Database=waste;uid=jutian_user;pwd=jutian1qaz@WSX;" //ݱ
+ "DBConnection": "Server=123.60.2.99,4331;Database=waste;uid=jutian_user;pwd=jutian1qaz@WSX;" //数据保存库
}
}
diff --git a/Waste.SocketService.cs/appsettings.json b/Waste.SocketService.cs/appsettings.json
index feafa2a..d8cca9a 100644
--- a/Waste.SocketService.cs/appsettings.json
+++ b/Waste.SocketService.cs/appsettings.json
@@ -1,5 +1,5 @@
{
- "logfile": "d:/errlog/wastesocket.jt-sky.com", //־ļ·
+ "logfile": "d:/errlog/wastesocket.jt-sky.com", //日志文件路径
"Serilog": {
"MinimumLevel": {
"Default": "Information",
@@ -11,7 +11,7 @@
}
}
},
- "serverOptions": { //supersocker
+ "serverOptions": { //supersocker配置
"name": "WasteService",
"listeners": [
{
@@ -20,11 +20,11 @@
}
]
},
- "RabbitmqSetting": { //rabbitmq
+ "RabbitmqSetting": { //rabbitmq配置
"HostName": "localhost",
"Port": 5672,
"UserName": "liuzl",
"Password": "liuzl",
- "DBConnection": "Server=localhost,4331;Database=waste;uid=jutian_user;pwd=jutian1qaz@WSX;" //ݱ
+ "DBConnection": "Server=localhost,4331;Database=waste;uid=jutian_user;pwd=jutian1qaz@WSX;" //数据保存库
}
}
diff --git a/Waste.Web.Entry/Properties/PublishProfiles/waste.ybhdmob.com.pubxml.user b/Waste.Web.Entry/Properties/PublishProfiles/waste.ybhdmob.com.pubxml.user
index 3e7d9be..c908d11 100644
--- a/Waste.Web.Entry/Properties/PublishProfiles/waste.ybhdmob.com.pubxml.user
+++ b/Waste.Web.Entry/Properties/PublishProfiles/waste.ybhdmob.com.pubxml.user
@@ -5,6 +5,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<_PublishTargetUrl>D:\webpublish\waste.ybhdmob.com
- True|2022-06-15T03:23:32.6444305Z;True|2022-06-07T10:26:48.8057155+08:00;True|2022-05-19T14:38:58.4564787+08:00;True|2022-05-19T10:00:43.2712891+08:00;True|2022-05-17T18:00:53.2618269+08:00;True|2022-05-17T17:55:33.2053115+08:00;True|2022-05-17T17:38:48.8279756+08:00;True|2022-05-16T16:44:49.1758100+08:00;True|2022-03-30T10:54:32.5565057+08:00;True|2022-03-30T10:53:48.9972377+08:00;True|2022-03-30T10:50:31.5745775+08:00;True|2022-03-30T10:47:50.1605527+08:00;True|2022-03-30T10:15:59.9812921+08:00;True|2022-03-29T09:29:45.1039655+08:00;True|2022-03-29T09:21:47.0149226+08:00;True|2022-03-28T10:33:44.7419612+08:00;True|2022-03-28T10:22:40.9448563+08:00;True|2022-03-28T10:19:15.1438519+08:00;True|2022-01-20T10:39:53.2000547+08:00;True|2021-11-23T17:45:59.0399234+08:00;True|2021-11-23T14:52:52.6108389+08:00;True|2021-11-23T13:47:55.8909321+08:00;True|2021-11-23T13:46:38.7796888+08:00;True|2021-11-23T13:42:14.9551976+08:00;True|2021-11-23T13:40:54.9093258+08:00;True|2021-11-23T13:31:49.0003794+08:00;True|2021-11-23T13:29:43.7414639+08:00;True|2021-10-12T15:18:06.6012215+08:00;True|2021-10-12T15:11:17.7752651+08:00;True|2021-10-12T14:54:39.0578509+08:00;True|2021-10-12T11:25:18.7098128+08:00;True|2021-09-18T15:34:20.7386778+08:00;True|2021-09-15T11:09:28.0068993+08:00;True|2021-09-07T12:19:33.4635211+08:00;True|2021-09-07T11:36:13.4563799+08:00;True|2021-09-03T15:41:46.2819586+08:00;True|2021-08-31T17:16:16.0336390+08:00;True|2021-08-31T16:05:30.7224440+08:00;True|2021-08-23T09:44:46.2114418+08:00;True|2021-08-19T20:32:56.2854974+08:00;True|2021-08-18T14:01:33.0411246+08:00;True|2021-08-17T10:05:15.4299188+08:00;True|2021-08-13T19:32:53.6307075+08:00;True|2021-08-13T19:29:50.5876782+08:00;True|2021-08-13T19:14:14.2545106+08:00;True|2021-08-13T15:24:09.4521125+08:00;True|2021-08-13T14:59:40.4579407+08:00;True|2021-08-13T10:02:29.7650246+08:00;True|2021-08-13T09:45:10.6245894+08:00;True|2021-08-12T20:11:21.5851106+08:00;True|2021-08-12T20:00:42.4820498+08:00;True|2021-08-12T18:44:08.3079650+08:00;True|2021-08-12T18:35:47.4730766+08:00;True|2021-08-12T18:32:10.9361388+08:00;True|2021-08-12T18:30:21.4006961+08:00;True|2021-08-12T18:13:00.9624470+08:00;True|2021-08-12T18:10:12.3459311+08:00;True|2021-08-12T18:09:18.8656414+08:00;True|2021-08-12T17:35:24.7213607+08:00;True|2021-08-11T07:54:57.1322848+08:00;True|2021-08-10T10:16:40.7495389+08:00;True|2021-08-03T11:16:02.7897282+08:00;True|2021-08-02T16:39:27.2332369+08:00;True|2021-08-02T15:07:40.7995318+08:00;True|2021-08-02T14:32:29.6885424+08:00;True|2021-08-02T14:31:18.6578543+08:00;True|2021-08-02T14:27:57.1301002+08:00;True|2021-08-02T10:55:40.3542370+08:00;True|2021-08-02T09:44:28.0994056+08:00;True|2021-08-01T13:49:38.4071985+08:00;True|2021-08-01T13:36:45.5372120+08:00;True|2021-08-01T11:00:19.6165520+08:00;True|2021-08-01T10:38:51.4029710+08:00;True|2021-07-31T20:27:53.6583811+08:00;True|2021-07-31T18:35:23.4214441+08:00;True|2021-07-31T17:34:14.0712243+08:00;True|2021-07-31T14:50:43.2065556+08:00;True|2021-07-30T17:59:30.2223340+08:00;True|2021-07-30T17:57:35.9412910+08:00;True|2021-07-30T17:07:58.3305971+08:00;True|2021-07-30T17:04:10.9244859+08:00;True|2021-07-30T17:02:12.1943634+08:00;True|2021-07-30T16:16:22.2838331+08:00;True|2021-07-30T15:05:26.5664155+08:00;True|2021-07-30T14:57:59.1966108+08:00;True|2021-07-30T14:54:25.8172908+08:00;True|2021-07-30T14:52:20.9209995+08:00;True|2021-07-30T14:35:29.5239463+08:00;True|2021-07-30T09:32:38.2676032+08:00;True|2021-07-30T09:14:42.6170851+08:00;True|2021-07-29T19:06:09.1449349+08:00;True|2021-06-11T08:16:29.9542894+08:00;True|2021-06-04T14:46:02.2707457+08:00;True|2021-06-02T15:08:52.8245632+08:00;True|2021-06-02T15:05:50.3614099+08:00;True|2021-06-02T14:59:32.3690948+08:00;True|2021-06-02T14:10:25.1182836+08:00;True|2021-06-02T14:09:54.9215833+08:00;True|2021-06-01T10:41:54.9488501+08:00;True|2021-06-01T10:38:56.0283198+08:00;True|2021-05-28T13:59:02.2308877+08:00;True|2021-05-28T11:56:26.6796406+08:00;True|2021-05-28T11:28:00.4087907+08:00;True|2021-05-27T16:18:09.5993838+08:00;True|2021-05-27T16:07:31.3484951+08:00;True|2021-05-27T11:30:37.9119310+08:00;True|2021-05-27T11:28:35.5374674+08:00;True|2021-05-27T08:00:09.1625592+08:00;True|2021-05-26T20:42:17.0852150+08:00;True|2021-05-26T20:36:49.7527415+08:00;True|2021-05-25T17:57:31.8791293+08:00;True|2021-05-25T13:49:29.6488978+08:00;True|2021-05-25T13:48:24.6686105+08:00;True|2021-05-25T13:25:41.2512493+08:00;True|2021-05-24T17:55:33.3800078+08:00;True|2021-05-20T14:35:30.6957985+08:00;True|2021-05-20T13:17:22.6192995+08:00;True|2021-05-20T10:51:38.1268169+08:00;True|2021-05-19T19:50:03.7000224+08:00;True|2021-05-19T19:44:27.2518811+08:00;True|2021-05-19T19:43:26.5916681+08:00;True|2021-05-19T19:36:29.3197365+08:00;True|2021-05-19T19:30:00.3802430+08:00;True|2021-05-19T17:55:23.7939835+08:00;True|2021-05-19T11:05:17.9043392+08:00;True|2021-05-19T10:19:38.4839988+08:00;True|2021-05-19T10:17:19.7430612+08:00;True|2021-05-19T10:13:23.0031721+08:00;True|2021-05-19T10:06:03.9881599+08:00;True|2021-05-18T14:39:03.8876574+08:00;True|2021-05-18T14:23:46.9818836+08:00;True|2021-05-18T14:19:56.2382079+08:00;True|2021-05-18T11:29:53.5497590+08:00;True|2021-05-18T11:16:18.0123853+08:00;True|2021-05-17T18:59:52.4159105+08:00;True|2021-05-17T18:53:37.9438984+08:00;True|2021-05-17T18:48:14.9625161+08:00;True|2021-05-17T17:46:03.7723404+08:00;True|2021-05-17T17:14:20.2312990+08:00;True|2021-05-17T16:44:34.5837616+08:00;True|2021-05-17T16:25:20.1087804+08:00;True|2021-05-17T11:35:27.9388562+08:00;
+ True|2022-06-18T02:39:25.0997617Z;True|2022-06-15T11:23:32.6444305+08:00;True|2022-06-07T10:26:48.8057155+08:00;True|2022-05-19T14:38:58.4564787+08:00;True|2022-05-19T10:00:43.2712891+08:00;True|2022-05-17T18:00:53.2618269+08:00;True|2022-05-17T17:55:33.2053115+08:00;True|2022-05-17T17:38:48.8279756+08:00;True|2022-05-16T16:44:49.1758100+08:00;True|2022-03-30T10:54:32.5565057+08:00;True|2022-03-30T10:53:48.9972377+08:00;True|2022-03-30T10:50:31.5745775+08:00;True|2022-03-30T10:47:50.1605527+08:00;True|2022-03-30T10:15:59.9812921+08:00;True|2022-03-29T09:29:45.1039655+08:00;True|2022-03-29T09:21:47.0149226+08:00;True|2022-03-28T10:33:44.7419612+08:00;True|2022-03-28T10:22:40.9448563+08:00;True|2022-03-28T10:19:15.1438519+08:00;True|2022-01-20T10:39:53.2000547+08:00;True|2021-11-23T17:45:59.0399234+08:00;True|2021-11-23T14:52:52.6108389+08:00;True|2021-11-23T13:47:55.8909321+08:00;True|2021-11-23T13:46:38.7796888+08:00;True|2021-11-23T13:42:14.9551976+08:00;True|2021-11-23T13:40:54.9093258+08:00;True|2021-11-23T13:31:49.0003794+08:00;True|2021-11-23T13:29:43.7414639+08:00;True|2021-10-12T15:18:06.6012215+08:00;True|2021-10-12T15:11:17.7752651+08:00;True|2021-10-12T14:54:39.0578509+08:00;True|2021-10-12T11:25:18.7098128+08:00;True|2021-09-18T15:34:20.7386778+08:00;True|2021-09-15T11:09:28.0068993+08:00;True|2021-09-07T12:19:33.4635211+08:00;True|2021-09-07T11:36:13.4563799+08:00;True|2021-09-03T15:41:46.2819586+08:00;True|2021-08-31T17:16:16.0336390+08:00;True|2021-08-31T16:05:30.7224440+08:00;True|2021-08-23T09:44:46.2114418+08:00;True|2021-08-19T20:32:56.2854974+08:00;True|2021-08-18T14:01:33.0411246+08:00;True|2021-08-17T10:05:15.4299188+08:00;True|2021-08-13T19:32:53.6307075+08:00;True|2021-08-13T19:29:50.5876782+08:00;True|2021-08-13T19:14:14.2545106+08:00;True|2021-08-13T15:24:09.4521125+08:00;True|2021-08-13T14:59:40.4579407+08:00;True|2021-08-13T10:02:29.7650246+08:00;True|2021-08-13T09:45:10.6245894+08:00;True|2021-08-12T20:11:21.5851106+08:00;True|2021-08-12T20:00:42.4820498+08:00;True|2021-08-12T18:44:08.3079650+08:00;True|2021-08-12T18:35:47.4730766+08:00;True|2021-08-12T18:32:10.9361388+08:00;True|2021-08-12T18:30:21.4006961+08:00;True|2021-08-12T18:13:00.9624470+08:00;True|2021-08-12T18:10:12.3459311+08:00;True|2021-08-12T18:09:18.8656414+08:00;True|2021-08-12T17:35:24.7213607+08:00;True|2021-08-11T07:54:57.1322848+08:00;True|2021-08-10T10:16:40.7495389+08:00;True|2021-08-03T11:16:02.7897282+08:00;True|2021-08-02T16:39:27.2332369+08:00;True|2021-08-02T15:07:40.7995318+08:00;True|2021-08-02T14:32:29.6885424+08:00;True|2021-08-02T14:31:18.6578543+08:00;True|2021-08-02T14:27:57.1301002+08:00;True|2021-08-02T10:55:40.3542370+08:00;True|2021-08-02T09:44:28.0994056+08:00;True|2021-08-01T13:49:38.4071985+08:00;True|2021-08-01T13:36:45.5372120+08:00;True|2021-08-01T11:00:19.6165520+08:00;True|2021-08-01T10:38:51.4029710+08:00;True|2021-07-31T20:27:53.6583811+08:00;True|2021-07-31T18:35:23.4214441+08:00;True|2021-07-31T17:34:14.0712243+08:00;True|2021-07-31T14:50:43.2065556+08:00;True|2021-07-30T17:59:30.2223340+08:00;True|2021-07-30T17:57:35.9412910+08:00;True|2021-07-30T17:07:58.3305971+08:00;True|2021-07-30T17:04:10.9244859+08:00;True|2021-07-30T17:02:12.1943634+08:00;True|2021-07-30T16:16:22.2838331+08:00;True|2021-07-30T15:05:26.5664155+08:00;True|2021-07-30T14:57:59.1966108+08:00;True|2021-07-30T14:54:25.8172908+08:00;True|2021-07-30T14:52:20.9209995+08:00;True|2021-07-30T14:35:29.5239463+08:00;True|2021-07-30T09:32:38.2676032+08:00;True|2021-07-30T09:14:42.6170851+08:00;True|2021-07-29T19:06:09.1449349+08:00;True|2021-06-11T08:16:29.9542894+08:00;True|2021-06-04T14:46:02.2707457+08:00;True|2021-06-02T15:08:52.8245632+08:00;True|2021-06-02T15:05:50.3614099+08:00;True|2021-06-02T14:59:32.3690948+08:00;True|2021-06-02T14:10:25.1182836+08:00;True|2021-06-02T14:09:54.9215833+08:00;True|2021-06-01T10:41:54.9488501+08:00;True|2021-06-01T10:38:56.0283198+08:00;True|2021-05-28T13:59:02.2308877+08:00;True|2021-05-28T11:56:26.6796406+08:00;True|2021-05-28T11:28:00.4087907+08:00;True|2021-05-27T16:18:09.5993838+08:00;True|2021-05-27T16:07:31.3484951+08:00;True|2021-05-27T11:30:37.9119310+08:00;True|2021-05-27T11:28:35.5374674+08:00;True|2021-05-27T08:00:09.1625592+08:00;True|2021-05-26T20:42:17.0852150+08:00;True|2021-05-26T20:36:49.7527415+08:00;True|2021-05-25T17:57:31.8791293+08:00;True|2021-05-25T13:49:29.6488978+08:00;True|2021-05-25T13:48:24.6686105+08:00;True|2021-05-25T13:25:41.2512493+08:00;True|2021-05-24T17:55:33.3800078+08:00;True|2021-05-20T14:35:30.6957985+08:00;True|2021-05-20T13:17:22.6192995+08:00;True|2021-05-20T10:51:38.1268169+08:00;True|2021-05-19T19:50:03.7000224+08:00;True|2021-05-19T19:44:27.2518811+08:00;True|2021-05-19T19:43:26.5916681+08:00;True|2021-05-19T19:36:29.3197365+08:00;True|2021-05-19T19:30:00.3802430+08:00;True|2021-05-19T17:55:23.7939835+08:00;True|2021-05-19T11:05:17.9043392+08:00;True|2021-05-19T10:19:38.4839988+08:00;True|2021-05-19T10:17:19.7430612+08:00;True|2021-05-19T10:13:23.0031721+08:00;True|2021-05-19T10:06:03.9881599+08:00;True|2021-05-18T14:39:03.8876574+08:00;True|2021-05-18T14:23:46.9818836+08:00;True|2021-05-18T14:19:56.2382079+08:00;True|2021-05-18T11:29:53.5497590+08:00;True|2021-05-18T11:16:18.0123853+08:00;True|2021-05-17T18:59:52.4159105+08:00;True|2021-05-17T18:53:37.9438984+08:00;True|2021-05-17T18:48:14.9625161+08:00;True|2021-05-17T17:46:03.7723404+08:00;True|2021-05-17T17:14:20.2312990+08:00;True|2021-05-17T16:44:34.5837616+08:00;True|2021-05-17T16:25:20.1087804+08:00;True|2021-05-17T11:35:27.9388562+08:00;
\ No newline at end of file