diff --git a/BPA.SAAS.KitChenManage.Application/BPA.SAAS.KitChenManage.Application.xml b/BPA.SAAS.KitChenManage.Application/BPA.SAAS.KitChenManage.Application.xml
index 502db6c..b089751 100644
--- a/BPA.SAAS.KitChenManage.Application/BPA.SAAS.KitChenManage.Application.xml
+++ b/BPA.SAAS.KitChenManage.Application/BPA.SAAS.KitChenManage.Application.xml
@@ -18,19 +18,22 @@
-
+
- 修改
+ 删除
-
+
- 删除
+ 下发类型1商品 2物料 3配方
+
+
+
+
+ 设备AutoKey
-
-
@@ -46,13 +49,6 @@
-
-
- 修改
-
-
-
-
删除
@@ -74,13 +70,6 @@
-
-
- 修改
-
-
-
-
删除
diff --git a/BPA.SAAS.KitChenManage.Application/Device/DevicePushRecodeServices.cs b/BPA.SAAS.KitChenManage.Application/Device/DevicePushRecodeServices.cs
index fba8cc0..4b55156 100644
--- a/BPA.SAAS.KitChenManage.Application/Device/DevicePushRecodeServices.cs
+++ b/BPA.SAAS.KitChenManage.Application/Device/DevicePushRecodeServices.cs
@@ -37,16 +37,7 @@ namespace BPA.SAAS.KitChenManage.Application.Device
{
return await _devicePushRecodeService.Add(input);
}
- ///
- /// 修改
- ///
- ///
- ///
- [HttpPost("/api/devicepushrecode/update")]
- public async Task Update(DevicePushRecodeDtoInput input)
- {
- return await _devicePushRecodeService.Update(input);
- }
+
///
/// 删除
///
diff --git a/BPA.SAAS.KitChenManage.Application/Device/Dtos/DevicePushRecodeDtoInput.cs b/BPA.SAAS.KitChenManage.Application/Device/Dtos/DevicePushRecodeDtoInput.cs
index 4af7410..50e39db 100644
--- a/BPA.SAAS.KitChenManage.Application/Device/Dtos/DevicePushRecodeDtoInput.cs
+++ b/BPA.SAAS.KitChenManage.Application/Device/Dtos/DevicePushRecodeDtoInput.cs
@@ -8,8 +8,10 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Dtos
{
public class DevicePushRecodeDtoInput
{
- public string Id { get; set; }
public string DeviceId { get; set; }
- public string Type { get; set; }
+ public string DeviceName { get; set; }
+ public int DeviceAutoKey { get; set; }
+ public object Data { get; set; }
+ public int Type { get; set; }
}
}
diff --git a/BPA.SAAS.KitChenManage.Application/Device/Dtos/DevicePushRecodeDtoPageInput.cs b/BPA.SAAS.KitChenManage.Application/Device/Dtos/DevicePushRecodeDtoPageInput.cs
index 3921383..2a74115 100644
--- a/BPA.SAAS.KitChenManage.Application/Device/Dtos/DevicePushRecodeDtoPageInput.cs
+++ b/BPA.SAAS.KitChenManage.Application/Device/Dtos/DevicePushRecodeDtoPageInput.cs
@@ -9,5 +9,9 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Dtos
{
public class DevicePushRecodeDtoPageInput: PageInputBase
{
+ ///
+ /// 下发类型1商品 2物料 3配方
+ ///
+ public int Type { get; set; }
}
}
diff --git a/BPA.SAAS.KitChenManage.Application/Device/Services/DevicePushRecodeService.cs b/BPA.SAAS.KitChenManage.Application/Device/Services/DevicePushRecodeService.cs
index ffdb954..bd49360 100644
--- a/BPA.SAAS.KitChenManage.Application/Device/Services/DevicePushRecodeService.cs
+++ b/BPA.SAAS.KitChenManage.Application/Device/Services/DevicePushRecodeService.cs
@@ -1,14 +1,18 @@
using BPA.Message;
+using BPA.Message.IOT;
using BPA.SAAS.KitChenManage.Application.Device.Dtos;
using BPA.SAAS.KitChenManage.Application.Store.Dtos;
using BPA.SAAS.KitChenManage.Core.Base;
using BPA.SAAS.KitChenManage.Core.Model;
using Furion.LinqBuilder;
+using Microsoft.Extensions.Hosting;
using MQTTnet;
using MQTTnet.Client;
+using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Net.Http.Json;
using System.Text;
using System.Threading.Tasks;
@@ -31,13 +35,17 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Services
public async Task Page(DevicePushRecodeDtoPageInput input)
{
RefAsync total = 0;
- var res = await _db.Queryable()
+ var res = await _db.Queryable().Where(x=>x.Type== input.Type)
.Select(t => new
{
CreateAt = t.CreateAt,
+ CreateBy = t.CreateBy,
Id = t.Id,
DeviceId = t.DeviceId,
- Type=t.Type
+ DeviceName= t.DeviceName,
+ Type =t.Type,
+ Topic=t.Topic,
+ DataResore=t.DataResore,
}).OrderBy(x => x.CreateAt, OrderByType.Desc).ToPageListAsync(input.Current, input.PageSize, total);
PageUtil util = new PageUtil()
{
@@ -54,25 +62,17 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Services
///
public async Task Add(DevicePushRecodeDtoInput input)
{
- var Store = input.Adapt();
- // role.DataScopeType = DataScopeType.ALL;
- await Push(0, null);
- return await _db.Insertable(Store).CallEntityMethod(t => t.Create()).ExecuteCommandAsync() > 0;
- }
- ///
- /// 修改
- ///
- ///
- ///
- public async Task Update(DevicePushRecodeDtoInput input)
- {
- var BPA_Store = await _db.Queryable().Where(a => a.Id == input.Id).FirstAsync();
-
- var Store = await _db.Queryable().Where(a => a.Id == input.Id).FirstAsync();
- Store.DeviceId = input.DeviceId;
- Store.Type = input.Type;
- return _db.Updateable(Store).ExecuteCommandHasChange();
-
+ var data = input.Adapt();
+ string Topic = GetTopic(input.Type, input.DeviceAutoKey.ToString());
+ if (string.IsNullOrEmpty(Topic)) throw Oops.Oh("请配置相关topic");
+ data.Topic= Topic;
+ data.DataResore = JsonConvert.SerializeObject(JsonConvert.DeserializeObject(input.Data.ToString()));
+ var res=await Push(Topic, new PushData() { Data=input.Data, DeviceId= input.DeviceAutoKey });
+ if (res)
+ {
+ await _db.Insertable(data).CallEntityMethod(t => t.Create()).ExecuteCommandAsync();
+ }
+ return res;
}
///
/// 删除
@@ -94,16 +94,16 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Services
throw Oops.Oh("删除失败");
}
}
- private async Task Push(int AutoKey, PushData data)
+ private async Task Push(string Topic,PushData data)
{
try
{
- string Topic = "";
+
// Topic = TOPIC.GetInstance.GetBusinessTopic(x, storeInfo.FirstOrDefault(a => a.Id == item.OrgId).AutoKey) + "/" + item.AutoKey;
BPAPackage bPAPackage = new BPAPackage
{
MessageId = MessageID.TMC_PUSH_INGREDIENTS,
- ClientId = AutoKey,
+ ClientId = data.DeviceId,
//ClientType = Procuct
MessageVersion = 0x30,
Timestamp = DateTime.Now,
@@ -113,13 +113,30 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Services
// Thread.Sleep(200);
//string aa = bPAPackage.Serialize(false);
var applictionmessage = new MqttApplicationMessageBuilder().WithTopic(Topic).WithPayload(bPAPackage.Serialize(false)).WithAtLeastOnceQoS().Build();
- _mqttClient.PublishAsync(applictionmessage);
+ await _mqttClient.PublishAsync(applictionmessage);
return true;
}
- catch (Exception)
+ catch (Exception e)
+ {
+ throw Oops.Oh("下发错误,错误信息:"+e.Message);
+ }
+ }
+ private string GetTopic(int type,string deviceKey)
+ {
+ string topic = "";
+ switch (type)
{
- return false;
+ case 1: //商品下发
+ topic = $"/da4bfff042c656210/${deviceKey}/use/goodspush";
+ break;
+ case 2://物料下发
+ topic = $"/da4bfff042c656210/${deviceKey}/use/batvhingpush";
+ break;
+ case 4:
+ topic = $"/da4bfff042c656210/${deviceKey}/use/chnologypush";
+ break;
}
+ return topic;
}
}
}
diff --git a/BPA.SAAS.KitChenManage.Application/Device/Services/IDevicePushRecodeService.cs b/BPA.SAAS.KitChenManage.Application/Device/Services/IDevicePushRecodeService.cs
index 5cc5e00..1528b96 100644
--- a/BPA.SAAS.KitChenManage.Application/Device/Services/IDevicePushRecodeService.cs
+++ b/BPA.SAAS.KitChenManage.Application/Device/Services/IDevicePushRecodeService.cs
@@ -22,12 +22,7 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Services
///
///
Task Add(DevicePushRecodeDtoInput input);
- ///
- /// 修改
- ///
- ///
- ///
- Task Update(DevicePushRecodeDtoInput input);
+
///
/// 删除
///
diff --git a/BPA.SAAS.KitChenManage.Application/Store/Services/StoreService.cs b/BPA.SAAS.KitChenManage.Application/Store/Services/StoreService.cs
index 3edd476..3cf9239 100644
--- a/BPA.SAAS.KitChenManage.Application/Store/Services/StoreService.cs
+++ b/BPA.SAAS.KitChenManage.Application/Store/Services/StoreService.cs
@@ -28,7 +28,7 @@ namespace BPA.SAAS.KitChenManage.Application.Store.Services
var res = await _db.Queryable()
.WhereIF(!input.OrgName.IsNullOrEmpty(), t => t.OrgId.Contains(input.OrgName))
.WhereIF(!input.Name.IsNullOrEmpty(), t => t.Name.Contains(input.Name))
-
+ .WhereIF(!input.Phone.IsNullOrEmpty(), t => t.Phone.Contains(input.Phone))
.Select(t => new StoreDtoOutput
{
CreateAt = t.CreateAt,
diff --git a/BPA.SAAS.KitChenManage.Core/BPA.SAAS.KitChenManage.Core.xml b/BPA.SAAS.KitChenManage.Core/BPA.SAAS.KitChenManage.Core.xml
index 8c9126f..f377eac 100644
--- a/BPA.SAAS.KitChenManage.Core/BPA.SAAS.KitChenManage.Core.xml
+++ b/BPA.SAAS.KitChenManage.Core/BPA.SAAS.KitChenManage.Core.xml
@@ -60,6 +60,11 @@
+
+
+ 下发类型1商品 2物料 3配方 4工艺
+
+
菜谱id
diff --git a/BPA.SAAS.KitChenManage.Core/DbContext.cs b/BPA.SAAS.KitChenManage.Core/DbContext.cs
index 52fa64a..05e15ce 100644
--- a/BPA.SAAS.KitChenManage.Core/DbContext.cs
+++ b/BPA.SAAS.KitChenManage.Core/DbContext.cs
@@ -35,6 +35,15 @@ namespace BPA.SAAS.KitChenManage.Core
SqlSugarScope sqlSugar = new SqlSugarScope(configConnection,
db =>
{
+ //过滤已删除数据
+ db.QueryFilter.AddTableFilter(it => it.IsDeleted == 0);
+ //db.QueryFilter.AddTableFilter(it => it.Status == 0);
+ if (App.User.FindFirst(ClaimConst.CLAINM_SUPERADMIN)?.Value != null)
+ {
+ //非管理员账户过滤加盟商数据
+ var groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value;
+ db.QueryFilter.AddTableFilter(it => it.GroupId == groupId);
+ }
db.Aop.DataExecuting = (oldValue, entityInfo) =>
{
//新增添加加盟商id赋值
@@ -51,15 +60,8 @@ namespace BPA.SAAS.KitChenManage.Core
//单例参数配置,所有上下文生效
db.Aop.OnLogExecuting = (sql, pars) =>
{
- //过滤已删除数据
- db.QueryFilter.AddTableFilter(it => it.IsDeleted == 0);
-
- if (!IsSuperAdmin())
- {
- //非管理员账户过滤加盟商数据
- var groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value;
- db.QueryFilter.AddTableFilter(it => it.GroupId == groupId);
- }
+
+
//Console.WriteLine(sql);//输出sql
Console.WriteLine($"当前SQL语句:【{sql}】,参数:【{string.Join(",", pars.Select(t => t.Value))}】");
diff --git a/BPA.SAAS.KitChenManage.Core/Model/BPA_DevicePushRecode.cs b/BPA.SAAS.KitChenManage.Core/Model/BPA_DevicePushRecode.cs
index 02a2c8e..f4acbf5 100644
--- a/BPA.SAAS.KitChenManage.Core/Model/BPA_DevicePushRecode.cs
+++ b/BPA.SAAS.KitChenManage.Core/Model/BPA_DevicePushRecode.cs
@@ -12,7 +12,13 @@ namespace BPA.SAAS.KitChenManage.Core.Model
public class BPA_DevicePushRecode : IBaseEntity, IGroupId
{
public string DeviceId { get; set; }
- public string Type { get; set; }
+ public string DeviceName { get; set; }
+ ///
+ /// 下发类型1商品 2物料 3配方 4工艺
+ ///
+ public int Type { get; set; }
public string GroupId { get; set; }
+ public string Topic { get; set; }
+ public string DataResore { get; set; }
}
}
diff --git a/BPA.SAAS.KitChenManage.Web.Core/Startup.cs b/BPA.SAAS.KitChenManage.Web.Core/Startup.cs
index a18ef1a..116728e 100644
--- a/BPA.SAAS.KitChenManage.Web.Core/Startup.cs
+++ b/BPA.SAAS.KitChenManage.Web.Core/Startup.cs
@@ -18,6 +18,7 @@ namespace BPA.SAAS.KitChenManage.Web.Core
{
services.AddConsoleFormatter();
services.AddJwt();
+
services.AddMqttClientHostedService(op =>
{
op.Port = int.Parse(App.Configuration["dev1_brokerHostSettings:Port"]);
diff --git a/BPA.SAAS.KitChenManage.Web.Entry/appsettings.json b/BPA.SAAS.KitChenManage.Web.Entry/appsettings.json
index 2b54937..3c58ba3 100644
--- a/BPA.SAAS.KitChenManage.Web.Entry/appsettings.json
+++ b/BPA.SAAS.KitChenManage.Web.Entry/appsettings.json
@@ -16,7 +16,7 @@
}
],
"dev1_brokerHostSettings": {
- "Port": 8083,
+ "Port": 1883,
"Host": "10.2.1.21"
},
"MqttClientSettings": {