@@ -83,5 +83,15 @@ namespace BPA.SAAS.KitChenManage.Application.Authorization | |||||
{ | { | ||||
_authorizationService.CodeFirst(); | _authorizationService.CodeFirst(); | ||||
} | } | ||||
/// <summary> | |||||
/// 查询店铺授权信息 | |||||
/// </summary> | |||||
/// <param name="key"></param> | |||||
/// <returns></returns> | |||||
[HttpGet("/api/authorization/getstoreauthorization")] | |||||
public async Task<BPA_StoreAuthorization> GetStoreAuthorization(string key) | |||||
{ | |||||
return await _authorizationService.GetStoreAuthorization(key); | |||||
} | |||||
} | } | ||||
} | } |
@@ -1,6 +1,7 @@ | |||||
using BPA.SAAS.KitChenManage.Application.Authorization.Dtos; | using BPA.SAAS.KitChenManage.Application.Authorization.Dtos; | ||||
using BPA.SAAS.KitChenManage.Core.Base; | using BPA.SAAS.KitChenManage.Core.Base; | ||||
using BPA.SAAS.KitChenManage.Core.Model; | using BPA.SAAS.KitChenManage.Core.Model; | ||||
using Microsoft.AspNetCore.Authorization; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -38,7 +39,7 @@ namespace BPA.SAAS.KitChenManage.Application.Authorization.Services | |||||
Key = a.Key, | Key = a.Key, | ||||
StoreId = a.StoreId, | StoreId = a.StoreId, | ||||
StoreName = b.Name, | StoreName = b.Name, | ||||
UpdateAt = a.UpdateAt, | |||||
// UpdateAt = a.UpdateAt, | |||||
PeriodValidity = a.PeriodValidity, | PeriodValidity = a.PeriodValidity, | ||||
}) | }) | ||||
@@ -68,7 +69,7 @@ namespace BPA.SAAS.KitChenManage.Application.Authorization.Services | |||||
StoreId = input.StoreId, | StoreId = input.StoreId, | ||||
Key = Guid.NewGuid().ToString(), | Key = Guid.NewGuid().ToString(), | ||||
PeriodValidity = input.PeriodValidity, | PeriodValidity = input.PeriodValidity, | ||||
UpdateAt=DateTime.Now, | |||||
// UpdateAt=DateTime.Now, | |||||
}).CallEntityMethod(t => t.Create()).ExecuteCommandAsync(); | }).CallEntityMethod(t => t.Create()).ExecuteCommandAsync(); | ||||
@@ -88,7 +89,7 @@ namespace BPA.SAAS.KitChenManage.Application.Authorization.Services | |||||
throw Oops.Oh("授权信息不存在"); | throw Oops.Oh("授权信息不存在"); | ||||
} | } | ||||
data.Key = Guid.NewGuid().ToString(); | data.Key = Guid.NewGuid().ToString(); | ||||
data.UpdateAt = DateTime.Now; | |||||
//data.UpdateAt = DateTime.Now; | |||||
return await _db.Updateable(data).ExecuteCommandHasChangeAsync(); | return await _db.Updateable(data).ExecuteCommandHasChangeAsync(); | ||||
} | } | ||||
@@ -113,7 +114,7 @@ namespace BPA.SAAS.KitChenManage.Application.Authorization.Services | |||||
} | } | ||||
data.Key = Guid.NewGuid().ToString(); | data.Key = Guid.NewGuid().ToString(); | ||||
data.PeriodValidity = input.PeriodValidity; | data.PeriodValidity = input.PeriodValidity; | ||||
data.UpdateAt = DateTime.Now; | |||||
//data.UpdateAt = DateTime.Now; | |||||
return await _db.Updateable(data).ExecuteCommandHasChangeAsync(); | return await _db.Updateable(data).ExecuteCommandHasChangeAsync(); | ||||
} | } | ||||
@@ -166,5 +167,20 @@ namespace BPA.SAAS.KitChenManage.Application.Authorization.Services | |||||
} | } | ||||
/// <summary> | |||||
/// 查询店铺授权信息 | |||||
/// </summary> | |||||
/// <param name="id"></param> | |||||
/// <returns></returns> | |||||
public async Task<BPA_StoreAuthorization> GetStoreAuthorization(string key) | |||||
{ | |||||
var data = await _db.Queryable<BPA_StoreAuthorization>().FirstAsync(x => x.Key == key); | |||||
if (data == null) | |||||
{ | |||||
throw Oops.Oh("授权信息不存在"); | |||||
} | |||||
return data; | |||||
} | |||||
} | } | ||||
} | } |
@@ -1,6 +1,7 @@ | |||||
using BPA.SAAS.KitChenManage.Application.Authorization.Dtos; | using BPA.SAAS.KitChenManage.Application.Authorization.Dtos; | ||||
using BPA.SAAS.KitChenManage.Core.Base; | using BPA.SAAS.KitChenManage.Core.Base; | ||||
using BPA.SAAS.KitChenManage.Core.Model; | using BPA.SAAS.KitChenManage.Core.Model; | ||||
using Microsoft.AspNetCore.Authorization; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -51,5 +52,6 @@ namespace BPA.SAAS.KitChenManage.Application.Authorization.Services | |||||
/// </summary> | /// </summary> | ||||
/// <param name="tableNames"></param> | /// <param name="tableNames"></param> | ||||
void CodeFirst(); | void CodeFirst(); | ||||
Task<BPA_StoreAuthorization> GetStoreAuthorization(string key); | |||||
} | } | ||||
} | } |
@@ -44,6 +44,13 @@ | |||||
</summary> | </summary> | ||||
<param name="tableNames"></param> | <param name="tableNames"></param> | ||||
</member> | </member> | ||||
<member name="M:BPA.SAAS.KitChenManage.Application.Authorization.AuthorizationServices.GetStoreAuthorization(System.String)"> | |||||
<summary> | |||||
查询店铺授权信息 | |||||
</summary> | |||||
<param name="key"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="P:BPA.SAAS.KitChenManage.Application.Authorization.Dtos.CreateOrUpDateStoreAuthorizationDto.PeriodValidity"> | <member name="P:BPA.SAAS.KitChenManage.Application.Authorization.Dtos.CreateOrUpDateStoreAuthorizationDto.PeriodValidity"> | ||||
<summary> | <summary> | ||||
有效期 长期有效为空 | 有效期 长期有效为空 | ||||
@@ -89,6 +96,13 @@ | |||||
</summary> | </summary> | ||||
<param name="tableNames"></param> | <param name="tableNames"></param> | ||||
</member> | </member> | ||||
<member name="M:BPA.SAAS.KitChenManage.Application.Authorization.Services.AuthorizationService.GetStoreAuthorization(System.String)"> | |||||
<summary> | |||||
查询店铺授权信息 | |||||
</summary> | |||||
<param name="id"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:BPA.SAAS.KitChenManage.Application.Authorization.Services.IAuthorizationService.PageStoreAuthorization(BPA.SAAS.KitChenManage.Core.Base.PageInputBase)"> | <member name="M:BPA.SAAS.KitChenManage.Application.Authorization.Services.IAuthorizationService.PageStoreAuthorization(BPA.SAAS.KitChenManage.Core.Base.PageInputBase)"> | ||||
<summary> | <summary> | ||||
分页店铺授权码 | 分页店铺授权码 | ||||
@@ -129,13 +143,20 @@ | |||||
<param name="input"></param> | <param name="input"></param> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.DevicePushRecodeServices.Add(System.Collections.Generic.List{BPA.SAAS.KitChenManage.Application.Device.Dtos.DevicePushRecodeDtoInput})"> | |||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.DevicePushRecodeServices.Add(BPA.SAAS.KitChenManage.Application.Device.Dtos.DevicePushRecodeDtoInput)"> | |||||
<summary> | <summary> | ||||
添加 | 添加 | ||||
</summary> | </summary> | ||||
<param name="input"></param> | <param name="input"></param> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.DevicePushRecodeServices.Add_alm(System.Collections.Generic.List{BPA.SAAS.KitChenManage.Application.Device.Dtos.DevicePushRecodeDtoInputalm})"> | |||||
<summary> | |||||
下发数据(对外接口) | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.DevicePushRecodeServices.Update(System.String)"> | <member name="M:BPA.SAAS.KitChenManage.Application.Device.DevicePushRecodeServices.Update(System.String)"> | ||||
<summary> | <summary> | ||||
修改 | 修改 | ||||
@@ -272,13 +293,27 @@ | |||||
<param name="input"></param> | <param name="input"></param> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.Services.DevicePushRecodeService.Add(System.Collections.Generic.List{BPA.SAAS.KitChenManage.Application.Device.Dtos.DevicePushRecodeDtoInput})"> | |||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.Services.DevicePushRecodeService.Add_alm(System.Collections.Generic.List{BPA.SAAS.KitChenManage.Application.Device.Dtos.DevicePushRecodeDtoInputalm})"> | |||||
<summary> | |||||
数据下发(外部调用) | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.Services.DevicePushRecodeService.Add(BPA.SAAS.KitChenManage.Application.Device.Dtos.DevicePushRecodeDtoInput)"> | |||||
<summary> | <summary> | ||||
添加 | 添加 | ||||
</summary> | </summary> | ||||
<param name="input"></param> | <param name="input"></param> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.Services.DevicePushRecodeService.Delete(System.Collections.Generic.List{System.String})"> | |||||
<summary> | |||||
删除 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.Services.DevicePushRecodeService.CallBackDevicePushRecode(System.String,System.String)"> | <member name="M:BPA.SAAS.KitChenManage.Application.Device.Services.DevicePushRecodeService.CallBackDevicePushRecode(System.String,System.String)"> | ||||
<summary> | <summary> | ||||
数据下发回调更新数据 | 数据下发回调更新数据 | ||||
@@ -287,19 +322,21 @@ | |||||
<param name="groupId"></param> | <param name="groupId"></param> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.Services.DevicePushRecodeService.Delete(System.Collections.Generic.List{System.String})"> | |||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.Services.DevicePushRecodeService.CallBackDevicePushRecode_alm(System.Collections.Generic.List{System.String},System.String)"> | |||||
<summary> | <summary> | ||||
删除 | |||||
数据下发回调更新数据(外部调用接口使用) | |||||
</summary> | </summary> | ||||
<param name="input"></param> | |||||
<param name="messageId"></param> | |||||
<param name="groupId"></param> | |||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.Services.DevicePushRecodeService.BindMqReceived(System.String,System.String)"> | |||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.Services.DevicePushRecodeService.BindMqReceived(System.String,System.String,System.String)"> | |||||
<summary> | <summary> | ||||
监听订阅的topic主题 | 监听订阅的topic主题 | ||||
</summary> | </summary> | ||||
<param name="messageId"></param> | <param name="messageId"></param> | ||||
<param name="groupId"></param> | <param name="groupId"></param> | ||||
<param name="callbackUrl"></param> | |||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.Services.IDevicePushRecodeService.Page(BPA.SAAS.KitChenManage.Application.Device.Dtos.DevicePushRecodeDtoPageInput)"> | <member name="M:BPA.SAAS.KitChenManage.Application.Device.Services.IDevicePushRecodeService.Page(BPA.SAAS.KitChenManage.Application.Device.Dtos.DevicePushRecodeDtoPageInput)"> | ||||
@@ -309,7 +346,7 @@ | |||||
<param name="input"></param> | <param name="input"></param> | ||||
<returns></returns> | <returns></returns> | ||||
</member> | </member> | ||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.Services.IDevicePushRecodeService.Add(System.Collections.Generic.List{BPA.SAAS.KitChenManage.Application.Device.Dtos.DevicePushRecodeDtoInput})"> | |||||
<member name="M:BPA.SAAS.KitChenManage.Application.Device.Services.IDevicePushRecodeService.Add(BPA.SAAS.KitChenManage.Application.Device.Dtos.DevicePushRecodeDtoInput)"> | |||||
<summary> | <summary> | ||||
添加 | 添加 | ||||
</summary> | </summary> | ||||
@@ -37,7 +37,7 @@ namespace BPA.SAAS.KitChenManage.Application.Device | |||||
/// <param name="input"></param> | /// <param name="input"></param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
[HttpPost("/api/devicepushrecode/add")] | [HttpPost("/api/devicepushrecode/add")] | ||||
public async Task<bool> Add(List<DevicePushRecodeDtoInput> input) | |||||
public async Task<bool> Add(DevicePushRecodeDtoInput input) | |||||
{ | { | ||||
return await _devicePushRecodeService.Add(input); | return await _devicePushRecodeService.Add(input); | ||||
} | } | ||||
@@ -48,7 +48,7 @@ namespace BPA.SAAS.KitChenManage.Application.Device | |||||
/// <returns></returns> | /// <returns></returns> | ||||
[HttpPost("/api/devicepushrecode/add_alm")] | [HttpPost("/api/devicepushrecode/add_alm")] | ||||
[AllowAnonymous] | [AllowAnonymous] | ||||
public async Task<bool> Add_alm(List<DevicePushRecodeDtoInput> input) | |||||
public async Task<bool> Add_alm(List<DevicePushRecodeDtoInputalm> input) | |||||
{ | { | ||||
return await _devicePushRecodeService.Add_alm(input); | return await _devicePushRecodeService.Add_alm(input); | ||||
} | } | ||||
@@ -8,7 +8,6 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Dtos | |||||
{ | { | ||||
public class DevicePushRecodeDtoInput | public class DevicePushRecodeDtoInput | ||||
{ | { | ||||
public string MessageId { get; set; } | |||||
public string DeviceId { get; set; } | public string DeviceId { get; set; } | ||||
public string ProductVersion { get; set; } | public string ProductVersion { get; set; } | ||||
public string ProductKey { get; set; } | public string ProductKey { get; set; } | ||||
@@ -0,0 +1,22 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace BPA.SAAS.KitChenManage.Application.Device.Dtos | |||||
{ | |||||
public class DevicePushRecodeDtoInputalm | |||||
{ | |||||
public string CallBackUrl { get; set; } | |||||
public string MessageId { get; set; } | |||||
public string DeviceId { get; set; } | |||||
public string ProductVersion { get; set; } | |||||
public string ProductKey { get; set; } | |||||
public string ProductName { get; set; } | |||||
public string DeviceName { get; set; } | |||||
public int DeviceAutoKey { get; set; } | |||||
public object Data { get; set; } | |||||
public int Type { get; set; } | |||||
} | |||||
} |
@@ -91,13 +91,20 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Services | |||||
}; | }; | ||||
return util; | return util; | ||||
} | } | ||||
public async Task<bool> Add_alm(List<DevicePushRecodeDtoInput> input) | |||||
/// <summary> | |||||
/// 数据下发(外部调用) | |||||
/// </summary> | |||||
/// <param name="input"></param> | |||||
/// <returns></returns> | |||||
public async Task<bool> Add_alm(List<DevicePushRecodeDtoInputalm> input) | |||||
{ | { | ||||
var data = input.Adapt<List<BPA_DevicePushRecode>>(); | var data = input.Adapt<List<BPA_DevicePushRecode>>(); | ||||
string groupId = App.HttpContext.Request.Headers["groupId"].ToString(); | string groupId = App.HttpContext.Request.Headers["groupId"].ToString(); | ||||
if (string.IsNullOrWhiteSpace(groupId)) throw Oops.Oh("加盟商id不能为空"); | if (string.IsNullOrWhiteSpace(groupId)) throw Oops.Oh("加盟商id不能为空"); | ||||
List<string> messageids = new(); | |||||
for (int i = 0; i < input.Count; i++) | for (int i = 0; i < input.Count; i++) | ||||
{ | { | ||||
messageids.Add(input[i].MessageId); | |||||
var DataResore = await commDefaultHandle.GetParm(input[i].Type, input[i].Data.ToString(), input[i].DeviceId, input[i].ProductName, input[i].ProductVersion, input[i].DeviceAutoKey.ToString()); | var DataResore = await commDefaultHandle.GetParm(input[i].Type, input[i].Data.ToString(), input[i].DeviceId, input[i].ProductName, input[i].ProductVersion, input[i].DeviceAutoKey.ToString()); | ||||
if (DataResore == null) throw Oops.Oh("解析参数失败"); | if (DataResore == null) throw Oops.Oh("解析参数失败"); | ||||
string Topic = DataResore.TopicsStr; | string Topic = DataResore.TopicsStr; | ||||
@@ -105,6 +112,7 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Services | |||||
//var maxmessageId=_db.Queryable<BPA_DevicePushRecode>().Max(x => x.MessageId); | //var maxmessageId=_db.Queryable<BPA_DevicePushRecode>().Max(x => x.MessageId); | ||||
if (string.IsNullOrWhiteSpace(input[i].MessageId)) input[i].MessageId = Guid.NewGuid().ToString(); | if (string.IsNullOrWhiteSpace(input[i].MessageId)) input[i].MessageId = Guid.NewGuid().ToString(); | ||||
// var messageId = Guid.NewGuid().ToString(); | // var messageId = Guid.NewGuid().ToString(); | ||||
data[i].Id = Guid.NewGuid().ToString(); | |||||
data[i].Topic = Topic; | data[i].Topic = Topic; | ||||
data[i].Status = 0; | data[i].Status = 0; | ||||
data[i].DataResore = JsonConvert.SerializeObject(DataResore.Data); | data[i].DataResore = JsonConvert.SerializeObject(DataResore.Data); | ||||
@@ -113,22 +121,31 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Services | |||||
data[i].MessageId = input[i].MessageId; | data[i].MessageId = input[i].MessageId; | ||||
data[i].TopicRely = DataResore.TopicsStrRely; | data[i].TopicRely = DataResore.TopicsStrRely; | ||||
data[i].DescriptionRely = "等待回调"; | data[i].DescriptionRely = "等待回调"; | ||||
data[i].GroupId = groupId; | |||||
data[i].CreateAt = DateTime.Now; | |||||
var respush = await mqttServer.Publish(Topic, new PushData() { Data = data[i].DataResore, DeviceId = input[i].DeviceAutoKey }, input[i].MessageId); | var respush = await mqttServer.Publish(Topic, new PushData() { Data = data[i].DataResore, DeviceId = input[i].DeviceAutoKey }, input[i].MessageId); | ||||
if (respush != "success") | if (respush != "success") | ||||
{ | { | ||||
data[i].Description = respush; | data[i].Description = respush; | ||||
data[i].Status = 2; | data[i].Status = 2; | ||||
} | } | ||||
var res = await _db.Insertable(data).CallEntityMethod(t => t.Create()).ExecuteCommandAsync(); | |||||
var res = await _db.Insertable(data).ExecuteCommandAsync(); | |||||
// var getGoodsAttributeurl = "http://192.168.1.17:5006/api/hirdpartypush/updatethirdpartypushrecord";//获取商品属性 | |||||
//bool status = true; | |||||
//var jsb = "{\"messageId\":\"" + data[i].MessageId + "\",\"deviceId\":\"" + input[i].DeviceId + "\",\"isPush\":true}"; | |||||
//var resp = await getGoodsAttributeurl.SetHttpMethod(HttpMethod.Post).SetBody(jsb).PostAsStringAsync(); | |||||
//周期性任务 (10 秒后执行1次任务) | //周期性任务 (10 秒后执行1次任务) | ||||
var trigger = TriggerBuilder.Default.WithInterval(TimeSpan.FromSeconds(10)).WithRepeatCount(1).Build(); | |||||
TaskServicesManager.GetOrAdd(input[i].MessageId.ToString(), async (provider, token) => { | |||||
await CallBackDevicePushRecode(input[i].MessageId.ToString(), groupId); | |||||
}, trigger); | |||||
//订阅回复数据下发topics | //订阅回复数据下发topics | ||||
await mqttServer.Subscribe(DataResore.TopicsStrRely); | await mqttServer.Subscribe(DataResore.TopicsStrRely); | ||||
await BindMqReceived(input[i].MessageId.ToString(), groupId); | |||||
var callbackUrl = BaseServerUrl + "api/hirdpartypush/updatethirdpartypushrecord";//修改第三方订单的回调 | |||||
await BindMqReceived(input[i].MessageId.ToString(), groupId, callbackUrl); | |||||
} | } | ||||
var trigger = TriggerBuilder.Default.WithInterval(TimeSpan.FromSeconds(100)).WithRepeatCount(1).Build(); | |||||
var messageid = Guid.NewGuid().ToString(); | |||||
TaskServicesManager.GetOrAdd(messageid, async (provider, token) => { | |||||
await CallBackDevicePushRecode_alm(messageids, groupId); | |||||
}, trigger); | |||||
return true; | return true; | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -136,65 +153,46 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Services | |||||
/// </summary> | /// </summary> | ||||
/// <param name="input"></param> | /// <param name="input"></param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
public async Task<bool> Add(List<DevicePushRecodeDtoInput> input) | |||||
public async Task<bool> Add(DevicePushRecodeDtoInput input) | |||||
{ | { | ||||
var data = input.Adapt<List<BPA_DevicePushRecode>>(); | |||||
var data = input.Adapt<BPA_DevicePushRecode>(); | |||||
var groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value; | var groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value; | ||||
for (int i = 0; i < input.Count; i++) | |||||
{ | |||||
var DataResore = await commDefaultHandle.GetParm(input[i].Type, input[i].Data.ToString(), input[i].DeviceId, input[i].ProductName, input[i].ProductVersion, input[i].DeviceAutoKey.ToString()); | |||||
var DataResore = await commDefaultHandle.GetParm(input.Type, input.Data.ToString(), input.DeviceId, input.ProductName, input.ProductVersion, input.DeviceAutoKey.ToString()); | |||||
if (DataResore == null) throw Oops.Oh("解析参数失败"); | if (DataResore == null) throw Oops.Oh("解析参数失败"); | ||||
string Topic = DataResore.TopicsStr; | string Topic = DataResore.TopicsStr; | ||||
if (string.IsNullOrEmpty(Topic)) throw Oops.Oh("请配置相关topic"); | if (string.IsNullOrEmpty(Topic)) throw Oops.Oh("请配置相关topic"); | ||||
//var maxmessageId=_db.Queryable<BPA_DevicePushRecode>().Max(x => x.MessageId); | //var maxmessageId=_db.Queryable<BPA_DevicePushRecode>().Max(x => x.MessageId); | ||||
if (string.IsNullOrWhiteSpace(input[i].MessageId)) input[i].MessageId = Guid.NewGuid().ToString(); | |||||
// var messageId = Guid.NewGuid().ToString(); | |||||
data[i].Topic = Topic; | |||||
data[i].Status = 0; | |||||
data[i].DataResore = JsonConvert.SerializeObject(DataResore.Data); | |||||
data[i].DeviceAutoKey = input[i].DeviceAutoKey; | |||||
data[i].Description = "下发中,等待设备响应"; | |||||
data[i].MessageId = input[i].MessageId; | |||||
data[i].TopicRely = DataResore.TopicsStrRely; | |||||
data[i].DescriptionRely = "等待回调"; | |||||
var respush = await mqttServer.Publish(Topic, new PushData() { Data = data[i].DataResore, DeviceId = input[i].DeviceAutoKey }, input[i].MessageId); | |||||
// if (string.IsNullOrWhiteSpace(input.MessageId)) input.MessageId = Guid.NewGuid().ToString(); | |||||
var messageId = Guid.NewGuid().ToString(); | |||||
data.Topic = Topic; | |||||
data.Status = 0; | |||||
data.DataResore = JsonConvert.SerializeObject(DataResore.Data); | |||||
data.DeviceAutoKey = input.DeviceAutoKey; | |||||
data.Description = "下发中,等待设备响应"; | |||||
data.MessageId = messageId; | |||||
data.TopicRely = DataResore.TopicsStrRely; | |||||
data.DescriptionRely = "等待回调"; | |||||
var respush = await mqttServer.Publish(Topic, new PushData() { Data = data.DataResore, DeviceId = input.DeviceAutoKey }, messageId); | |||||
if (respush != "success") | if (respush != "success") | ||||
{ | { | ||||
data[i].Description = respush; | |||||
data[i].Status = 2; | |||||
data.Description = respush; | |||||
data.Status = 2; | |||||
} | } | ||||
var res = await _db.Insertable(data).CallEntityMethod(t => t.Create()).ExecuteCommandAsync(); | var res = await _db.Insertable(data).CallEntityMethod(t => t.Create()).ExecuteCommandAsync(); | ||||
//周期性任务 (10 秒后执行1次任务) | //周期性任务 (10 秒后执行1次任务) | ||||
var trigger = TriggerBuilder.Default.WithInterval(TimeSpan.FromSeconds(10)).WithRepeatCount(1).Build(); | var trigger = TriggerBuilder.Default.WithInterval(TimeSpan.FromSeconds(10)).WithRepeatCount(1).Build(); | ||||
TaskServicesManager.GetOrAdd(input[i].MessageId.ToString(), async (provider, token) => { | |||||
await CallBackDevicePushRecode(input[i].MessageId.ToString(), groupId); | |||||
TaskServicesManager.GetOrAdd(messageId, async (provider, token) => { | |||||
await CallBackDevicePushRecode(messageId, groupId); | |||||
}, trigger); | }, trigger); | ||||
//订阅回复数据下发topics | //订阅回复数据下发topics | ||||
await mqttServer.Subscribe(DataResore.TopicsStrRely); | await mqttServer.Subscribe(DataResore.TopicsStrRely); | ||||
await BindMqReceived(input[i].MessageId.ToString(), groupId); | |||||
} | |||||
await BindMqReceived(messageId, groupId, ""); | |||||
return true; | return true; | ||||
} | } | ||||
/// <summary> | |||||
/// 数据下发回调更新数据 | |||||
/// </summary> | |||||
/// <param name="messageId"></param> | |||||
/// <param name="groupId"></param> | |||||
/// <returns></returns> | |||||
public async Task CallBackDevicePushRecode(string messageId,string groupId) | |||||
{ | |||||
var model = await _db.Queryable<BPA_DevicePushRecode>().Where(x => x.MessageId.ToString() == messageId.ToString() && x.GroupId == groupId).FirstAsync(); | |||||
if (model.Status == 0) | |||||
{ | |||||
model.Status = 1; | |||||
model.Description = "下发成功,设备未回调"; | |||||
model.DescriptionRely = "响应数据失败"; | |||||
_db.Updateable(model).ExecuteCommand(); | |||||
var status = false; | |||||
var getGoodsAttributeurl = BaseServerUrl + "api/device/updatethirdpartypushrecord";//获取商品属性 | |||||
await getGoodsAttributeurl.SetHttpMethod(HttpMethod.Post).SetBody("{\"messageId\":" + messageId + ",\"isPush\":" + status + ",\"pushTime\":" + DateTime.Now + "}").PostAsStringAsync(); | |||||
} | |||||
} | |||||
public async Task<bool> Update(string id) | public async Task<bool> Update(string id) | ||||
{ | { | ||||
var data = _db.Queryable<BPA_DevicePushRecode>().Where(x => x.Id == id).First(); | var data = _db.Queryable<BPA_DevicePushRecode>().Where(x => x.Id == id).First(); | ||||
@@ -215,7 +213,7 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Services | |||||
TaskServicesManager.GetOrAdd(data.MessageId.ToString(), async (provider, token) => { | TaskServicesManager.GetOrAdd(data.MessageId.ToString(), async (provider, token) => { | ||||
await CallBackDevicePushRecode(data.MessageId.ToString(), groupId); | await CallBackDevicePushRecode(data.MessageId.ToString(), groupId); | ||||
}, trigger); | }, trigger); | ||||
await BindMqReceived(data.MessageId.ToString(), groupId); | |||||
await BindMqReceived(data.MessageId.ToString(), groupId,""); | |||||
return res > 0; | return res > 0; | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -239,12 +237,53 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Services | |||||
} | } | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 数据下发回调更新数据 | |||||
/// </summary> | |||||
/// <param name="messageId"></param> | |||||
/// <param name="groupId"></param> | |||||
/// <returns></returns> | |||||
private async Task CallBackDevicePushRecode(string messageId, string groupId) | |||||
{ | |||||
var model = await _db.Queryable<BPA_DevicePushRecode>().Where(x => x.MessageId.ToString() == messageId.ToString() && x.GroupId == groupId).FirstAsync(); | |||||
if (model.Status == 0) | |||||
{ | |||||
model.Status = 1; | |||||
model.Description = "下发成功,设备未回调"; | |||||
model.DescriptionRely = "响应数据失败"; | |||||
_db.Updateable(model).ExecuteCommand(); | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 数据下发回调更新数据(外部调用接口使用) | |||||
/// </summary> | |||||
/// <param name="messageId"></param> | |||||
/// <param name="groupId"></param> | |||||
/// <returns></returns> | |||||
private async Task CallBackDevicePushRecode_alm(List<string> messageId, string groupId) | |||||
{ | |||||
for (int i = 0; i < messageId.Count; i++) | |||||
{ | |||||
var model = await _db.Queryable<BPA_DevicePushRecode>().Where(x => x.MessageId.ToString() == messageId[i].ToString() && x.GroupId == groupId).FirstAsync(); | |||||
if (model.Status == 0) | |||||
{ | |||||
model.Status = 1; | |||||
model.Description = "下发成功,设备未回调"; | |||||
model.DescriptionRely = "响应数据失败"; | |||||
_db.Updateable(model).ExecuteCommand(); | |||||
var getGoodsAttributeurl = BaseServerUrl + "api/hirdpartypush/updatethirdpartypushrecord";//获取商品属性 | |||||
var msg = "{\"messageId\":\"" + messageId[i] + "\",\"deviceId\":\"" + model.DeviceId + "\",\"isPush\":false}"; | |||||
await getGoodsAttributeurl.SetHttpMethod(HttpMethod.Post).SetBody(msg).PostAsStringAsync(); | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 监听订阅的topic主题 | /// 监听订阅的topic主题 | ||||
/// </summary> | /// </summary> | ||||
/// <param name="messageId"></param> | /// <param name="messageId"></param> | ||||
/// <param name="groupId"></param> | /// <param name="groupId"></param> | ||||
/// <param name="callbackUrl"></param> | |||||
/// <returns></returns> | /// <returns></returns> | ||||
private async Task BindMqReceived(string messageId,string groupId) | |||||
private async Task BindMqReceived(string messageId,string groupId,string callbackUrl) | |||||
{ | { | ||||
var status = true; | var status = true; | ||||
_mqttClient.UseApplicationMessageReceivedHandler(async e => | _mqttClient.UseApplicationMessageReceivedHandler(async e => | ||||
@@ -284,10 +323,12 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Services | |||||
model.Status = 1; | model.Status = 1; | ||||
model.Description = "下发成功"; | model.Description = "下发成功"; | ||||
model.DescriptionRely = "响应数据异常,异常信息:" + ex.Message; | model.DescriptionRely = "响应数据异常,异常信息:" + ex.Message; | ||||
} | } | ||||
var getGoodsAttributeurl = BaseServerUrl + "api/device/updatethirdpartypushrecord";//修改第三方订单的回调 | |||||
await getGoodsAttributeurl.SetHttpMethod(HttpMethod.Post).SetBody("{\"messageId\":"+ messageId + ",\"isPush\":"+ status + ",\"pushTime\":"+DateTime.Now+"}").PostAsStringAsync(); | |||||
if (!string.IsNullOrWhiteSpace(callbackUrl)) | |||||
{ | |||||
var msg = "{\"messageId\":\"" + messageId + "\",\"deviceId\":\"" + model.DeviceId + "\",\"isPush\":false}"; | |||||
var sd=await callbackUrl.SetHttpMethod(HttpMethod.Post).SetBody(msg).PostAsStringAsync(); | |||||
} | |||||
_db.Updateable(model).ExecuteCommand(); | _db.Updateable(model).ExecuteCommand(); | ||||
} | } | ||||
}); | }); | ||||
@@ -17,13 +17,13 @@ namespace BPA.SAAS.KitChenManage.Application.Device.Services | |||||
/// <param name="input"></param> | /// <param name="input"></param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
Task<PageUtil> Page(DevicePushRecodeDtoPageInput input); | Task<PageUtil> Page(DevicePushRecodeDtoPageInput input); | ||||
Task<bool> Add_alm(List<DevicePushRecodeDtoInput> input); | |||||
Task<bool> Add_alm(List<DevicePushRecodeDtoInputalm> input); | |||||
/// <summary> | /// <summary> | ||||
/// 添加 | /// 添加 | ||||
/// </summary> | /// </summary> | ||||
/// <param name="input"></param> | /// <param name="input"></param> | ||||
/// <returns></returns> | /// <returns></returns> | ||||
Task<bool> Add(List<DevicePushRecodeDtoInput> input); | |||||
Task<bool> Add(DevicePushRecodeDtoInput input); | |||||
/// <summary> | /// <summary> | ||||
/// 更新 | /// 更新 | ||||
/// </summary> | /// </summary> | ||||
@@ -17,6 +17,7 @@ using System.Linq; | |||||
using System.Reflection; | using System.Reflection; | ||||
using System.Text; | using System.Text; | ||||
using System.Text.Json.Serialization; | using System.Text.Json.Serialization; | ||||
using System.Text.RegularExpressions; | |||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using System.Xml.Linq; | using System.Xml.Linq; | ||||
@@ -53,6 +54,9 @@ namespace BPA.SAAS.KitChenManage.Application.Push.Comm | |||||
if (string.IsNullOrWhiteSpace(TechnologyData)) throw Oops.Oh("系统还未开发【产品名称:" + productName + " 版本号:" + productVersion + "】的工艺数据下发功能"); | if (string.IsNullOrWhiteSpace(TechnologyData)) throw Oops.Oh("系统还未开发【产品名称:" + productName + " 版本号:" + productVersion + "】的工艺数据下发功能"); | ||||
obj = await GetGoodsTechnology(data, deviceId, TechnologyData); | obj = await GetGoodsTechnology(data, deviceId, TechnologyData); | ||||
break; | break; | ||||
default: | |||||
throw Oops.Oh("设备不支持的数据下发"); | |||||
} | } | ||||
return new BaseParmDto() {Data= obj,TopicsStr= strTopics,TopicsStrRely= TopicsStrRely }; | return new BaseParmDto() {Data= obj,TopicsStr= strTopics,TopicsStrRely= TopicsStrRely }; | ||||
} | } | ||||
@@ -62,7 +66,7 @@ namespace BPA.SAAS.KitChenManage.Application.Push.Comm | |||||
{ | { | ||||
//商品信息 | //商品信息 | ||||
var goodsData = JsonConvert.DeserializeObject<List<GoodsInfoDto>>(data); | var goodsData = JsonConvert.DeserializeObject<List<GoodsInfoDto>>(data); | ||||
var groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value != null ? App.User?.FindFirst(ClaimConst.GroupId)?.Value : App.HttpContext.Request.Headers["groupId"].ToString(); | |||||
var cpjson = productFunctionData.Replace("\r", "").Replace("\n", "").Replace("\t", ""); | var cpjson = productFunctionData.Replace("\r", "").Replace("\n", "").Replace("\t", ""); | ||||
var DynamicObject = JsonConvert.DeserializeObject<dynamic>(cpjson); | var DynamicObject = JsonConvert.DeserializeObject<dynamic>(cpjson); | ||||
//商品信息 | //商品信息 | ||||
@@ -78,7 +82,7 @@ namespace BPA.SAAS.KitChenManage.Application.Push.Comm | |||||
var getGoodsAttributeurl = BaseServerUrl + "api/goodsattribute/getgoodsattributelist_alm";//获取商品属性 | var getGoodsAttributeurl = BaseServerUrl + "api/goodsattribute/getgoodsattributelist_alm";//获取商品属性 | ||||
var responseGoodsAttribute = await getGoodsAttributeurl.SetHeaders(new | var responseGoodsAttribute = await getGoodsAttributeurl.SetHeaders(new | ||||
{ | { | ||||
groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value | |||||
groupId = groupId | |||||
}).SetHttpMethod(HttpMethod.Get).GetAsStringAsync(); | }).SetHttpMethod(HttpMethod.Get).GetAsStringAsync(); | ||||
var resGoodsAttribute = JsonConvert.DeserializeObject<ResponDataBase>(responseGoodsAttribute); | var resGoodsAttribute = JsonConvert.DeserializeObject<ResponDataBase>(responseGoodsAttribute); | ||||
if (resGoodsAttribute.statusCode != "200") throw Oops.Oh("获取商品属性数据失败"); | if (resGoodsAttribute.statusCode != "200") throw Oops.Oh("获取商品属性数据失败"); | ||||
@@ -93,7 +97,7 @@ namespace BPA.SAAS.KitChenManage.Application.Push.Comm | |||||
var getGoodsUinturl = BaseServerUrl + "api/goods/getgoodsuintlist_alm";//获商品单位 | var getGoodsUinturl = BaseServerUrl + "api/goods/getgoodsuintlist_alm";//获商品单位 | ||||
var responseGoodsUint = await getGoodsUinturl.SetHeaders(new | var responseGoodsUint = await getGoodsUinturl.SetHeaders(new | ||||
{ | { | ||||
groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value | |||||
groupId = groupId | |||||
}).SetHttpMethod(HttpMethod.Get).GetAsStringAsync(); | }).SetHttpMethod(HttpMethod.Get).GetAsStringAsync(); | ||||
var resGoodsUint = JsonConvert.DeserializeObject<ResponDataBase>(responseGoodsUint); | var resGoodsUint = JsonConvert.DeserializeObject<ResponDataBase>(responseGoodsUint); | ||||
if (resGoodsUint.statusCode != "200") throw Oops.Oh("获取商品单位数据失败"); | if (resGoodsUint.statusCode != "200") throw Oops.Oh("获取商品单位数据失败"); | ||||
@@ -108,7 +112,7 @@ namespace BPA.SAAS.KitChenManage.Application.Push.Comm | |||||
var getGoodsTypeturl = BaseServerUrl + "api/goodstype/getgoodstypelist_alm";//获取商品分类 | var getGoodsTypeturl = BaseServerUrl + "api/goodstype/getgoodstypelist_alm";//获取商品分类 | ||||
var responseGoodsType = await getGoodsTypeturl.SetHeaders(new | var responseGoodsType = await getGoodsTypeturl.SetHeaders(new | ||||
{ | { | ||||
groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value | |||||
groupId = groupId | |||||
}).SetHttpMethod(HttpMethod.Get).GetAsStringAsync(); | }).SetHttpMethod(HttpMethod.Get).GetAsStringAsync(); | ||||
var resGoodsType = JsonConvert.DeserializeObject<ResponDataBase>(responseGoodsType); | var resGoodsType = JsonConvert.DeserializeObject<ResponDataBase>(responseGoodsType); | ||||
if (resGoodsType.statusCode != "200") throw Oops.Oh("获取商品分类数据失败"); | if (resGoodsType.statusCode != "200") throw Oops.Oh("获取商品分类数据失败"); | ||||
@@ -128,6 +132,7 @@ namespace BPA.SAAS.KitChenManage.Application.Push.Comm | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
var groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value!=null? App.User?.FindFirst(ClaimConst.GroupId)?.Value:App.HttpContext.Request.Headers["groupId"].ToString(); | |||||
var cpjson = productFunctionData.Replace("\r", "").Replace("\n", "").Replace("\t", ""); | var cpjson = productFunctionData.Replace("\r", "").Replace("\n", "").Replace("\t", ""); | ||||
var DynamicObject = JsonConvert.DeserializeObject<dynamic>(cpjson); | var DynamicObject = JsonConvert.DeserializeObject<dynamic>(cpjson); | ||||
if (IsPropertyExist(DynamicObject, ProductParametersConst_Batching.batchinginfo)) | if (IsPropertyExist(DynamicObject, ProductParametersConst_Batching.batchinginfo)) | ||||
@@ -143,7 +148,7 @@ namespace BPA.SAAS.KitChenManage.Application.Push.Comm | |||||
var getTypeurl = BaseServerUrl + "api/batching/getbatchingtypelist_alm";//获取物料分类 | var getTypeurl = BaseServerUrl + "api/batching/getbatchingtypelist_alm";//获取物料分类 | ||||
var responseType = await getTypeurl.SetHeaders(new | var responseType = await getTypeurl.SetHeaders(new | ||||
{ | { | ||||
groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value | |||||
groupId = groupId | |||||
}).SetHttpMethod(HttpMethod.Get).GetAsStringAsync(); | }).SetHttpMethod(HttpMethod.Get).GetAsStringAsync(); | ||||
var resType = JsonConvert.DeserializeObject<ResponDataBase>(responseType); | var resType = JsonConvert.DeserializeObject<ResponDataBase>(responseType); | ||||
if (resType.statusCode != "200") throw Oops.Oh("获取物料分类数据失败"); | if (resType.statusCode != "200") throw Oops.Oh("获取物料分类数据失败"); | ||||
@@ -157,7 +162,7 @@ namespace BPA.SAAS.KitChenManage.Application.Push.Comm | |||||
var getuinurl = BaseServerUrl + "api/batching/getbatchinguintList_alm";//获取物料单位 | var getuinurl = BaseServerUrl + "api/batching/getbatchinguintList_alm";//获取物料单位 | ||||
var responseUnit = await getuinurl.SetHeaders(new | var responseUnit = await getuinurl.SetHeaders(new | ||||
{ | { | ||||
groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value | |||||
groupId = groupId | |||||
}).SetHttpMethod(HttpMethod.Get).GetAsStringAsync(); | }).SetHttpMethod(HttpMethod.Get).GetAsStringAsync(); | ||||
var resUnit = JsonConvert.DeserializeObject<ResponDataBase>(responseUnit); | var resUnit = JsonConvert.DeserializeObject<ResponDataBase>(responseUnit); | ||||
if (resUnit.statusCode != "200") throw Oops.Oh("获取物料单位数据失败"); | if (resUnit.statusCode != "200") throw Oops.Oh("获取物料单位数据失败"); | ||||
@@ -1,4 +1,5 @@ | |||||
using System; | |||||
using Furion.RemoteRequest.Extensions; | |||||
using System; | |||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
@@ -8,5 +9,18 @@ namespace BPA.SAAS.KitChenManage.Application | |||||
{ | { | ||||
public class TestServices: IDynamicApiController | public class TestServices: IDynamicApiController | ||||
{ | { | ||||
public async Task<string> Test() | |||||
{ | |||||
var getGoodsAttributeurl = "http://localhost:5006/api/ExternalPlatform/Goods/GetGoodsPageList";//获取商品属性 | |||||
var key = "47e5c071-6283-4d9d-8dcb-36ba95aa8db9"; | |||||
var str = "current=1&pageSize=10&" + key; | |||||
var sign = MD5Encryption.Encrypt(str.ToUpper()); | |||||
var respon = await getGoodsAttributeurl.SetHeaders(new | |||||
{ | |||||
sign = sign, | |||||
key = key | |||||
}).SetHttpMethod(HttpMethod.Get).SetBody("{\"current\":1,\"pageSize\":10}", "application/json").PostAsStringAsync(); | |||||
return respon; | |||||
} | |||||
} | } | ||||
} | } |
@@ -41,13 +41,13 @@ namespace BPA.SAAS.KitChenManage.Core | |||||
if (App.User?.FindFirst(ClaimConst.CLAINM_SUPERADMIN)?.Value != null) | if (App.User?.FindFirst(ClaimConst.CLAINM_SUPERADMIN)?.Value != null) | ||||
{ | { | ||||
//非管理员账户过滤加盟商数据 | //非管理员账户过滤加盟商数据 | ||||
var groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value; | |||||
var groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value != null ? App.User?.FindFirst(ClaimConst.GroupId)?.Value : App.HttpContext.Request.Headers["groupId"].ToString(); | |||||
db.QueryFilter.AddTableFilter<IGroupId>(it => it.GroupId == groupId); | db.QueryFilter.AddTableFilter<IGroupId>(it => it.GroupId == groupId); | ||||
} | } | ||||
db.Aop.DataExecuting = (oldValue, entityInfo) => | db.Aop.DataExecuting = (oldValue, entityInfo) => | ||||
{ | { | ||||
//新增添加加盟商id赋值 | //新增添加加盟商id赋值 | ||||
var groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value; | |||||
var groupId = App.User?.FindFirst(ClaimConst.GroupId)?.Value != null ? App.User?.FindFirst(ClaimConst.GroupId)?.Value : App.HttpContext?.Request.Headers["groupId"].ToString(); | |||||
if (entityInfo.PropertyName == "GroupId" && entityInfo.OperationType == DataFilterType.InsertByObject) | if (entityInfo.PropertyName == "GroupId" && entityInfo.OperationType == DataFilterType.InsertByObject) | ||||
{ | { | ||||
if (oldValue == null || oldValue == Convert.DBNull) | if (oldValue == null || oldValue == Convert.DBNull) | ||||
@@ -19,7 +19,5 @@ namespace BPA.SAAS.KitChenManage.Core.Model | |||||
/// 有效期 长期有效为空 | /// 有效期 长期有效为空 | ||||
/// </summary> | /// </summary> | ||||
public DateTime? PeriodValidity { get; set; } | public DateTime? PeriodValidity { get; set; } | ||||
public DateTime UpdateAt { get; set; } | |||||
} | } | ||||
} | } |
@@ -22,7 +22,7 @@ | |||||
"dotnetRunMessages": true, | "dotnetRunMessages": true, | ||||
"launchBrowser": true, | "launchBrowser": true, | ||||
"launchUrl": "", | "launchUrl": "", | ||||
"applicationUrl": "http://localhost:5007", | |||||
"applicationUrl": "http://192.168.1.19:5007", | |||||
"environmentVariables": { | "environmentVariables": { | ||||
"ASPNETCORE_ENVIRONMENT": "Development" | "ASPNETCORE_ENVIRONMENT": "Development" | ||||
} | } | ||||
@@ -8,7 +8,7 @@ | |||||
} | } | ||||
}, | }, | ||||
"AllowedHosts": "*", | "AllowedHosts": "*", | ||||
"baseurl": "http://localhost:5006/", | |||||
"baseurl": "http://192.168.1.19:5006/", | |||||
"ConnectionConfigs": [ | "ConnectionConfigs": [ | ||||
{ | { | ||||
"ConnectionString": "server=10.2.1.21;Database=bpa_kitchen_kitchenmanage;Uid=root;Pwd=cygadmin;Allow Zero Datetime=True;Convert Zero Datetime=True;", | "ConnectionString": "server=10.2.1.21;Database=bpa_kitchen_kitchenmanage;Uid=root;Pwd=cygadmin;Allow Zero Datetime=True;Convert Zero Datetime=True;", | ||||