Browse Source

远程会见接口调整,远程接待改变状态接口添加

master
liujiaqiang 2 years ago
parent
commit
ac692d63f7
  1. 11
      24Hour/Controllers/Common/CommonController.cs
  2. 2
      24Hour/Controllers/Common/LawyerservicesController.cs
  3. 3
      24Hour/Controllers/Common/RemoteController.cs
  4. 10
      24Hour/Controllers/Common/ReservationController.cs
  5. 56
      24Hour/Controllers/Common/WebSocketController.cs
  6. 2
      24Hour/Controllers/system/SystemControllerController.cs
  7. 2
      24Hour/Program.cs
  8. 12
      24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230619/17.log
  9. 46
      24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230619/18.log
  10. 12
      24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230619/20.log
  11. 2
      Elight.Entity/SystemModel/App_Sys_UserModel.cs
  12. 17
      Elight.Logic/WriteSysLog.cs

11
24Hour/Controllers/Common/CommonController.cs

@ -27,15 +27,17 @@ namespace _24Hour.Controllers.Common
#region Identity
private readonly SqlSugarClient _db;//数据库
private readonly WriteSysLog _logs;//操作日志
private readonly WebSocketController _SocketCon;//WebSocket发送
App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户
private readonly ILogger<LoginController> _logger;//日志
Result result = new Result();
public CommonController(ILogger<LoginController> logger, SqlSugarClient db, WriteSysLog logs, User user)
public CommonController(ILogger<LoginController> logger, SqlSugarClient db, WriteSysLog logs, User user, WebSocketController SocketCon)
{
_logger = logger;
_db = db;
_logs = logs;
_userdata = user.Userdata();
_SocketCon = SocketCon;
}
#endregion
@ -135,12 +137,12 @@ namespace _24Hour.Controllers.Common
}
/// <summary>
/// 系统---根据当前登录人单位获取所有预约信息
/// 系统---根据预约Id 查询预约信息
/// </summary>
/// <param name="Id">预约Id</param>
/// <param name="type">类型</param>
/// <returns></returns>
[HttpPost]
[HttpGet]
[Route("queryreunitId")]
public async Task<Result> queryreunitId(string? Id,int type)
{
@ -181,7 +183,7 @@ namespace _24Hour.Controllers.Common
}
/// <summary>
/// app---根据当前登录人获取所有预约信息
/// app---根据当前登录人获取所有预约信息--type类型为:0律师服务,1远程会见,2远程接待
/// </summary>
[HttpPost]
[Route("queryreservation")]
@ -487,6 +489,7 @@ namespace _24Hour.Controllers.Common
_db.CommitTran();
if (num > 0)
{
_SocketCon.system(userId);
result.IsSucceed = true;
result.result = "修改成功";
}

2
24Hour/Controllers/Common/LawyerservicesController.cs

