Browse Source

接口传可空参数报错调整,新增验证配置

master
liujiaqiang 2 years ago
parent
commit
2efb01a7db
  1. 3
      24Hour/Controllers/Common/ReservationController.cs
  2. 3
      24Hour/Controllers/Common/StagingController.cs
  3. 41
      24Hour/Controllers/Common/WebSocketController.cs
  4. 8
      24Hour/Controllers/LoginController.cs
  5. 2
      24Hour/Controllers/system/SystemControllerController.cs
  6. 54
      24Hour/Program.cs
  7. 6
      24Hour/Properties/launchSettings.json
  8. 18
      24Hour/appsettings.json
  9. 4
      Elight.Entity/AppMode/App_ReceptionModel.cs
  10. 16
      Elight.Entity/AppMode/StagingModel.cs
  11. 8
      Elight.Entity/AppMode/StagingNumModel.cs
  12. 14
      Elight.Entity/SystemModel/App_Sys_DepartModel.cs
  13. 20
      Elight.Entity/SystemModel/App_Sys_MenuModel.cs
  14. 10
      Elight.Entity/SystemModel/App_Sys_RoleMenuModel.cs
  15. 10
      Elight.Entity/SystemModel/App_Sys_RoleModel.cs
  16. 10
      Elight.Entity/SystemModel/App_Sys_RoleUserModel.cs
  17. 14
      Elight.Entity/SystemModel/App_Sys_UnitModel.cs
  18. 28
      Elight.Entity/SystemModel/App_Sys_UserModel.cs
  19. 26
      Elight.Entity/SystemModel/Func_Dossier_LogRecordModel.cs
  20. 14
      Elight.Logic/Model/App_ReceptionInput.cs
  21. 12
      Elight.Logic/Model/StagingInput.cs
  22. 8
      Elight.Logic/Model/StagingNumInput.cs
  23. 2
      Elight.Logic/SystemModel/App_Sys_UnitTree.cs
  24. 36
      Elight.Utility/NullableConverter.cs

3
24Hour/Controllers/Common/ReservationController.cs

