提交 59818722 编写于 作者: 麦壳饼's avatar 麦壳饼

删除不必要的代码

上级 5866a8ad
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Dynamic;
using System.Linq;
using System.Threading.Tasks;
using IoTSharp.Data;
using IoTSharp.TaskAction;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace IoTSharp.TaskAction
{
[DisplayName("Air720S解析器")]
public class Air720Sx : ITaskAction
{
public Air720Sx()
{
}
public override Task<TaskActionOutput> ExecuteAsync(TaskActionInput _input)
{
var msg = _input.DynamicInput;
var playload = System.Text.Encoding.Default.GetString( Convert.FromBase64String(msg.Payload));
return Task.FromResult( new TaskActionOutput() { Output=playload, DeviceId=_input.DeviceId});
}
}
}
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using RestSharp;
using System;
using System.ComponentModel;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using RestSharp;
namespace IoTSharp.TaskAction
{
[DisplayName("用于设备行为推送的执行器")]
public class DeviceActionExcutor : ITaskAction
{
public DeviceActionExcutor()
{
}
public override async Task<TaskActionOutput> ExecuteAsync(TaskActionInput input)
{
var config = JsonConvert.DeserializeObject<ModelExecutorConfig>(input.ExecutorConfig);
......@@ -32,12 +22,12 @@ namespace IoTSharp.TaskAction
request.RequestFormat = DataFormat.Json;
request.AddHeader("Content-Type", contentType);
request.AddHeader("cache-control", "no-cache");
request.AddJsonBody(new{ sosType="1", sosContent= input.Input, usingUserId= "" });
request.AddJsonBody(new { sosType = "1", sosContent = input.Input, usingUserId = "" });
var response = await restclient.ExecutePostAsync(request);
if (response.StatusCode == HttpStatusCode.OK)
{
var result = JsonConvert.DeserializeObject<DeviceActionResult>(response.Content);
if (result is {success: true})
if (result is { success: true })
{
return new TaskActionOutput() { ExecutionInfo = response.Content, ExecutionStatus = result.success, DynamicOutput = input.DynamicInput }; ;
}
......@@ -50,12 +40,10 @@ namespace IoTSharp.TaskAction
{
return new TaskActionOutput() { ExecutionInfo = $"StatusCode:{response.StatusCode } StatusDescription:{response.StatusDescription} {response.ErrorMessage}", ExecutionStatus = false }; ;
}
}
class DeviceActionResult
{
private class DeviceActionResult
{
public bool success { get; set; }
public string message { get; set; }
public string code { get; set; }
......@@ -63,11 +51,9 @@ namespace IoTSharp.TaskAction
public long timestamp { get; set; }
public dynamic result { get; set; }
}
class ModelExecutorConfig
private class ModelExecutorConfig
{
public string Url { get; set; }
public string BaseUrl { get; set; }
......@@ -75,7 +61,6 @@ namespace IoTSharp.TaskAction
public string Passwoid { get; set; }
public string UserName { get; set; }
public string Token { get; set; }
}
}
}
\ No newline at end of file
......@@ -10,7 +10,6 @@ namespace IoTSharp.TaskAction
{
public abstract Task<TaskActionOutput> ExecuteAsync(TaskActionInput _input);
public IServiceProvider ServiceProvider { get; set; }
}
......@@ -22,6 +21,7 @@ namespace IoTSharp.TaskAction
public Guid DeviceId { get; set; }
public bool ExecutionStatus { get; set; }
public string ExecutionInfo { get; set; }
public dynamic DynamicOutput
{
get
......@@ -56,6 +56,7 @@ namespace IoTSharp.TaskAction
private readonly ExpandoObjectConverter expConverter = new();
public Guid DeviceId { get; set; }
public String ExecutorConfig { get; set; }
public dynamic DynamicInput
{
get
......
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using RestSharp;
using System;
using System.ComponentModel;
using System.Dynamic;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using Castle.Components.DictionaryAdapter;
using IoTSharp.Data;
using IoTSharp.TaskAction;
using Microsoft.Extensions.Caching.Memory;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using RestSharp;
namespace IoTSharp.TaskAction
{
[DisplayName("用于消息推送的执行器")]
public class MessagePullExecutor : ITaskAction
{
public MessagePullExecutor()
{
}
public override Task<TaskActionOutput> ExecuteAsync(TaskActionInput input)
{
try
{
// var cache = this.ServiceProvider.GetService(typeof(IMemoryCache)) as IMemoryCache;
return SendData(input);
}
catch (Exception ex)
{
return Task.FromResult( new TaskActionOutput() { ExecutionInfo = ex.Message, ExecutionStatus = false });
return Task.FromResult(new TaskActionOutput() { ExecutionInfo = ex.Message, ExecutionStatus = false });
}
}
private void Login(ModelExecutorConfig config)
{
}
private async Task<TaskActionOutput> SendData(TaskActionInput input)
{
try
{
if (input.Input.Contains("ValueKind"))
{
JObject o = JsonConvert.DeserializeObject(input.Input) as JObject;
var config = JsonConvert.DeserializeObject<ModelExecutorConfig>(input.ExecutorConfig);
var dd = o.Properties().Select(c => new ParamObject { keyName = c.Name, value = JPropertyToObject(c.Value.First as JProperty) }).ToList();
......@@ -75,7 +46,7 @@ namespace IoTSharp.TaskAction
if (response.StatusCode == HttpStatusCode.OK)
{
var result = JsonConvert.DeserializeObject<MessagePullResult>(response.Content);
if (result is {success: true})
if (result is { success: true })
{
return new TaskActionOutput() { ExecutionInfo = response.Content, ExecutionStatus = result.success, DynamicOutput = input.DynamicInput }; ;
}
......@@ -88,9 +59,6 @@ namespace IoTSharp.TaskAction
{
return new TaskActionOutput() { ExecutionInfo = response.ErrorMessage, ExecutionStatus = false }; ;
}
}
else
{
......@@ -111,7 +79,7 @@ namespace IoTSharp.TaskAction
if (response.StatusCode == HttpStatusCode.OK)
{
var result = JsonConvert.DeserializeObject<MessagePullResult>(response.Content);
if (result is {success: true})
if (result is { success: true })
{
return new TaskActionOutput() { ExecutionInfo = response.Content, ExecutionStatus = result.success, DynamicOutput = input.DynamicInput }; ;
}
......@@ -122,14 +90,9 @@ namespace IoTSharp.TaskAction
}
else
{
return new TaskActionOutput() { ExecutionInfo =$"StatusCode:{response.StatusCode } StatusDescription:{response.StatusDescription} {response.ErrorMessage}" , ExecutionStatus = false }; ;
return new TaskActionOutput() { ExecutionInfo = $"StatusCode:{response.StatusCode } StatusDescription:{response.StatusDescription} {response.ErrorMessage}", ExecutionStatus = false }; ;
}
}
}
catch (Exception ex)
{
......@@ -137,7 +100,6 @@ namespace IoTSharp.TaskAction
}
}
public static object JPropertyToObject(JProperty property)
{
object obj = null;
......@@ -146,30 +108,39 @@ namespace IoTSharp.TaskAction
case JTokenType.Integer:
obj = property.Value.ToObject<int>();
break;
case JTokenType.Float:
obj = property.Value.ToObject<float>();
break;
case JTokenType.String:
obj = property.Value.ToObject<string>();
break;
case JTokenType.Boolean:
obj = property.Value.ToObject<bool>();
break;
case JTokenType.Date:
obj = property.Value.ToObject<DateTime>();
break;
case JTokenType.Bytes:
obj = property.Value.ToObject<byte[]>();
break;
case JTokenType.Guid:
obj = property.Value.ToObject<Guid>();
break;
case JTokenType.Uri:
obj = property.Value.ToObject<Uri>();
break;
case JTokenType.TimeSpan:
obj = property.Value.ToObject<TimeSpan>();
break;
default:
obj = property.Value;
break;
......@@ -177,28 +148,8 @@ namespace IoTSharp.TaskAction
return obj;
}
class MessagePullParam
{
public double param1 { get; set; }
public double param2 { get; set; }
public double param3 { get; set; }
public int param4 { get; set; }
public long param5 { get; set; }
public ParamObject param6 { get; set; }
public string param9 { get; set; }
}
class MessagePullResult
private class MessagePullResult
{
public bool success { get; set; }
public string message { get; set; }
public string code { get; set; }
......@@ -206,25 +157,15 @@ namespace IoTSharp.TaskAction
public long timestamp { get; set; }
public dynamic result { get; set; }
}
public class LoginParam
{
}
public class ParamObject
{
public string keyName { get; set; }
public dynamic value { get; set; }
}
class ModelExecutorConfig
private class ModelExecutorConfig
{
public string Url { get; set; }
public string BaseUrl { get; set; }
......@@ -232,7 +173,6 @@ namespace IoTSharp.TaskAction
public string Password { get; set; }
public string UserName { get; set; }
public string Token { get; set; }
}
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using RestSharp;
using System;
using System.ComponentModel;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using RestSharp;
namespace IoTSharp.TaskAction
{
[DisplayName("用于遥测数组推送的执行器")]
public class TelemetryArrayPullExcutor : ITaskAction
{
public TelemetryArrayPullExcutor()
{
}
public override Task<TaskActionOutput> ExecuteAsync(TaskActionInput input)
{
try
{
// var cache = this.ServiceProvider.GetService(typeof(IMemoryCache)) as IMemoryCache;
return SendData(input);
}
catch (Exception ex)
{
return Task.FromResult(new TaskActionOutput() {ExecutionInfo = ex.Message, ExecutionStatus = false});
}
return Task.FromResult(new TaskActionOutput() { ExecutionInfo = ex.Message, ExecutionStatus = false });
}
private void Login(ModelExecutorConfig config)
{
}
private async Task<TaskActionOutput> SendData(TaskActionInput input)
{
try
{
var config = JsonConvert.DeserializeObject<ModelExecutorConfig>(input.ExecutorConfig);
var restclient = new RestClient(config.BaseUrl);
......@@ -74,18 +47,19 @@ namespace IoTSharp.TaskAction
if (response.StatusCode == HttpStatusCode.OK)
{
var result = JsonConvert.DeserializeObject<MessagePullResult>(response.Content);
if (result is {success: true})
if (result is { success: true })
{
return new TaskActionOutput()
{
ExecutionInfo = response.Content, ExecutionStatus = result.success,
ExecutionInfo = response.Content,
ExecutionStatus = result.success,
DynamicOutput = input.DynamicInput
};
;
}
else
{
return new TaskActionOutput() {ExecutionInfo = response.Content, ExecutionStatus = false};
return new TaskActionOutput() { ExecutionInfo = response.Content, ExecutionStatus = false };
;
}
}
......@@ -97,69 +71,17 @@ namespace IoTSharp.TaskAction
$"StatusCode:{response.StatusCode} StatusDescription:{response.StatusDescription} {response.ErrorMessage}",
ExecutionStatus = false
};
}
}
catch (Exception ex)
{
return new TaskActionOutput() {ExecutionInfo = ex.Message, ExecutionStatus = false};
return new TaskActionOutput() { ExecutionInfo = ex.Message, ExecutionStatus = false };
;
}
}
public static object JPropertyToObject(JProperty property)
{
object obj = null;
switch (property.Value.Type)
{
case JTokenType.Integer:
obj = property.Value.ToObject<int>();
break;
case JTokenType.Float:
obj = property.Value.ToObject<float>();
break;
case JTokenType.String:
obj = property.Value.ToObject<string>();
break;
case JTokenType.Boolean:
obj = property.Value.ToObject<bool>();
break;
case JTokenType.Date:
obj = property.Value.ToObject<DateTime>();
break;
case JTokenType.Bytes:
obj = property.Value.ToObject<byte[]>();
break;
case JTokenType.Guid:
obj = property.Value.ToObject<Guid>();
break;
case JTokenType.Uri:
obj = property.Value.ToObject<Uri>();
break;
case JTokenType.TimeSpan:
obj = property.Value.ToObject<TimeSpan>();
break;
default:
obj = property.Value;
break;
}
return obj;
}
class MessagePullResult
private class MessagePullResult
{
public bool success { get; set; }
public string message { get; set; }
public string code { get; set; }
......@@ -167,25 +89,9 @@ namespace IoTSharp.TaskAction
public long timestamp { get; set; }
public dynamic result { get; set; }
}
public class LoginParam
{
}
public class ParamObject
{
public string keyName { get; set; }
public dynamic value { get; set; }
}
class ModelExecutorConfig
private class ModelExecutorConfig
{
public string Url { get; set; }
public string BaseUrl { get; set; }
......@@ -193,7 +99,6 @@ namespace IoTSharp.TaskAction
public string Password { get; set; }
public string UserName { get; set; }
public string Token { get; set; }
}
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册