576 lines
25 KiB
C#
576 lines
25 KiB
C#
|
|
using Newtonsoft.Json;
|
|||
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.IO;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Net;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.Web;
|
|||
|
|
using System.Web.Mvc;
|
|||
|
|
using Face.Domain.ViewModels;
|
|||
|
|
using Face.Services.Manager;
|
|||
|
|
using Face.Domain.Entities;
|
|||
|
|
using PagedList;
|
|||
|
|
using Face.Services.Cache;
|
|||
|
|
using System.Data.Entity.Infrastructure;
|
|||
|
|
using WebServer;
|
|||
|
|
using System.Threading.Tasks;
|
|||
|
|
using Face.Services.DBUtility.Common;
|
|||
|
|
using Face.Web.Areas.App.Models;
|
|||
|
|
using System.Data.Entity;
|
|||
|
|
using System.Threading;
|
|||
|
|
using static Face.Web.Areas.App.Models.Roominfo;
|
|||
|
|
using Face.Domain.Application;
|
|||
|
|
using SqlSugar;
|
|||
|
|
using System.Web.Hosting;
|
|||
|
|
using AUTS.Services.Manager;
|
|||
|
|
using LogHelp = Face.Services.Manager.LogHelp;
|
|||
|
|
using Logs = Face.Services.Manager.Logs;
|
|||
|
|
using WebSocketToolsConsole;
|
|||
|
|
using TencentCloud.Common.Profile;
|
|||
|
|
using TencentCloud.Common;
|
|||
|
|
using TencentCloud.Sms.V20210111;
|
|||
|
|
using TencentCloud.Sms.V20210111.Models;
|
|||
|
|
using System.Diagnostics;
|
|||
|
|
using System.Data;
|
|||
|
|
using System.Text.RegularExpressions;
|
|||
|
|
|
|||
|
|
namespace Face.Web.Areas.App.Controllers
|
|||
|
|
{
|
|||
|
|
public class TestController : BaseController
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
public ActionResult FaceOperate(int? page)
|
|||
|
|
{
|
|||
|
|
var HotelsList = SqlSugarBase.authoriydb.Queryable<Hotels>().ToList();
|
|||
|
|
return View(HotelsList);
|
|||
|
|
}
|
|||
|
|
public ActionResult IssueBJandLogandroomid()
|
|||
|
|
{
|
|||
|
|
Uiinfo ui = new Uiinfo();
|
|||
|
|
string issuetype = "";
|
|||
|
|
var Roonid = int.Parse(Request.Form["Roonid"]);//获得房间id
|
|||
|
|
var roomname = Request.Form["roomname"];//获得房间名称
|
|||
|
|
var photo = Request.Form["photo"];//背景图
|
|||
|
|
var photologo = Request.Form["photologo"];//获得logo
|
|||
|
|
ImgServerController imgServer = new ImgServerController();
|
|||
|
|
if (!string.IsNullOrEmpty(photo))
|
|||
|
|
{
|
|||
|
|
issuetype = "BkgPng";
|
|||
|
|
var img = imgServer.YHFileImage(issuetype + "/" + photo);
|
|||
|
|
ui.imageBj = "<" + issuetype + "/" + photo + ">";
|
|||
|
|
}
|
|||
|
|
if (!string.IsNullOrEmpty(photologo))
|
|||
|
|
{
|
|||
|
|
issuetype = "Logo";
|
|||
|
|
|
|||
|
|
var img = imgServer.YHFileImage(issuetype + "/" + photologo);
|
|||
|
|
ui.imagelogo = "<" + issuetype + "/" + photologo + ">";
|
|||
|
|
}
|
|||
|
|
if (!string.IsNullOrEmpty(roomname))
|
|||
|
|
{
|
|||
|
|
//Unicode编码房号,不转换字母和数字,
|
|||
|
|
//string sasd = Regex.Replace(roomname, @"(?![a-zA-Z0-9\s]).", match => "\\u" + ((int)match.Value[0]).ToString("x4"));
|
|||
|
|
//Unicode编码房号,所有的信息都进行编译
|
|||
|
|
char[] cs = roomname.ToCharArray();
|
|||
|
|
StringBuilder sb = new StringBuilder();
|
|||
|
|
for (int i = 0; i < cs.Length; i++)
|
|||
|
|
{
|
|||
|
|
sb.AppendFormat("\\u{0:x4}", (int)cs[i]);
|
|||
|
|
}
|
|||
|
|
ui.Roomname = sb.ToString();
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
ui.Roomname = "U+0020U+0020U+0020U+0020";
|
|||
|
|
}
|
|||
|
|
using (var db = SqlSugarBase.GesmartDb())
|
|||
|
|
{
|
|||
|
|
var Sn = db.Queryable<DeviceManage>().Where(s => s.RoomId == Roonid).ToList();
|
|||
|
|
StringBuilder sbperson = new StringBuilder();
|
|||
|
|
sbperson.Append("key=abcdef");
|
|||
|
|
string ImageInfo = Newtonsoft.Json.JsonConvert.SerializeObject(ui);
|
|||
|
|
sbperson.Append("&ImageInfo=" + ImageInfo);
|
|||
|
|
Entity.Rootinfo msgx = new Entity.Rootinfo();
|
|||
|
|
Entity.msgx msgxs = new Entity.msgx();
|
|||
|
|
msgxs.msgid = Guid.NewGuid().ToString();
|
|||
|
|
msgxs.sn = Sn[0].SerialNo;
|
|||
|
|
msgxs.cmd = "SetUI";//操作
|
|||
|
|
msgxs.msg = System.Web.HttpUtility.HtmlDecode(sbperson.ToString());
|
|||
|
|
msgx.msgx = msgxs;
|
|||
|
|
msgx.pmsid = -1;
|
|||
|
|
string sendMsg = Newtonsoft.Json.JsonConvert.SerializeObject(msgx);
|
|||
|
|
UdpCommunication.QueueSend(sendMsg);//下发数据给控制台
|
|||
|
|
}
|
|||
|
|
return Json("");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public List<Hotels> GetHotel//酒店缓存
|
|||
|
|
{
|
|||
|
|
get { return CacheHelp.GetHotelslist(); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// GET: App/Test
|
|||
|
|
public ActionResult TestOpen()
|
|||
|
|
{
|
|||
|
|
using (SqlSugarClient db = SqlSugarBase.GesmartDb())
|
|||
|
|
{
|
|||
|
|
string name = Session["id"].ToString();
|
|||
|
|
var list = db.Queryable<TestUser>().Where(x => x.state == 1).Where(j => j.establish == name).ToList();
|
|||
|
|
ViewBag.clist = list;
|
|||
|
|
}
|
|||
|
|
ViewData["Hotelsp"] = SqlSugarBase.authoriydb.Queryable<Hotels>().ToList();
|
|||
|
|
return View();
|
|||
|
|
}
|
|||
|
|
public ActionResult visitinfo(string infoShow, string hotel, string room, string checkin, int shi)//开房测试
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
List<Result> relist = null;
|
|||
|
|
List<string> vs = infoShow.Split(',').ToList();
|
|||
|
|
DateTime date = Convert.ToDateTime(checkin);
|
|||
|
|
var code = int.Parse(hotel);
|
|||
|
|
//查询酒店
|
|||
|
|
var hotellist = SqlSugarBase.authoriydb.Queryable<Hotels>().First(s => s.Code == code.ToString());
|
|||
|
|
if (hotellist == null)
|
|||
|
|
{
|
|||
|
|
return Json(false);
|
|||
|
|
}
|
|||
|
|
GetRoomInterface.test test = new GetRoomInterface.test
|
|||
|
|
{
|
|||
|
|
code = hotellist.Code.ToString(),
|
|||
|
|
creatDate = hotellist.CreateTime.ToString("yyyy-MM-dd")
|
|||
|
|
};
|
|||
|
|
//查询房间
|
|||
|
|
Roominfo.Root asd = GetRoomInterface.Roomport(test);
|
|||
|
|
if (asd == null)
|
|||
|
|
{
|
|||
|
|
return Json(false);
|
|||
|
|
}
|
|||
|
|
if (asd.IsSuccess != true)
|
|||
|
|
{
|
|||
|
|
return Json(false);
|
|||
|
|
}
|
|||
|
|
relist = asd.Result;
|
|||
|
|
//查询房间的第一条数据
|
|||
|
|
var sc = relist.FirstOrDefault(j => j.RoomNumber == room);
|
|||
|
|
if (sc == null)
|
|||
|
|
{
|
|||
|
|
return Json(false);
|
|||
|
|
}
|
|||
|
|
int state = 0;
|
|||
|
|
CheckinTest user = new CheckinTest() { testState = state, creationTime = DateTime.Now, predictCheckIn = date, checkInduration = shi, hotelid = hotellist.Id, Roomid = sc.ID };
|
|||
|
|
//插入到数据库Face的表CheckinTest返回主键
|
|||
|
|
var Staty = SqlSugarBase.Db.Insertable(user).ExecuteReturnIdentity();
|
|||
|
|
//Logs.WriteTimingUDPLog("保存开房信息主表成功");
|
|||
|
|
int id = Staty;
|
|||
|
|
for (int i = 0; i < vs.Count; i++)
|
|||
|
|
{
|
|||
|
|
subtabulation su = new subtabulation() { masterid = id, Lodgerid = int.Parse(vs[i]) };
|
|||
|
|
//插入到数据库Face的表subtabulation返回主键
|
|||
|
|
SqlSugarBase.Db.Insertable(su).ExecuteCommand();
|
|||
|
|
}
|
|||
|
|
using (SqlSugarClient db = SqlSugarBase.GesmartDb())
|
|||
|
|
{
|
|||
|
|
//查询CheckinTest数据表对应的数据信息
|
|||
|
|
var OutRoom = db.Queryable<CheckinTest>().First(x => x.id == id);
|
|||
|
|
//添加时间处理
|
|||
|
|
var timeOut = DateTime.Parse(OutRoom.predictCheckIn.ToString()).AddMinutes(Convert.ToDouble(OutRoom.checkInduration.ToString()));
|
|||
|
|
var dqsj = timeOut - DateTime.Now;
|
|||
|
|
if (OutRoom.checkInduration != 0)
|
|||
|
|
{
|
|||
|
|
Thread S = new Thread(new ThreadStart(() =>
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
var time = (int)dqsj.TotalMilliseconds;
|
|||
|
|
|
|||
|
|
Thread.Sleep(time);
|
|||
|
|
using (var ar = SqlSugarBase.GesmartDb())
|
|||
|
|
{
|
|||
|
|
var Out = ar.Queryable<CheckinTest>().First(x => x.id == id);
|
|||
|
|
if (OutRoom.checkInduration != 0)//判断是否为永久开房
|
|||
|
|
{
|
|||
|
|
if (FJHelp.outinfos(id.ToString()))
|
|||
|
|
{
|
|||
|
|
//Logs.WriteTimingUDPLog("退房ok");
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
//Logs.WriteTimingUDPLog("退房no id" + id + ":" + Out);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
Logs.WriteLog("预退出错" + ex.ToString());
|
|||
|
|
}
|
|||
|
|
}));//到达时间的时候执行事件;
|
|||
|
|
S.Start();
|
|||
|
|
}
|
|||
|
|
//查询下发人员信息
|
|||
|
|
var select = SqlSugarBase.Db.Queryable<TestUser>().Where(x => vs.Contains(x.id.ToString())).ToList();
|
|||
|
|
List<WebServer.UserInfo> users = new List<WebServer.UserInfo>();
|
|||
|
|
|
|||
|
|
var nowok = true;
|
|||
|
|
bool isok = false;
|
|||
|
|
if (date <= DateTime.Now)
|
|||
|
|
{
|
|||
|
|
//Logs.WriteTimingUDPLog("立即开房");
|
|||
|
|
for (int i = 0; i < select.Count; i++)
|
|||
|
|
{
|
|||
|
|
WebServer.UserInfo fo = new WebServer.UserInfo()
|
|||
|
|
{
|
|||
|
|
idcard = select[i].idNumber,
|
|||
|
|
customer = select[i].name,
|
|||
|
|
sex = select[i].sex == 1 ? "男" : "女",
|
|||
|
|
photoUrl = "http://face.blv-oa.com/ImgServer/FileImage?url=" + select[i].picture,
|
|||
|
|
};
|
|||
|
|
users.Add(fo);
|
|||
|
|
int uid = int.Parse(vs[i]);
|
|||
|
|
var sm = SqlSugarBase.Db.Queryable<TestUser>().First(x => x.id == uid);
|
|||
|
|
isok = WebHelp.Send(new SendInfo { code = hotel, roomNumber = room, idNumber = sm.idNumber, phoneNumber = sm.phone }, users.ToArray());
|
|||
|
|
users.Clear();
|
|||
|
|
}
|
|||
|
|
int states = 3;
|
|||
|
|
if (isok)
|
|||
|
|
{
|
|||
|
|
states = 1;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
nowok = false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
SqlSugarBase.Db.Updateable<CheckinTest>().SetColumns(it => it.testState == states).Where(it => it.id == Staty).ExecuteCommand();
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
var dt = date - DateTime.Now;
|
|||
|
|
Thread thread = new Thread(new ThreadStart(() =>
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
List<WebServer.UserInfo> users1 = new List<WebServer.UserInfo>();
|
|||
|
|
var time = (int)dt.TotalMilliseconds;
|
|||
|
|
Thread.Sleep(time);
|
|||
|
|
for (int i = 0; i < select.Count; i++)
|
|||
|
|
{
|
|||
|
|
WebServer.UserInfo fo = new WebServer.UserInfo()
|
|||
|
|
{
|
|||
|
|
idcard = select[i].idNumber,
|
|||
|
|
customer = select[i].name,
|
|||
|
|
sex = select[i].sex == 1 ? "男" : "女",
|
|||
|
|
photoUrl = "http://face.blv-oa.com/ImgServer/FileImage?url=" + select[i].picture,
|
|||
|
|
};
|
|||
|
|
users1.Add(fo);
|
|||
|
|
int uid = int.Parse(vs[i]);
|
|||
|
|
var sm = SqlSugarBase.Db.Queryable<TestUser>().First(x => x.id == uid);
|
|||
|
|
isok = WebHelp.Send(new SendInfo { code = hotel, roomNumber = room, idNumber = sm.idNumber, phoneNumber = sm.phone }, users1.ToArray());
|
|||
|
|
users1.Clear();
|
|||
|
|
}
|
|||
|
|
int states = 3;
|
|||
|
|
if (isok)
|
|||
|
|
{
|
|||
|
|
states = 1;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
nowok = false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
SqlSugarBase.Db.Updateable<CheckinTest>().SetColumns(it => it.testState == states).Where(it => it.id == user.id).ExecuteCommand();
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
AUTS.Services.Manager.Logs.WriteTimingUDPLog("预开出错" + ex.ToString());
|
|||
|
|
}
|
|||
|
|
}));//到达时间的时候执行事件;
|
|||
|
|
thread.Start();
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
LogHelp.WriteExceptionLog(ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return Json(nowok);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
LogHelp.WriteExceptionLog(ex);
|
|||
|
|
return Json(false);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[HttpPost]
|
|||
|
|
public ActionResult outinfos(string id)//退房信息
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
return Json(FJHelp.outinfos(id));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public ActionResult action(string str)
|
|||
|
|
{
|
|||
|
|
using (SqlSugarClient db = SqlSugarBase.GesmartDb())
|
|||
|
|
{
|
|||
|
|
var list = db.Queryable<CheckInInfo>().Where(s => s.IdNumber == str).ToList();
|
|||
|
|
return Json(list);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public class OutClass
|
|||
|
|
{
|
|||
|
|
public string HotelCode { get; set; }
|
|||
|
|
public string roomid { get; set; }
|
|||
|
|
|
|||
|
|
public DateTime checkOutTime { get; set; }
|
|||
|
|
}
|
|||
|
|
public ActionResult testindent(int? page)//测试人员
|
|||
|
|
{
|
|||
|
|
int pageSize = 8;
|
|||
|
|
int pageNumber = page ?? 1;
|
|||
|
|
using (SqlSugarClient db = SqlSugarBase.GesmartDb())
|
|||
|
|
{
|
|||
|
|
string name = Session["id"].ToString();
|
|||
|
|
var testlist = db.Queryable<TestUser>().Where(s => s.establish == name).ToList();
|
|||
|
|
//ViewBag.testlist = testlist;
|
|||
|
|
IPagedList<TestUser> userPagedList = testlist.ToPagedList(pageNumber, pageSize);
|
|||
|
|
return View(userPagedList);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public ActionResult freeze(string id)
|
|||
|
|
{
|
|||
|
|
ReturnResult result = new ReturnResult();
|
|||
|
|
if (SqlOperationsData.amendtestUser(id) != 0)
|
|||
|
|
{
|
|||
|
|
result.Status = 200;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
result.Status = 100;
|
|||
|
|
}
|
|||
|
|
return Json(result);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
public ActionResult freeze1(string id)
|
|||
|
|
{
|
|||
|
|
ReturnResult result = new ReturnResult();
|
|||
|
|
if (SqlOperationsData.amendtestUser1(id) != 0)
|
|||
|
|
{
|
|||
|
|
result.Status = 200;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
result.Status = 100;
|
|||
|
|
}
|
|||
|
|
return Json(result);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
public ActionResult retreatinfo(int? page)
|
|||
|
|
{
|
|||
|
|
List<int> lit = (List<int>)Session["list"];
|
|||
|
|
List<TBL_ROOM_BASIC_INFO> ZongRoominfo = (List<TBL_ROOM_BASIC_INFO>)Session["ZongRoominfo"];
|
|||
|
|
|
|||
|
|
List<CheckinTest> li = new List<CheckinTest>();
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//第几页
|
|||
|
|
int pageNumber = page ?? 1;
|
|||
|
|
if (page != null)
|
|||
|
|
{
|
|||
|
|
ViewData["page"] = page;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
ViewData["page"] = 1;
|
|||
|
|
}
|
|||
|
|
//每页显示多少条
|
|||
|
|
int pageSize = 7;
|
|||
|
|
|
|||
|
|
//根据ID升序排序
|
|||
|
|
|
|||
|
|
using (SqlSugarClient ser = SqlSugarBase.GesmartDb())
|
|||
|
|
{
|
|||
|
|
var user = ser.Queryable<TestUser>().ToList();
|
|||
|
|
var se = ser.Queryable<subtabulation>().ToList();
|
|||
|
|
var userList = ser.Queryable<CheckinTest>().ToList();
|
|||
|
|
var dsae = ser.Queryable<CheckinTest>().ToList();
|
|||
|
|
for (int i = 0; i < lit.Count; i++)
|
|||
|
|
{
|
|||
|
|
var id = Convert.ToInt32(lit[i]);
|
|||
|
|
li.AddRange(userList.Where(x => x.hotelid == id).ToList());
|
|||
|
|
}
|
|||
|
|
ViewData["people"] = dsae;
|
|||
|
|
ViewBag.indent = li;
|
|||
|
|
ViewBag.se = se;
|
|||
|
|
ViewBag.user = user;
|
|||
|
|
}
|
|||
|
|
li = li.OrderByDescending(x => x.id).ToList();
|
|||
|
|
IPagedList<CheckinTest> userPagedList = li.ToPagedList(pageNumber, pageSize);
|
|||
|
|
//将分页处理后的列表传给View
|
|||
|
|
return View(userPagedList);
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
AUTS.Services.Manager.LogHelp.WriteExceptionLog(ex);
|
|||
|
|
throw;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public ActionResult FaceTestOperate(int? page)
|
|||
|
|
{
|
|||
|
|
var HotelsList = SqlSugarBase.authoriydb.Queryable<Hotels>().ToList();
|
|||
|
|
return View(HotelsList);
|
|||
|
|
}
|
|||
|
|
public ActionResult IssueUiType()
|
|||
|
|
{
|
|||
|
|
string issuetype = "";
|
|||
|
|
var Roonid = int.Parse(Request.Form["Roonid"]);//获得房间id
|
|||
|
|
|
|||
|
|
|
|||
|
|
var type = int.Parse(Request.Form["type"]);//获得下发类型
|
|||
|
|
|
|||
|
|
var roomname = Request.Form["roomname"];//获得房间名称
|
|||
|
|
var photo = Request.Form["photo"];//获得上传的文件
|
|||
|
|
ImgServerController imgServer = new ImgServerController();
|
|||
|
|
|
|||
|
|
switch (type)
|
|||
|
|
{
|
|||
|
|
case 2:
|
|||
|
|
issuetype = "BkgPng";
|
|||
|
|
break;
|
|||
|
|
case 3:
|
|||
|
|
issuetype = "Logo";
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
var img = imgServer.YHFileImage(issuetype + "/" + photo);
|
|||
|
|
|
|||
|
|
using (var db = SqlSugarBase.GesmartDb())
|
|||
|
|
{
|
|||
|
|
var Sn = db.Queryable<DeviceManage>().Where(s => s.RoomId == Roonid).ToList();
|
|||
|
|
switch (type)
|
|||
|
|
{
|
|||
|
|
case 2:
|
|||
|
|
StringBuilder sbperson = new StringBuilder();
|
|||
|
|
UiImg ui = new UiImg();
|
|||
|
|
ui.name = "uiname";
|
|||
|
|
ui.image = "<" + issuetype + "/" + photo + ">";
|
|||
|
|
ui.x = 0;
|
|||
|
|
ui.y = 0;
|
|||
|
|
ui.w = 0;
|
|||
|
|
ui.h = 0;
|
|||
|
|
sbperson.Append("key=abc");
|
|||
|
|
string ImageInfo = Newtonsoft.Json.JsonConvert.SerializeObject(ui);
|
|||
|
|
sbperson.Append("&ImageInfo=" + ImageInfo);
|
|||
|
|
Entity.Rootinfo msgx = new Entity.Rootinfo();
|
|||
|
|
Entity.msgx msgxs = new Entity.msgx();
|
|||
|
|
msgxs.msgid = Guid.NewGuid().ToString();
|
|||
|
|
msgxs.sn = Sn[0].SerialNo;
|
|||
|
|
msgxs.cmd = "updateMainPageBG";//操作
|
|||
|
|
msgxs.msg = System.Web.HttpUtility.HtmlDecode(sbperson.ToString());
|
|||
|
|
msgx.msgx = msgxs;
|
|||
|
|
msgx.pmsid = -1;
|
|||
|
|
string sendMsg = Newtonsoft.Json.JsonConvert.SerializeObject(msgx);
|
|||
|
|
UdpCommunication.QueueSend(sendMsg);//下发数据给控制台
|
|||
|
|
break;
|
|||
|
|
case 3:
|
|||
|
|
StringBuilder sbperson2 = new StringBuilder();
|
|||
|
|
//Unicode编码房号,不转换字母和数字,
|
|||
|
|
//string sasd = Regex.Replace(roomname, @"(?![a-zA-Z0-9\s]).", match => "\\u" + ((int)match.Value[0]).ToString("x4"));
|
|||
|
|
//Unicode编码房号,所有的信息都进行编译
|
|||
|
|
//char[] cs = roomname.ToCharArray();
|
|||
|
|
//StringBuilder sb = new StringBuilder();
|
|||
|
|
//for (int i = 0; i < cs.Length; i++)
|
|||
|
|
//{
|
|||
|
|
// sb.AppendFormat("\\u{0:x4}", (int)cs[i]);
|
|||
|
|
////}
|
|||
|
|
//string roominfo = sb.ToString();
|
|||
|
|
sbperson2.Append("key=abc");
|
|||
|
|
sbperson2.Append("&Roomnumber=" + roomname);
|
|||
|
|
sbperson2.Append("&Logo=" + "<" + issuetype + "/" + photo + ">");
|
|||
|
|
Entity.Rootinfo msgx2 = new Entity.Rootinfo();
|
|||
|
|
Entity.msgx msgxs2 = new Entity.msgx();
|
|||
|
|
msgxs2.msgid = Guid.NewGuid().ToString();
|
|||
|
|
msgxs2.sn = Sn[0].SerialNo;
|
|||
|
|
msgxs2.cmd = "updateLogoRoomNo";//操作
|
|||
|
|
msgxs2.msg = System.Web.HttpUtility.HtmlDecode(sbperson2.ToString());
|
|||
|
|
msgx2.msgx = msgxs2;
|
|||
|
|
msgx2.pmsid = -1;
|
|||
|
|
string sendMsg2 = Newtonsoft.Json.JsonConvert.SerializeObject(msgx2);
|
|||
|
|
UdpCommunication.QueueSend(sendMsg2);//下发数据给控制台
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return Json("");
|
|||
|
|
}
|
|||
|
|
public static class SMSinfo
|
|||
|
|
{
|
|||
|
|
public static Responsesd SMSNotify()
|
|||
|
|
{
|
|||
|
|
Responsesd shujiu = new Responsesd();
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
// 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
|
|||
|
|
// 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305
|
|||
|
|
// 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
|
|||
|
|
Credential cred = new Credential
|
|||
|
|
{
|
|||
|
|
SecretId = "AKID99vRlvskQs52khPs78uQhkbKwaCkDeHo",
|
|||
|
|
SecretKey = " "
|
|||
|
|
};
|
|||
|
|
// 实例化一个client选项,可选的,没有特殊需求可以跳过
|
|||
|
|
ClientProfile clientProfile = new ClientProfile();
|
|||
|
|
// 实例化一个http选项,可选的,没有特殊需求可以跳过
|
|||
|
|
HttpProfile httpProfile = new HttpProfile();
|
|||
|
|
httpProfile.Endpoint = ("sms.tencentcloudapi.com");
|
|||
|
|
clientProfile.HttpProfile = httpProfile;
|
|||
|
|
|
|||
|
|
// 实例化要请求产品的client对象,clientProfile是可选的
|
|||
|
|
SmsClient client = new SmsClient(cred, "", clientProfile);
|
|||
|
|
// 实例化一个请求对象,每个接口都会对应一个request对象
|
|||
|
|
SendSmsRequest req = new SendSmsRequest();
|
|||
|
|
req.PhoneNumberSet = new string[] { "13509214696" };
|
|||
|
|
req.SmsSdkAppId = "1400871751";
|
|||
|
|
req.SignName = "东莞市英皓思科技有限公司";
|
|||
|
|
req.TemplateId = "2000581";
|
|||
|
|
// 返回的resp是一个SendSmsResponse的实例,与请求对象对应
|
|||
|
|
SendSmsResponse resp = client.SendSmsSync(req);
|
|||
|
|
var abs = AbstractModel.ToJsonString(resp);
|
|||
|
|
shujiu = JsonConvert.DeserializeObject<Responsesd>(abs);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
catch (Exception e)
|
|||
|
|
{
|
|||
|
|
Console.WriteLine(e.ToString());
|
|||
|
|
}
|
|||
|
|
return shujiu;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public class Responsesd
|
|||
|
|
{
|
|||
|
|
public SendStatusSetsdf SendStatusSet { get; set; }
|
|||
|
|
public string RequestId { get; set; }
|
|||
|
|
}
|
|||
|
|
public class SendStatusSetsdf
|
|||
|
|
{
|
|||
|
|
public string PhoneNumber { get; set; }
|
|||
|
|
public string SerialNo { get; set; }
|
|||
|
|
|
|||
|
|
public int Fee { get; set; }
|
|||
|
|
public string SessionContext { get; set; }
|
|||
|
|
public string Code { get; set; }
|
|||
|
|
public string Message { get; set; }
|
|||
|
|
public string IsoCode { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|