using DataVAPI.Model;
using DataVAPI.ModelDataBus;
using DataVAPI.ServerDB.MongoDB;
using DataVAPI.Tool.IOT;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
namespace DataVAPI.Controllers
{
///
/// MG数据库:大屏信息表 ScreenController
///
public class ScreenController : BaseController
{
MongoDbHelper mg = new MongoDbHelper(DataBus.connStr, DataBus.dbName);
MongoDbHelper mgsb = new MongoDbHelper(DataBus.connStr, DataBus.dbName);
string st = System.Reflection.MethodBase.GetCurrentMethod().Name;
///
/// 根据设备名称新增或者更新该设备的缓存信息
///
[HttpPost]
public JsonMsg CreateOrUpdate(LargeScreenTable largeScreenTable)
{
st = System.Reflection.MethodBase.GetCurrentMethod().Name;
try
{
if (string.IsNullOrEmpty(largeScreenTable.devicename))
{
return JsonMsg.Error(null, st, "设备名称不能为空"); ;
}
LargeScreenTable largeScreen = mg.QueryDeviceName(largeScreenTable.devicename);
if (largeScreen != null)
{
largeScreenTable.Id = largeScreen.Id;
mg.UpdateID(largeScreenTable);
}
else
{
mg.Insert(largeScreenTable);
}
return JsonMsg.OK(largeScreenTable, st);
}
catch (Exception ex)
{
return JsonMsg.Error(null, st, ex.Message);
}
}
///
/// 新增一条数据
///
[HttpPost]
public JsonMsg Create(LargeScreenTable auth)
{
st = System.Reflection.MethodBase.GetCurrentMethod().Name;
try
{
if (string.IsNullOrEmpty(auth.ClientId))
{
return JsonMsg.Error(null, st, "设备ID不能为空"); ;
}
mg.Insert(auth);
return JsonMsg.OK(auth, st);
}
catch (Exception ex)
{
return JsonMsg.Error(null, st, ex.Message);
}
}
///
/// 批量新增数据
///
/// 日志消息
[HttpPost]
public JsonMsg> Creates(List auth)
{
st = System.Reflection.MethodBase.GetCurrentMethod().Name;
try
{
mg.Inserts(auth);
return JsonMsg>.OK(auth, st);
}
catch (Exception ex)
{
return JsonMsg>.Error(null, st, ex.Message);
}
}
///
/// 修改数据
///
///
///
[HttpPost]
public JsonMsg Modify(LargeScreenTable auth)
{
st = System.Reflection.MethodBase.GetCurrentMethod().Name;
try
{
mg.UpdateID(auth);
return JsonMsg.OK(auth, st);
}
catch (Exception ex)
{
return JsonMsg.Error(null, st, ex.Message);
}
}
///
/// 根据ID查询数据
///
///
///
[HttpGet]
public JsonMsg QueryOne(string id)
{
st = System.Reflection.MethodBase.GetCurrentMethod().Name;
try
{
return JsonMsg.OK(mg.QueryOne(id), st);
}
catch (Exception ex)
{
return JsonMsg.Error(null, st, ex.Message);
}
}
///
/// 根据客户端ID查询当日未处理信息
///
///
///
[HttpGet]
public JsonMsg> QueryClientId(string clientId)
{
st = System.Reflection.MethodBase.GetCurrentMethod().Name;
try
{
return JsonMsg>.OK(mg.QueryClientId(clientId), st);
}
catch (Exception ex)
{
return JsonMsg>.Error(null, st, ex.Message);
}
}
///
/// 根据设备ID查询当日未处理信息
///
///
///
[HttpGet]
public JsonMsg> QueryDeviceId(string clientId, string deviceId)
{
st = System.Reflection.MethodBase.GetCurrentMethod().Name;
try
{
return JsonMsg>.OK(mg.QueryDeviceId(clientId, deviceId), st);
}
catch (Exception ex)
{
return JsonMsg>.Error(null, st, ex.Message);
}
}
///
/// 根据设备名称查询当日未处理信息
///
///
///
[HttpGet]
public JsonMsg> QueryDeviceName(string DeviceName, string StartTime, string StopTime)
{
st = System.Reflection.MethodBase.GetCurrentMethod().Name;
try
{
DeviceTable device = mgsb.QueryDeviceName(DeviceName);
if (device != null)
{
if (!string.IsNullOrEmpty(StartTime) && !string.IsNullOrEmpty(StopTime))
{
DateTime starttime, stoptime;
starttime = Tools.ConvertLongToDateTime(long.Parse(StartTime));
stoptime = Tools.ConvertLongToDateTime(long.Parse(StopTime));
return JsonMsg>.OK(mg.QueryAllTime(device.ClientId, device.DeviceId, starttime, stoptime), st);
}
else return JsonMsg>.OK(mg.QueryClientId(device.ClientId), st);
}
return JsonMsg>.OK(null, st);
}
catch (Exception ex)
{
return JsonMsg>.Error(null, st, ex.Message);
}
}
///
/// 根据客户端ID、设备ID、时间查询日志信息
///
/// 客户端ID
/// 设备ID
/// 开始时间
/// 结束时间
///
[HttpGet]
public JsonMsg> Query(string clientId, string deviceId, DateTime starttime, DateTime endtime)
{
st = System.Reflection.MethodBase.GetCurrentMethod().Name;
try
{
return JsonMsg>.OK(mg.QueryAllTime(clientId, deviceId, starttime, endtime), st);
}
catch (Exception ex)
{
return JsonMsg>.Error(null, st, ex.Message);
}
}
///
/// 分页查询
///
///
///
///
///
///
///
[HttpGet]
public JsonMsg> BasePagQuery(string clientId, string deviceId, DateTime datesta, DateTime datastop, int PageNumber = 1, int PageSize = 100)
{
st = System.Reflection.MethodBase.GetCurrentMethod().Name;
try
{
return JsonMsg>.OK(mg.BasePagQuery(clientId, deviceId, datesta, datastop, PageNumber, PageSize), st);
}
catch (Exception ex)
{
return JsonMsg>.Error(null, st, ex.Message);
}
}
///
/// 删除数据(假删除-只做标记)
///
///
///
[HttpGet]
public JsonMsg Delete(string id)
{
st = System.Reflection.MethodBase.GetCurrentMethod().Name;
try
{
if (string.IsNullOrEmpty(id))
{
return JsonMsg.Error(null, st, "设备ID不能为空"); ;
}
else
{
mg.Modify(id, "State", "n");
return JsonMsg.OK("success!", st);
}
}
catch (Exception ex)
{
return JsonMsg.Error(null, st, ex.Message);
}
}
///
/// 删除数据
///
///
///
[HttpGet]
public JsonMsg DeleteDate(string id)
{
st = System.Reflection.MethodBase.GetCurrentMethod().Name;
try
{
if (string.IsNullOrEmpty(id))
{
return JsonMsg.Error(null, st, "设备ID不能为空"); ;
}
else
{
mg.Delete(id);
return JsonMsg.OK("success!", st);
}
}
catch (Exception ex)
{
return JsonMsg.Error(null, st, ex.Message);
}
}
}
}