@ -9,6 +9,9 @@ using SqlSugar;
namespace _24Hour.Controllers.Common namespace _24Hour.Controllers.Common
{ {
/// <summary>
/// 预约接待
/// </summary>
[Authorize] [Authorize]
[ApiController] [ApiController]
[Route("api/reception")] [Route("api/reception")]

3
24Hour/Controllers/Common/StagingController.cs

@ -8,6 +8,9 @@ using SqlSugar;
namespace _24Hour.Controllers.Common namespace _24Hour.Controllers.Common
{ {
/// <summary>
/// 工作台
/// </summary>
[Authorize] [Authorize]
[ApiController] [ApiController]
[Route("api/Staging")] [Route("api/Staging")]

41
24Hour/Controllers/Common/WebSocketController.cs

@ -1,11 +1,25 @@
using Microsoft.AspNetCore.Authorization; using Elight.Entity;
using Elight.Logic;
using Elight.Utility;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using System.Net.WebSockets;
namespace _24Hour.Controllers.Common namespace _24Hour.Controllers.Common
{ {
[Authorize] //[Authorize]
public class WebSocketController : Controller public class WebSocketController : Controller
{ {
//private readonly SqlSugarClient _db;//数据库
//App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户
//private readonly ILogger<LoginController> _logger;//日志
//public WebSocketController(ILogger<LoginController> logger, SqlSugarClient db, User user)
//{
// _logger = logger;
// _db = db;
// _userdata = user.Userdata();
//}
[HttpGet("/ws")] [HttpGet("/ws")]
public async Task WebSocketServer() public async Task WebSocketServer()
{ {
@ -14,11 +28,32 @@ namespace _24Hour.Controllers.Common
try try
{ {
var socket = await HttpContext.WebSockets.AcceptWebSocketAsync(); var socket = await HttpContext.WebSockets.AcceptWebSocketAsync();
//ProcessChat(socket);
} }
catch (Exception ex) catch (Exception ex)
{ {
} }
} }
} }
//private async Task ProcessChat(WebSockets context)
//{
// WebSocket socket = context.WebSocket;
// while (true)
// {
// if (socket.State == WebSocketState.Open)
// {
// ArraySegment<byte> buffer = new ArraySegment<byte>(new byte[2048]);
// WebSocketReceiveResult result = await socket.ReceiveAsync(buffer, CancellationToken.None);
// string userMsg = Encoding.UTF8.GetString(buffer.Array, 0, result.Count);
// userMsg = "你发送了:" + userMsg + "于" + DateTime.Now.ToLongTimeString();
// buffer = new ArraySegment<byte>(Encoding.UTF8.GetBytes(userMsg));
// await socket.SendAsync(buffer, WebSocketMessageType.Text, true, CancellationToken.None);
// }
// else
// {
// break;
// }
// }
//}
}
} }
}

8
24Hour/Controllers/LoginController.cs

@ -75,8 +75,8 @@ namespace _24Hour.Controllers
var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
//Token //Token
var jwttoken = new JwtSecurityToken( var jwttoken = new JwtSecurityToken(
issuer: "https://127.0.0.1:7246", issuer: _configuration.GetSection("JwtConfiguration:Issuer").Value,
audience: "https://127.0.0.1:7246", audience: _configuration.GetSection("JwtConfiguration:Audience").Value,
claims: claims, claims: claims,
notBefore: DateTime.Now, notBefore: DateTime.Now,
expires: DateTime.Now.AddDays(1), expires: DateTime.Now.AddDays(1),
@ -147,8 +147,8 @@ namespace _24Hour.Controllers
var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
//Token //Token
var jwttoken = new JwtSecurityToken( var jwttoken = new JwtSecurityToken(
issuer: "https://127.0.0.1:7246", issuer: _configuration.GetSection("JwtConfiguration:Issuer").Value,
audience: "https://127.0.0.1:7246", audience: _configuration.GetSection("JwtConfiguration:Audience").Value,
claims: claims, claims: claims,
notBefore: DateTime.Now, notBefore: DateTime.Now,
expires: DateTime.Now.AddDays(1), expires: DateTime.Now.AddDays(1),

2
24Hour/Controllers/system/SystemControllerController.cs

@ -566,7 +566,7 @@ namespace _24Hour.Controllers.system
.WhereIF(!Unitdata.unitname.IsNullOrEmpty(), q => q.unitname.Contains(Unitdata.unitname)) .WhereIF(!Unitdata.unitname.IsNullOrEmpty(), q => q.unitname.Contains(Unitdata.unitname))
.WhereIF(!Unitdata.unitjc.IsNullOrEmpty(), q => q.unitjc.Contains(Unitdata.unitjc)) .WhereIF(!Unitdata.unitjc.IsNullOrEmpty(), q => q.unitjc.Contains(Unitdata.unitjc))
.WhereIF(Unitdata.StartTime != null && Unitdata.EndTime != null, q => q.createtime >= Unitdata.StartTime && q.createtime < Unitdata.EndTime.Value.AddDays(1)) .WhereIF(Unitdata.StartTime != null && Unitdata.EndTime != null, q => q.createtime >= Unitdata.StartTime && q.createtime < Unitdata.EndTime.Value.AddDays(1))
.Where(q => q.IsDelete == 0).ToTreeAsync(it => it.Child, it => it.pid, null); .Where(q => q.IsDelete == 0).ToTreeAsync(it => it.children, it => it.pid, null);
result.IsSucceed = true; result.IsSucceed = true;
result.result = treelist; result.result = treelist;
return result; return result;

54
24Hour/Program.cs

@ -2,6 +2,8 @@ using Elight.Logic;
using Elight.Utility; using Elight.Utility;
using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.Authorization;
using Microsoft.AspNetCore.Mvc.Controllers; using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.DependencyInjection.Extensions;
@ -10,20 +12,33 @@ using Microsoft.OpenApi.Models;
using SqlSugar; using SqlSugar;
using System.Data; using System.Data;
using System.Text; using System.Text;
using System.Text.Json.Serialization;
using System.Text.Json;
using Microsoft.AspNetCore.Http.Json;
#region builder #region builder
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);
var Configuration = builder.Configuration; var Configuration = builder.Configuration;
builder.WebHost.UseUrls(Configuration.GetSection("UrlsConfiguration:Urls").Value.Split(","));
// Add services to the container. // Add services to the container.
builder.Services.AddControllers().AddJsonOptions(options =>
builder.Services.AddControllers(); {
options.JsonSerializerOptions.PropertyNamingPolicy = null;
options.JsonSerializerOptions.Converters.Add(new Elight.Utility.NullableConverter<DateTime>());
options.JsonSerializerOptions.Converters.Add(new Elight.Utility.NullableConverter<DateTimeOffset>());
options.JsonSerializerOptions.Converters.Add(new Elight.Utility.NullableConverter<long>());
options.JsonSerializerOptions.Converters.Add(new Elight.Utility.NullableConverter<int>());
options.JsonSerializerOptions.Converters.Add(new Elight.Utility.NullableConverter<double>());
options.JsonSerializerOptions.Converters.Add(new Elight.Utility.NullableConverter<decimal>());
options.JsonSerializerOptions.Converters.Add(new Elight.Utility.NullableConverter<float>());
options.JsonSerializerOptions.Converters.Add(new Elight.Utility.NullableConverter<Guid>());
options.JsonSerializerOptions.Converters.Add(new Elight.Utility.NullableConverter<bool>());
});
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer(); builder.Services.AddEndpointsApiExplorer();
#region #region Swagger文件
#endregion
builder.Services.AddSwaggerGen(c => builder.Services.AddSwaggerGen(c =>
{ {
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }); c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
@ -58,9 +73,11 @@ builder.Services.AddSwaggerGen(c =>
Type = SecuritySchemeType.ApiKey Type = SecuritySchemeType.ApiKey
}); });
}); });
builder.Services.AddControllers().AddJsonOptions(options => #endregion
builder.Services.AddMvc(config =>
{ {
options.JsonSerializerOptions.PropertyNamingPolicy = null; config.Filters.Add(new AllowAnonymousFilter());
}); });
// Ìí¼ÓÉí·ÝÑéÖ¤·þÎñ // Ìí¼ÓÉí·ÝÑéÖ¤·þÎñ
builder.Services.AddAuthentication(options => builder.Services.AddAuthentication(options =>
@ -84,13 +101,13 @@ builder.Services.AddAuthentication(options =>
ClockSkew = TimeSpan.Zero ClockSkew = TimeSpan.Zero
}; };
////重点在于这里;判断是SignalR的路径(https://www.cnblogs.com/fger/p/11811190.html) //重点在于这里;判断是WebSocket的路径(https://www.cnblogs.com/fger/p/11811190.html)
options.Events = new JwtBearerEvents options.Events = new JwtBearerEvents
{ {
OnMessageReceived = (context) => OnMessageReceived = (context) =>
{ {
if (!context.HttpContext.Request.Path.HasValue) return Task.CompletedTask; if (!context.HttpContext.Request.Path.HasValue) return Task.CompletedTask;
//重点在于这里;判断是SignalR的路径 //重点在于这里;判断是WebSocket的路径
var accessToken = context.HttpContext.Request.Query["access_token"]; var accessToken = context.HttpContext.Request.Query["access_token"];
var path = context.HttpContext.Request.Path; var path = context.HttpContext.Request.Path;
if (string.IsNullOrWhiteSpace(accessToken) || !path.StartsWithSegments("/ws")) return Task.CompletedTask; if (string.IsNullOrWhiteSpace(accessToken) || !path.StartsWithSegments("/ws")) return Task.CompletedTask;
@ -149,7 +166,14 @@ if (app.Environment.IsDevelopment())
app.UseSwagger(); app.UseSwagger();
app.UseSwaggerUI(); app.UseSwaggerUI();
} }
#region websockets配置
app.UseWebSockets(new WebSocketOptions
{
KeepAliveInterval = TimeSpan.FromMinutes(2)
});
//app.UseMiddleware<WebSocketMiddleware>();
#endregion
app.UseStaticFiles();
app.UseHttpsRedirection(); app.UseHttpsRedirection();
//·ÓÉ //·ÓÉ
app.UseRouting(); app.UseRouting();
@ -168,15 +192,5 @@ app.UseSwaggerUI(c =>
c.RoutePrefix = string.Empty; c.RoutePrefix = string.Empty;
}); });
#endregion #endregion
#region websockets配置
app.UseWebSockets(new WebSocketOptions
{
KeepAliveInterval = TimeSpan.FromMinutes(120)
});
//app.UseMiddleware<WebSocketMiddleware>();
#endregion
app.Run(); app.Run();
#endregion #endregion

