using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json;
using HXX.Scanner.Socket;
using HXX.Scanner.Common;
namespace HXX.Scanner.Biz.Socket
{
///
/// web socket任务分配
///
public class biz_socketTask
{
public static void DoWork(IntPtr connId, byte[] data)
{
try
{
//解析命令
var txt = Encoding.UTF8.GetString(data);
var cmd = JsonConvert.DeserializeObject(txt);
//限制1秒内相同指令抛弃掉
if (!biz_limit.check(cmd.action))
{
return;
}
if (cmd != null && !string.IsNullOrEmpty(cmd.action))
{
switch (cmd.action)
{
case "getScannerList":
{
var detail = JsonConvert.DeserializeObject(txt);
biz_getScannerList.Work(connId, detail);
break;
}
case "startScan":
{
var detail = JsonConvert.DeserializeObject(txt);
biz_startScan.Work(connId, detail);
break;
}
case "stopScan":
{
var detail = JsonConvert.DeserializeObject(txt);
biz_stopScan.Work(connId, detail);
break;
}
case "checkHeartBeat":
{
var detail = JsonConvert.DeserializeObject(txt);
biz_checkHeartBeat.Work(connId, detail);
break;
}
case "pushCompletedScan":
{
break;
}
case "changeScan":
{
var detail = JsonConvert.DeserializeObject(txt);
biz_changeScan.Work(connId, detail);
break;
}
case "loadImage":
{
var detail = JsonConvert.DeserializeObject(txt);
biz_loadImage.Work(connId, detail);
break;
}
case "getFailedImage":
{
var detail = JsonConvert.DeserializeObject(txt);
biz_getFailedImage.Work(connId, detail);
break;
}
case "reUpload":
{
var detail = JsonConvert.DeserializeObject(txt);
biz_reUpload.Work(connId, detail);
break;
}
case "scanTemplate":
{
var detail = JsonConvert.DeserializeObject(txt);
biz_scanTemplate.Work(connId, detail);
break;
}
case "deleteBatch":
{
var detail = JsonConvert.DeserializeObject(txt);
biz_deleteBatch.Work(connId, detail);
break;
}
default:
biz_error.Work(connId, "无法解析 action:" + cmd.action);
break;
}
}
else
{
biz_error.Work(connId, "无法解析:" + txt);
}
}
catch (Exception ee)
{
//LogManager.WriteLog(ee);
//biz_error.Work(connId, "发生错误:" + ee.Message);
}
}
}
}