@ -2,6 +2,7 @@
using Elight.Logic;
using Elight.Utility;
using Elight.Utility.Code;
using Elight.Utility.Extensions;
using Elight.Utility.logs;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
@ -243,6 +244,7 @@ namespace _24Hour.Controllers.Common
if (Lawyerbol.Count() > 0)
{
Lawyerbol.FirstOrDefault().state = state;
if(reason.NotNull())
Lawyerbol.FirstOrDefault().reason = reason;
_db.BeginTran();
var num = await _db.Updateable(Lawyerbol.FirstOrDefault()).UpdateColumns(it => new { it.state, it.reason }).ExecuteCommandAsync();

3
24Hour/Controllers/Common/RemoteController.cs

@ -2,6 +2,7 @@
using Elight.Logic;
using Elight.Utility;
using Elight.Utility.Code;
using Elight.Utility.Extensions;
using Elight.Utility.logs;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
@ -97,6 +98,7 @@ namespace _24Hour.Controllers.Common
_db.BeginTran();
Remotedata.Id = Guid.NewGuid().ToString();
//Remotedata.unitId = _userdata.unitCode.ToString();
Remotedata.Code=_logs.GenerateRandomCode(9);
Remotedata.createuserId = _userdata.Id.ToString();
Remotedata.appurl = $"{_configuration.GetSection("Videoaddress:rtmp").Value}{_userdata.Id}";
Remotedata.createusername = _userdata.name;
@ -291,6 +293,7 @@ namespace _24Hour.Controllers.Common
Lawyerbol.FirstOrDefault().sttime = Remoteput.sttime;
if (Remoteput.ettime != null)
Lawyerbol.FirstOrDefault().ettime = Remoteput.ettime;
if (Remoteput.reason.NotNull())
Lawyerbol.FirstOrDefault().reason = Remoteput.reason;
_db.BeginTran();
var num = await _db.Updateable(Lawyerbol.FirstOrDefault()).ExecuteCommandAsync();

10
24Hour/Controllers/Common/ReservationController.cs

@ -207,12 +207,16 @@ namespace _24Hour.Controllers.Common
/// <returns></returns>
[HttpPost]
[Route("UpdateReception_state")]
public async Task<Result> UpdateReception_state(CurrencyDelete Currency)
public async Task<Result> UpdateReception_state(Commonpage Commonpagedata)
{
try
{
var Receptionlist = await _db.Queryable<App_ReceptionModel>().Where(q => Currency.id.Contains(q.Id)).ToListAsync();
Receptionlist.ForEach(q => { q.state = 1; });
var Receptionlist = await _db.Queryable<App_ReceptionModel>().Where(q =>q.Id== Commonpagedata.Id).ToListAsync();
Receptionlist.ForEach(q => {
q.state = (int)Commonpagedata.state;
if (Commonpagedata.reason.NotNull())
q.reason = Commonpagedata.reason;
});
_db.BeginTran();
var num = await _db.Updateable(Receptionlist).ExecuteCommandAsync();
_db.CommitTran();

56
24Hour/Controllers/Common/WebSocketController.cs

@ -1,8 +1,10 @@
using Elight.Entity;
using com.sun.org.apache.xpath.@internal.operations;
using Elight.Entity;
using Elight.Logic;
using Elight.Utility;
using Elight.Utility.Code;
using Elight.Utility.Extensions;
using java.awt;
using javax.xml.crypto;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
@ -359,6 +361,58 @@ namespace _24Hour.Controllers.Common
result.result = "";
return result;
}
/// <summary>
/// 系统消息发送
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
[HttpGet]
[Route("system")]
public async Task<bool> system(string Id)
{
try
{
//获取发送人连接
var socket = CONNECT_POOL.Where(q => q.Key == Id).Select(q => q.Value).FirstOrDefault();
if (socket != null && socket.State == WebSocketState.Open)
{
ArraySegment<byte> buffer = new ArraySegment<byte>(new byte[2048]);
#region 消息处理(消息转发)
try
{
#region 关闭Socket处理,删除连接池
if (socket.State != WebSocketState.Open)//连接关闭
{
if (CONNECT_POOL.ContainsKey(_userdata.Id)) CONNECT_POOL.Remove(_userdata.Id);//删除连接池
return true;
}
#endregion
#region 消息发送
var content = "system";
buffer = new ArraySegment<byte>(Encoding.UTF8.GetBytes(content));
//当前用户socket发送
await socket.SendAsync(buffer, WebSocketMessageType.Text, true, CancellationToken.None);
#endregion
}
catch (Exception exs)
{
//消息转发异常处理,本次消息忽略 继续监听接下来的消息
}
#endregion
}
else
{
}
}
catch (Exception)
{
//整体异常处理
if (CONNECT_POOL.ContainsKey(_userdata.Id)) CONNECT_POOL.Remove(_userdata.Id);
}
return true;
}
}
/// <summary>

2
24Hour/Controllers/system/SystemControllerController.cs

@ -45,7 +45,7 @@ namespace _24Hour.Controllers.system
[Route("QueryUserlist")]
public async Task<Result> QueryUserlist()
{
var Unitlist = await _db.Queryable<App_Sys_UserModel>().Where(q => q.IsDeleted == 0 && q.usertype == 0 && q.isdeactivate == 0 && q.usertype == 0 && q.unitCode == _userdata.unitCode).ToListAsync();
var Unitlist = await _db.Queryable<App_Sys_UserModel>().Where(q => q.IsDeleted == 0 && q.isdeactivate == 0 && q.usertype == 0 && q.unitCode == _userdata.unitCode).ToListAsync();
result.IsSucceed = true;
result.result = Unitlist.OrderByDescending(q=>q.createtime).ToList();
return result;

2
24Hour/Program.cs

@ -15,6 +15,7 @@ using System.Text;
using System.Text.Json.Serialization;
using System.Text.Json;
using Microsoft.AspNetCore.Http.Json;
using _24Hour.Controllers.Common;
#region builder
@ -147,6 +148,7 @@ builder.Services.AddAuthentication(options =>
builder.Services.AddAuthorization();
builder.Services.AddHttpContextAccessor();
builder.Services.AddScoped<WebSocketController>();
builder.Services.TryAddSingleton<User, User>(); //jwt
builder.Services.TryAddSingleton<WriteSysLog, WriteSysLog>(); //WriteSysLog
builder.Services.AddScoped<SqlSugarClient>(sp =>

12
24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230619/17.log

@ -0,0 +1,12 @@
日志时间:2023-06-19 17:01:42
************************Exception Start********************************
Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常
Exception Date:2023/6/19 17:01:42
Exception Type:MySqlConnector.MySqlException
Exception Message:Data too long for column 'OperatingManual' at row 1
Exception Source:SqlSugar
Exception StackTrace: at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters)
at SqlSugar.InsertableProvider`1.ExecuteCommand()
at Elight.Logic.WriteSysLog.WriteSysLogadd(String operationType, String content, Result result, SqlSugarClient _db, String opeCasDepAccCas) in E:\Code\24Hour.Service\Elight.Logic\WriteSysLog.cs:line 52
************************Exception End************************************

46
24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230619/18.log

@ -0,0 +1,46 @@
日志时间:2023-06-19 18:21:24
************************Exception Start********************************
Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常
Exception Date:2023/6/19 18:21:24
Exception Type:MySqlConnector.MySqlException
Exception Message:Data too long for column 'OperatingManual' at row 1
Exception Source:SqlSugar
Exception StackTrace: at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters)
at SqlSugar.InsertableProvider`1.ExecuteCommand()
at Elight.Logic.WriteSysLog.WriteSysLogadd(String operationType, String content, Result result, SqlSugarClient _db, String opeCasDepAccCas) in E:\Code\24Hour.Service\Elight.Logic\WriteSysLog.cs:line 52
************************Exception End************************************
日志时间:2023-06-19 18:22:43
************************Exception Start********************************
Exception Remark:修改律师服务预约办理人
Exception Date:2023/6/19 18:22:43
Exception Type:System.NullReferenceException
Exception Message:Object reference not set to an instance of an object.
Exception Source:24Hour
Exception StackTrace: at _24Hour.Controllers.Common.CommonController.Updateuser(String Id, String userId, String username) in E:\Code\24Hour.Service\24Hour\Controllers\Common\CommonController.cs:line 481
************************Exception End************************************
日志时间:2023-06-19 18:22:43
************************Exception Start********************************
Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常
Exception Date:2023/6/19 18:22:43
Exception Type:MySqlConnector.MySqlException
Exception Message:Data too long for column 'OperatingManual' at row 1
Exception Source:SqlSugar
Exception StackTrace: at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters)
at SqlSugar.InsertableProvider`1.ExecuteCommand()
at Elight.Logic.WriteSysLog.WriteSysLogadd(String operationType, String content, Result result, SqlSugarClient _db, String opeCasDepAccCas) in E:\Code\24Hour.Service\Elight.Logic\WriteSysLog.cs:line 52
************************Exception End************************************
日志时间:2023-06-19 18:27:01
************************Exception Start********************************
Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常
Exception Date:2023/6/19 18:27:01
Exception Type:MySqlConnector.MySqlException
Exception Message:Data too long for column 'OperatingManual' at row 1
Exception Source:SqlSugar
Exception StackTrace: at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters)
at SqlSugar.InsertableProvider`1.ExecuteCommand()
at Elight.Logic.WriteSysLog.WriteSysLogadd(String operationType, String content, Result result, SqlSugarClient _db, String opeCasDepAccCas) in E:\Code\24Hour.Service\Elight.Logic\WriteSysLog.cs:line 52
************************Exception End************************************

12
24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230619/20.log

@ -0,0 +1,12 @@
日志时间:2023-06-19 20:49:32
************************Exception Start********************************
Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常
Exception Date:2023/6/19 20:49:31
Exception Type:MySqlConnector.MySqlException
Exception Message:Data too long for column 'OperatingManual' at row 1
Exception Source:SqlSugar
Exception StackTrace: at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters)
at SqlSugar.InsertableProvider`1.ExecuteCommand()
at Elight.Logic.WriteSysLog.WriteSysLogadd(String operationType, String content, Result result, SqlSugarClient _db, String opeCasDepAccCas) in E:\Code\24Hour.Service\Elight.Logic\WriteSysLog.cs:line 52
************************Exception End************************************

2
Elight.Entity/SystemModel/App_Sys_UserModel.cs

@ -83,7 +83,7 @@ namespace Elight.Entity
/// 是否停用 0:启用,1禁用
/// </summary>
[DataMember]
public int? isdeactivate { get; set; }
public int? isdeactivate { get; set; } = 0;
/// <summary>
/// 是否App通用:0:通用,1:不通用

17
Elight.Logic/WriteSysLog.cs

@ -56,5 +56,22 @@ namespace Elight.Logic
LogService.WriteLog(ex, "添加数据库日志信息_WriteSysLog_1 发生异常");
}
}
/// <summary>
///生成制定位数的随机码(数字)
/// </summary>
/// <param name="length"></param>
/// <returns></returns>
public string GenerateRandomCode(int leng)
{
var result = new StringBuilder();
for (var i = 0; i < leng; i++)
{
var r = new Random(Guid.NewGuid().GetHashCode());
result.Append(r.Next(0, 10));
}
return result.ToString();
}
}
}

Loading…
Cancel
Save