6
24Hour/Properties/launchSettings.json

@ -11,13 +11,11 @@
"profiles": { "profiles": {
"_24Hour": { "_24Hour": {
"commandName": "Project", "commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true, "launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "https://localhost:7246",
"environmentVariables": { "environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development" "ASPNETCORE_ENVIRONMENT": "Development"
} },
"applicationUrl": "http://localhost:8099"
}, },
"IIS Express": { "IIS Express": {
"commandName": "IISExpress", "commandName": "IISExpress",

18
24Hour/appsettings.json

@ -8,16 +8,16 @@
"AllowedHosts": "*", "AllowedHosts": "*",
"ConnectionStrings": { "ConnectionStrings": {
"DBType": "MySQL", "DBType": "MySQL",
"MySQLConnString": "server=192.168.0.251;Database=equipmentrearend;Uid=root;Pwd=sa@admin;Allow User Variables=True;", "MySQLConnString": "server=192.168.0.251;Database=equipmentrearend;Uid=root;Pwd=sa@admin;Allow User Variables=True;"
}, },
//JwtConfig //JwtConfig
"JwtConfiguration": { "JwtConfiguration": {
/*JwtConfig Issuer=http://127.0.0.1:api*/ /*JwtConfig Issuer=http://127.0.0.1:api*/
// //
"Issuer": "https://127.0.0.1:7246", "Issuer": "http://127.0.0.1:8098",
/* JwtConfig Audience=http://127.0.0.1:api*/ /* JwtConfig Audience=http://127.0.0.1:api*/
// //
"Audience": "https://127.0.0.1:7246", "Audience": "http://127.0.0.1:8098",
//RefreshToken //RefreshToken
"RefreshTokenAudience": null, "RefreshTokenAudience": null,
//Key //Key
@ -28,5 +28,17 @@
"RefreshTokenExpires": 1440, "RefreshTokenExpires": 1440,
// //
"ClockSkew": 1 "ClockSkew": 1
},
//Urls
"UrlsConfiguration": {
/* Urls["http://*:api端口号"] */
"Urls": "http://*:8098",
//"协议+域名+端口"
/* IP */
"CorUrls": [ "http://localhost:8002", "http://114.115.168.247:9111", "http://47.109.20.59:8937", "http://47.109.20.59:8942", "http://localhost:8080", "http://localhost:4223" ],
/* DomainUrl["http://localhost:api端口号"] */
"DomainUrl": "http://localhost:8006",
"HubCorUrls": []
} }
} }

4
Elight.Entity/AppMode/App_ReceptionModel.cs

@ -58,10 +58,10 @@ namespace Elight.Entity
[DataMember] [DataMember]
public string createusername { get; set; } public string? createusername { get; set; }
[DataMember] [DataMember]
public string createuserId { get; set; } public string? createuserId { get; set; }
/// <summary> /// <summary>
/// 创建日期 /// 创建日期

16
Elight.Entity/AppMode/StagingModel.cs

@ -18,44 +18,44 @@ namespace Elight.Entity
{ {
[DataMember] [DataMember]
[SugarColumn(IsPrimaryKey = true)] [SugarColumn(IsPrimaryKey = true)]
public string Id { get; set; } public string? Id { get; set; }
/// <summary> /// <summary>
/// 跳转地址 /// 跳转地址
/// </summary> /// </summary>
[DataMember] [DataMember]
public string path { get; set; } public string? path { get; set; }
/// <summary> /// <summary>
/// 图标地址 /// 图标地址
/// </summary> /// </summary>
[DataMember] [DataMember]
public string icon { get; set; } public string? icon { get; set; }
/// <summary> /// <summary>
/// 颜色 /// 颜色
/// </summary> /// </summary>
[DataMember] [DataMember]
public string color { get; set; } public string? color { get; set; }
/// <summary> /// <summary>
/// 名称 /// 名称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string title { get; set; } public string? title { get; set; }
/// <summary> /// <summary>
/// 类型 /// 类型
/// </summary> /// </summary>
[DataMember] [DataMember]
public string titletype { get; set; } public string? titletype { get; set; }
[DataMember] [DataMember]
public string username { get; set; } public string? username { get; set; }
[DataMember] [DataMember]
public string userId { get; set; } public string? userId { get; set; }
/// <summary> /// <summary>
/// 创建日期 /// 创建日期

8
Elight.Entity/AppMode/StagingNumModel.cs

@ -18,13 +18,13 @@ namespace Elight.Entity
{ {
[DataMember] [DataMember]
[SugarColumn(IsPrimaryKey = true)] [SugarColumn(IsPrimaryKey = true)]
public string Id { get; set; } public string? Id { get; set; }
/// <summary> /// <summary>
/// 工作台Id /// 工作台Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string stagingId { get; set; } public string? stagingId { get; set; }
/// <summary> /// <summary>
/// 使用数 /// 使用数
@ -32,12 +32,12 @@ namespace Elight.Entity
[DataMember] [DataMember]
public int num { get; set; } public int num { get; set; }
[DataMember] [DataMember]
public string username { get; set; } public string? username { get; set; }
/// <summary> /// <summary>
/// 用户Id /// 用户Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string userId { get; set; } public string? userId { get; set; }
/// <summary> /// <summary>
/// 创建日期 /// 创建日期

14
Elight.Entity/SystemModel/App_Sys_DepartModel.cs

@ -17,29 +17,29 @@ namespace Elight.Entity
/// </summary> /// </summary>
[DataMember] [DataMember]
[SugarColumn(IsPrimaryKey = true)] [SugarColumn(IsPrimaryKey = true)]
public string Id { get; set; } public string? Id { get; set; }
/// <summary> /// <summary>
/// 单位Id /// 单位Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string unitId { get; set; } public string? unitId { get; set; }
/// <summary> /// <summary>
/// 部门编码 /// 部门编码
/// </summary> /// </summary>
[DataMember] [DataMember]
public string departCode { get; set; } public string? departCode { get; set; }
/// <summary> /// <summary>
/// 部门名称 /// 部门名称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string departname { get; set; } public string? departname { get; set; }
/// <summary> /// <summary>
/// 部门简称 /// 部门简称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string departjc { get; set; } public string? departjc { get; set; }
/// <summary> /// <summary>
/// 是否删除 0否,1是 /// 是否删除 0否,1是
@ -51,13 +51,13 @@ namespace Elight.Entity
/// 创建人Id /// 创建人Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string createuserId { get; set; } public string? createuserId { get; set; }
/// <summary> /// <summary>
/// 创建人 /// 创建人
/// </summary> /// </summary>
[DataMember] [DataMember]
public string createusername { get; set; } public string? createusername { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
/// </summary> /// </summary>

20
Elight.Entity/SystemModel/App_Sys_MenuModel.cs

@ -18,41 +18,41 @@ namespace Elight.Entity
/// </summary> /// </summary>
[DataMember] [DataMember]
[SugarColumn(IsPrimaryKey = true)] [SugarColumn(IsPrimaryKey = true)]
public string Id { get; set; } public string? Id { get; set; }
/// <summary> /// <summary>
/// 父级 /// 父级
/// </summary> /// </summary>
[DataMember] [DataMember]
public string pid { get; set; } public string? pid { get; set; }
/// <summary> /// <summary>
/// 路径 /// 路径
/// </summary> /// </summary>
[DataMember] [DataMember]
public string path { get; set; } public string? path { get; set; }
/// <summary> /// <summary>
/// 菜单名称 /// 菜单名称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string name { get; set; } public string? name { get; set; }
/// <summary> /// <summary>
/// 页面组件路径 /// 页面组件路径
/// </summary> /// </summary>
[DataMember] [DataMember]
public string component { get; set; } public string? component { get; set; }
/// <summary> /// <summary>
/// 直接跳转路径 /// 直接跳转路径
/// </summary> /// </summary>
[DataMember] [DataMember]
public string redirect { get; set; } public string? redirect { get; set; }
/// <summary> /// <summary>
/// 页面标题 /// 页面标题
/// </summary> /// </summary>
[DataMember] [DataMember]
public string title { get; set; } public string? title { get; set; }
/// <summary> /// <summary>
/// 是否隐藏子菜单 /// 是否隐藏子菜单
@ -64,7 +64,7 @@ namespace Elight.Entity
/// 图标 /// 图标
/// </summary> /// </summary>
[DataMember] [DataMember]
public string icon { get; set; } public string? icon { get; set; }
/// <summary> /// <summary>
/// 当前菜单在列表中显示时 激活的菜单 /// 当前菜单在列表中显示时 激活的菜单
/// </summary> /// </summary>
@ -96,13 +96,13 @@ namespace Elight.Entity
/// 创建人Id /// 创建人Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string createuserId { get; set; } public string? createuserId { get; set; }
/// <summary> /// <summary>
/// 创建人 /// 创建人
/// </summary> /// </summary>
[DataMember] [DataMember]
public string createusername { get; set; } public string? createusername { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
/// </summary> /// </summary>

10
Elight.Entity/SystemModel/App_Sys_RoleMenuModel.cs

@ -18,31 +18,31 @@ namespace Elight.Entity
/// </summary> /// </summary>
[DataMember] [DataMember]
[SugarColumn(IsPrimaryKey = true)] [SugarColumn(IsPrimaryKey = true)]
public string Id { get; set; } public string? Id { get; set; }
/// <summary> /// <summary>
/// 角色Id /// 角色Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string roleId { get; set; } public string? roleId { get; set; }
/// <summary> /// <summary>
/// 菜单Id /// 菜单Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string menuId { get; set; } public string? menuId { get; set; }
/// <summary> /// <summary>
/// 用户Id /// 用户Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string userId { get; set; } public string? userId { get; set; }
/// <summary> /// <summary>
/// 用户名称 /// 用户名称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string username { get; set; } public string? username { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间

10
Elight.Entity/SystemModel/App_Sys_RoleModel.cs

@ -18,31 +18,31 @@ namespace Elight.Entity
/// </summary> /// </summary>
[DataMember] [DataMember]
[SugarColumn(IsPrimaryKey = true)] [SugarColumn(IsPrimaryKey = true)]
public string Id { get; set; } public string? Id { get; set; }
/// <summary> /// <summary>
/// 单位编码 /// 单位编码
/// </summary> /// </summary>
[DataMember] [DataMember]
public string unitCode { get; set; } public string? unitCode { get; set; }
/// <summary> /// <summary>
/// 角色名称 /// 角色名称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string name { get; set; } public string? name { get; set; }
/// <summary> /// <summary>
/// 用户Id /// 用户Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string userId { get; set; } public string? userId { get; set; }
/// <summary> /// <summary>
/// 用户名称 /// 用户名称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string username { get; set; } public string? username { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间

10
Elight.Entity/SystemModel/App_Sys_RoleUserModel.cs

@ -18,31 +18,31 @@ namespace Elight.Entity
/// </summary> /// </summary>
[DataMember] [DataMember]
[SugarColumn(IsPrimaryKey = true)] [SugarColumn(IsPrimaryKey = true)]
public string Id { get; set; } public string? Id { get; set; }
/// <summary> /// <summary>
/// 单位编码 /// 单位编码
/// </summary> /// </summary>
[DataMember] [DataMember]
public string roleId { get; set; } public string? roleId { get; set; }
/// <summary> /// <summary>
/// 角色用户Id /// 角色用户Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string roleuserId { get; set; } public string? roleuserId { get; set; }
/// <summary> /// <summary>
/// 用户Id /// 用户Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string userId { get; set; } public string? userId { get; set; }
/// <summary> /// <summary>
/// 用户名称 /// 用户名称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string username { get; set; } public string? username { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间

14
Elight.Entity/SystemModel/App_Sys_UnitModel.cs

@ -18,29 +18,29 @@ namespace Elight.Entity
/// </summary> /// </summary>
[DataMember] [DataMember]
[SugarColumn(IsPrimaryKey = true)] [SugarColumn(IsPrimaryKey = true)]
public string Id { get; set; } public string? Id { get; set; }
/// <summary> /// <summary>
/// 父级 /// 父级
/// </summary> /// </summary>
[DataMember] [DataMember]
public string pid { get; set; } public string? pid { get; set; }
/// <summary> /// <summary>
/// 单位编码 /// 单位编码
/// </summary> /// </summary>
[DataMember] [DataMember]
public string unitCode { get; set; } public string? unitCode { get; set; }
/// <summary> /// <summary>
/// 单位名称 /// 单位名称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string unitname { get; set; } public string? unitname { get; set; }
/// <summary> /// <summary>
/// 单位简称 /// 单位简称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string unitjc { get; set; } public string? unitjc { get; set; }
/// <summary> /// <summary>
/// 是否删除 0否,1是 /// 是否删除 0否,1是
@ -52,13 +52,13 @@ namespace Elight.Entity
/// 创建人Id /// 创建人Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string createuserId { get; set; } public string? createuserId { get; set; }
/// <summary> /// <summary>
/// 创建人 /// 创建人
/// </summary> /// </summary>
[DataMember] [DataMember]
public string createusername { get; set; } public string? createusername { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
/// </summary> /// </summary>

28
Elight.Entity/SystemModel/App_Sys_UserModel.cs

@ -18,60 +18,60 @@ namespace Elight.Entity
/// </summary> /// </summary>
[DataMember] [DataMember]
[SugarColumn(IsPrimaryKey = true)] [SugarColumn(IsPrimaryKey = true)]
public string Id { get; set; } public string? Id { get; set; }
/// <summary> /// <summary>
/// 单位编码 /// 单位编码
/// </summary> /// </summary>
[DataMember] [DataMember]
public string unitCode { get; set; } public string? unitCode { get; set; }
/// <summary> /// <summary>
/// 部门 /// 部门
/// </summary> /// </summary>
[DataMember] [DataMember]
public string department { get; set; } public string? department { get; set; }
/// <summary> /// <summary>
/// 密码 /// 密码
/// </summary> /// </summary>
[DataMember] [DataMember]
public string Password { get; set; } public string? Password { get; set; }
/// <summary> /// <summary>
/// 名称 /// 名称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string name { get; set; } public string? name { get; set; }
/// <summary> /// <summary>
/// 职务 /// 职务
/// </summary> /// </summary>
[DataMember] [DataMember]
public string duties { get; set; } public string? duties { get; set; }
/// <summary> /// <summary>
/// 电话号码 /// 电话号码
/// </summary> /// </summary>
[DataMember] [DataMember]
public string phone { get; set; } public string? phone { get; set; }
/// <summary> /// <summary>
/// 身份证号码 /// 身份证号码
/// </summary> /// </summary>
[DataMember] [DataMember]
public string cardId { get; set; } public string? cardId { get; set; }
/// <summary> /// <summary>
/// 身份(检察官,律师,当事人) /// 身份(检察官,律师,当事人)
/// </summary> /// </summary>
[DataMember] [DataMember]
public string identity { get; set; } public string? identity { get; set; }
/// <summary> /// <summary>
/// 微信Id /// 微信Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string wechatId { get; set; } public string? wechatId { get; set; }
/// <summary> /// <summary>
/// 账号类型0:系统,1:APP /// 账号类型0:系统,1:APP
@ -95,7 +95,7 @@ namespace Elight.Entity
/// 头像地址 /// 头像地址
/// </summary> /// </summary>
[DataMember] [DataMember]
public string photo { get; set; } public string? photo { get; set; }
/// <summary> /// <summary>
/// 性别 0:女 1:男 /// 性别 0:女 1:男
@ -117,17 +117,17 @@ namespace Elight.Entity
/// 审核描述 /// 审核描述
/// </summary> /// </summary>
[DataMember] [DataMember]
public string describe { get; set; } public string? describe { get; set; }
/// <summary> /// <summary>
/// 创建人Id /// 创建人Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string createuserId { get; set; } public string? createuserId { get; set; }
/// <summary> /// <summary>
/// 创建人 /// 创建人
/// </summary> /// </summary>
[DataMember] [DataMember]
public string createusername { get; set; } public string? createusername { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
/// </summary> /// </summary>

26
Elight.Entity/SystemModel/Func_Dossier_LogRecordModel.cs

@ -21,79 +21,79 @@ namespace Elight.Entity.SystemModel
/// 序号 /// 序号
/// </summary> /// </summary>
[DataMember] [DataMember]
public string SerialNumber { get; set; } public string? SerialNumber { get; set; }
/// <summary> /// <summary>
/// 单位编码 /// 单位编码
/// </summary> /// </summary>
[DataMember] [DataMember]
public string UnitCode { get; set; } public string? UnitCode { get; set; }
/// <summary> /// <summary>
/// 单位名称 /// 单位名称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string NameEntity { get; set; } public string? NameEntity { get; set; }
/// <summary> /// <summary>
/// 部门编码 /// 部门编码
/// </summary> /// </summary>
[DataMember] [DataMember]
public string DepartmentCode { get; set; } public string? DepartmentCode { get; set; }
/// <summary> /// <summary>
/// 部门名称 /// 部门名称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string DepartmentName { get; set; } public string? DepartmentName { get; set; }
/// <summary> /// <summary>
/// 操作人工号 /// 操作人工号
/// </summary> /// </summary>
[DataMember] [DataMember]
public string OperatingManual { get; set; } public string? OperatingManual { get; set; }
/// <summary> /// <summary>
/// 操作人 /// 操作人
/// </summary> /// </summary>
[DataMember] [DataMember]
public string Operation { get; set; } public string? Operation { get; set; }
/// <summary> /// <summary>
/// 操作时间 /// 操作时间
/// </summary> /// </summary>
[DataMember] [DataMember]
public string OperatingTime { get; set; } public string? OperatingTime { get; set; }
/// <summary> /// <summary>
/// 操作IP /// 操作IP
/// </summary> /// </summary>
[DataMember] [DataMember]
public string OperationIp { get; set; } public string? OperationIp { get; set; }
/// <summary> /// <summary>
/// 操作类型 /// 操作类型
/// </summary> /// </summary>
[DataMember] [DataMember]
public string OperationType { get; set; } public string? OperationType { get; set; }
/// <summary> /// <summary>
/// 日志内容 /// 日志内容
/// </summary> /// </summary>
[DataMember] [DataMember]
public string LogContents { get; set; } public string? LogContents { get; set; }
/// <summary> /// <summary>
/// 操作案件部门受案号 /// 操作案件部门受案号
/// </summary> /// </summary>
[DataMember] [DataMember]
public string OpeCasDepAccCas { get; set; } public string? OpeCasDepAccCas { get; set; }
/// <summary> /// <summary>
/// 分区列 创建时间取年份,触发器完成 /// 分区列 创建时间取年份,触发器完成
/// </summary> /// </summary>
[DataMember] [DataMember]
public string ParColCreTimTakYeaTri { get; set; } public string? ParColCreTimTakYeaTri { get; set; }
/// <summary> /// <summary>
/// 是否删除 /// 是否删除

14
Elight.Logic/Model/App_ReceptionInput.cs

@ -15,7 +15,7 @@ namespace Elight.Logic
public class App_ReceptionInput : Paging public class App_ReceptionInput : Paging
{ {
[DataMember] [DataMember]
public string Id { get; set; } public string? Id { get; set; }
/// <summary> /// <summary>
/// 预约时间 /// 预约时间
@ -27,25 +27,25 @@ namespace Elight.Logic
/// 部门 /// 部门
/// </summary> /// </summary>
[DataMember] [DataMember]
public string depart { get; set; } public string? depart { get; set; }
/// <summary> /// <summary>
/// 接待人 /// 接待人
/// </summary> /// </summary>
[DataMember] [DataMember]
public string receptionuser { get; set; } public string? receptionuser { get; set; }
/// <summary> /// <summary>
/// 事由 /// 事由
/// </summary> /// </summary>
[DataMember] [DataMember]
public string matter { get; set; } public string? matter { get; set; }
/// <summary> /// <summary>
/// 预约接待类型 /// 预约接待类型
/// </summary> /// </summary>
[DataMember] [DataMember]
public string receptionId { get; set; } public string? receptionId { get; set; }
/// <summary> /// <summary>
/// 0:代办,1已完成 /// 0:代办,1已完成
@ -57,12 +57,12 @@ namespace Elight.Logic
/// 创建人名称 /// 创建人名称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string createusername { get; set; } public string? createusername { get; set; }
/// <summary> /// <summary>
/// 创建人Id /// 创建人Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string createuserId { get; set; } public string? createuserId { get; set; }
} }
} }

12
Elight.Logic/Model/StagingInput.cs

@ -17,36 +17,36 @@ namespace Elight.Logic
public class StagingInput:Paging public class StagingInput:Paging
{ {
[DataMember] [DataMember]
public string Id { get; set; } public string? Id { get; set; }
/// <summary> /// <summary>
/// 跳转地址 /// 跳转地址
/// </summary> /// </summary>
[DataMember] [DataMember]
public string path { get; set; } public string? path { get; set; }
/// <summary> /// <summary>
/// 图标地址 /// 图标地址
/// </summary> /// </summary>
[DataMember] [DataMember]
public string icon { get; set; } public string? icon { get; set; }
/// <summary> /// <summary>
/// 颜色 /// 颜色
/// </summary> /// </summary>
[DataMember] [DataMember]
public string color { get; set; } public string? color { get; set; }
/// <summary> /// <summary>
/// 名称 /// 名称
/// </summary> /// </summary>
[DataMember] [DataMember]
public string title { get; set; } public string? title { get; set; }
/// <summary> /// <summary>
/// 类型 /// 类型
/// </summary> /// </summary>
[DataMember] [DataMember]
public string titletype { get; set; } public string? titletype { get; set; }
} }
} }

8
Elight.Logic/Model/StagingNumInput.cs

@ -17,21 +17,21 @@ namespace Elight.Logic
{ {
[DataMember] [DataMember]
[SugarColumn(IsPrimaryKey = true)] [SugarColumn(IsPrimaryKey = true)]
public string Id { get; set; } public string? Id { get; set; }
/// <summary> /// <summary>
/// 工作台Id /// 工作台Id
/// </summary> /// </summary>
[DataMember] [DataMember]
public string stagingId { get; set; } public string? stagingId { get; set; }
/// <summary> /// <summary>
/// 使用数 /// 使用数
/// </summary> /// </summary>
[DataMember] [DataMember]
public string num { get; set; } public string? num { get; set; }
[DataMember] [DataMember]
public string username { get; set; } public string? username { get; set; }
/// <summary> /// <summary>
/// 用户Id /// 用户Id
/// </summary> /// </summary>

2
Elight.Logic/SystemModel/App_Sys_UnitTree.cs

@ -67,7 +67,7 @@ namespace Elight.Logic.SystemModel
public DateTime? createtime { get; set; } = DateTime.Now; public DateTime? createtime { get; set; } = DateTime.Now;
[SqlSugar.SugarColumn(IsIgnore = true)] [SqlSugar.SugarColumn(IsIgnore = true)]
public List<App_Sys_UnitTree>? Child { get; set; } public List<App_Sys_UnitTree>? children { get; set; }
} }
} }

36
Elight.Utility/NullableConverter.cs

@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace Elight.Utility
{
/// <summary>
/// 自定义 NullableConverter 解决可为空类型字段入参“”空字符触发转换异常问题
/// </summary>
/// <typeparam name="T"></typeparam>
public class NullableConverter<T> : JsonConverter<T?> where T:struct
{
public override T? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
if (reader.TokenType == JsonTokenType.String)
{
if (string.IsNullOrEmpty(reader.GetString()) || string.IsNullOrWhiteSpace(reader.GetString()))
{
return null;
}
}
return JsonSerializer.Deserialize<T>(ref reader, options);
}
public override void Write(Utf8JsonWriter writer, T? value, JsonSerializerOptions options)
{
JsonSerializer.Serialize(writer, value!.Value, options);
}
}
}
Loading…
Cancel
Save