using Face.Domain.Application.FaceAll;
using Face.Domain.Entities;
using Face.Web.Areas.App.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using WebSocketToolsConsole;
namespace Face.Web.Areas.App.Controllers
{
public class SendmessageController : Controller
{
// GET: App/Sendmessage
///
/// 新命令获取设备信息
///
/// 人脸机编号
///
public ActionResult GetModelInfosas(string Serial)
{
Entity.Rootinfo info = new Entity.Rootinfo();
info.pmsid = -1;
Entity.msgx msgx = new Entity.msgx();
StringBuilder sbperson = new StringBuilder();
sbperson.Append("key=abcdef");
msgx.msgid = Guid.NewGuid().ToString();
msgx.sn = Serial;
msgx.cmd = "GetModelInfo";//得到设备信息
msgx.msg = System.Web.HttpUtility.HtmlDecode(sbperson.ToString());
info.msgx = msgx;
info.pmsid = -1;
string sendMsg = Newtonsoft.Json.JsonConvert.SerializeObject(info);
UdpCommunication.QueueSend(sendMsg);
using (var db = SqlSugarBase.GesmartDb())
{
string sn = Serial;
var dbt = db.Queryable().First(x => x.SerialNo == sn);
Domain.Application.FaceAll.ULog uLog = new Domain.Application.FaceAll.ULog
{
Uname = Session["username"].ToString(),
faceSN = Serial,
operatetype = "得到设备基本信息",
hotelcode = int.Parse(Session["hotelCode"].ToString()),
roomid = dbt.RoomId,
Creationtime = DateTime.Now
};
SqlSugarBase.Db.Insertable(uLog).ExecuteCommand();
}
return Json("成功", JsonRequestBehavior.AllowGet);
}
///
/// 恢复出厂设置命令
///
/// 人脸机编号
///
public ActionResult RestoreFactorySettinginfo(string Serial)
{
Entity.Rootinfo info = new Entity.Rootinfo();
info.pmsid = -1;
Entity.msgx msgx = new Entity.msgx();
StringBuilder sbperson = new StringBuilder();
sbperson.Append("key=abcdef");
msgx.msgid = Guid.NewGuid().ToString();
msgx.sn = Serial;
msgx.cmd = "RestoreFactorySetting";//恢复出场设置
msgx.msg = System.Web.HttpUtility.HtmlDecode(sbperson.ToString());
info.msgx = msgx;
info.pmsid = -1;
string sendMsg = Newtonsoft.Json.JsonConvert.SerializeObject(info);
UdpCommunication.QueueSend(sendMsg);
using (var db = SqlSugarBase.GesmartDb())
{
string sn = Serial;
var dbt = db.Queryable().First(x => x.SerialNo == sn);
Domain.Application.FaceAll.ULog uLog = new Domain.Application.FaceAll.ULog
{
Uname = Session["username"].ToString(),
faceSN = Serial,
operatetype = "恢复出场设置",
hotelcode = int.Parse(Session["hotelCode"].ToString()),
roomid = dbt.RoomId,
Creationtime = DateTime.Now
};
SqlSugarBase.Db.Insertable(uLog).ExecuteCommand();
}
return Json("成功", JsonRequestBehavior.AllowGet);
}
///
/// 下发固件命令
///
/// 固件名称
/// 房间集合
/// 域名
/// 端口
/// 用户名称
/// 密码
/// 路径
///
public ActionResult UpdateApk(string ApkName, string RoomidList, string DomainNmae, string FTPPort, string UserNmae, string pwd, string foder)
{
List arrlist = new List();
Domain.Application.FaceAll.DeviceManage hotel = SqlSugarBase.Db.Queryable().First(x => x.RoomId == int.Parse(RoomidList));
Entity.Rootinfo rootinfo = new Entity.Rootinfo();
Entity.msgx msgx = new Entity.msgx();
msgx.msgid = Guid.NewGuid().ToString();
if (!arrlist.Contains(msgx.msgid)) { arrlist.Add(msgx.msgid); }
msgx.sn = hotel.SerialNo;
msgx.cmd = "updateAPK2";//操作
StringBuilder sbperson = new StringBuilder();
sbperson.Append("key=abcdef");
sbperson.Append("&url=" + foder+"/"+ ApkName);
sbperson.Append("&Hast=" + DomainNmae);
sbperson.Append("&UserName=" + UserNmae);
sbperson.Append("&Port=" + FTPPort);
sbperson.Append("&PW=" + pwd);
//sbperson.Append("&Folder=" + foder);
msgx.msg = System.Web.HttpUtility.HtmlDecode(sbperson.ToString());
rootinfo.msgx = msgx;
rootinfo.pmsid = -1;
string sendMsg = Newtonsoft.Json.JsonConvert.SerializeObject(rootinfo);
UdpCommunication.QueueSend(sendMsg);
return Json(new { isok = true, arr = arrlist });
}
///
/// 上传日志api
///
/// 人脸机编号
/// 域名
/// 端口
/// 用户名
/// 密码
/// 路径
///
public ActionResult UploadLogData(string Serial,string DomainNmae,string FTPPort,string UserNmae,string pwd,string foder)
{
Entity.Rootinfo info = new Entity.Rootinfo();
info.pmsid = -1;
Entity.msgx msgx = new Entity.msgx();
StringBuilder sbperson = new StringBuilder();
sbperson.Append("key=abcdef");
msgx.msgid = Guid.NewGuid().ToString();
msgx.sn = Serial;
msgx.cmd = "UploadLogData";//上传日志
sbperson.Append("&Hast="+ DomainNmae);
sbperson.Append("&UserName=" + UserNmae);
sbperson.Append("&Port=" + FTPPort);
sbperson.Append("&PW=" + pwd);
sbperson.Append("&Folder=" + foder);
msgx.msg = System.Web.HttpUtility.HtmlDecode(sbperson.ToString());
info.msgx = msgx;
info.pmsid = -1;
string sendMsg = Newtonsoft.Json.JsonConvert.SerializeObject(info);
UdpCommunication.QueueSend(sendMsg);
return Json("成功", JsonRequestBehavior.AllowGet);
}
public ActionResult setPeopleinfov19(string Serial, string HotelID, string RoomID, string IC_NO, string Groupid, string npeople,string id,string kshitime,string jieshutime)
{
Entity.Rootinfo info = new Entity.Rootinfo();
info.pmsid = -1;
Entity.msgx msgx = new Entity.msgx();
msgx.msgid = Guid.NewGuid().ToString();
msgx.sn = Serial;
msgx.cmd = "setPerson";
StringBuilder sb = new StringBuilder();
sb.Append("key=abc");
if (npeople == "1")
{
sb.Append("&datatype=2");
sb.Append("&id=432156782341123429");
sb.Append("&name=KevinLu");
sb.Append("&IC_NO=" + IC_NO);
sb.Append("&ID_NO=432156782341123429");
sb.Append("&photo=");
}
else
{
sb.Append("&datatype=2");
sb.Append("&id="+ id);
sb.Append("&name=VellaLiu");
sb.Append("&IC_NO="+ IC_NO);
sb.Append("&ID_NO="+id);
sb.Append("&photo=");
}
sb.Append("&startTs="+kshitime);
sb.Append("&endTs="+jieshutime);
sb.Append("&passCount=10000");
sb.Append("&HotelID=" + HotelID);
sb.Append("&RoomID=" + RoomID);
sb.Append("&Groupid=" + Groupid);
msgx.msg = System.Web.HttpUtility.HtmlDecode(sb.ToString());
info.msgx = msgx;
string sendMsg = Newtonsoft.Json.JsonConvert.SerializeObject(info);
UdpCommunication.QueueSend(sendMsg);
return Json("成功", JsonRequestBehavior.AllowGet);
}
public ActionResult getPeopleData19(string Serial, string number, string offset, string Groupid)
{
Entity.Rootinfo info = new Entity.Rootinfo();
info.pmsid = -1;
Entity.msgx msgx = new Entity.msgx();
StringBuilder sbperson = new StringBuilder();
sbperson.Append("key=abc");
sbperson.Append("&number=" + number);
sbperson.Append("&offset="+ offset);
sbperson.Append("&Groupid=" + Groupid);
msgx.msgid = Guid.NewGuid().ToString();
msgx.sn = Serial;
msgx.cmd = "listPersonByNumber";//获取人员列表
msgx.msg = System.Web.HttpUtility.HtmlDecode(sbperson.ToString());
info.msgx = msgx;
info.pmsid = -1;
string sendMsg = Newtonsoft.Json.JsonConvert.SerializeObject(info);
UdpCommunication.QueueSend(sendMsg);
using (var db = SqlSugarBase.GesmartDb())
{
string sn = Serial;
var dbt = db.Queryable().First(x => x.SerialNo == sn);
Domain.Application.FaceAll.ULog uLog = new Domain.Application.FaceAll.ULog
{
Uname = Session["username"].ToString(),
faceSN = Serial,
operatetype = "获取人员列表",
hotelcode = int.Parse(Session["hotelCode"].ToString()),
roomid = dbt.RoomId,
Creationtime = DateTime.Now
};
SqlSugarBase.Db.Insertable(uLog).ExecuteCommand();
}
return Json("成功", JsonRequestBehavior.AllowGet);
}
public ActionResult selectPeopleData191(string Serial, string id, string Groupid)
{
Entity.Rootinfo info = new Entity.Rootinfo();
info.pmsid = -1;
Entity.msgx msgx = new Entity.msgx();
msgx.msgid = Guid.NewGuid().ToString();
msgx.sn = Serial;
msgx.cmd = "getPerson";
StringBuilder sb = new StringBuilder();
sb.Append("key=abc");
sb.Append("&id="+ id);
sb.Append("&Groupid=" + Groupid);
msgx.msg = System.Web.HttpUtility.HtmlDecode(sb.ToString());
info.msgx = msgx;
string sendMsg = Newtonsoft.Json.JsonConvert.SerializeObject(info);
UdpCommunication.QueueSend(sendMsg);
return Json("成功", JsonRequestBehavior.AllowGet);
}
public ActionResult rebootface191(string Serial, string id, string HotelID, string RoomID, string Groupid)
{
Entity.Rootinfo info = new Entity.Rootinfo();
info.pmsid = -1;
Entity.msgx msgx = new Entity.msgx();
msgx.msgid = Guid.NewGuid().ToString();
msgx.sn = Serial;
msgx.cmd = "removePerson";
StringBuilder builder = new StringBuilder();
builder.Append("key=abc");
builder.Append("&id="+id);
builder.Append("&HotelID=" + HotelID);
builder.Append("&RoomID=" + RoomID);
builder.Append("&Groupid=" + Groupid);
//if (isNew1Point6)
//{
// if (npeople == "1")
// {
// builder.Append("&id=[432156782341123429]");
// }
// else
// {
// builder.Append("&id=[123456782341127777]");
// }
//}
//else
//{
// if (npeople == "1")
// {
// builder.Append("&id=432156782341123429");
// }
// else
// {
// builder.Append("&id=123456782341127777");
// }
//}
msgx.msg = System.Web.HttpUtility.HtmlDecode(builder.ToString());
info.msgx = msgx;
string sendMsg = Newtonsoft.Json.JsonConvert.SerializeObject(info);
UdpCommunication.QueueSend(sendMsg);
return Json("成功", JsonRequestBehavior.AllowGet);
}
public ActionResult removePeopleDataByGroup19(string Serial,string Groupid)
{
Entity.Rootinfo info = new Entity.Rootinfo();
info.pmsid = -1;
Entity.msgx msgx = new Entity.msgx();
msgx.msgid = Guid.NewGuid().ToString();
msgx.sn = Serial;
msgx.cmd = "removeGroup";
StringBuilder builder = new StringBuilder();
builder.Append("key=abc");
builder.Append("&Group=" + Groupid);
msgx.msg = System.Web.HttpUtility.HtmlDecode(builder.ToString());
info.msgx = msgx;
string sendMsg = Newtonsoft.Json.JsonConvert.SerializeObject(info);
UdpCommunication.QueueSend(sendMsg);
return Json("成功", JsonRequestBehavior.AllowGet);
}
public ActionResult GetSetAPKSandProgressData(List ApkName)
{
Dictionary> listdevprog = new Dictionary>();
using (var db = SqlSugarBase.GesmartDb())
{
List matchedList = db.Queryable()
.Where(x => x.msgid== ApkName[0] && x.direction == "Rx")
.ToList();
List currMsgList = matchedList.Where(x => x.msgid == ApkName[0]).ToList();
listdevprog.Add(ApkName[0], currMsgList);
}
return Json(listdevprog);
}
}
public class GetDeviceinfo
{
public string Token { get; set; }
public string ProtocolVersion { get; set; }
public string MsgID { get; set; }
public string DateTime { get; set; }
public string Brand { get; set; }
public string SN { get; set; }
public string CMD { get; set; }
public Parainfo Para { get; set; }
}
public class Parainfo
{
}
}