Compare commits
2 Commits
8e7da1bc66
...
b6d88d442e
| Author | SHA1 | Date |
|---|---|---|
|
|
b6d88d442e | |
|
|
1cdfca52e7 |
|
|
@ -1,39 +1,38 @@
|
||||||
using OpenAuth.App.BaseApp.Base;
|
using System.Net.WebSockets;
|
||||||
using OpenAuth.Repository.Domain.DataMaintenance;
|
|
||||||
using OpenAuth.Repository;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using Hopetry.App.SugarModel.CommonModel;
|
||||||
using OpenAuth.App.Interface;
|
|
||||||
using SqlSugar;
|
|
||||||
using OpenAuth.Repository.Domain.FireManagement;
|
|
||||||
using Infrastructure;
|
using Infrastructure;
|
||||||
using OpenAuth.App.ServiceApp.FireManagement.Request;
|
|
||||||
using Yitter.IdGenerator;
|
|
||||||
using OpenAuth.App.Const;
|
|
||||||
using DocumentFormat.OpenXml.Spreadsheet;
|
|
||||||
using OpenAuth.Repository.Domain;
|
|
||||||
using OpenAuth.App.ServiceApp.FireManagement.Response;
|
|
||||||
using DocumentFormat.OpenXml.EMMA;
|
|
||||||
using OpenAuth.App.Response;
|
|
||||||
using NPOI.SS.Formula.PTG;
|
|
||||||
using Infrastructure.Extensions;
|
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
using Microsoft.Extensions.Configuration;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using NPOI.HSSF.UserModel;
|
using NPOI.HSSF.UserModel;
|
||||||
using NPOI.SS.UserModel;
|
using NPOI.SS.UserModel;
|
||||||
using NPOI.XSSF.UserModel;
|
using NPOI.XSSF.UserModel;
|
||||||
|
using OpenAuth.App.BaseApp.Base;
|
||||||
|
using OpenAuth.App.Const;
|
||||||
|
using OpenAuth.App.Interface;
|
||||||
|
using OpenAuth.App.ServiceApp.FireManagement.Request;
|
||||||
|
using OpenAuth.App.ServiceApp.FireManagement.Response;
|
||||||
|
using OpenAuth.Repository;
|
||||||
|
using OpenAuth.Repository.Domain;
|
||||||
|
using OpenAuth.Repository.Domain.FireManagement;
|
||||||
|
using SqlSugar;
|
||||||
|
using Yitter.IdGenerator;
|
||||||
|
|
||||||
namespace OpenAuth.App.ServiceApp.FireManagement
|
namespace OpenAuth.App.ServiceApp.FireManagement
|
||||||
{
|
{
|
||||||
public class FireManagementApp : SqlSugarBaseApp<FmFireclueTask, SugarDbContext>
|
public class FireManagementApp : SqlSugarBaseApp<FmFireclueTask, SugarDbContext>
|
||||||
{
|
{
|
||||||
public FireManagementApp(ISugarUnitOfWork<SugarDbContext> unitWork,
|
private ClientWebSocket _socket;
|
||||||
|
private IConfiguration _configuration;
|
||||||
|
|
||||||
|
public FireManagementApp( IConfiguration configuration,ISugarUnitOfWork<SugarDbContext> unitWork,
|
||||||
ISimpleClient<FmFireclueTask> repository, IAuth auth) : base(unitWork, repository, auth)
|
ISimpleClient<FmFireclueTask> repository, IAuth auth) : base(unitWork, repository, auth)
|
||||||
{
|
{
|
||||||
_auth = auth;
|
_auth = auth;
|
||||||
|
_configuration = configuration;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 下发防火线索任务
|
/// 下发防火线索任务
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -537,5 +536,100 @@ namespace OpenAuth.App.ServiceApp.FireManagement
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 添加实时坐标
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="userPoint"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<Response<bool>> AddPointAsync(FmUserPoint userPoint)
|
||||||
|
{
|
||||||
|
var respose = new Response<bool>();
|
||||||
|
using var db = Repository.AsSugarClient();
|
||||||
|
if (userPoint != null)
|
||||||
|
{
|
||||||
|
userPoint.Id = YitIdHelper.NextId();
|
||||||
|
userPoint.CreateTime = DateTime.Now;
|
||||||
|
var userPointHistory = userPoint.MapTo<FmUserPointHistory>();
|
||||||
|
|
||||||
|
var oldinfo = await db.Queryable<FmUserPoint>().Where(r => r.CreateId == userPoint.CreateId)
|
||||||
|
.FirstAsync();
|
||||||
|
|
||||||
|
//上线弹窗
|
||||||
|
if (oldinfo == null || (oldinfo != null && oldinfo.CreateTime.AddMinutes(2) < DateTime.Now))
|
||||||
|
{
|
||||||
|
var user = await db.Queryable<SysUser>().Where(r => r.Id == userPoint.CreateId)
|
||||||
|
.FirstAsync();
|
||||||
|
if (user != null)
|
||||||
|
{
|
||||||
|
await db.Insertable(new FmOnOffLine
|
||||||
|
{
|
||||||
|
Id = YitIdHelper.NextId(),
|
||||||
|
IdentifyId = user.Id,
|
||||||
|
OnOffTime = DateTime.Now,
|
||||||
|
Name = user.Name,
|
||||||
|
Type = true
|
||||||
|
}).ExecuteCommandAsync();
|
||||||
|
|
||||||
|
WebSocketModel wsModel1 = new WebSocketModel
|
||||||
|
{
|
||||||
|
Module = "上线",
|
||||||
|
Data = user.Name
|
||||||
|
};
|
||||||
|
sendsocket(wsModel1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (oldinfo != null)
|
||||||
|
{
|
||||||
|
oldinfo.Lat = userPoint.Lat;
|
||||||
|
oldinfo.Lng = userPoint.Lng;
|
||||||
|
oldinfo.CreateTime = userPoint.CreateTime;
|
||||||
|
oldinfo.Intype = userPoint.Intype;
|
||||||
|
await db.Updateable(oldinfo).ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
await db.Insertable(userPoint).ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
await db.Insertable(userPointHistory).SplitTable().ExecuteCommandAsync();
|
||||||
|
respose.Code = 200;
|
||||||
|
respose.Result = true;
|
||||||
|
respose.Message = "添加成功";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
respose.Code = 500;
|
||||||
|
respose.Result = false;
|
||||||
|
respose.Message = "添加失败";
|
||||||
|
}
|
||||||
|
|
||||||
|
return respose;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task sendsocket(WebSocketModel wsModel1)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (_socket == null || _socket.State != WebSocketState.Open)
|
||||||
|
{
|
||||||
|
string ws = _configuration.GetSection("WebSocket").Value;
|
||||||
|
_socket = new ClientWebSocket();
|
||||||
|
await _socket.ConnectAsync(new Uri(ws), CancellationToken.None);
|
||||||
|
}
|
||||||
|
|
||||||
|
byte[] data = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(wsModel1));
|
||||||
|
await _socket.SendAsync(new ArraySegment<byte>(data), WebSocketMessageType.Text,
|
||||||
|
true, CancellationToken.None);
|
||||||
|
await _socket.CloseAsync(WebSocketCloseStatus.NormalClosure, "Closing connection",
|
||||||
|
CancellationToken.None);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace OpenAuth.Repository.Domain.FireManagement
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 上下线记录
|
||||||
|
/// </summary>
|
||||||
|
[SugarTable("fm_onoffline")]
|
||||||
|
public class FmOnOffLine
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// id 主键
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(IsPrimaryKey = true)]
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 人员id或者对讲机account
|
||||||
|
/// </summary>
|
||||||
|
public long IdentifyId { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 上下线时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime OnOffTime { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 人员姓名或者对讲机account
|
||||||
|
/// </summary>
|
||||||
|
public string Name { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 山下线标识 true上线,false下线
|
||||||
|
/// </summary>
|
||||||
|
public bool Type { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -41,11 +41,11 @@ namespace OpenAuth.Repository.Domain.FireManagement
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否置顶
|
/// 是否置顶
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int top { get; set; }
|
public int Top { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否是联系人
|
/// 是否是联系人
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int iscontacts { get; set; }
|
public int IsContacts { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否在巡查范围之内0-不是 1-是
|
/// 是否在巡查范围之内0-不是 1-是
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace Hopetry.App.SugarModel.CommonModel
|
||||||
|
{
|
||||||
|
public class WebSocketModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 平台,费县-平邑
|
||||||
|
/// </summary>
|
||||||
|
public string AreaName { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 模块名,无人机飞行数据还是火情数据
|
||||||
|
/// </summary>
|
||||||
|
public string Module { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 数据
|
||||||
|
/// </summary>
|
||||||
|
public dynamic Data { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,16 +1,10 @@
|
||||||
using DocumentFormat.OpenXml.Office2010.Excel;
|
using Infrastructure;
|
||||||
using Infrastructure;
|
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using NPOI.HSSF.UserModel;
|
|
||||||
using NPOI.SS.UserModel;
|
|
||||||
using NPOI.XSSF.UserModel;
|
|
||||||
using OpenAuth.App.ServiceApp.FireManagement;
|
using OpenAuth.App.ServiceApp.FireManagement;
|
||||||
using OpenAuth.App.ServiceApp.FireManagement.Request;
|
using OpenAuth.App.ServiceApp.FireManagement.Request;
|
||||||
using OpenAuth.App.ServiceApp.FireManagement.Response;
|
using OpenAuth.App.ServiceApp.FireManagement.Response;
|
||||||
using OpenAuth.Repository.Domain;
|
|
||||||
using OpenAuth.Repository.Domain.FireManagement;
|
using OpenAuth.Repository.Domain.FireManagement;
|
||||||
using Yitter.IdGenerator;
|
|
||||||
|
|
||||||
namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement
|
namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement
|
||||||
{
|
{
|
||||||
|
|
@ -355,5 +349,18 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement
|
||||||
}
|
}
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 添加人员坐标点
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="info">坐标点</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
[AllowAnonymous]
|
||||||
|
public async Task<Response<bool>> AddPoint(FmUserPoint info)
|
||||||
|
{
|
||||||
|
return await _app.AddPointAsync(info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue