@@ -0,0 +1,41 @@ | |||||
[*.cs] | |||||
#### Naming styles #### | |||||
# Naming rules | |||||
dotnet_naming_rule.const_should_be_all_upper.severity = suggestion | |||||
dotnet_naming_rule.const_should_be_all_upper.symbols = const | |||||
dotnet_naming_rule.const_should_be_all_upper.style = all_upper | |||||
dotnet_naming_rule.static_readonly_field_should_be_all_upper.severity = suggestion | |||||
dotnet_naming_rule.static_readonly_field_should_be_all_upper.symbols = static_readonly_field | |||||
dotnet_naming_rule.static_readonly_field_should_be_all_upper.style = all_upper | |||||
dotnet_naming_rule.private_or_internal_field_should_be_private_field.severity = suggestion | |||||
dotnet_naming_rule.private_or_internal_field_should_be_private_field.symbols = private_or_internal_field | |||||
dotnet_naming_rule.private_or_internal_field_should_be_private_field.style = private_field | |||||
# Symbol specifications | |||||
dotnet_naming_symbols.const.applicable_kinds = field | |||||
dotnet_naming_symbols.const.applicable_accessibilities = * | |||||
dotnet_naming_symbols.const.required_modifiers = const | |||||
dotnet_naming_symbols.static_readonly_field.applicable_kinds = field | |||||
dotnet_naming_symbols.static_readonly_field.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected | |||||
dotnet_naming_symbols.static_readonly_field.required_modifiers = readonly, static | |||||
dotnet_naming_symbols.private_or_internal_field.applicable_kinds = field | |||||
dotnet_naming_symbols.private_or_internal_field.applicable_accessibilities = internal, private, private_protected | |||||
dotnet_naming_symbols.private_or_internal_field.required_modifiers = | |||||
# Naming styles | |||||
dotnet_naming_style.private_field.required_prefix = _ | |||||
dotnet_naming_style.private_field.required_suffix = | |||||
dotnet_naming_style.private_field.word_separator = | |||||
dotnet_naming_style.private_field.capitalization = camel_case | |||||
dotnet_naming_style.all_upper.required_prefix = | |||||
dotnet_naming_style.all_upper.required_suffix = | |||||
dotnet_naming_style.all_upper.word_separator = _ | |||||
dotnet_naming_style.all_upper.capitalization = all_upper | |||||
# Add copyright file header | |||||
#file_header_template = Copyright (c) 2022-Now 少林寺驻北固山办事处大神父王喇嘛\n\nSafeCampus 基于 Apache License Version 2.0 协议发布,可用于商业项目,但必须遵守以下补充条款:\n1.请不要删除和修改根目录下的LICENSE文件。\n2.请不要删除和修改SafeCampus源码头部的版权声明。\n3.分发源码时候,请注明软件出处 https://gitee.com/dotnetmoyu/SafeCampus\n4.基于本软件的作品,只能使用 SafeCampus 作为后台服务,除外情况不可商用且不允许二次分发或开源。\n5.请不得将本软件应用于危害国家安全、荣誉和利益的行为,不能以任何形式用于非法为目的的行为。\n6.任何基于本软件而产生的一切法律纠纷和责任,均于我司无关。 |
@@ -0,0 +1,13 @@ | |||||
<Project> | |||||
<PropertyGroup> | |||||
<TargetFrameworks>net6.0;net7.0;net8.0;</TargetFrameworks> | |||||
<NoWarn>1701;1702;8616;1591;8618;8619;8629;8602;8603;8604;8625;8765</NoWarn> | |||||
<Version>3.0.0</Version> | |||||
<ImplicitUsings>enable</ImplicitUsings> | |||||
<SatelliteResourceLanguages>en-US</SatelliteResourceLanguages> | |||||
</PropertyGroup> | |||||
<PropertyGroup> | |||||
<DocumentationFile>$(MSBuildProjectName).xml</DocumentationFile> | |||||
</PropertyGroup> | |||||
</Project> |
@@ -0,0 +1,13 @@ | |||||
{ | |||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json", | |||||
//swagger分组设置 | |||||
"[openapi:Application]": { | |||||
"Order": 90, //分组排序,int 类型,数字越大排前面,默认 0 | |||||
"Title": "业务模块" //配置分组标题,string 类型 | |||||
}, | |||||
//系统层设置 | |||||
"ApplicationSettings": { | |||||
"InitTable": false, //是否初始化表结构 | |||||
"InitSeedData": false, //是否初始化种子数据 | |||||
} | |||||
} |
@@ -0,0 +1,13 @@ | |||||
{ | |||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json", | |||||
//swagger分组设置 | |||||
"[openapi:Application]": { | |||||
"Order": 90, //分组排序,int 类型,数字越大排前面,默认 0 | |||||
"Title": "业务模块" //配置分组标题,string 类型 | |||||
}, | |||||
//系统层设置 | |||||
"ApplicationSettings": { | |||||
"InitTable": false, //是否初始化表结构 | |||||
"InitSeedData": false, //是否初始化种子数据 | |||||
} | |||||
} |
@@ -0,0 +1,19 @@ | |||||
namespace SafeCampus.Application; | |||||
public class ApplicationConst | |||||
{ | |||||
#region 别称 | |||||
/// <summary> | |||||
/// 机构 | |||||
/// </summary> | |||||
public const string BIZ_ORG = "机构"; | |||||
/// <summary> | |||||
/// 岗位 | |||||
/// </summary> | |||||
public const string BIZ_POS = "岗位"; | |||||
#endregion 别称 | |||||
} |
@@ -0,0 +1,16 @@ | |||||
| |||||
global using MoYu; | |||||
global using MoYu.DependencyInjection; | |||||
global using MoYu.FriendlyException; | |||||
global using Mapster; | |||||
global using Microsoft.AspNetCore.Builder; | |||||
global using Microsoft.AspNetCore.Hosting; | |||||
global using Microsoft.AspNetCore.Mvc; | |||||
global using Microsoft.Extensions.DependencyInjection; | |||||
global using SafeCampus.Cache; | |||||
global using SafeCampus.Core; | |||||
global using SafeCampus.Core.Extension; | |||||
global using SafeCampus.SqlSugar; | |||||
global using SafeCampus.System; | |||||
global using SqlSugar; | |||||
global using System.Reflection; |
@@ -0,0 +1,530 @@ | |||||
using System.Drawing; | |||||
using System.Drawing.Imaging; | |||||
using System.Net.WebSockets; | |||||
using System.Text; | |||||
using Masuit.Tools.Systems; | |||||
using MoYu.DataEncryption; | |||||
using MoYu.RemoteRequest.Extensions; | |||||
using MoYu.Templates; | |||||
using NewLife.Caching; | |||||
using Newtonsoft.Json; | |||||
using Newtonsoft.Json.Linq; | |||||
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; | |||||
using SafeCampus.Application.Services.Business.Warn.Dto; | |||||
using SafeCampus.Application.Services.Business.Warn.Service; | |||||
namespace SafeCampus.Application.Manager.DeepelephManager; | |||||
/// <summary> | |||||
/// 深象智能对接实现 | |||||
/// </summary> | |||||
public class DeepelephManager : IDeepelephManager, IScoped | |||||
{ | |||||
private CancellationTokenSource _cancellationTokenSource = new CancellationTokenSource(); | |||||
private bool _isConnected = false; | |||||
private Timer _pingTimer; | |||||
private List<ClientWebSocket> webScokets=new List<ClientWebSocket>(); | |||||
private readonly ISimpleCacheService _simpleCacheService; | |||||
public DeepelephManager(ISimpleCacheService simpleCacheService) | |||||
{ | |||||
_simpleCacheService = simpleCacheService; | |||||
} | |||||
//获取地址 | |||||
//建立请求,发送订阅参数 | |||||
//遍历等待接收消息 | |||||
public string GetToken() | |||||
{ | |||||
var cacheToken = _simpleCacheService.Get<string>(AuthConstants.SXTOKEN); | |||||
if (cacheToken != null) return cacheToken; | |||||
return GenSXToken(); | |||||
} | |||||
/// <summary> | |||||
/// 获取深象智能Token | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
private string GenSXToken() | |||||
{ | |||||
var token = ""; | |||||
var setting = App.GetOptionsMonitor<AppInfoOptions>(); | |||||
var nonce = Guid.NewGuid().ToString("N"); | |||||
var timestamp =DateTimeOffset.Now.ToUnixTimeMilliseconds(); | |||||
var list = $"{setting.SXAPIURL}/user/center/v1/login/client" | |||||
.SetBody(new | |||||
{ | |||||
appKey = setting.AppKey, | |||||
appSecret = setting.AppSecret, | |||||
nonce , | |||||
timestamp, | |||||
sign = MD5Encryption.Encrypt($"{setting.AppSecret}appKey{setting.AppKey}nonce{nonce}timestamp{timestamp}{setting.AppSecret}",true) | |||||
}) | |||||
.SetContentType("application/json") | |||||
.PostAsAsync<string>().Result; | |||||
var model = JsonConvert.DeserializeObject<JObject>(list); | |||||
if (model["success"]!=null) | |||||
{ | |||||
if ((bool)model["success"]) | |||||
{ | |||||
token = model["data"]["token"].ToString(); | |||||
//token有效期2小时,提前20分钟失效 | |||||
_simpleCacheService.Set(AuthConstants.SXTOKEN, token, 100*60); | |||||
} | |||||
else | |||||
{ | |||||
LogHelper.WriteToLog("token请求失败", model["message"].ToString()); | |||||
} | |||||
} | |||||
return token; | |||||
} | |||||
/// <summary> | |||||
/// 订阅预警更新 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public async Task SubscribeAlarm() | |||||
{ | |||||
var setting = App.GetOptionsMonitor<AppInfoOptions>(); | |||||
var timestamp = DateTimeOffset.Now.ToUnixTimeMilliseconds(); | |||||
var url = GetWebSocketUrl(AuthConstants.SXALARM, AuthConstants.SXALARM_Grpup); | |||||
var subscribeJson = JsonConvert.SerializeObject(new | |||||
{ | |||||
token = GetToken(), | |||||
type = "subscribe", | |||||
timestamp, | |||||
payload = new | |||||
{ | |||||
topic = AuthConstants.SXALARM, consumerGroup = AuthConstants.SXALARM_Grpup, tags = setting.TenantCode | |||||
} | |||||
}); | |||||
ClientWebSocket _webSocket = new ClientWebSocket(); | |||||
webScokets.Add(_webSocket); | |||||
await _webSocket.ConnectAsync(new Uri(url), CancellationToken.None); | |||||
LogHelper.WriteToLog($"预警WebSocket 已连接:{url}"); | |||||
await _webSocket.SendAsync(new ArraySegment<byte>(Encoding.UTF8.GetBytes(subscribeJson)), WebSocketMessageType.Text, true, CancellationToken.None); | |||||
byte[] buffer = new byte[1024*8]; | |||||
while (_webSocket.State == WebSocketState.Open) | |||||
{ | |||||
//try | |||||
//{ | |||||
// var jsonstr = | |||||
// " {\"body\":{\"extend\":\"{\\\"trackId\\\":\\\"12937198411611620608\\\",\\\"genderScore\\\":[0.85385144,0.14504793,8.212863E-4],\\\"faceSnapshot\\\":\\\"http://deepvision.oss-cn-zhangjiakou.aliyuncs.com/acp/quanjiang/DEMO00001/20240712/edge/group/SXT001_book_wm_1720744889834_2.jpg?Expires=1720752090&OSSAccessKeyId=STS.NT4L37rDr91kevRbXXzw6nfMD&Signature=G2bEhgR7yQFP67upY9xhV6rH6AM%3D&security-token=CAIS0wN1q6Ft5B2yfSjIr5eBB4mDn5tTjvOAZ1DjhlgNdvgagaPmpjz2IHFMf3huCeodsv8%2BlGxS5%2FgelrpqVpZDR03Na8RHwrly1lv5O9KY4yZbWXDm0s%2FLI3OaLjKm9hi7AYygPgK0GJqEb1TDiVUto9%2FTfimjWFqIKICAjYUdAP0cQgi%2Fa0gwZrJRPRAwh8IGEnHTOP2xUHvtmXGCNFd0nQB%2BhGhjk7TdpPeR8R3Dllb35%2FYIroDqWPieYtJrIY10XqWBvqx%2FfbGT1zVLuVoYtvV6gaFc5zbcv9abRFVf4hiCP6%2Ff6MBuNw5%2Fae94efZNp%2BOukuZj6K6B1db7xhtVI%2BBOUiPZA4mr2IzdBeqvNNcwc7m8F1no9YjXbsGs9EEGGStLaVgVI4F8dyAhWEd9FWjgR%2FX5qAyQUGCKULOY1aw6651xwmjz8MCCT1r1GOTBindGasVnMxh5Z0JMjDK9aNkKfgFUbVJ8BrGTCIh%2FYx0bsq7yowDIEyp71TRMo%2Bbu%2FDBhIifKpO4VN7AxMup1DPwu2wNCxFTF%2Bmp%2BKWf0Jz1CnuYdie64csaEylVu4cUzwVR2okivFuX%2By5hlD5o57dNqxAQQCz4KifNxiqzxO%2BBHrfsIeBqAAVdLFq9YtSjPudclLSqdxoekyznbYEtkERJY1iOmTBUChk2ja1KRSUvYSbtTl9r6MTksWA0mlqHfJP416rLsDCoCUhEtZ5OIJ9uobmwBlOhNJOmvNLKts9UatFZKf8fpoabQDjZVOrlt5SGCat11TstwJxt%2Fqk4KlR1z2%2Fvgjk36IAA%3D\\\",\\\"faceSnapshotPath\\\":\\\"deepvision:acp/quanjiang/DEMO00001/20240712/edge/group/SXT001_book_wm_1720744889834_2.jpg\\\",\\\"faceScore\\\":21.902344}\",\"alarmType\":\"hat_detect\",\"func\":\"hat_detect\",\"cameraId\":\"SXT001\",\"alarmId\":\"4fe123dc469c47919f1bb2e83469f088\",\"snapshotUrl\":\"http://deepvision.oss-cn-zhangjiakou.aliyuncs.com/acp/quanjiang/DEMO00001/20240712/edge/group/SXT001/SXT001_d051f448-690e-4135-9659-40dfef3238fb_wm_2.jpg?Expires=1720752090&OSSAccessKeyId=STS.NT4L37rDr91kevRbXXzw6nfMD&Signature=Mq39eyfB5E2sdJ58lT03HMz9QnI%3D&security-token=CAIS0wN1q6Ft5B2yfSjIr5eBB4mDn5tTjvOAZ1DjhlgNdvgagaPmpjz2IHFMf3huCeodsv8%2BlGxS5%2FgelrpqVpZDR03Na8RHwrly1lv5O9KY4yZbWXDm0s%2FLI3OaLjKm9hi7AYygPgK0GJqEb1TDiVUto9%2FTfimjWFqIKICAjYUdAP0cQgi%2Fa0gwZrJRPRAwh8IGEnHTOP2xUHvtmXGCNFd0nQB%2BhGhjk7TdpPeR8R3Dllb35%2FYIroDqWPieYtJrIY10XqWBvqx%2FfbGT1zVLuVoYtvV6gaFc5zbcv9abRFVf4hiCP6%2Ff6MBuNw5%2Fae94efZNp%2BOukuZj6K6B1db7xhtVI%2BBOUiPZA4mr2IzdBeqvNNcwc7m8F1no9YjXbsGs9EEGGStLaVgVI4F8dyAhWEd9FWjgR%2FX5qAyQUGCKULOY1aw6651xwmjz8MCCT1r1GOTBindGasVnMxh5Z0JMjDK9aNkKfgFUbVJ8BrGTCIh%2FYx0bsq7yowDIEyp71TRMo%2Bbu%2FDBhIifKpO4VN7AxMup1DPwu2wNCxFTF%2Bmp%2BKWf0Jz1CnuYdie64csaEylVu4cUzwVR2okivFuX%2By5hlD5o57dNqxAQQCz4KifNxiqzxO%2BBHrfsIeBqAAVdLFq9YtSjPudclLSqdxoekyznbYEtkERJY1iOmTBUChk2ja1KRSUvYSbtTl9r6MTksWA0mlqHfJP416rLsDCoCUhEtZ5OIJ9uobmwBlOhNJOmvNLKts9UatFZKf8fpoabQDjZVOrlt5SGCat11TstwJxt%2Fqk4KlR1z2%2Fvgjk36IAA%3D\",\"rects\":[{\"top\":656,\"left\":1642,\"width\":285,\"height\":767}],\"poiId\":\"DEMO00001\",\"tenantCode\":\"quanjiang\",\"tick\":1720744890634},\"bornTimestamp\":1720744890762,\"consumerGroup\":\"GID_quanjiang_risk\",\"keys\":\"4fe123dc469c47919f1bb2e83469f088\",\"messageId\":\"AC14058A00017A07C5B43A83698A5378\",\"queueId\":1,\"queueOffset\":418623,\"tags\":\"quanjiang\",\"topic\":\"ECOLOGY_PAAS_RISK_ALARM\",\"type\":\"msg\"}"; | |||||
// var json = JsonConvert.DeserializeObject<JObject>(jsonstr); | |||||
// if (json["type"].ToString() == "msg") | |||||
// { | |||||
// var body = json["body"]; | |||||
// if (body != null) | |||||
// { | |||||
// PersonType personEnum; | |||||
// if (!Enum.TryParse(body["alarmType"].ToString(), out AlarmType dayEnum)) | |||||
// { | |||||
// dayEnum = AlarmType.visual_fence; | |||||
// } | |||||
// if (body["extend"]!=null) | |||||
// { | |||||
// var extend= JsonConvert.DeserializeObject<JObject>(body["extend"].ToString()); | |||||
// if (extend["personType"] != null) | |||||
// { | |||||
// if (!Enum.TryParse(body["extend"]?["personType"]?.ToString(), out personEnum)) | |||||
// { | |||||
// personEnum = PersonType.unkonwn; | |||||
// } | |||||
// } | |||||
// else | |||||
// { | |||||
// personEnum = PersonType.unkonwn; | |||||
// } | |||||
// } | |||||
// else | |||||
// { | |||||
// personEnum = PersonType.unkonwn; | |||||
// } | |||||
// var model = new WarnInfoDto | |||||
// { | |||||
// TenantCode = body["tenantCode"]?.ToString(), | |||||
// PoiId = body["poiId"]?.ToString(), | |||||
// AlarmId = body["alarmId"]?.ToString(), | |||||
// AlarmType = body["alarmType"]?.ToString(), | |||||
// AlarmTypeDesc = dayEnum.GetDescription(), | |||||
// CameraId = body["cameraId"]?.ToString(), | |||||
// Tick = TimestampToDateTime(body["tick"].ToString()), | |||||
// SnapshotUrl = body["snapshotUrl"]?.ToString(), | |||||
// Rects = body["rects"]?.ToString(), | |||||
// Tags = body["tags"]?.ToString(), | |||||
// Extend = body["extend"]?.ToString(), | |||||
// PersonType = personEnum.GetDescription(), | |||||
// WarnHand = 0, | |||||
// }; | |||||
// var signImg = Path.Combine(Directory.GetCurrentDirectory(), "Files", App.Configuration["AppInfo:AlarmImg"], model.AlarmId + ".jpg"); | |||||
// var steam = await model.SnapshotUrl.GetAsByteArrayAsync(); | |||||
// model.SnapshotUrl = $"http://192.168.10.186:8003/Files/alarmImg/{model.AlarmId}.jpg"; | |||||
// using (MemoryStream ms = new MemoryStream(steam)) | |||||
// { | |||||
// using (Bitmap bmp = new Bitmap(ms)) | |||||
// { | |||||
// using (Graphics g = Graphics.FromImage(bmp)) | |||||
// { | |||||
// using (Pen pen = new Pen(Color.Red, 3)) | |||||
// { | |||||
// foreach (var item in body["rects"]) | |||||
// { | |||||
// Rectangle rect = new Rectangle((int)item["left"], (int)item["top"], (int)item["width"], (int)item["height"]); | |||||
// g.DrawRectangle(pen, rect); | |||||
// } | |||||
// } | |||||
// } | |||||
// bmp.Save(signImg, ImageFormat.Jpeg); | |||||
// } | |||||
// } | |||||
// //await model.SnapshotUrl.GetToSaveAsync(signImg); | |||||
// Scoped.Create((_, scope) => | |||||
// { | |||||
// var services = scope.ServiceProvider; | |||||
// var _repository = services.GetService<IWarnInfoService>(); | |||||
// _repository.Add(model); | |||||
// }); | |||||
// } | |||||
// } | |||||
//} | |||||
//catch (Exception e) | |||||
//{ | |||||
//} | |||||
WebSocketReceiveResult result = await _webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None); | |||||
if (result.MessageType == WebSocketMessageType.Text) | |||||
{ | |||||
try | |||||
{ | |||||
string message = Encoding.UTF8.GetString(buffer, 0, result.Count); | |||||
LogHelper.WriteToLog($"收到: {message}"); | |||||
var json = JsonConvert.DeserializeObject<JObject>(message); | |||||
if (json["type"].ToString() == "msg") | |||||
{ | |||||
var body = json["body"]; | |||||
if (body != null) | |||||
{ | |||||
PersonType personEnum; | |||||
if (!Enum.TryParse(body["alarmType"].ToString(), out AlarmType dayEnum)) | |||||
{ | |||||
dayEnum = AlarmType.visual_fence; | |||||
} | |||||
if (body["extend"] != null) | |||||
{ | |||||
var extend = JsonConvert.DeserializeObject<JObject>(body["extend"].ToString()); | |||||
if (extend["personType"] != null) | |||||
{ | |||||
if (!Enum.TryParse(body["extend"]?["personType"]?.ToString(), out personEnum)) | |||||
{ | |||||
personEnum = PersonType.unkonwn; | |||||
} | |||||
} | |||||
else | |||||
{ | |||||
personEnum = PersonType.unkonwn; | |||||
} | |||||
} | |||||
else | |||||
{ | |||||
personEnum = PersonType.unkonwn; | |||||
} | |||||
var model = new WarnInfoDto | |||||
{ | |||||
TenantCode = body["tenantCode"]?.ToString(), | |||||
PoiId = body["poiId"]?.ToString(), | |||||
AlarmId = body["alarmId"]?.ToString(), | |||||
AlarmType = body["alarmType"]?.ToString(), | |||||
AlarmTypeDesc = dayEnum.GetDescription(), | |||||
CameraId = body["cameraId"]?.ToString(), | |||||
Tick = TimestampToDateTime(body["tick"].ToString()), | |||||
SnapshotUrl = body["snapshotUrl"]?.ToString(), | |||||
Rects = body["rects"]?.ToString(), | |||||
Tags = body["tags"]?.ToString(), | |||||
Extend = body["extend"]?.ToString(), | |||||
PersonType = personEnum.GetDescription(), | |||||
WarnHand = 0, | |||||
}; | |||||
var signImg = Path.Combine(Directory.GetCurrentDirectory(), "Files", App.Configuration["AppInfo:AlarmImg"], model.AlarmId + ".jpg"); | |||||
//await model.SnapshotUrl.GetToSaveAsync(signImg); | |||||
var steam = await model.SnapshotUrl.GetAsByteArrayAsync(); | |||||
model.SnapshotUrl = $"http://192.168.10.186:8003/Files/alarmImg/{model.AlarmId}.jpg"; | |||||
using (MemoryStream ms = new MemoryStream(steam)) | |||||
{ | |||||
using (Bitmap bmp = new Bitmap(ms)) | |||||
{ | |||||
using (Graphics g = Graphics.FromImage(bmp)) | |||||
{ | |||||
using (Pen pen = new Pen(Color.Red, 3)) | |||||
{ | |||||
foreach (var item in body["rects"]) | |||||
{ | |||||
Rectangle rect = new Rectangle((int)item["left"], (int)item["top"], (int)item["width"], (int)item["height"]); | |||||
g.DrawRectangle(pen, rect); | |||||
} | |||||
} | |||||
} | |||||
bmp.Save(signImg, ImageFormat.Jpeg); | |||||
} | |||||
} | |||||
Scoped.Create((_, scope) => | |||||
{ | |||||
var services = scope.ServiceProvider; | |||||
var _repository = services.GetService<IWarnInfoService>(); | |||||
_repository.Add(model); | |||||
}); | |||||
} | |||||
} | |||||
} | |||||
catch (Exception e) | |||||
{ | |||||
LogHelper.WriteToLog( "预警webSocket处理异常"); | |||||
LogHelper.WriteToLog(e, "预警webSocket处理异常"); | |||||
} | |||||
} | |||||
else if (result.MessageType == WebSocketMessageType.Close) | |||||
{ | |||||
LogHelper.WriteToLog("WebSocket 连接已被服务器关闭"); | |||||
break; | |||||
} | |||||
} | |||||
} | |||||
/// <summary> | |||||
/// 订阅点名事件 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public async Task SubscriberRoomCall() | |||||
{ | |||||
var setting = App.GetOptionsMonitor<AppInfoOptions>(); | |||||
var timestamp = DateTimeOffset.Now.ToUnixTimeMilliseconds(); | |||||
var url = GetWebSocketUrl(AuthConstants.SXROOM_CALL, AuthConstants.SXROOM_CAL_Group); | |||||
var subscribeJson = JsonConvert.SerializeObject(new | |||||
{ | |||||
token = GetToken(), | |||||
type = "subscribe", | |||||
timestamp, | |||||
payload = new | |||||
{ | |||||
topic = AuthConstants.SXROOM_CALL, consumerGroup = AuthConstants.SXROOM_CAL_Group, tags = setting.TenantCode | |||||
} | |||||
}); | |||||
ClientWebSocket _webSocket = new ClientWebSocket(); | |||||
webScokets.Add(_webSocket); | |||||
await _webSocket.ConnectAsync(new Uri(url), CancellationToken.None); | |||||
LogHelper.WriteToLog($"点名WebSocket 已连接:{url}"); | |||||
await _webSocket.SendAsync(new ArraySegment<byte>(Encoding.UTF8.GetBytes(subscribeJson)), WebSocketMessageType.Text, true, CancellationToken.None); | |||||
byte[] buffer = new byte[1024*8]; | |||||
while (_webSocket.State == WebSocketState.Open) | |||||
{ | |||||
WebSocketReceiveResult result = await _webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None); | |||||
if (result.MessageType == WebSocketMessageType.Text) | |||||
{ | |||||
string message = Encoding.UTF8.GetString(buffer, 0, result.Count); | |||||
LogHelper.WriteToLog($"收到: {message}"); | |||||
var json = JsonConvert.DeserializeObject<JObject>(message); | |||||
if (json["type"].ToString() == "msg") | |||||
{ | |||||
var body = json["body"]; | |||||
if (body != null) | |||||
{ | |||||
//TODO 由于未知道数据格式暂不写处理 | |||||
} | |||||
} | |||||
} | |||||
else if (result.MessageType == WebSocketMessageType.Close) | |||||
{ | |||||
LogHelper.WriteToLog("WebSocket 连接已被服务器关闭"); | |||||
break; | |||||
} | |||||
} | |||||
} | |||||
public async Task SubscriberAttendance() | |||||
{ | |||||
var setting = App.GetOptionsMonitor<AppInfoOptions>(); | |||||
var timestamp = DateTimeOffset.Now.ToUnixTimeMilliseconds(); | |||||
var url = GetWebSocketUrl(AuthConstants.SXECOLOGY_ATTENDANCE, AuthConstants.SXECOLOGY_ATTENDANCE_Group); | |||||
var subscribeJson = JsonConvert.SerializeObject(new | |||||
{ | |||||
token = GetToken(), | |||||
type = "subscribe", | |||||
timestamp, | |||||
payload = new | |||||
{ | |||||
topic = AuthConstants.SXECOLOGY_ATTENDANCE, | |||||
consumerGroup = AuthConstants.SXECOLOGY_ATTENDANCE_Group, | |||||
tags = setting.TenantCode | |||||
} | |||||
}); | |||||
ClientWebSocket _webSocket = new ClientWebSocket(); | |||||
webScokets.Add(_webSocket); | |||||
await _webSocket.ConnectAsync(new Uri(url), CancellationToken.None); | |||||
LogHelper.WriteToLog($"考勤WebSocket 已连接:{url}"); | |||||
await _webSocket.SendAsync(new ArraySegment<byte>(Encoding.UTF8.GetBytes(subscribeJson)), WebSocketMessageType.Text, true, CancellationToken.None); | |||||
byte[] buffer = new byte[1024 * 8]; | |||||
while (_webSocket.State == WebSocketState.Open) | |||||
{ | |||||
WebSocketReceiveResult result = await _webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None); | |||||
if (result.MessageType == WebSocketMessageType.Text) | |||||
{ | |||||
string message = Encoding.UTF8.GetString(buffer, 0, result.Count); | |||||
LogHelper.WriteToLog($"收到: {message}"); | |||||
var json = JsonConvert.DeserializeObject<JObject>(message); | |||||
if (json["type"].ToString() == "msg") | |||||
{ | |||||
var body = json["body"]; | |||||
if (body != null) | |||||
{ | |||||
//TODO 由于未知道数据格式暂不写处理 | |||||
} | |||||
} | |||||
} | |||||
else if (result.MessageType == WebSocketMessageType.Close) | |||||
{ | |||||
LogHelper.WriteToLog("WebSocket 连接已被服务器关闭"); | |||||
break; | |||||
} | |||||
} | |||||
} | |||||
private async Task GetWebSocketData(string url, string json) | |||||
{ | |||||
ClientWebSocket _webSocket = new ClientWebSocket(); | |||||
while (!_cancellationTokenSource.IsCancellationRequested) | |||||
{ | |||||
try | |||||
{ | |||||
await _webSocket.ConnectAsync(new Uri(url), CancellationToken.None); | |||||
LogHelper.WriteToLog("WebSocket 已连接"); | |||||
_isConnected = true; | |||||
//订阅预警消息 | |||||
await _webSocket.SendAsync(new ArraySegment<byte>(Encoding.UTF8.GetBytes(json)), WebSocketMessageType.Text, true, CancellationToken.None); | |||||
//_pingTimer = new Timer(async (state) => | |||||
//{ | |||||
// if (_webSocket.State == WebSocketState.Open) | |||||
// { | |||||
// try | |||||
// { | |||||
// LogHelper.WriteToLog("发送 ping..."); | |||||
// byte[] emptyPingMessage = Array.Empty<byte>(); | |||||
// await _webSocket.SendAsync(new ArraySegment<byte>(emptyPingMessage), WebSocketMessageType.Binary, true, CancellationToken.None); | |||||
// //byte[] pingMessage = Encoding.UTF8.GetBytes("pong"); | |||||
// //await _webSocket.SendAsync(new ArraySegment<byte>(pingMessage), WebSocketMessageType.Text, true, CancellationToken.None); | |||||
// } | |||||
// catch (Exception ex) | |||||
// { | |||||
// LogHelper.WriteToLog($"发送ping失败: {ex.Message}"); | |||||
// } | |||||
// } | |||||
//}, null, TimeSpan.Zero, TimeSpan.FromSeconds(30)); | |||||
await ReceiveLoop(_webSocket); | |||||
_isConnected = false; | |||||
LogHelper.WriteToLog("WebSocket 连接已关闭,正在重连。。。"); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
LogHelper.WriteToLog($"WebSocket连接失败: {ex.Message}"); | |||||
} | |||||
await Task.Delay(GetReconnectInterval()); | |||||
} | |||||
} | |||||
private async Task ReceiveLoop(ClientWebSocket _webSocket) | |||||
{ | |||||
byte[] buffer = new byte[1024]; | |||||
while (_webSocket.State == WebSocketState.Open) | |||||
{ | |||||
WebSocketReceiveResult result = await _webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None); | |||||
if (result.MessageType == WebSocketMessageType.Text) | |||||
{ | |||||
string message = Encoding.UTF8.GetString(buffer, 0, result.Count); | |||||
LogHelper.WriteToLog($"收到: {message}"); | |||||
var json= JsonConvert.DeserializeObject<JObject>(message); | |||||
if (json["type"].ToString()=="msg") | |||||
{ | |||||
var body = json["body"]; | |||||
if (body!=null) | |||||
{ | |||||
} | |||||
} | |||||
} | |||||
else if (result.MessageType == WebSocketMessageType.Close) | |||||
{ | |||||
LogHelper.WriteToLog("WebSocket 连接已被服务器关闭"); | |||||
break; | |||||
} | |||||
} | |||||
} | |||||
private TimeSpan GetReconnectInterval() | |||||
{ | |||||
// You can implement your own logic for calculating reconnect interval, e.g., exponential backoff | |||||
return TimeSpan.FromSeconds(10); // Example: Attempt to reconnect every 10 seconds | |||||
} | |||||
public async Task DisconnectAsync() | |||||
{ | |||||
foreach (var clientWebSocket in webScokets.Where(clientWebSocket => clientWebSocket.State == WebSocketState.Open)) | |||||
{ | |||||
await clientWebSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "Closing", CancellationToken.None); | |||||
} | |||||
} | |||||
private string GetWebSocketUrl(string topic, string consumerGroup) | |||||
{ | |||||
var serverAddr = ""; | |||||
var setting = App.GetOptionsMonitor<AppInfoOptions>(); | |||||
var list = $"{setting.SXAPIURL}/emitter/connection/get" | |||||
.SetBody(new | |||||
{ | |||||
token = GetToken(), | |||||
topic , | |||||
consumerGroup, | |||||
}) | |||||
.SetContentType("application/json") | |||||
.PostAsAsync<string>().Result; | |||||
var model = JsonConvert.DeserializeObject<JObject>(list); | |||||
if (model["data"]["serverAddr"]!=null) | |||||
{ | |||||
serverAddr = model["data"]["serverAddr"].ToString(); | |||||
} | |||||
return serverAddr; | |||||
} | |||||
//public async Task<bool> GetData() | |||||
//{ | |||||
// //var setting = App.GetOptionsMonitor<AppInfoOptions>(); | |||||
// //var timestamp = DateTimeOffset.Now.ToUnixTimeMilliseconds(); | |||||
// ////订阅预警消息 | |||||
// //var warnUrl = GetWebSocketUrl(AuthConstants.SXALARM, AuthConstants.SXALARM_Grpup); | |||||
// //GetWebSocketData(warnUrl, | |||||
// // JsonConvert.SerializeObject(new | |||||
// // { | |||||
// // token = GetToken(), type = "subscribe", timestamp, | |||||
// // payload = new { topic = AuthConstants.SXALARM, consumerGroup= AuthConstants.SXALARM_Grpup, tags= setting.TenantCode } | |||||
// // })); | |||||
// //订阅预警更新消息 | |||||
// await SubscribeAlarm(); | |||||
// //订阅点名事件 | |||||
// //await SubscriberRoomCall(); | |||||
// return true; | |||||
//} | |||||
/// <summary> | |||||
/// 时间戳转本时区日期时间 | |||||
/// </summary> | |||||
/// <param name="timeStamp"></param> | |||||
/// <returns></returns> | |||||
public static DateTime TimestampToDateTime(string timeStamp) | |||||
{ | |||||
DateTimeOffset utcDateTimeOffset = DateTimeOffset.FromUnixTimeMilliseconds(long.Parse(timeStamp)); | |||||
return utcDateTimeOffset.LocalDateTime; | |||||
} | |||||
} |
@@ -0,0 +1,33 @@ | |||||
namespace SafeCampus.Application.Manager.DeepelephManager; | |||||
/// <summary> | |||||
/// 深象对接接口 | |||||
/// </summary> | |||||
public interface IDeepelephManager | |||||
{ | |||||
/// <summary> | |||||
/// 获取token | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public string GetToken(); | |||||
/// <summary> | |||||
/// 启动预警订阅 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
Task SubscribeAlarm(); | |||||
/// <summary> | |||||
/// 释放连接 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
public Task DisconnectAsync(); | |||||
/// <summary> | |||||
/// 启动点名订阅 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
Task SubscriberRoomCall(); | |||||
/// <summary> | |||||
/// 开启无感考勤订阅 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
Task SubscriberAttendance(); | |||||
} |
@@ -0,0 +1,10 @@ | |||||
using MoYu.ConfigurableOptions; | |||||
namespace SafeCampus.Application; | |||||
/// <summary> | |||||
/// 系统配置 | |||||
/// </summary> | |||||
public class ApplicationSettingsOptions : BaseOptions, IConfigurableOptions | |||||
{ | |||||
} |
@@ -0,0 +1,28 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk"> | |||||
<ItemGroup> | |||||
<None Remove="applicationsettings.Development.json" /> | |||||
<None Remove="applicationsettings.Production.json" /> | |||||
<None Remove="SafeCampus.Application.xml" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<ProjectReference Include="..\SafeCampus.System\SafeCampus.System.csproj" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<None Update="Application.Development.json"> | |||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | |||||
</None> | |||||
<None Update="Application.Production.json"> | |||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | |||||
</None> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Folder Include="Entity\" /> | |||||
<Folder Include="Manager\DeepelephManager\Dto\" /> | |||||
</ItemGroup> | |||||
</Project> |
@@ -0,0 +1,6 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||||
<PropertyGroup> | |||||
<ActiveDebugFramework>net7.0</ActiveDebugFramework> | |||||
</PropertyGroup> | |||||
</Project> |
@@ -0,0 +1,875 @@ | |||||
<?xml version="1.0"?> | |||||
<doc> | |||||
<assembly> | |||||
<name>SafeCampus.Application</name> | |||||
</assembly> | |||||
<members> | |||||
<member name="F:SafeCampus.Application.ApplicationConst.BIZ_ORG"> | |||||
<summary> | |||||
机构 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Application.ApplicationConst.BIZ_POS"> | |||||
<summary> | |||||
岗位 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager"> | |||||
<summary> | |||||
深象智能对接实现 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager.GenSXToken"> | |||||
<summary> | |||||
获取深象智能Token | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager.SubscribeAlarm"> | |||||
<summary> | |||||
订阅预警更新 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager.SubscriberRoomCall"> | |||||
<summary> | |||||
订阅点名事件 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager.TimestampToDateTime(System.String)"> | |||||
<summary> | |||||
时间戳转本时区日期时间 | |||||
</summary> | |||||
<param name="timeStamp"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager"> | |||||
<summary> | |||||
深象对接接口 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.GetToken"> | |||||
<summary> | |||||
获取token | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.SubscribeAlarm"> | |||||
<summary> | |||||
启动预警订阅 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.DisconnectAsync"> | |||||
<summary> | |||||
释放连接 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.SubscriberRoomCall"> | |||||
<summary> | |||||
启动点名订阅 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.SubscriberAttendance"> | |||||
<summary> | |||||
开启无感考勤订阅 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.ApplicationSettingsOptions"> | |||||
<summary> | |||||
系统配置 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Dto.AlarmSearch.alarmType"> | |||||
<summary> | |||||
预警类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Dto.AlarmSearch.beginTime"> | |||||
<summary> | |||||
开始时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Dto.AlarmSearch.endTime"> | |||||
<summary> | |||||
结束时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Dto.AlarmSearch.cameraId"> | |||||
<summary> | |||||
摄像头id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.TenantCode"> | |||||
<summary> | |||||
租户id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.PoiId"> | |||||
<summary> | |||||
门店id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.AlarmId"> | |||||
<summary> | |||||
预警id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.AlarmType"> | |||||
<summary> | |||||
预警类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.AlarmTypeDesc"> | |||||
<summary> | |||||
预警类型名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.CameraId"> | |||||
<summary> | |||||
摄像头id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.CameraName"> | |||||
<summary> | |||||
摄像头名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Tick"> | |||||
<summary> | |||||
事件发生时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.SnapshotUrl"> | |||||
<summary> | |||||
摄像头快照,原链接有效期为2小时,获取到数据后下载到本地 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.VideoUrl"> | |||||
<summary> | |||||
预警关联视频(有些报警有,有些没有) | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Rects"> | |||||
<summary> | |||||
目标在快照中的位置 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.PersonName"> | |||||
<summary> | |||||
人员名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.PersonType"> | |||||
<summary> | |||||
人员类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Tags"> | |||||
<summary> | |||||
场景标签 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Extend"> | |||||
<summary> | |||||
额外数据,每个预警类型不同 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.WarnHand"> | |||||
<summary> | |||||
预警处理状态 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Remark"> | |||||
<summary> | |||||
处理意见 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.HandTime"> | |||||
<summary> | |||||
处理时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.AlarmId"> | |||||
<summary> | |||||
预警id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.AlarmType"> | |||||
<summary> | |||||
预警类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.AlarmTypeDesc"> | |||||
<summary> | |||||
预警类型名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.CameraId"> | |||||
<summary> | |||||
摄像头id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.CameraName"> | |||||
<summary> | |||||
摄像头名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.Tick"> | |||||
<summary> | |||||
事件发生时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.SnapshotUrl"> | |||||
<summary> | |||||
摄像头快照,原链接有效期为2小时,获取到数据后下载到本地 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.PersonName"> | |||||
<summary> | |||||
人员名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.PersonType"> | |||||
<summary> | |||||
人员类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.WarnHand"> | |||||
<summary> | |||||
预警处理状态 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.HandTime"> | |||||
<summary> | |||||
处理时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.AlarmType"> | |||||
<summary> | |||||
预警类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.StartTick"> | |||||
<summary> | |||||
事件发生时间开始 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.EndTick"> | |||||
<summary> | |||||
事件发生时间结束 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.CameraId"> | |||||
<summary> | |||||
摄像头id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.WarnHand"> | |||||
<summary> | |||||
预警处理状态 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.Business.Warn.Service.IWarnInfoService.HandWarn(System.Int64,System.String)"> | |||||
<summary> | |||||
处理预警 | |||||
</summary> | |||||
<param name="id"></param> | |||||
<param name="remark"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.Business.Warn.Service.IWarnInfoService.GetListNoPage(SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch)"> | |||||
<summary> | |||||
获取列表不分页 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.Business.Warn.Service.IWarnInfoService.GetWarnType"> | |||||
<summary> | |||||
获取告警分离列表 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.Add(`0)"> | |||||
<summary> | |||||
添加 | |||||
</summary> | |||||
<param name="vm"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.Delete(System.Int64)"> | |||||
<summary> | |||||
删除 | |||||
</summary> | |||||
<param name="Id"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.Update(`0)"> | |||||
<summary> | |||||
修改 | |||||
</summary> | |||||
<param name="vm"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.GetInfo(System.Int64)"> | |||||
<summary> | |||||
根据id获取信息 | |||||
</summary> | |||||
<param name="Id"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.GetList(`2)"> | |||||
<summary> | |||||
获取列表 | |||||
</summary> | |||||
<param name="search"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.IOrgService"> | |||||
<summary> | |||||
机构服务 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Add(SafeCampus.System.SysOrgAddInput)"> | |||||
<summary> | |||||
添加机构 | |||||
</summary> | |||||
<param name="input">添加参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Copy(SafeCampus.System.SysOrgCopyInput)"> | |||||
<summary> | |||||
复制机构 | |||||
</summary> | |||||
<param name="input">机构复制参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<summary> | |||||
删除机构 | |||||
</summary> | |||||
<param name="input">删除参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Edit(SafeCampus.System.SysOrgEditInput)"> | |||||
<summary> | |||||
编辑机构 | |||||
</summary> | |||||
<param name="input">编辑参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Page(SafeCampus.System.SysOrgPageInput)"> | |||||
<summary> | |||||
机构分页查询 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns>分页信息</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Tree(SafeCampus.System.SysOrgTreeInput)"> | |||||
<summary> | |||||
机构树结构 | |||||
</summary> | |||||
<param name="input">机构选择器</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
机构详情 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.OrgService"> | |||||
<inheritdoc cref="T:SafeCampus.Application.IOrgService"/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Page(SafeCampus.System.SysOrgPageInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Tree(SafeCampus.System.SysOrgTreeInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Add(SafeCampus.System.SysOrgAddInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Edit(SafeCampus.System.SysOrgEditInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Copy(SafeCampus.System.SysOrgCopyInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.CheckInput(SafeCampus.System.SysOrg,System.String)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="sysOrg">参数</param> | |||||
<param name="operate">操作名称</param> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.IPositionService"> | |||||
<summary> | |||||
岗位管理 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Add(SafeCampus.System.PositionAddInput)"> | |||||
<summary> | |||||
添加岗位 | |||||
</summary> | |||||
<param name="input">添加参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<summary> | |||||
删除岗位 | |||||
</summary> | |||||
<param name="input">id列表</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Edit(SafeCampus.System.PositionEditInput)"> | |||||
<summary> | |||||
编辑岗位 | |||||
</summary> | |||||
<param name="input">编辑参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Page(SafeCampus.System.PositionPageInput)"> | |||||
<summary> | |||||
岗位分页查询 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns>分页列表</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Selector(SafeCampus.System.PositionSelectorInput)"> | |||||
<summary> | |||||
岗位选择器 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
岗位详情 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Tree(SafeCampus.System.PositionTreeInput)"> | |||||
<summary> | |||||
岗位树形结构 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.PositionService"> | |||||
<summary> | |||||
<inheritdoc cref="T:SafeCampus.Application.IPositionService"/> | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Page(SafeCampus.System.PositionPageInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Tree(SafeCampus.System.PositionTreeInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Add(SafeCampus.System.PositionAddInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Selector(SafeCampus.System.PositionSelectorInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Edit(SafeCampus.System.PositionEditInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.CheckInput(SafeCampus.System.SysPosition,System.String)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="sysPosition">参数</param> | |||||
<param name="operate">操作名称</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.OwnResource(SafeCampus.Core.BaseIdInput,System.String)"> | |||||
<summary> | |||||
角色拥有资源 | |||||
</summary> | |||||
<param name="input">角色id</param> | |||||
<param name="category">资源类型</param> | |||||
<returns>角色拥有资源信息</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.OwnUser(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
获取角色下的用户 | |||||
</summary> | |||||
<param name="input">角色ID</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Page(SafeCampus.System.RolePageInput)"> | |||||
<summary> | |||||
分页查询角色 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.RoleSelector(SafeCampus.System.RoleSelectorInput)"> | |||||
<summary> | |||||
角色选择器 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Tree(SafeCampus.System.RoleTreeInput)"> | |||||
<summary> | |||||
获取角色树 | |||||
</summary> | |||||
<param name="input">角色树</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
角色详情 | |||||
</summary> | |||||
<param name="input">角色Id</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.ResourceTreeSelector"> | |||||
<summary> | |||||
资源树选择器 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Add(SafeCampus.System.RoleAddInput)"> | |||||
<summary> | |||||
添加角色 | |||||
</summary> | |||||
<param name="input">添加参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Edit(SafeCampus.System.RoleEditInput)"> | |||||
<summary> | |||||
编辑角色 | |||||
</summary> | |||||
<param name="input">编辑参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.GrantResource(SafeCampus.System.GrantResourceInput)"> | |||||
<summary> | |||||
给角色授权 | |||||
</summary> | |||||
<param name="input">授权参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.GrantUser(SafeCampus.System.GrantUserInput)"> | |||||
<summary> | |||||
给角色授权用户 | |||||
</summary> | |||||
<param name="input">授权信息</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<summary> | |||||
删除角色 | |||||
</summary> | |||||
<param name="input">删除参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.RoleService"> | |||||
<inheritdoc cref="T:SafeCampus.Application.IRoleService"/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.OwnResource(SafeCampus.Core.BaseIdInput,System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.OwnUser(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Page(SafeCampus.System.RolePageInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.RoleSelector(SafeCampus.System.RoleSelectorInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Tree(SafeCampus.System.RoleTreeInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.ResourceTreeSelector"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Add(SafeCampus.System.RoleAddInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Edit(SafeCampus.System.RoleEditInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.GrantResource(SafeCampus.System.GrantResourceInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.GrantUser(SafeCampus.System.GrantUserInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.CheckInput(SafeCampus.System.SysRole)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="sysRole"></param> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.GetRoleGrantResourceMenus(System.Int64,System.Collections.Generic.List{SafeCampus.System.SysResource},System.Collections.Generic.List{SafeCampus.System.SysResource})"> | |||||
<summary> | |||||
获取授权菜单 | |||||
</summary> | |||||
<param name="moduleId">模块Id</param> | |||||
<param name="ownMenuList">拥有菜单列表</param> | |||||
<param name="ownButtonList">拥有权限按钮列表</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.BizUserImportInput"> | |||||
<summary> | |||||
业务用户导入 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.BizUserExportOutput"> | |||||
<summary> | |||||
业务用户导出 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.IUserService"> | |||||
<summary> | |||||
人员管理服务 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Selector(SafeCampus.System.UserSelectorInput)"> | |||||
<summary> | |||||
人员选择器 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns>人员列表</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Page(SafeCampus.System.UserPageInput)"> | |||||
<summary> | |||||
用户分页查询 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns>用户分页列表</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.OwnRole(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
获取用户拥有角色 | |||||
</summary> | |||||
<param name="input">用户ID</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.RoleSelector(SafeCampus.System.RoleSelectorInput)"> | |||||
<summary> | |||||
角色选择器 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
人员详情 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Add(SafeCampus.System.UserAddInput)"> | |||||
<summary> | |||||
添加用户 | |||||
</summary> | |||||
<param name="input">添加参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Edit(SafeCampus.System.UserEditInput)"> | |||||
<summary> | |||||
编辑 | |||||
</summary> | |||||
<param name="input">编辑参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.DisableUser(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
禁用用户 | |||||
</summary> | |||||
<param name="input">用户Id</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.EnableUser(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
启用用户 | |||||
</summary> | |||||
<param name="input">用户Id</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.ResetPassword(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
重置密码 | |||||
</summary> | |||||
<param name="input">用户Id</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.GrantRole(SafeCampus.System.UserGrantRoleInput)"> | |||||
<summary> | |||||
给用户授权角色 | |||||
</summary> | |||||
<param name="input">授权参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<summary> | |||||
删除用户 | |||||
</summary> | |||||
<param name="input">Id列表</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Preview(SafeCampus.System.ImportPreviewInput)"> | |||||
<summary> | |||||
导入预览 | |||||
</summary> | |||||
<param name="input">导入参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Template"> | |||||
<summary> | |||||
获取导入模板 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Export(SafeCampus.System.UserPageInput)"> | |||||
<summary> | |||||
导出 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Import(SafeCampus.System.ImportResultInput{SafeCampus.Application.BizUserImportInput})"> | |||||
<summary> | |||||
导入数据 | |||||
</summary> | |||||
<param name="input">数据</param> | |||||
<returns>导入结果</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Edits(SafeCampus.System.BatchEditInput)"> | |||||
<summary> | |||||
批量编辑 | |||||
</summary> | |||||
<param name="input">编辑字段信息</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.UserService"> | |||||
<summary> | |||||
<inheritdoc cref="T:SafeCampus.Application.IUserService"/> | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Page(SafeCampus.System.UserPageInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.OwnRole(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Selector(SafeCampus.System.UserSelectorInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.RoleSelector(SafeCampus.System.RoleSelectorInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Add(SafeCampus.System.UserAddInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Edit(SafeCampus.System.UserEditInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Edits(SafeCampus.System.BatchEditInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.DisableUser(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.EnableUser(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.GrantRole(SafeCampus.System.UserGrantRoleInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.ResetPassword(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Template"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Preview(SafeCampus.System.ImportPreviewInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Export(SafeCampus.System.UserPageInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Import(SafeCampus.System.ImportResultInput{SafeCampus.Application.BizUserImportInput})"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.CheckInput(SafeCampus.System.SysUser,System.String)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="sysUser"></param> | |||||
<param name="operate">操作类型</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.CheckInput(System.Int64,System.String)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="userId">用户ID</param> | |||||
<param name="operate">操作</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.CheckImport(System.Collections.Generic.List{SafeCampus.Application.BizUserImportInput},System.Collections.Generic.List{System.Int64},System.Boolean)"> | |||||
<summary> | |||||
检查导入数据 | |||||
</summary> | |||||
<param name="data">数据</param> | |||||
<param name="dataScope">数据范围ID数组</param> | |||||
<param name="clearError">是否初始化错误</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.GetQuery(SafeCampus.System.UserPageInput)"> | |||||
<summary> | |||||
获取查询条件 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.Startup"> | |||||
<summary> | |||||
AppStartup启动类 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Startup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> | |||||
<summary> | |||||
ConfigureServices中不能解析服务,比如App.GetService(),尤其是不能在ConfigureServices中获取诸如缓存等数据进行初始化,应该在Configure中进行 | |||||
服务都还没初始化完成,会导致内存中存在多份 IOC 容器!! | |||||
正确应该在 Configure 中,这个时候服务(IServiceCollection 已经完成 BuildServiceProvider() 操作了 | |||||
</summary> | |||||
<param name="services"></param> | |||||
</member> | |||||
</members> | |||||
</doc> |
@@ -0,0 +1,21 @@ | |||||
namespace SafeCampus.Application.Services.Business.Dto; | |||||
public class AlarmSearch: BasePageInput | |||||
{ | |||||
/// <summary> | |||||
/// 预警类型 | |||||
/// </summary> | |||||
public string alarmType { get; set; } | |||||
/// <summary> | |||||
/// 开始时间 | |||||
/// </summary> | |||||
public DateTime? beginTime { get; set; } | |||||
/// <summary> | |||||
/// 结束时间 | |||||
/// </summary> | |||||
public DateTime? endTime { get; set; } | |||||
/// <summary> | |||||
/// 摄像头id | |||||
/// </summary> | |||||
public string cameraId { get; set; } | |||||
} |
@@ -0,0 +1,80 @@ | |||||
using Newtonsoft.Json.Linq; | |||||
namespace SafeCampus.Application.Services.Business.Warn.Dto; | |||||
public class WarnInfoDto | |||||
{ | |||||
public long? ID { get; set; } | |||||
/// <summary> | |||||
/// 租户id | |||||
/// </summary> | |||||
public string TenantCode { get; set; } | |||||
/// <summary> | |||||
/// 门店id | |||||
/// </summary> | |||||
public string PoiId { get; set; } | |||||
/// <summary> | |||||
/// 预警id | |||||
/// </summary> | |||||
public string AlarmId { get; set; } | |||||
/// <summary> | |||||
/// 预警类型 | |||||
/// </summary> | |||||
public string AlarmType { get; set; } | |||||
/// <summary> | |||||
/// 预警类型名称 | |||||
/// </summary> | |||||
public string AlarmTypeDesc { get; set; } | |||||
/// <summary> | |||||
/// 摄像头id | |||||
/// </summary> | |||||
public string CameraId { get; set; } | |||||
/// <summary> | |||||
/// 摄像头名称 | |||||
/// </summary> | |||||
public string CameraName { get; set; } | |||||
/// <summary> | |||||
/// 事件发生时间 | |||||
/// </summary> | |||||
public DateTime Tick { get; set; } | |||||
/// <summary> | |||||
/// 摄像头快照,原链接有效期为2小时,获取到数据后下载到本地 | |||||
/// </summary> | |||||
public string SnapshotUrl { get; set; } | |||||
/// <summary> | |||||
/// 预警关联视频(有些报警有,有些没有) | |||||
/// </summary> | |||||
public string VideoUrl { get; set; } | |||||
/// <summary> | |||||
/// 目标在快照中的位置 | |||||
/// </summary> | |||||
public string Rects { get; set; } | |||||
/// <summary> | |||||
/// 人员名称 | |||||
/// </summary> | |||||
public string PersonName { get; set; } | |||||
/// <summary> | |||||
/// 人员类型 | |||||
/// </summary> | |||||
public string PersonType { get; set; } | |||||
/// <summary> | |||||
///场景标签 | |||||
/// </summary> | |||||
public string Tags { get; set; } | |||||
/// <summary> | |||||
/// 额外数据,每个预警类型不同 | |||||
/// </summary> | |||||
public string Extend { get; set; } | |||||
/// <summary> | |||||
/// 预警处理状态 | |||||
/// </summary> | |||||
public int WarnHand { get; set; } | |||||
/// <summary> | |||||
/// 处理意见 | |||||
/// </summary> | |||||
public string Remark { get; set; } | |||||
/// <summary> | |||||
/// 处理时间 | |||||
/// </summary> | |||||
public DateTime? HandTime { get; set; } | |||||
} |
@@ -0,0 +1,61 @@ | |||||
using AngleSharp.Dom; | |||||
namespace SafeCampus.Application.Services.Business.Warn.Dto; | |||||
public class WarnInfoList | |||||
{ | |||||
public int ID { get; set; } | |||||
/// <summary> | |||||
/// 预警id | |||||
/// </summary> | |||||
public string AlarmId { get; set; } | |||||
/// <summary> | |||||
/// 预警类型 | |||||
/// </summary> | |||||
public string AlarmType { get; set; } | |||||
/// <summary> | |||||
/// 预警类型名称 | |||||
/// </summary> | |||||
public string AlarmTypeDesc { get; set; } | |||||
/// <summary> | |||||
/// 摄像头id | |||||
/// </summary> | |||||
public string CameraId { get; set; } | |||||
/// <summary> | |||||
/// 摄像头名称 | |||||
/// </summary> | |||||
public string CameraName { get; set; } | |||||
/// <summary> | |||||
/// 事件发生时间 | |||||
/// </summary> | |||||
public DateTime Tick { get; set; } | |||||
/// <summary> | |||||
/// 摄像头快照,原链接有效期为2小时,获取到数据后下载到本地 | |||||
/// </summary> | |||||
public string SnapshotUrl { get; set; } | |||||
/// <summary> | |||||
/// 人员名称 | |||||
/// </summary> | |||||
public string PersonName { get; set; } | |||||
/// <summary> | |||||
/// 人员类型 | |||||
/// </summary> | |||||
public string PersonType { get; set; } | |||||
/// <summary> | |||||
/// 预警处理状态 | |||||
/// </summary> | |||||
public int WarnHand { get; set; } | |||||
/// <summary> | |||||
/// 处理时间 | |||||
/// </summary> | |||||
public DateTime? HandTime { get; set; } | |||||
} | |||||
public class WarnInfoListMapper : IRegister | |||||
{ | |||||
public void Register(TypeAdapterConfig config) | |||||
{ | |||||
config.ForType<WarnInfo, WarnInfoList>() | |||||
.Map(dest => dest.CameraName, src => src.CameraId.GetDescriptionByEnum<CameraType>()); | |||||
} | |||||
} |
@@ -0,0 +1,25 @@ | |||||
namespace SafeCampus.Application.Services.Business.Warn.Dto; | |||||
public class WarnInfoSearch:BasePageInput | |||||
{ | |||||
/// <summary> | |||||
/// 预警类型 | |||||
/// </summary> | |||||
public string AlarmType { get; set; } | |||||
/// <summary> | |||||
/// 事件发生时间开始 | |||||
/// </summary> | |||||
public DateTime? StartTick { get; set; } | |||||
/// <summary> | |||||
/// 事件发生时间结束 | |||||
/// </summary> | |||||
public DateTime? EndTick { get; set; } | |||||
/// <summary> | |||||
/// 摄像头id | |||||
/// </summary> | |||||
public string CameraId { get; set; } | |||||
/// <summary> | |||||
/// 预警处理状态 | |||||
/// </summary> | |||||
public int? WarnHand { get; set; } | |||||
} |
@@ -0,0 +1,7 @@ | |||||
namespace SafeCampus.Application.Services.Business; | |||||
public class WarnType | |||||
{ | |||||
public string Name { get; set; } | |||||
public string Code { get; set; } | |||||
} |
@@ -0,0 +1,24 @@ | |||||
using SafeCampus.Application.Services.Business.Warn.Dto; | |||||
namespace SafeCampus.Application.Services.Business.Warn.Service; | |||||
public interface IWarnInfoService:IApiBaseInterface<WarnInfoDto, WarnInfoList, WarnInfoSearch> | |||||
{ | |||||
/// <summary> | |||||
/// 处理预警 | |||||
/// </summary> | |||||
/// <param name="id"></param> | |||||
/// <param name="remark"></param> | |||||
/// <returns></returns> | |||||
Task<bool> HandWarn(long id,string remark); | |||||
/// <summary> | |||||
/// 获取列表不分页 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
Task<List<WarnInfo>> GetListNoPage(WarnInfoSearch search); | |||||
/// <summary> | |||||
/// 获取告警分离列表 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
Task<List<WarnType>> GetWarnType(); | |||||
} |
@@ -0,0 +1,147 @@ | |||||
using Mapster; | |||||
using MoYu.DependencyInjection; | |||||
using MoYu.FriendlyException; | |||||
using SafeCampus.Application.Services.Business; | |||||
using SafeCampus.Application.Services.Business.Warn.Dto; | |||||
using SafeCampus.Application.Services.Business.Warn.Service; | |||||
namespace SafeCampus.Web.Core.Controllers.Application.Business.Warn.Service; | |||||
public class WarnInfoService:DbRepository<WarnInfo>, IWarnInfoService,ITransient | |||||
{ | |||||
private readonly ISimpleCacheService _simpleCacheService; | |||||
public WarnInfoService(ISimpleCacheService simpleCacheService) | |||||
{ | |||||
_simpleCacheService = simpleCacheService; | |||||
} | |||||
public async Task<bool> Add(WarnInfoDto vm) | |||||
{ | |||||
var model = vm.Adapt<WarnInfo>(); | |||||
await InsertAsync(model); | |||||
return true; | |||||
} | |||||
public async Task<bool> Delete(long Id) | |||||
{ | |||||
var model = await GetFirstAsync(x=>x.Id==Id); | |||||
if (model == null) | |||||
{ | |||||
throw Oops.Oh("信息不存在"); | |||||
} | |||||
await DeleteAsync(model); | |||||
return true; | |||||
} | |||||
public async Task<bool> Update(WarnInfoDto vm) | |||||
{ | |||||
if (!vm.ID.HasValue) | |||||
{ | |||||
throw Oops.Oh("请填写ID"); | |||||
} | |||||
var model = await GetFirstAsync(p => p.Id == vm.ID); | |||||
if (model == null) | |||||
{ | |||||
throw Oops.Oh("信息不存在"); | |||||
} | |||||
var res = vm.Adapt(model); | |||||
await UpdateAsync(res); | |||||
return true; | |||||
} | |||||
public async Task<WarnInfoDto> GetInfo(long Id) | |||||
{ | |||||
var model = await GetFirstAsync(p => p.Id == Id); | |||||
if (model == null) | |||||
{ | |||||
throw Oops.Oh("信息不存在!"); | |||||
} | |||||
return model.Adapt<WarnInfoDto>(); | |||||
} | |||||
public async Task<SqlSugarPagedList<WarnInfoList>> GetList(WarnInfoSearch search) | |||||
{ | |||||
var config = _simpleCacheService.Get<List<WarnGroupInfo>>(SafeCampusConst.WarnGroup); | |||||
var guolvIds = new List<long>(); | |||||
if (config!=null) | |||||
{ | |||||
var guolv = Context.Queryable<WarnInfo>(); | |||||
foreach (var warnGroupInfo in config) | |||||
{ | |||||
if (warnGroupInfo.State) | |||||
{ | |||||
foreach (var warnGroupSubset in warnGroupInfo.Subset) | |||||
{ | |||||
if (!warnGroupSubset.State) | |||||
{ | |||||
guolvIds.AddRange(await guolv | |||||
.Where(x => warnGroupInfo.CameraId.Contains(x.CameraId) && | |||||
x.AlarmType == warnGroupSubset.Code).Select(x => x.Id).ToListAsync()); | |||||
} | |||||
} | |||||
} | |||||
else | |||||
{ | |||||
guolvIds.AddRange(await guolv | |||||
.Where(x => warnGroupInfo.CameraId.Contains(x.CameraId)).Select(x => x.Id).ToListAsync()); | |||||
} | |||||
} | |||||
} | |||||
var query = Context.Queryable<WarnInfo>() | |||||
.WhereIF(search.WarnHand.HasValue, x => x.WarnHand == search.WarnHand) | |||||
.WhereIF(!string.IsNullOrEmpty(search.AlarmType),x => x.AlarmType == search.AlarmType) | |||||
.WhereIF(!string.IsNullOrEmpty(search.CameraId), x => x.CameraId == search.CameraId) | |||||
.WhereIF(search.StartTick.HasValue,x => x.Tick >= search.StartTick) | |||||
.WhereIF(search.EndTick.HasValue, x => x.Tick <= search.EndTick) | |||||
.WhereIF(guolvIds.Any(),x=>!guolvIds.Contains(x.Id)); | |||||
var list=await query.OrderByDescending(x=>x.Tick) | |||||
.ToPagedListAsyncMapster<WarnInfo,WarnInfoList>(search.PageNum, search.PageSize); | |||||
return list; | |||||
} | |||||
public async Task<bool> HandWarn(long id, string remark) | |||||
{ | |||||
var model = await GetFirstAsync(p => p.Id == id); | |||||
if (model == null) | |||||
{ | |||||
throw Oops.Oh("信息不存在!"); | |||||
} | |||||
model.Remark = remark; | |||||
model.WarnHand = 1; | |||||
model.HandTime = DateTime.Now; | |||||
await UpdateAsync(model); | |||||
return true; | |||||
} | |||||
public async Task<List<WarnInfo>> GetListNoPage(WarnInfoSearch search) | |||||
{ | |||||
var query = Context.Queryable<WarnInfo>() | |||||
.WhereIF(search.WarnHand.HasValue, x => x.WarnHand == search.WarnHand) | |||||
.WhereIF(!string.IsNullOrEmpty(search.AlarmType), x => x.AlarmType == search.AlarmType) | |||||
.WhereIF(!string.IsNullOrEmpty(search.CameraId), x => x.CameraId == search.CameraId) | |||||
.WhereIF(search.StartTick.HasValue, x => x.Tick >= search.StartTick) | |||||
.WhereIF(search.EndTick.HasValue, x => x.Tick <= search.EndTick); | |||||
var list = await query.OrderByDescending(x => x.Tick) | |||||
.ToListAsync(); | |||||
return list; | |||||
} | |||||
public async Task<List<WarnType>>GetWarnType() | |||||
{ | |||||
var query = Context.Queryable<WarnInfo>() | |||||
.GroupBy(x => new { x.AlarmType, x.AlarmTypeDesc }) | |||||
.Select(xx => new WarnType | |||||
{ | |||||
Name = xx.AlarmTypeDesc, | |||||
Code = xx.AlarmType | |||||
}); | |||||
return await query.ToListAsync(); | |||||
} | |||||
} |
@@ -0,0 +1,36 @@ | |||||
namespace SafeCampus.Application.Services; | |||||
public interface IApiBaseInterface<T, TList, in TS> where TS : BasePageInput where T : class where TList : class | |||||
{ | |||||
/// <summary> | |||||
/// 添加 | |||||
/// </summary> | |||||
/// <param name="vm"></param> | |||||
/// <returns></returns> | |||||
public Task<bool> Add(T vm); | |||||
/// <summary> | |||||
/// 删除 | |||||
/// </summary> | |||||
/// <param name="Id"></param> | |||||
/// <returns></returns> | |||||
public Task<bool> Delete(long Id); | |||||
/// <summary> | |||||
/// 修改 | |||||
/// </summary> | |||||
/// <param name="vm"></param> | |||||
/// <returns></returns> | |||||
public Task<bool> Update(T vm); | |||||
/// <summary> | |||||
/// 根据id获取信息 | |||||
/// </summary> | |||||
/// <param name="Id"></param> | |||||
/// <returns></returns> | |||||
public Task<T> GetInfo(long Id); | |||||
/// <summary> | |||||
/// 获取列表 | |||||
/// </summary> | |||||
/// <param name="search"></param> | |||||
/// <returns></returns> | |||||
public Task<SqlSugarPagedList<TList>> GetList(TS search); | |||||
} |
@@ -0,0 +1,57 @@ | |||||
| |||||
namespace SafeCampus.Application; | |||||
/// <summary> | |||||
/// 机构服务 | |||||
/// </summary> | |||||
public interface IOrgService : ITransient | |||||
{ | |||||
/// <summary> | |||||
/// 添加机构 | |||||
/// </summary> | |||||
/// <param name="input">添加参数</param> | |||||
/// <returns></returns> | |||||
Task Add(SysOrgAddInput input); | |||||
/// <summary> | |||||
/// 复制机构 | |||||
/// </summary> | |||||
/// <param name="input">机构复制参数</param> | |||||
/// <returns></returns> | |||||
Task Copy(SysOrgCopyInput input); | |||||
/// <summary> | |||||
/// 删除机构 | |||||
/// </summary> | |||||
/// <param name="input">删除参数</param> | |||||
/// <returns></returns> | |||||
Task Delete(BaseIdListInput input); | |||||
/// <summary> | |||||
/// 编辑机构 | |||||
/// </summary> | |||||
/// <param name="input">编辑参数</param> | |||||
/// <returns></returns> | |||||
Task Edit(SysOrgEditInput input); | |||||
/// <summary> | |||||
/// 机构分页查询 | |||||
/// </summary> | |||||
/// <param name="input">查询参数</param> | |||||
/// <returns>分页信息</returns> | |||||
Task<SqlSugarPagedList<SysOrg>> Page(SysOrgPageInput input); | |||||
/// <summary> | |||||
/// 机构树结构 | |||||
/// </summary> | |||||
/// <param name="input">机构选择器</param> | |||||
/// <returns></returns> | |||||
Task<List<SysOrg>> Tree(SysOrgTreeInput input = null); | |||||
/// <summary> | |||||
/// 机构详情 | |||||
/// </summary> | |||||
/// <param name="input"></param> | |||||
/// <returns></returns> | |||||
Task<SysOrg> Detail(BaseIdInput input); | |||||
} |
@@ -0,0 +1,140 @@ | |||||
| |||||
namespace SafeCampus.Application; | |||||
/// <inheritdoc cref="IOrgService"/> | |||||
public class OrgService : DbRepository<SysOrg>, IOrgService | |||||
{ | |||||
private readonly ISysOrgService _sysOrgService; | |||||
private readonly ISysUserService _sysUserService; | |||||
public OrgService(ISysOrgService sysOrgService, ISysUserService sysUserService) | |||||
{ | |||||
_sysOrgService = sysOrgService; | |||||
_sysUserService = sysUserService; | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task<SqlSugarPagedList<SysOrg>> Page(SysOrgPageInput input) | |||||
{ | |||||
//获取数据范围 | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
dataScope?.Remove(UserManager.OrgId); | |||||
//构建查询 | |||||
var query = Context.Queryable<SysOrg>() | |||||
.WhereIF(dataScope != null, it => dataScope.Contains(it.Id))//机构ID查询 | |||||
.WhereIF(input.ParentId > 0, | |||||
it => it.ParentId == input.ParentId || SqlFunc.JsonLike(it.ParentIdList, input.ParentId.ToString()))//父级 | |||||
.WhereIF(!string.IsNullOrEmpty(input.Name), it => it.Name.Contains(input.Name))//根据名称查询 | |||||
.WhereIF(!string.IsNullOrEmpty(input.Code), it => it.Code.Contains(input.Code))//根据编码查询 | |||||
.WhereIF(!string.IsNullOrEmpty(input.Status), it => it.Status == input.Status)//根据状态查询 | |||||
.OrderByIF(!string.IsNullOrEmpty(input.SortField), $"{input.SortField} {input.SortOrder}").OrderBy(it => it.SortCode) | |||||
.OrderBy(it => it.CreateTime);//排序 | |||||
var pageInfo = await query.ToPagedListAsync(input.PageNum, input.PageSize);//分页 | |||||
return pageInfo; | |||||
} | |||||
/// <inheritdoc /> | |||||
public async Task<List<SysOrg>> Tree(SysOrgTreeInput input = null) | |||||
{ | |||||
//获取数据范围 | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
//构建机构树 | |||||
var result = await _sysOrgService.Tree(dataScope, input); | |||||
return result; | |||||
} | |||||
/// <inheritdoc /> | |||||
public async Task Add(SysOrgAddInput input) | |||||
{ | |||||
await CheckInput(input, SystemConst.ADD);//检查参数 | |||||
await _sysOrgService.Add(input, ApplicationConst.BIZ_ORG); | |||||
} | |||||
/// <inheritdoc /> | |||||
public async Task Edit(SysOrgEditInput input) | |||||
{ | |||||
await CheckInput(input, SystemConst.EDIT);//检查参数 | |||||
await _sysOrgService.Edit(input, ApplicationConst.BIZ_ORG); | |||||
} | |||||
/// <inheritdoc /> | |||||
public async Task Copy(SysOrgCopyInput input) | |||||
{ | |||||
//获取数据范围 | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
if (dataScope == null || dataScope.Count > 0)//如果有机构 | |||||
{ | |||||
if (dataScope is { Count: > 0 } && (!dataScope.ContainsAll(input.Ids) || !dataScope.Contains(input.TargetId)))//判断目标机构和需要复制的机构是否都在数据范围里面 | |||||
throw Oops.Bah("您没有权限复制这些机构"); | |||||
await _sysOrgService.Copy(input);//复制操作 | |||||
} | |||||
} | |||||
/// <inheritdoc /> | |||||
public async Task Delete(BaseIdListInput input) | |||||
{ | |||||
//获取所有ID | |||||
var ids = input.Ids; | |||||
//获取要删除的机构列表 | |||||
var orgList = (await _sysOrgService.GetListAsync()).Where(it => ids.Contains(it.Id)).ToList(); | |||||
if (orgList.Any(it => it.Category == CateGoryConst.ORG_COMPANY))//如果有公司{ | |||||
throw Oops.Bah("不能删除根机构"); | |||||
//检查数据范围 | |||||
var orgIds = orgList.Select(it => it.Id).ToList(); | |||||
var createUserIds = orgList.Select(it => it.CreateUserId.GetValueOrDefault()).ToList(); | |||||
await _sysUserService.CheckApiDataScope(orgIds, createUserIds, "您没有权限删除这些机构"); | |||||
await _sysOrgService.Delete(input, ApplicationConst.BIZ_ORG);//删除操作 | |||||
} | |||||
/// <inheritdoc /> | |||||
public async Task<SysOrg> Detail(BaseIdInput input) | |||||
{ | |||||
var org = await _sysOrgService.GetSysOrgById(input.Id);//获取机构 | |||||
var errorMessage = "您没有权限查看该机构"; | |||||
//判断数据范围 | |||||
await _sysUserService.CheckApiDataScope(org.Id, org.CreateUserId.GetValueOrDefault(), errorMessage); | |||||
return org; | |||||
} | |||||
#region 方法 | |||||
/// <summary> | |||||
/// 检查输入参数 | |||||
/// </summary> | |||||
/// <param name="sysOrg">参数</param> | |||||
/// <param name="operate">操作名称</param> | |||||
private async Task CheckInput(SysOrg sysOrg, string operate) | |||||
{ | |||||
sysOrg.Category = CateGoryConst.ORG_DEPT;//设置分类为部门,业务只能操作部门 | |||||
if (sysOrg.ParentId == SafeCampusConst.ZERO) | |||||
{ | |||||
throw Oops.Bah($"不能{operate}根机构"); | |||||
} | |||||
var errorMessage = $"您没有权限{operate}该机构"; | |||||
//获取数据范围 | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
if (dataScope is { Count: > 0 })//如果有机构 | |||||
{ | |||||
if (sysOrg.Id > 0 && !dataScope.Contains(sysOrg.Id))//如果id不为0判断是否在数据范围 | |||||
throw Oops.Bah(errorMessage); | |||||
if (!dataScope.Contains(sysOrg.ParentId))//判断父ID是否在数据范围 | |||||
throw Oops.Bah($"{errorMessage}下的机构"); | |||||
} | |||||
else if (dataScope is { Count: 0 }) | |||||
{ | |||||
//如果id大于0表示编辑 | |||||
if (sysOrg.Id > 0) | |||||
{ | |||||
var org = await _sysOrgService.GetSysOrgById(sysOrg.Id);//获取机构 | |||||
if (org.CreateUserId != UserManager.UserId) | |||||
throw Oops.Bah(errorMessage);//机构的创建人不是自己则报错 | |||||
} | |||||
else | |||||
{ | |||||
throw Oops.Bah(errorMessage); | |||||
} | |||||
} | |||||
} | |||||
#endregion 方法 | |||||
} |
@@ -0,0 +1,66 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.Application; | |||||
/// <summary> | |||||
/// 岗位管理 | |||||
/// </summary> | |||||
public interface IPositionService : ITransient | |||||
{ | |||||
/// <summary> | |||||
/// 添加岗位 | |||||
/// </summary> | |||||
/// <param name="input">添加参数</param> | |||||
/// <returns></returns> | |||||
Task Add(PositionAddInput input); | |||||
/// <summary> | |||||
/// 删除岗位 | |||||
/// </summary> | |||||
/// <param name="input">id列表</param> | |||||
/// <returns></returns> | |||||
Task Delete(BaseIdListInput input); | |||||
/// <summary> | |||||
/// 编辑岗位 | |||||
/// </summary> | |||||
/// <param name="input">编辑参数</param> | |||||
/// <returns></returns> | |||||
Task Edit(PositionEditInput input); | |||||
/// <summary> | |||||
/// 岗位分页查询 | |||||
/// </summary> | |||||
/// <param name="input">查询参数</param> | |||||
/// <returns>分页列表</returns> | |||||
Task<SqlSugarPagedList<SysPosition>> Page(PositionPageInput input); | |||||
/// <summary> | |||||
/// 岗位选择器 | |||||
/// </summary> | |||||
/// <param name="input"></param> | |||||
/// <returns></returns> | |||||
Task<List<PositionSelectorOutput>> Selector(PositionSelectorInput input); | |||||
/// <summary> | |||||
/// 岗位详情 | |||||
/// </summary> | |||||
/// <param name="input"></param> | |||||
/// <returns></returns> | |||||
Task<SysPosition> Detail(BaseIdInput input); | |||||
/// <summary> | |||||
/// 岗位树形结构 | |||||
/// </summary> | |||||
/// <param name="input"></param> | |||||
/// <returns></returns> | |||||
Task<List<PositionTreeOutput>> Tree(PositionTreeInput input); | |||||
} |
@@ -0,0 +1,131 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.Application; | |||||
/// <summary> | |||||
/// <inheritdoc cref="IPositionService"/> | |||||
/// </summary> | |||||
public class PositionService : DbRepository<SysPosition>, IPositionService | |||||
{ | |||||
private readonly ISysUserService _sysUserService; | |||||
private readonly ISysPositionService _sysPositionService; | |||||
public PositionService(ISysUserService sysUserService, ISysPositionService sysPositionService) | |||||
{ | |||||
_sysUserService = sysUserService; | |||||
_sysPositionService = sysPositionService; | |||||
} | |||||
#region 查询 | |||||
/// <inheritdoc /> | |||||
public async Task<SqlSugarPagedList<SysPosition>> Page(PositionPageInput input) | |||||
{ | |||||
//获取数据范围 | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
input.OrgIds = dataScope; | |||||
//分页查询 | |||||
var pageInfo = await _sysPositionService.Page(input); | |||||
return pageInfo; | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task<List<PositionTreeOutput>> Tree(PositionTreeInput input) | |||||
{ | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
input.OrgIds = dataScope; | |||||
var result = await _sysPositionService.Tree(input); | |||||
return result; | |||||
} | |||||
#endregion | |||||
#region 新增 | |||||
/// <inheritdoc /> | |||||
public async Task Add(PositionAddInput input) | |||||
{ | |||||
await CheckInput(input, SystemConst.ADD);//检查参数 | |||||
await _sysPositionService.Add(input, ApplicationConst.BIZ_POS);//添加岗位 | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task<List<PositionSelectorOutput>> Selector(PositionSelectorInput input) | |||||
{ | |||||
//获取数据范围 | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
input.OrgIds = dataScope;//赋值机构列表 | |||||
var result = await _sysPositionService.Selector(input);//查询 | |||||
return result; | |||||
} | |||||
/// <inheritdoc /> | |||||
public async Task<SysPosition> Detail(BaseIdInput input) | |||||
{ | |||||
var position = await _sysPositionService.GetSysPositionById(input.Id); | |||||
//判断数据范围 | |||||
await _sysUserService.CheckApiDataScope(position.OrgId, position.CreateUserId.GetValueOrDefault(), "您没有权限查看该机构"); | |||||
return position; | |||||
} | |||||
#endregion | |||||
#region 编辑 | |||||
/// <inheritdoc /> | |||||
public async Task Edit(PositionEditInput input) | |||||
{ | |||||
await CheckInput(input, SystemConst.EDIT);//检查参数 | |||||
await _sysPositionService.Edit(input, ApplicationConst.BIZ_POS);//编辑 | |||||
} | |||||
#endregion | |||||
#region 删除 | |||||
/// <inheritdoc /> | |||||
public async Task Delete(BaseIdListInput input) | |||||
{ | |||||
//获取所有ID | |||||
var ids = input.Ids; | |||||
//获取要删除的岗位列表 | |||||
var positions = (await _sysPositionService.GetListAsync()).Where(it => ids.Contains(it.Id)).ToList(); | |||||
//检查数据范围 | |||||
var orgIds = positions.Select(it => it.OrgId).ToList(); | |||||
var createUserIds = positions.Select(it => it.CreateUserId.GetValueOrDefault()).ToList(); | |||||
await _sysUserService.CheckApiDataScope(orgIds, createUserIds, "您没有权限删除该机构"); | |||||
await _sysPositionService.Delete(input, ApplicationConst.BIZ_ORG);//删除岗位 | |||||
} | |||||
#endregion | |||||
#region 方法 | |||||
/// <summary> | |||||
/// 检查输入参数 | |||||
/// </summary> | |||||
/// <param name="sysPosition">参数</param> | |||||
/// <param name="operate">操作名称</param> | |||||
private async Task CheckInput(SysPosition sysPosition, string operate) | |||||
{ | |||||
var errorMessage = $"您没有权限在该机构下{operate}岗位"; | |||||
//如果id大于0表示编辑 | |||||
if (sysPosition.Id > 0) | |||||
{ | |||||
var position = await _sysPositionService.GetSysPositionById(sysPosition.Id);//获取机构 | |||||
sysPosition.CreateUserId = position.CreateUserId; | |||||
} | |||||
await _sysUserService.CheckApiDataScope(sysPosition.OrgId, sysPosition.CreateUserId.GetValueOrDefault(), errorMessage); | |||||
} | |||||
#endregion 方法 | |||||
} |
@@ -0,0 +1,115 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.Application; | |||||
public interface IRoleService : ITransient | |||||
{ | |||||
#region 查询 | |||||
/// <summary> | |||||
/// 角色拥有资源 | |||||
/// </summary> | |||||
/// <param name="input">角色id</param> | |||||
/// <param name="category">资源类型</param> | |||||
/// <returns>角色拥有资源信息</returns> | |||||
Task<RoleOwnResourceOutput> OwnResource(BaseIdInput input, string category); | |||||
/// <summary> | |||||
/// 获取角色下的用户 | |||||
/// </summary> | |||||
/// <param name="input">角色ID</param> | |||||
/// <returns></returns> | |||||
Task<List<UserSelectorOutPut>> OwnUser(BaseIdInput input); | |||||
/// <summary> | |||||
/// 分页查询角色 | |||||
/// </summary> | |||||
/// <param name="input">查询参数</param> | |||||
/// <returns></returns> | |||||
Task<SqlSugarPagedList<SysRole>> Page(RolePageInput input); | |||||
/// <summary> | |||||
/// 角色选择器 | |||||
/// </summary> | |||||
/// <param name="input"></param> | |||||
/// <returns></returns> | |||||
Task<SqlSugarPagedList<RoleSelectorOutPut>> RoleSelector(RoleSelectorInput input); | |||||
/// <summary> | |||||
/// 获取角色树 | |||||
/// </summary> | |||||
/// <param name="input">角色树</param> | |||||
/// <returns></returns> | |||||
Task<List<RoleTreeOutput>> Tree(RoleTreeInput input); | |||||
/// <summary> | |||||
/// 角色详情 | |||||
/// </summary> | |||||
/// <param name="input">角色Id</param> | |||||
/// <returns></returns> | |||||
Task<SysRole> Detail(BaseIdInput input); | |||||
/// <summary> | |||||
/// 资源树选择器 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
Task<List<ResTreeSelector>> ResourceTreeSelector(); | |||||
#endregion | |||||
#region 新增 | |||||
/// <summary> | |||||
/// 添加角色 | |||||
/// </summary> | |||||
/// <param name="input">添加参数</param> | |||||
/// <returns></returns> | |||||
Task Add(RoleAddInput input); | |||||
#endregion | |||||
#region 编辑 | |||||
/// <summary> | |||||
/// 编辑角色 | |||||
/// </summary> | |||||
/// <param name="input">编辑参数</param> | |||||
/// <returns></returns> | |||||
Task Edit(RoleEditInput input); | |||||
/// <summary> | |||||
/// 给角色授权 | |||||
/// </summary> | |||||
/// <param name="input">授权参数</param> | |||||
/// <returns></returns> | |||||
Task GrantResource(GrantResourceInput input); | |||||
/// <summary> | |||||
/// 给角色授权用户 | |||||
/// </summary> | |||||
/// <param name="input">授权信息</param> | |||||
/// <returns></returns> | |||||
Task GrantUser(GrantUserInput input); | |||||
#endregion | |||||
#region 删除 | |||||
/// <summary> | |||||
/// 删除角色 | |||||
/// </summary> | |||||
/// <param name="input">删除参数</param> | |||||
/// <returns></returns> | |||||
Task Delete(BaseIdListInput input); | |||||
#endregion | |||||
} |
@@ -0,0 +1,286 @@ | |||||
| |||||
// | |||||
using Microsoft.Extensions.Logging; | |||||
using NewLife.Serialization; | |||||
namespace SafeCampus.Application; | |||||
/// <inheritdoc cref="IRoleService"/> | |||||
public class RoleService : IRoleService | |||||
{ | |||||
private readonly ILogger<RoleService> _logger; | |||||
private readonly ISysUserService _sysUserService; | |||||
private readonly ISysRoleService _sysRoleService; | |||||
private readonly IResourceService _resourceService; | |||||
private readonly IRelationService _relationService; | |||||
public RoleService(ILogger<RoleService> logger, ISysUserService sysUserService, ISysRoleService sysRoleService, | |||||
IResourceService resourceService, IRelationService relationService) | |||||
{ | |||||
_logger = logger; | |||||
_sysUserService = sysUserService; | |||||
_sysRoleService = sysRoleService; | |||||
_resourceService = resourceService; | |||||
_relationService = relationService; | |||||
} | |||||
#region 查询 | |||||
/// <inheritdoc/> | |||||
public async Task<RoleOwnResourceOutput> OwnResource(BaseIdInput input, string category) | |||||
{ | |||||
return await _sysRoleService.OwnResource(input, category); | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task<List<UserSelectorOutPut>> OwnUser(BaseIdInput input) | |||||
{ | |||||
return await _sysRoleService.OwnUser(input); | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task<SqlSugarPagedList<SysRole>> Page(RolePageInput input) | |||||
{ | |||||
//获取数据范围 | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
input.OrgIds = dataScope; | |||||
input.Category = CateGoryConst.ROLE_ORG;//只查询机构角色 | |||||
//分页查询 | |||||
var pageInfo = await _sysRoleService.Page(input); | |||||
return pageInfo; | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task<SqlSugarPagedList<RoleSelectorOutPut>> RoleSelector(RoleSelectorInput input) | |||||
{ | |||||
//获取数据范围 | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
input.OrgIds = dataScope; | |||||
return await _sysRoleService.RoleSelector(input); | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task<List<RoleTreeOutput>> Tree(RoleTreeInput input) | |||||
{ | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
input.OrgIds = dataScope; | |||||
return await _sysRoleService.Tree(input); | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task<SysRole> Detail(BaseIdInput input) | |||||
{ | |||||
var role = await _sysRoleService.Detail(input); | |||||
var errorMessage = "您没有权限查看该角色"; | |||||
await _sysUserService.CheckApiDataScope(role.OrgId, role.CreateUserId, errorMessage); | |||||
return role; | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task<List<ResTreeSelector>> ResourceTreeSelector() | |||||
{ | |||||
var resourceTreeSelectors = new List<ResTreeSelector>();//定义结果 | |||||
var user = await _sysUserService.GetUserById(UserManager.UserId);//获取用户 | |||||
//获取角色资源关系 | |||||
var relations = | |||||
await _relationService.GetRelationListByObjectIdListAndCategory(user.RoleIdList, CateGoryConst.RELATION_SYS_ROLE_HAS_RESOURCE); | |||||
var menuIds = new HashSet<long>();//菜单ID集合 | |||||
var buttonIds = new HashSet<long>();//按钮ID集合 | |||||
relations.ForEach(it => | |||||
{ | |||||
var resources = it.ExtJson.ToJsonEntity<RelationRoleResource>();//转换为对象获取资源 | |||||
menuIds.Add(resources.MenuId);//添加菜单ID | |||||
resources.ButtonInfo.ForEach(b => buttonIds.Add(b));//添加按钮ID | |||||
}); | |||||
var menuList = await _resourceService.GetListByCategory(CateGoryConst.RESOURCE_MENU);//获取所有菜单 | |||||
var buttonList = await _resourceService.GetListByCategory(CateGoryConst.RESOURCE_BUTTON);//获取所有按钮 | |||||
var moduleList = await _resourceService.GetListByCategory(CateGoryConst.RESOURCE_MODULE);//获取所有模块 | |||||
var ownMenuList = menuList.Where(it => menuIds.Contains(it.Id)).ToList();//已拥有的菜单 | |||||
var parentMenuList = menuList.Where(it => ownMenuList.Select(m => m.ParentId).Contains(it.Id)).ToList();//获取所有父级菜单 | |||||
ownMenuList.AddRange(parentMenuList);//将父级菜单加入到拥有菜单列表 | |||||
var ownButtonList = buttonList.Where(it => buttonIds.Contains(it.Id)).ToList();//已拥有的按钮 | |||||
var moduleIds = ownMenuList.Select(it => it.Module.GetValueOrDefault()).Distinct().ToList();//模块ID集合 | |||||
var ownModuleList = moduleList.Where(it => moduleIds.Contains(it.Id)).ToList();//已拥有的模块 | |||||
//遍历模块 | |||||
foreach (var module in ownModuleList) | |||||
{ | |||||
//将实体转换为ResourceTreeSelectorOutPut获取基本信息 | |||||
var resourceTreeSelector = module.Adapt<ResTreeSelector>(); | |||||
resourceTreeSelector.Menu = await GetRoleGrantResourceMenus(module.Id, ownMenuList, ownButtonList);//获取授权菜单 | |||||
resourceTreeSelectors.Add(resourceTreeSelector); | |||||
} | |||||
return resourceTreeSelectors; | |||||
} | |||||
#endregion | |||||
#region 增加 | |||||
/// <inheritdoc/> | |||||
public async Task Add(RoleAddInput input) | |||||
{ | |||||
await CheckInput(input);//检查参数 | |||||
await _sysRoleService.Add(input); | |||||
} | |||||
#endregion | |||||
#region 编辑 | |||||
/// <inheritdoc/> | |||||
public async Task Edit(RoleEditInput input) | |||||
{ | |||||
await CheckInput(input);//检查参数 | |||||
await _sysRoleService.Edit(input); | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task GrantResource(GrantResourceInput input) | |||||
{ | |||||
await _sysRoleService.GrantResource(input); | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task GrantUser(GrantUserInput input) | |||||
{ | |||||
await _sysRoleService.GrantUser(input); | |||||
} | |||||
#endregion | |||||
#region 删除 | |||||
/// <inheritdoc/> | |||||
public async Task Delete(BaseIdListInput input) | |||||
{ | |||||
//获取所有ID | |||||
var ids = input.Ids; | |||||
//获取要删除的机构列表 | |||||
var roleList = (await _sysRoleService.GetListAsync()).Where(it => ids.Contains(it.Id)).ToList(); | |||||
if (roleList.Any(it => it.Category == CateGoryConst.ROLE_GLOBAL))//如果有全局角色 | |||||
throw Oops.Bah("不能删除全局角色"); | |||||
//检查数据范围 | |||||
var orgIds = roleList.Select(it => it.OrgId.GetValueOrDefault()).ToList(); | |||||
var createUserIds = roleList.Select(it => it.CreateUserId.GetValueOrDefault()).ToList(); | |||||
await _sysUserService.CheckApiDataScope(orgIds, createUserIds, "您没有权限删除这些角色"); | |||||
await _sysRoleService.Delete(input); | |||||
} | |||||
#endregion | |||||
#region 方法 | |||||
/// <summary> | |||||
/// 检查输入参数 | |||||
/// </summary> | |||||
/// <param name="sysRole"></param> | |||||
private async Task CheckInput(SysRole sysRole) | |||||
{ | |||||
sysRole.Category = CateGoryConst.ROLE_ORG; | |||||
if (sysRole.DefaultDataScope.ScopeCategory == CateGoryConst.SCOPE_ALL) | |||||
throw Oops.Bah("不能添加全局数据范围的角色"); | |||||
await _sysUserService.CheckApiDataScope(sysRole.OrgId, sysRole.CreateUserId.GetValueOrDefault(), "您没有权限添加该角色"); | |||||
} | |||||
/// <summary> | |||||
/// 获取授权菜单 | |||||
/// </summary> | |||||
/// <param name="moduleId">模块Id</param> | |||||
/// <param name="ownMenuList">拥有菜单列表</param> | |||||
/// <param name="ownButtonList">拥有权限按钮列表</param> | |||||
/// <returns></returns> | |||||
public async Task<List<ResTreeSelector.RoleGrantResourceMenu>> GetRoleGrantResourceMenus(long moduleId, List<SysResource> ownMenuList, | |||||
List<SysResource> ownButtonList) | |||||
{ | |||||
var roleGrantResourceMenus = new List<ResTreeSelector.RoleGrantResourceMenu>();//定义结果 | |||||
var parentMenuList = ownMenuList.Where(it => it.ParentId == SafeCampusConst.ZERO).ToList();//获取一级目录 | |||||
//遍历一级目录 | |||||
foreach (var parent in parentMenuList) | |||||
{ | |||||
//如果是目录则去遍历下级 | |||||
if (parent.MenuType == SysResourceConst.CATALOG) | |||||
{ | |||||
//获取所有下级菜单 | |||||
var menuList = _resourceService.GetChildListById(ownMenuList, parent.Id, false); | |||||
if (menuList.Count > 0)//如果有菜单 | |||||
{ | |||||
//遍历下级菜单 | |||||
foreach (var menu in menuList) | |||||
{ | |||||
//如果菜单类型是菜单 | |||||
if (menu.MenuType is SysResourceConst.MENU or SysResourceConst.SUBSET) | |||||
{ | |||||
//获取菜单下按钮集合并转换成对应实体 | |||||
var buttonList = ownButtonList.Where(it => it.ParentId == menu.Id).ToList(); | |||||
var buttons = buttonList.Adapt<List<ResTreeSelector.RoleGrantResourceButton>>(); | |||||
roleGrantResourceMenus.Add(new ResTreeSelector.RoleGrantResourceMenu | |||||
{ | |||||
Id = menu.Id, | |||||
ParentId = parent.Id, | |||||
ParentName = parent.Title, | |||||
Module = moduleId, | |||||
Title = _resourceService.GetRoleGrantResourceMenuTitle(menuList, menu),//菜单名称需要特殊处理因为有二级菜单 | |||||
Button = buttons | |||||
}); | |||||
} | |||||
else if (menu.MenuType == SysResourceConst.LINK || menu.MenuType == SysResourceConst.IFRAME)//如果是内链或者外链 | |||||
{ | |||||
//直接加到资源列表 | |||||
roleGrantResourceMenus.Add(new ResTreeSelector.RoleGrantResourceMenu | |||||
{ | |||||
Id = menu.Id, | |||||
ParentId = parent.Id, | |||||
ParentName = parent.Title, | |||||
Module = moduleId, | |||||
Title = menu.Title | |||||
}); | |||||
} | |||||
} | |||||
} | |||||
else | |||||
{ | |||||
//否则就将自己加到一级目录里面 | |||||
roleGrantResourceMenus.Add(new ResTreeSelector.RoleGrantResourceMenu | |||||
{ | |||||
Id = parent.Id, | |||||
ParentId = parent.Id, | |||||
ParentName = parent.Title, | |||||
Module = moduleId | |||||
}); | |||||
} | |||||
} | |||||
else | |||||
{ | |||||
//就将自己加到一级目录里面 | |||||
var roleGrantResourcesButtons = new ResTreeSelector.RoleGrantResourceMenu | |||||
{ | |||||
Id = parent.Id, | |||||
ParentId = parent.Id, | |||||
ParentName = parent.Title, | |||||
Module = moduleId, | |||||
Title = parent.Title | |||||
}; | |||||
//如果菜单类型是菜单 | |||||
if (parent.MenuType == SysResourceConst.MENU) | |||||
{ | |||||
//获取菜单下按钮集合并转换成对应实体 | |||||
var buttonList = ownButtonList.Where(it => it.ParentId == parent.Id).ToList(); | |||||
roleGrantResourcesButtons.Button = buttonList.Adapt<List<ResTreeSelector.RoleGrantResourceButton>>(); | |||||
} | |||||
roleGrantResourceMenus.Add(roleGrantResourcesButtons); | |||||
} | |||||
} | |||||
return roleGrantResourceMenus; | |||||
} | |||||
#endregion | |||||
} |
@@ -0,0 +1,18 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.Application; | |||||
/// <summary> | |||||
/// 业务用户导入 | |||||
/// </summary> | |||||
public class BizUserImportInput : SysUserImportInput | |||||
{ | |||||
} |
@@ -0,0 +1,18 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.Application; | |||||
/// <summary> | |||||
/// 业务用户导出 | |||||
/// </summary> | |||||
public class BizUserExportOutput : SysUserExportOutput | |||||
{ | |||||
} |
@@ -0,0 +1,155 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.Application; | |||||
/// <summary> | |||||
/// 人员管理服务 | |||||
/// </summary> | |||||
public interface IUserService : ITransient | |||||
{ | |||||
#region 查询 | |||||
/// <summary> | |||||
/// 人员选择器 | |||||
/// </summary> | |||||
/// <param name="input">查询参数</param> | |||||
/// <returns>人员列表</returns> | |||||
Task<SqlSugarPagedList<UserSelectorOutPut>> Selector(UserSelectorInput input); | |||||
/// <summary> | |||||
/// 用户分页查询 | |||||
/// </summary> | |||||
/// <param name="input">查询参数</param> | |||||
/// <returns>用户分页列表</returns> | |||||
Task<SqlSugarPagedList<SysUser>> Page(UserPageInput input); | |||||
/// <summary> | |||||
/// 获取用户拥有角色 | |||||
/// </summary> | |||||
/// <param name="input">用户ID</param> | |||||
/// <returns></returns> | |||||
Task<List<RoleSelectorOutPut>> OwnRole(BaseIdInput input); | |||||
/// <summary> | |||||
/// 角色选择器 | |||||
/// </summary> | |||||
/// <param name="input"></param> | |||||
/// <returns></returns> | |||||
Task<SqlSugarPagedList<RoleSelectorOutPut>> RoleSelector(RoleSelectorInput input); | |||||
/// <summary> | |||||
/// 人员详情 | |||||
/// </summary> | |||||
/// <param name="input"></param> | |||||
/// <returns></returns> | |||||
Task<SysUser> Detail(BaseIdInput input); | |||||
#endregion 查询 | |||||
#region 添加 | |||||
/// <summary> | |||||
/// 添加用户 | |||||
/// </summary> | |||||
/// <param name="input">添加参数</param> | |||||
/// <returns></returns> | |||||
Task Add(UserAddInput input); | |||||
#endregion 添加 | |||||
#region 编辑 | |||||
/// <summary> | |||||
/// 编辑 | |||||
/// </summary> | |||||
/// <param name="input">编辑参数</param> | |||||
/// <returns></returns> | |||||
Task Edit(UserEditInput input); | |||||
/// <summary> | |||||
/// 禁用用户 | |||||
/// </summary> | |||||
/// <param name="input">用户Id</param> | |||||
/// <returns></returns> | |||||
Task DisableUser(BaseIdInput input); | |||||
/// <summary> | |||||
/// 启用用户 | |||||
/// </summary> | |||||
/// <param name="input">用户Id</param> | |||||
/// <returns></returns> | |||||
Task EnableUser(BaseIdInput input); | |||||
/// <summary> | |||||
/// 重置密码 | |||||
/// </summary> | |||||
/// <param name="input">用户Id</param> | |||||
/// <returns></returns> | |||||
Task ResetPassword(BaseIdInput input); | |||||
/// <summary> | |||||
/// 给用户授权角色 | |||||
/// </summary> | |||||
/// <param name="input">授权参数</param> | |||||
/// <returns></returns> | |||||
Task GrantRole(UserGrantRoleInput input); | |||||
#endregion 编辑 | |||||
#region 删除 | |||||
/// <summary> | |||||
/// 删除用户 | |||||
/// </summary> | |||||
/// <param name="input">Id列表</param> | |||||
/// <returns></returns> | |||||
Task Delete(BaseIdListInput input); | |||||
#endregion 删除 | |||||
#region 导入导出 | |||||
/// <summary> | |||||
/// 导入预览 | |||||
/// </summary> | |||||
/// <param name="input">导入参数</param> | |||||
/// <returns></returns> | |||||
Task<dynamic> Preview(ImportPreviewInput input); | |||||
/// <summary> | |||||
/// 获取导入模板 | |||||
/// </summary> | |||||
/// <returns></returns> | |||||
Task<FileStreamResult> Template(); | |||||
/// <summary> | |||||
/// 导出 | |||||
/// </summary> | |||||
/// <param name="input">查询参数</param> | |||||
/// <returns></returns> | |||||
Task<dynamic> Export(UserPageInput input); | |||||
/// <summary> | |||||
/// 导入数据 | |||||
/// </summary> | |||||
/// <param name="input">数据</param> | |||||
/// <returns>导入结果</returns> | |||||
Task<ImportResultOutPut<BizUserImportInput>> Import(ImportResultInput<BizUserImportInput> input); | |||||
/// <summary> | |||||
/// 批量编辑 | |||||
/// </summary> | |||||
/// <param name="input">编辑字段信息</param> | |||||
/// <returns></returns> | |||||
Task Edits(BatchEditInput input); | |||||
#endregion 导入导出 | |||||
} |
@@ -0,0 +1,332 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.Application; | |||||
/// <summary> | |||||
/// <inheritdoc cref="IUserService"/> | |||||
/// </summary> | |||||
public class UserService : DbRepository<SysUser>, IUserService | |||||
{ | |||||
private readonly ISysUserService _sysUserService; | |||||
private readonly ISysRoleService _sysRoleService; | |||||
private readonly IImportExportService _importExportService; | |||||
public UserService(ISysUserService sysUserService, ISysRoleService sysRoleService, IImportExportService importExportService) | |||||
{ | |||||
_sysUserService = sysUserService; | |||||
_sysRoleService = sysRoleService; | |||||
_importExportService = importExportService; | |||||
} | |||||
#region 查询 | |||||
/// <inheritdoc/> | |||||
public async Task<SqlSugarPagedList<SysUser>> Page(UserPageInput input) | |||||
{ | |||||
var query = await GetQuery(input); | |||||
//分页查询 | |||||
var pageInfo = await _sysUserService.Page(query); | |||||
return pageInfo; | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task<List<RoleSelectorOutPut>> OwnRole(BaseIdInput input) | |||||
{ | |||||
return await _sysUserService.OwnRole(input);//获取角色 | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task<SqlSugarPagedList<UserSelectorOutPut>> Selector(UserSelectorInput input) | |||||
{ | |||||
//获取数据范围 | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
if (dataScope == null) | |||||
return await _sysUserService.Selector(input);//查询 | |||||
if (dataScope.Count > 0) | |||||
{ | |||||
input.OrgIds = dataScope;//赋值机构列表 | |||||
return await _sysUserService.Selector(input);//查询 | |||||
} | |||||
//返回自己 | |||||
return new SqlSugarPagedList<UserSelectorOutPut> | |||||
{ | |||||
Total = 1, | |||||
Pages = 1, | |||||
HasPrevPages = false, | |||||
HasNextPages = false, | |||||
List = new[] | |||||
{ | |||||
new UserSelectorOutPut | |||||
{ | |||||
Account = UserManager.UserAccount, Id = UserManager.UserId, | |||||
Name = UserManager.Name, OrgId = UserManager.OrgId | |||||
} | |||||
} | |||||
}; | |||||
} | |||||
/// <inheritdoc /> | |||||
public async Task<SqlSugarPagedList<RoleSelectorOutPut>> RoleSelector(RoleSelectorInput input) | |||||
{ | |||||
var sysRoles = new SqlSugarPagedList<RoleSelectorOutPut> | |||||
{ | |||||
Total = 1, | |||||
Pages = 1, | |||||
HasPrevPages = false, | |||||
HasNextPages = false, | |||||
List = new List<RoleSelectorOutPut>() | |||||
}; | |||||
//获取数据范围 | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
if (dataScope == null) | |||||
sysRoles = await _sysRoleService.RoleSelector(input);//获取角色选择器列表 | |||||
else if (dataScope.Count > 0)//如果有机构 | |||||
{ | |||||
input.OrgIds = dataScope;//将数据范传进去 | |||||
sysRoles = await _sysRoleService.RoleSelector(input);//获取角色选择器列表 | |||||
} | |||||
return sysRoles; | |||||
} | |||||
/// <inheritdoc /> | |||||
public async Task<SysUser> Detail(BaseIdInput input) | |||||
{ | |||||
var user = await _sysUserService.Detail(input); | |||||
var errorMessage = "您没有权限查看该人员"; | |||||
//判断数据范围 | |||||
await _sysUserService.CheckApiDataScope(user.OrgId, user.CreateUserId, errorMessage); | |||||
return user; | |||||
} | |||||
#endregion 查询 | |||||
#region 新增 | |||||
/// <inheritdoc/> | |||||
public async Task Add(UserAddInput input) | |||||
{ | |||||
await CheckInput(input, SystemConst.ADD);//检查参数 | |||||
await _sysUserService.Add(input);//添加 | |||||
} | |||||
#endregion 新增 | |||||
#region 编辑 | |||||
/// <inheritdoc/> | |||||
public async Task Edit(UserEditInput input) | |||||
{ | |||||
await CheckInput(input, SystemConst.EDIT);//检查参数 | |||||
await _sysUserService.Edit(input);//编辑 | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task Edits(BatchEditInput input) | |||||
{ | |||||
//获取数据范围 | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
var ids = input.Ids; | |||||
var sysUsers = await GetListAsync(it => ids.Contains(it.Id), | |||||
it => new SysUser { OrgId = it.OrgId, CreateUserId = it.CreateUserId });//根据用户ID获取机构id、 | |||||
sysUsers.ForEach(it => | |||||
{ | |||||
if (dataScope != null && !dataScope.Contains(it.OrgId) && it.CreateUserId != UserManager.UserId) | |||||
throw Oops.Bah(ErrorCodeEnum.A0004);//如果不包含机构id并且不是自己创建的 | |||||
}); | |||||
await _sysUserService.Edits(input); | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task DisableUser(BaseIdInput input) | |||||
{ | |||||
await CheckInput(input.Id, SystemConst.DISABLE);//检查权限 | |||||
await _sysUserService.DisableUser(input);//禁用 | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task EnableUser(BaseIdInput input) | |||||
{ | |||||
await CheckInput(input.Id, SystemConst.ENABLE);//检查权限 | |||||
await _sysUserService.EnableUser(input);//启用 | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task GrantRole(UserGrantRoleInput input) | |||||
{ | |||||
await CheckInput(input.Id, SystemConst.DISABLE);//检查权限 | |||||
await _sysUserService.GrantRole(input);//授权 | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task ResetPassword(BaseIdInput input) | |||||
{ | |||||
await CheckInput(input.Id, SystemConst.RESET_PWD);//检查权限 | |||||
await _sysUserService.ResetPassword(input);//重置密码 | |||||
} | |||||
#endregion 编辑 | |||||
#region 删除 | |||||
/// <inheritdoc/> | |||||
public async Task Delete(BaseIdListInput input) | |||||
{ | |||||
//获取所有ID | |||||
var ids = input.Ids; | |||||
//获取用户下信息 | |||||
var users = await GetListAsync(it => ids.Contains(it.Id), it => new SysUser { OrgId = it.OrgId, Id = it.Id }); | |||||
//检查数据范围 | |||||
var orgIds = users.Select(it => it.OrgId).ToList(); | |||||
var createUserIds = users.Select(it => it.CreateUserId.GetValueOrDefault()).ToList(); | |||||
await _sysUserService.CheckApiDataScope(orgIds, createUserIds, "您没有权限删除这些人员"); | |||||
await _sysUserService.Delete(input);//删除 | |||||
} | |||||
#endregion 删除 | |||||
#region 导入导出 | |||||
/// <inheritdoc/> | |||||
public async Task<FileStreamResult> Template() | |||||
{ | |||||
var templateName = "人员信息.xlsx"; | |||||
//var result = _importExportService.GenerateLocalTemplate(templateName); | |||||
var result = await _importExportService.GenerateTemplate<BizUserImportInput>(templateName); | |||||
return result; | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task<dynamic> Preview(ImportPreviewInput input) | |||||
{ | |||||
//获取数据范围 | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
if (dataScope == null || dataScope.Count > 0) | |||||
{ | |||||
var importPreview = await _importExportService.GetImportPreview<BizUserImportInput>(input.File); | |||||
importPreview.Data = await CheckImport(importPreview.Data, dataScope);//检查导入数据 | |||||
return importPreview; | |||||
} | |||||
throw Oops.Bah("您无权导入用户"); | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task<dynamic> Export(UserPageInput input) | |||||
{ | |||||
var query = await GetQuery(input); | |||||
var users = await _sysUserService.List(query); | |||||
var data = users.Adapt<List<SysUserExportOutput>>();//转为Dto | |||||
var result = await _importExportService.Export(data, "人员信息"); | |||||
return result; | |||||
} | |||||
/// <inheritdoc/> | |||||
public async Task<ImportResultOutPut<BizUserImportInput>> Import(ImportResultInput<BizUserImportInput> input) | |||||
{ | |||||
//获取数据范围 | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
if (dataScope.Count > 0) | |||||
{ | |||||
var data = await CheckImport(input.Data, dataScope, true);//检查数据格式 | |||||
var result = _importExportService.GetImportResultPreview(data, out var importData); | |||||
var sysUsers = importData.Adapt<List<SysUser>>();//转实体 | |||||
await _sysUserService.SetUserDefault(sysUsers);//设置用户默认值 | |||||
await InsertOrBulkCopy(sysUsers);// 数据导入 | |||||
return result; | |||||
} | |||||
throw Oops.Bah("您无权导入用户"); | |||||
} | |||||
#endregion 导入导出 | |||||
#region 方法 | |||||
/// <summary> | |||||
/// 检查输入参数 | |||||
/// </summary> | |||||
/// <param name="sysUser"></param> | |||||
/// <param name="operate">操作类型</param> | |||||
private async Task CheckInput(SysUser sysUser, string operate) | |||||
{ | |||||
var errorMessage = $"您没有权限{operate}该机构下的人员"; | |||||
if (sysUser.Id != SafeCampusConst.ZERO) | |||||
{ | |||||
var user = await _sysUserService.GetUserById(sysUser.Id); | |||||
sysUser.CreateUserId = user.CreateUserId; | |||||
} | |||||
//检查数据范围 | |||||
await _sysUserService.CheckApiDataScope(sysUser.OrgId, sysUser.CreateUserId.GetValueOrDefault(), errorMessage); | |||||
} | |||||
/// <summary> | |||||
/// 检查输入参数 | |||||
/// </summary> | |||||
/// <param name="userId">用户ID</param> | |||||
/// <param name="operate">操作</param> | |||||
private async Task CheckInput(long userId, string operate) | |||||
{ | |||||
var errorMessage = $"您没有权限{operate}该机构下的人员"; | |||||
var sysUser = await _sysUserService.GetUserById(userId); | |||||
//检查数据范围 | |||||
await _sysUserService.CheckApiDataScope(sysUser.OrgId, sysUser.CreateUserId.GetValueOrDefault(), errorMessage); | |||||
} | |||||
/// <summary> | |||||
/// 检查导入数据 | |||||
/// </summary> | |||||
/// <param name="data">数据</param> | |||||
/// <param name="dataScope">数据范围ID数组</param> | |||||
/// <param name="clearError">是否初始化错误</param> | |||||
/// <returns></returns> | |||||
public async Task<List<BizUserImportInput>> CheckImport(List<BizUserImportInput> data, List<long> dataScope, bool clearError = false) | |||||
{ | |||||
var errorMessage = "没有权限"; | |||||
//先经过系统用户检查 | |||||
var bizUsers = await _sysUserService.CheckImport(data, clearError); | |||||
bizUsers.ForEach(it => | |||||
{ | |||||
//如果机构没有错误 | |||||
if (!it.ErrorInfo.ContainsKey(nameof(it.OrgName))) | |||||
{ | |||||
//判断是否包含数据范围,如果不包含 | |||||
if (dataScope != null && !dataScope.Contains(it.OrgId)) | |||||
{ | |||||
it.ErrorInfo.Add(nameof(it.OrgName), errorMessage); | |||||
if (!it.ErrorInfo.ContainsKey(nameof(it.PositionName)))//如果机构没错 | |||||
it.ErrorInfo.Add(nameof(it.PositionName), errorMessage); | |||||
} | |||||
} | |||||
if (it.ErrorInfo.Count > 0) it.HasError = true;//如果错误信息数量大于0则表示有错误 | |||||
}); | |||||
bizUsers = bizUsers.OrderByDescending(it => it.HasError).ToList();//排序 | |||||
return bizUsers; | |||||
} | |||||
/// <summary> | |||||
/// 获取查询条件 | |||||
/// </summary> | |||||
/// <param name="input"></param> | |||||
/// <returns></returns> | |||||
public async Task<UserPageInput> GetQuery(UserPageInput input) | |||||
{ | |||||
//获取数据范围 | |||||
var dataScope = await _sysUserService.GetLoginUserApiDataScope(); | |||||
//动态查询条件 | |||||
var exp = Expressionable.Create<SysUser>(); | |||||
exp.And(u => u.Account != SysRoleConst.SUPER_ADMIN); | |||||
exp.AndIF(dataScope is { Count: > 0 }, u => dataScope.Contains(u.OrgId));//用户机构在数据范围内 | |||||
exp.AndIF(dataScope is { Count: 0 }, u => u.Id == UserManager.UserId);//用户ID等于自己 | |||||
input.Expression = exp; | |||||
return input; | |||||
} | |||||
#endregion 方法 | |||||
} |
@@ -0,0 +1,38 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.Application; | |||||
/// <summary> | |||||
/// AppStartup启动类 | |||||
/// </summary> | |||||
public class Startup : AppStartup | |||||
{ | |||||
/// <summary> | |||||
/// ConfigureServices中不能解析服务,比如App.GetService(),尤其是不能在ConfigureServices中获取诸如缓存等数据进行初始化,应该在Configure中进行 | |||||
/// 服务都还没初始化完成,会导致内存中存在多份 IOC 容器!! | |||||
/// 正确应该在 Configure 中,这个时候服务(IServiceCollection 已经完成 BuildServiceProvider() 操作了 | |||||
/// </summary> | |||||
/// <param name="services"></param> | |||||
public void ConfigureServices(IServiceCollection services) | |||||
{ | |||||
//业务配置转实体 | |||||
services.AddConfigurableOptions<ApplicationSettingsOptions>(); | |||||
services.AddConfigurableOptions<AppInfoOptions>(); | |||||
} | |||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) | |||||
{ | |||||
var fullName = Assembly.GetExecutingAssembly().FullName;//获取程序集全名 | |||||
//通过 App.GetOptions<TOptions> 获取选项 | |||||
var settings = App.GetOptions<ApplicationSettingsOptions>(); | |||||
CodeFirstUtils.CodeFirst(settings, fullName);//CodeFirst | |||||
} | |||||
} |
@@ -0,0 +1,13 @@ | |||||
{ | |||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json", | |||||
//swagger分组设置 | |||||
"[openapi:Application]": { | |||||
"Order": 90, //分组排序,int 类型,数字越大排前面,默认 0 | |||||
"Title": "业务模块" //配置分组标题,string 类型 | |||||
}, | |||||
//系统层设置 | |||||
"ApplicationSettings": { | |||||
"InitTable": false, //是否初始化表结构 | |||||
"InitSeedData": false, //是否初始化种子数据 | |||||
} | |||||
} |
@@ -0,0 +1,13 @@ | |||||
{ | |||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json", | |||||
//swagger分组设置 | |||||
"[openapi:Application]": { | |||||
"Order": 90, //分组排序,int 类型,数字越大排前面,默认 0 | |||||
"Title": "业务模块" //配置分组标题,string 类型 | |||||
}, | |||||
//系统层设置 | |||||
"ApplicationSettings": { | |||||
"InitTable": false, //是否初始化表结构 | |||||
"InitSeedData": false, //是否初始化种子数据 | |||||
} | |||||
} |
@@ -0,0 +1,12 @@ | |||||
{ | |||||
//缓存设置 | |||||
"CacheSettings": { | |||||
"UseRedis": true, //启用redis | |||||
"RedisSettings": { | |||||
"Address": "127.0.0.1:6379", //地址 | |||||
"Password": "wxh@0000", //Redis服务密码 | |||||
"Db": 1, //默认库 | |||||
"ClearRedis": false //是否每次启动都清除Redis缓存 | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,12 @@ | |||||
{ | |||||
//缓存设置 | |||||
"CacheSettings": { | |||||
"UseRedis": true, //启用redis | |||||
"RedisSettings": { | |||||
"Address": "127.0.0.1:6379", //地址 | |||||
"Password": "wxh@0000", //Redis服务密码 | |||||
"Db": 1, //默认库 | |||||
"ClearRedis": false //是否每次启动都清除Redis缓存 | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,25 @@ | |||||
{ | |||||
//秘钥配置 | |||||
"Cryptogram": { | |||||
//SM2国密配置 | |||||
"SM2": { | |||||
"PublicKey": "04BD62406DF6789B1FBE8C457AECAE6D7C806CDB39316F190519905C24DF395E8952C47798D76ADECF8CA28C935702AFCDD9B17DE77121FA6448F0EDEFBD8365D6", //公钥 | |||||
"PrivateKey": "00F908E5ED9C2059A960E3A58056F69E0CF75299182CEB93B74CD1FDC633FCA0E5" //私钥 | |||||
} | |||||
}, | |||||
//日志配置 | |||||
"Logging": { | |||||
"Monitor": { | |||||
"Write": false, //是否文件写入LoggingMonitor日志 | |||||
"Console": false, //是否控制台输出LoggingMonitor日志 | |||||
}, | |||||
"MessageFormat": true, //是否格式化日志 | |||||
"LogLevel": { | |||||
"Default": "Debug", //默认日志级别 | |||||
"Max": "Error", //最大日志级别 | |||||
"Microsoft": "Warning", | |||||
"Microsoft.Hosting.Lifetime": "Information", | |||||
"Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information" | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,25 @@ | |||||
{ | |||||
//秘钥配置 | |||||
"Cryptogram": { | |||||
//SM2国密配置 | |||||
"SM2": { | |||||
"PublicKey": "04BD62406DF6789B1FBE8C457AECAE6D7C806CDB39316F190519905C24DF395E8952C47798D76ADECF8CA28C935702AFCDD9B17DE77121FA6448F0EDEFBD8365D6", //公钥 | |||||
"PrivateKey": "00F908E5ED9C2059A960E3A58056F69E0CF75299182CEB93B74CD1FDC633FCA0E5" //私钥 | |||||
} | |||||
}, | |||||
//日志配置 | |||||
"Logging": { | |||||
"Monitor": { | |||||
"Write": false, //是否文件写入LoggingMonitor日志 | |||||
"Console": false, //是否控制台输出LoggingMonitor日志 | |||||
}, | |||||
"MessageFormat": true, //是否格式化日志 | |||||
"LogLevel": { | |||||
"Default": "Information", //默认日志级别 | |||||
"Max": "Error", //最大日志级别 | |||||
"Microsoft": "Warning", | |||||
"Microsoft.Hosting.Lifetime": "Information", | |||||
"Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information" | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,875 @@ | |||||
<?xml version="1.0"?> | |||||
<doc> | |||||
<assembly> | |||||
<name>SafeCampus.Application</name> | |||||
</assembly> | |||||
<members> | |||||
<member name="F:SafeCampus.Application.ApplicationConst.BIZ_ORG"> | |||||
<summary> | |||||
机构 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Application.ApplicationConst.BIZ_POS"> | |||||
<summary> | |||||
岗位 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager"> | |||||
<summary> | |||||
深象智能对接实现 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager.GenSXToken"> | |||||
<summary> | |||||
获取深象智能Token | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager.SubscribeAlarm"> | |||||
<summary> | |||||
订阅预警更新 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager.SubscriberRoomCall"> | |||||
<summary> | |||||
订阅点名事件 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager.TimestampToDateTime(System.String)"> | |||||
<summary> | |||||
时间戳转本时区日期时间 | |||||
</summary> | |||||
<param name="timeStamp"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager"> | |||||
<summary> | |||||
深象对接接口 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.GetToken"> | |||||
<summary> | |||||
获取token | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.SubscribeAlarm"> | |||||
<summary> | |||||
启动预警订阅 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.DisconnectAsync"> | |||||
<summary> | |||||
释放连接 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.SubscriberRoomCall"> | |||||
<summary> | |||||
启动点名订阅 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.SubscriberAttendance"> | |||||
<summary> | |||||
开启无感考勤订阅 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.ApplicationSettingsOptions"> | |||||
<summary> | |||||
系统配置 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Dto.AlarmSearch.alarmType"> | |||||
<summary> | |||||
预警类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Dto.AlarmSearch.beginTime"> | |||||
<summary> | |||||
开始时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Dto.AlarmSearch.endTime"> | |||||
<summary> | |||||
结束时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Dto.AlarmSearch.cameraId"> | |||||
<summary> | |||||
摄像头id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.TenantCode"> | |||||
<summary> | |||||
租户id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.PoiId"> | |||||
<summary> | |||||
门店id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.AlarmId"> | |||||
<summary> | |||||
预警id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.AlarmType"> | |||||
<summary> | |||||
预警类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.AlarmTypeDesc"> | |||||
<summary> | |||||
预警类型名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.CameraId"> | |||||
<summary> | |||||
摄像头id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.CameraName"> | |||||
<summary> | |||||
摄像头名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Tick"> | |||||
<summary> | |||||
事件发生时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.SnapshotUrl"> | |||||
<summary> | |||||
摄像头快照,原链接有效期为2小时,获取到数据后下载到本地 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.VideoUrl"> | |||||
<summary> | |||||
预警关联视频(有些报警有,有些没有) | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Rects"> | |||||
<summary> | |||||
目标在快照中的位置 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.PersonName"> | |||||
<summary> | |||||
人员名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.PersonType"> | |||||
<summary> | |||||
人员类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Tags"> | |||||
<summary> | |||||
场景标签 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Extend"> | |||||
<summary> | |||||
额外数据,每个预警类型不同 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.WarnHand"> | |||||
<summary> | |||||
预警处理状态 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Remark"> | |||||
<summary> | |||||
处理意见 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.HandTime"> | |||||
<summary> | |||||
处理时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.AlarmId"> | |||||
<summary> | |||||
预警id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.AlarmType"> | |||||
<summary> | |||||
预警类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.AlarmTypeDesc"> | |||||
<summary> | |||||
预警类型名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.CameraId"> | |||||
<summary> | |||||
摄像头id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.CameraName"> | |||||
<summary> | |||||
摄像头名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.Tick"> | |||||
<summary> | |||||
事件发生时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.SnapshotUrl"> | |||||
<summary> | |||||
摄像头快照,原链接有效期为2小时,获取到数据后下载到本地 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.PersonName"> | |||||
<summary> | |||||
人员名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.PersonType"> | |||||
<summary> | |||||
人员类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.WarnHand"> | |||||
<summary> | |||||
预警处理状态 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.HandTime"> | |||||
<summary> | |||||
处理时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.AlarmType"> | |||||
<summary> | |||||
预警类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.StartTick"> | |||||
<summary> | |||||
事件发生时间开始 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.EndTick"> | |||||
<summary> | |||||
事件发生时间结束 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.CameraId"> | |||||
<summary> | |||||
摄像头id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.WarnHand"> | |||||
<summary> | |||||
预警处理状态 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.Business.Warn.Service.IWarnInfoService.HandWarn(System.Int64,System.String)"> | |||||
<summary> | |||||
处理预警 | |||||
</summary> | |||||
<param name="id"></param> | |||||
<param name="remark"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.Business.Warn.Service.IWarnInfoService.GetListNoPage(SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch)"> | |||||
<summary> | |||||
获取列表不分页 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.Business.Warn.Service.IWarnInfoService.GetWarnType"> | |||||
<summary> | |||||
获取告警分离列表 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.Add(`0)"> | |||||
<summary> | |||||
添加 | |||||
</summary> | |||||
<param name="vm"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.Delete(System.Int64)"> | |||||
<summary> | |||||
删除 | |||||
</summary> | |||||
<param name="Id"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.Update(`0)"> | |||||
<summary> | |||||
修改 | |||||
</summary> | |||||
<param name="vm"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.GetInfo(System.Int64)"> | |||||
<summary> | |||||
根据id获取信息 | |||||
</summary> | |||||
<param name="Id"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.GetList(`2)"> | |||||
<summary> | |||||
获取列表 | |||||
</summary> | |||||
<param name="search"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.IOrgService"> | |||||
<summary> | |||||
机构服务 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Add(SafeCampus.System.SysOrgAddInput)"> | |||||
<summary> | |||||
添加机构 | |||||
</summary> | |||||
<param name="input">添加参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Copy(SafeCampus.System.SysOrgCopyInput)"> | |||||
<summary> | |||||
复制机构 | |||||
</summary> | |||||
<param name="input">机构复制参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<summary> | |||||
删除机构 | |||||
</summary> | |||||
<param name="input">删除参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Edit(SafeCampus.System.SysOrgEditInput)"> | |||||
<summary> | |||||
编辑机构 | |||||
</summary> | |||||
<param name="input">编辑参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Page(SafeCampus.System.SysOrgPageInput)"> | |||||
<summary> | |||||
机构分页查询 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns>分页信息</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Tree(SafeCampus.System.SysOrgTreeInput)"> | |||||
<summary> | |||||
机构树结构 | |||||
</summary> | |||||
<param name="input">机构选择器</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
机构详情 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.OrgService"> | |||||
<inheritdoc cref="T:SafeCampus.Application.IOrgService"/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Page(SafeCampus.System.SysOrgPageInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Tree(SafeCampus.System.SysOrgTreeInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Add(SafeCampus.System.SysOrgAddInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Edit(SafeCampus.System.SysOrgEditInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Copy(SafeCampus.System.SysOrgCopyInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.CheckInput(SafeCampus.System.SysOrg,System.String)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="sysOrg">参数</param> | |||||
<param name="operate">操作名称</param> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.IPositionService"> | |||||
<summary> | |||||
岗位管理 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Add(SafeCampus.System.PositionAddInput)"> | |||||
<summary> | |||||
添加岗位 | |||||
</summary> | |||||
<param name="input">添加参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<summary> | |||||
删除岗位 | |||||
</summary> | |||||
<param name="input">id列表</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Edit(SafeCampus.System.PositionEditInput)"> | |||||
<summary> | |||||
编辑岗位 | |||||
</summary> | |||||
<param name="input">编辑参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Page(SafeCampus.System.PositionPageInput)"> | |||||
<summary> | |||||
岗位分页查询 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns>分页列表</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Selector(SafeCampus.System.PositionSelectorInput)"> | |||||
<summary> | |||||
岗位选择器 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
岗位详情 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Tree(SafeCampus.System.PositionTreeInput)"> | |||||
<summary> | |||||
岗位树形结构 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.PositionService"> | |||||
<summary> | |||||
<inheritdoc cref="T:SafeCampus.Application.IPositionService"/> | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Page(SafeCampus.System.PositionPageInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Tree(SafeCampus.System.PositionTreeInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Add(SafeCampus.System.PositionAddInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Selector(SafeCampus.System.PositionSelectorInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Edit(SafeCampus.System.PositionEditInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.CheckInput(SafeCampus.System.SysPosition,System.String)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="sysPosition">参数</param> | |||||
<param name="operate">操作名称</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.OwnResource(SafeCampus.Core.BaseIdInput,System.String)"> | |||||
<summary> | |||||
角色拥有资源 | |||||
</summary> | |||||
<param name="input">角色id</param> | |||||
<param name="category">资源类型</param> | |||||
<returns>角色拥有资源信息</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.OwnUser(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
获取角色下的用户 | |||||
</summary> | |||||
<param name="input">角色ID</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Page(SafeCampus.System.RolePageInput)"> | |||||
<summary> | |||||
分页查询角色 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.RoleSelector(SafeCampus.System.RoleSelectorInput)"> | |||||
<summary> | |||||
角色选择器 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Tree(SafeCampus.System.RoleTreeInput)"> | |||||
<summary> | |||||
获取角色树 | |||||
</summary> | |||||
<param name="input">角色树</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
角色详情 | |||||
</summary> | |||||
<param name="input">角色Id</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.ResourceTreeSelector"> | |||||
<summary> | |||||
资源树选择器 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Add(SafeCampus.System.RoleAddInput)"> | |||||
<summary> | |||||
添加角色 | |||||
</summary> | |||||
<param name="input">添加参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Edit(SafeCampus.System.RoleEditInput)"> | |||||
<summary> | |||||
编辑角色 | |||||
</summary> | |||||
<param name="input">编辑参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.GrantResource(SafeCampus.System.GrantResourceInput)"> | |||||
<summary> | |||||
给角色授权 | |||||
</summary> | |||||
<param name="input">授权参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.GrantUser(SafeCampus.System.GrantUserInput)"> | |||||
<summary> | |||||
给角色授权用户 | |||||
</summary> | |||||
<param name="input">授权信息</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<summary> | |||||
删除角色 | |||||
</summary> | |||||
<param name="input">删除参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.RoleService"> | |||||
<inheritdoc cref="T:SafeCampus.Application.IRoleService"/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.OwnResource(SafeCampus.Core.BaseIdInput,System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.OwnUser(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Page(SafeCampus.System.RolePageInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.RoleSelector(SafeCampus.System.RoleSelectorInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Tree(SafeCampus.System.RoleTreeInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.ResourceTreeSelector"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Add(SafeCampus.System.RoleAddInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Edit(SafeCampus.System.RoleEditInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.GrantResource(SafeCampus.System.GrantResourceInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.GrantUser(SafeCampus.System.GrantUserInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.CheckInput(SafeCampus.System.SysRole)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="sysRole"></param> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.GetRoleGrantResourceMenus(System.Int64,System.Collections.Generic.List{SafeCampus.System.SysResource},System.Collections.Generic.List{SafeCampus.System.SysResource})"> | |||||
<summary> | |||||
获取授权菜单 | |||||
</summary> | |||||
<param name="moduleId">模块Id</param> | |||||
<param name="ownMenuList">拥有菜单列表</param> | |||||
<param name="ownButtonList">拥有权限按钮列表</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.BizUserImportInput"> | |||||
<summary> | |||||
业务用户导入 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.BizUserExportOutput"> | |||||
<summary> | |||||
业务用户导出 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.IUserService"> | |||||
<summary> | |||||
人员管理服务 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Selector(SafeCampus.System.UserSelectorInput)"> | |||||
<summary> | |||||
人员选择器 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns>人员列表</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Page(SafeCampus.System.UserPageInput)"> | |||||
<summary> | |||||
用户分页查询 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns>用户分页列表</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.OwnRole(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
获取用户拥有角色 | |||||
</summary> | |||||
<param name="input">用户ID</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.RoleSelector(SafeCampus.System.RoleSelectorInput)"> | |||||
<summary> | |||||
角色选择器 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
人员详情 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Add(SafeCampus.System.UserAddInput)"> | |||||
<summary> | |||||
添加用户 | |||||
</summary> | |||||
<param name="input">添加参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Edit(SafeCampus.System.UserEditInput)"> | |||||
<summary> | |||||
编辑 | |||||
</summary> | |||||
<param name="input">编辑参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.DisableUser(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
禁用用户 | |||||
</summary> | |||||
<param name="input">用户Id</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.EnableUser(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
启用用户 | |||||
</summary> | |||||
<param name="input">用户Id</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.ResetPassword(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
重置密码 | |||||
</summary> | |||||
<param name="input">用户Id</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.GrantRole(SafeCampus.System.UserGrantRoleInput)"> | |||||
<summary> | |||||
给用户授权角色 | |||||
</summary> | |||||
<param name="input">授权参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<summary> | |||||
删除用户 | |||||
</summary> | |||||
<param name="input">Id列表</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Preview(SafeCampus.System.ImportPreviewInput)"> | |||||
<summary> | |||||
导入预览 | |||||
</summary> | |||||
<param name="input">导入参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Template"> | |||||
<summary> | |||||
获取导入模板 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Export(SafeCampus.System.UserPageInput)"> | |||||
<summary> | |||||
导出 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Import(SafeCampus.System.ImportResultInput{SafeCampus.Application.BizUserImportInput})"> | |||||
<summary> | |||||
导入数据 | |||||
</summary> | |||||
<param name="input">数据</param> | |||||
<returns>导入结果</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Edits(SafeCampus.System.BatchEditInput)"> | |||||
<summary> | |||||
批量编辑 | |||||
</summary> | |||||
<param name="input">编辑字段信息</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.UserService"> | |||||
<summary> | |||||
<inheritdoc cref="T:SafeCampus.Application.IUserService"/> | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Page(SafeCampus.System.UserPageInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.OwnRole(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Selector(SafeCampus.System.UserSelectorInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.RoleSelector(SafeCampus.System.RoleSelectorInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Add(SafeCampus.System.UserAddInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Edit(SafeCampus.System.UserEditInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Edits(SafeCampus.System.BatchEditInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.DisableUser(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.EnableUser(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.GrantRole(SafeCampus.System.UserGrantRoleInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.ResetPassword(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Template"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Preview(SafeCampus.System.ImportPreviewInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Export(SafeCampus.System.UserPageInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Import(SafeCampus.System.ImportResultInput{SafeCampus.Application.BizUserImportInput})"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.CheckInput(SafeCampus.System.SysUser,System.String)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="sysUser"></param> | |||||
<param name="operate">操作类型</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.CheckInput(System.Int64,System.String)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="userId">用户ID</param> | |||||
<param name="operate">操作</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.CheckImport(System.Collections.Generic.List{SafeCampus.Application.BizUserImportInput},System.Collections.Generic.List{System.Int64},System.Boolean)"> | |||||
<summary> | |||||
检查导入数据 | |||||
</summary> | |||||
<param name="data">数据</param> | |||||
<param name="dataScope">数据范围ID数组</param> | |||||
<param name="clearError">是否初始化错误</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.GetQuery(SafeCampus.System.UserPageInput)"> | |||||
<summary> | |||||
获取查询条件 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.Startup"> | |||||
<summary> | |||||
AppStartup启动类 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Startup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> | |||||
<summary> | |||||
ConfigureServices中不能解析服务,比如App.GetService(),尤其是不能在ConfigureServices中获取诸如缓存等数据进行初始化,应该在Configure中进行 | |||||
服务都还没初始化完成,会导致内存中存在多份 IOC 容器!! | |||||
正确应该在 Configure 中,这个时候服务(IServiceCollection 已经完成 BuildServiceProvider() 操作了 | |||||
</summary> | |||||
<param name="services"></param> | |||||
</member> | |||||
</members> | |||||
</doc> |
@@ -0,0 +1,516 @@ | |||||
<?xml version="1.0"?> | |||||
<doc> | |||||
<assembly> | |||||
<name>SafeCampus.Cache</name> | |||||
</assembly> | |||||
<members> | |||||
<member name="T:SafeCampus.Cache.CacheConst"> | |||||
<summary> | |||||
Redis常量 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Cache.CacheConst.CACHE_PREFIX_WEB"> | |||||
<summary> | |||||
Redis Key前缀(可删除) | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Cache.CacheConst.CACHE_PREFIX"> | |||||
<summary> | |||||
Redis Key前缀(需要持久化,不随系统重启删除) | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Cache.CacheConst.CACHE_HASH"> | |||||
<summary> | |||||
Redis Hash类型 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Cache.CacheConst.CACHE_USER_TOKEN"> | |||||
<summary> | |||||
用户Token缓存Key | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Cache.ISimpleCacheService"> | |||||
<summary> | |||||
缓存服务 | |||||
</summary> | |||||
<summary> | |||||
缓存服务 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.HashAdd``1(System.String,System.String,``0)"> | |||||
<summary> | |||||
添加一条数据到HashMap | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="key">键</param> | |||||
<param name="hashKey">hash列表里的Key</param> | |||||
<param name="value">值</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.HashSet``1(System.String,System.Collections.Generic.Dictionary{System.String,``0})"> | |||||
<summary> | |||||
添加多条数据到HashMap | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="key">键</param> | |||||
<param name="dic">键值对字典</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.HashDel``1(System.String,System.String[])"> | |||||
<summary> | |||||
从HashMap中删除数据 | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="key">键</param> | |||||
<param name="fields">hash键列表</param> | |||||
<returns>执行结果</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.HashGet``1(System.String,System.String[])"> | |||||
<summary> | |||||
根据键获取hash列表中的值 | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="key">键</param> | |||||
<param name="fields">hash键列表</param> | |||||
<returns>数据列表</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.HashGetOne``1(System.String,System.String)"> | |||||
<summary> | |||||
根据键获取hash列表中的值 | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="key">键</param> | |||||
<param name="field">hash键</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.HashGetAll``1(System.String)"> | |||||
<summary> | |||||
获取所有键值对 | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="key">键</param> | |||||
<returns>数据字典</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.ContainsKey(System.String)"> | |||||
<summary>是否包含缓存项</summary> | |||||
<param name="key"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Set``1(System.String,``0,System.Int32)"> | |||||
<summary>设置缓存项</summary> | |||||
<param name="key">键</param> | |||||
<param name="value">值</param> | |||||
<param name="expire">过期时间,秒。小于0时采用默认缓存时间</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Set``1(System.String,``0,System.TimeSpan)"> | |||||
<summary>设置缓存项</summary> | |||||
<param name="key">键</param> | |||||
<param name="value">值</param> | |||||
<param name="expire">过期时间</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Get``1(System.String)"> | |||||
<summary>获取缓存项</summary> | |||||
<param name="key">键</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Remove(System.String[])"> | |||||
<summary>批量移除缓存项</summary> | |||||
<param name="keys">键集合</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Clear"> | |||||
<summary>清空所有缓存项</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.SetExpire(System.String,System.TimeSpan)"> | |||||
<summary>设置缓存项有效期</summary> | |||||
<param name="key">键</param> | |||||
<param name="expire">过期时间</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.GetExpire(System.String)"> | |||||
<summary>获取缓存项有效期</summary> | |||||
<param name="key">键</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.DelByPattern(System.String)"> | |||||
<summary> | |||||
模糊删除 | |||||
</summary> | |||||
<param name="pattern">匹配关键字</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.GetAll``1(System.Collections.Generic.IEnumerable{System.String})"> | |||||
<summary>批量获取缓存项</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="keys"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.SetAll``1(System.Collections.Generic.IDictionary{System.String,``0},System.Int32)"> | |||||
<summary>批量设置缓存项</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="values"></param> | |||||
<param name="expire">过期时间,秒。小于0时采用默认缓存时间</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.GetList``1(System.String)"> | |||||
<summary>获取列表</summary> | |||||
<typeparam name="T">元素类型</typeparam> | |||||
<param name="key">键</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.GetDictionary``1(System.String)"> | |||||
<summary>获取哈希</summary> | |||||
<typeparam name="T">元素类型</typeparam> | |||||
<param name="key">键</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.GetQueue``1(System.String)"> | |||||
<summary>获取队列</summary> | |||||
<typeparam name="T">元素类型</typeparam> | |||||
<param name="key">键</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.GetStack``1(System.String)"> | |||||
<summary>获取栈</summary> | |||||
<typeparam name="T">元素类型</typeparam> | |||||
<param name="key">键</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.GetSet``1(System.String)"> | |||||
<summary>获取Set</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="key"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Add``1(System.String,``0,System.Int32)"> | |||||
<summary>添加,已存在时不更新</summary> | |||||
<typeparam name="T">值类型</typeparam> | |||||
<param name="key">键</param> | |||||
<param name="value">值</param> | |||||
<param name="expire">过期时间,秒。小于0时采用默认缓存时间</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Replace``1(System.String,``0)"> | |||||
<summary>设置新值并获取旧值,原子操作</summary> | |||||
<remarks> | |||||
常常配合Increment使用,用于累加到一定数后重置归零,又避免多线程冲突。 | |||||
</remarks> | |||||
<typeparam name="T">值类型</typeparam> | |||||
<param name="key">键</param> | |||||
<param name="value">值</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.TryGetValue``1(System.String,``0@)"> | |||||
<summary>尝试获取指定键,返回是否包含值。有可能缓存项刚好是默认值,或者只是反序列化失败,解决缓存穿透问题</summary> | |||||
<typeparam name="T">值类型</typeparam> | |||||
<param name="key">键</param> | |||||
<param name="value">值。即使有值也不一定能够返回,可能缓存项刚好是默认值,或者只是反序列化失败</param> | |||||
<returns>返回是否包含值,即使反序列化失败</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Increment(System.String,System.Int64)"> | |||||
<summary>累加,原子操作</summary> | |||||
<param name="key">键</param> | |||||
<param name="value">变化量</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Increment(System.String,System.Double)"> | |||||
<summary>累加,原子操作</summary> | |||||
<param name="key">键</param> | |||||
<param name="value">变化量</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Decrement(System.String,System.Int64)"> | |||||
<summary>递减,原子操作</summary> | |||||
<param name="key">键</param> | |||||
<param name="value">变化量</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Decrement(System.String,System.Double)"> | |||||
<summary>递减,原子操作</summary> | |||||
<param name="key">键</param> | |||||
<param name="value">变化量</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Commit"> | |||||
<summary>提交变更。部分提供者需要刷盘</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.AcquireLock(System.String,System.Int32)"> | |||||
<summary>申请分布式锁</summary> | |||||
<param name="key">要锁定的key</param> | |||||
<param name="msTimeout">锁等待时间,单位毫秒</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.AcquireLock(System.String,System.Int32,System.Int32,System.Boolean)"> | |||||
<summary>申请分布式锁</summary> | |||||
<param name="key">要锁定的key</param> | |||||
<param name="msTimeout">锁等待时间,申请加锁时如果遇到冲突则等待的最大时间,单位毫秒</param> | |||||
<param name="msExpire">锁过期时间,超过该时间如果没有主动释放则自动释放锁,必须整数秒,单位毫秒</param> | |||||
<param name="throwOnFailure">失败时是否抛出异常,如果不抛出异常,可通过返回null得知申请锁失败</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Cache.CacheSettingsOptions"> | |||||
<summary> | |||||
缓存设置 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Cache.CacheSettingsOptions.UseRedis"> | |||||
<summary> | |||||
使用Redis | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Cache.CacheSettingsOptions.RedisSettings"> | |||||
<summary> | |||||
Redis设置 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Cache.RedisSettings"> | |||||
<summary> | |||||
Redis设置 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Cache.RedisSettings.Address"> | |||||
<summary> | |||||
连接地址 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Cache.RedisSettings.Password"> | |||||
<summary> | |||||
密码 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Cache.RedisSettings.Db"> | |||||
<summary> | |||||
数据库 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Cache.RedisSettings.ClearRedis"> | |||||
<summary> | |||||
是否每次启动都清空 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Cache.MemoryCacheService"> | |||||
<summary> | |||||
<inheritdoc cref="T:SafeCampus.Cache.ISimpleCacheService"/> | |||||
内存缓存 | |||||
</summary> | |||||
<summary> | |||||
<inheritdoc cref="T:SafeCampus.Cache.ISimpleCacheService"/> | |||||
内存缓存 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.HashAdd``1(System.String,System.String,``0)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.HashSet``1(System.String,System.Collections.Generic.Dictionary{System.String,``0})"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.HashDel``1(System.String,System.String[])"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.HashGet``1(System.String,System.String[])"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.HashGetOne``1(System.String,System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.HashGetAll``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Get``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Remove(System.String[])"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Set``1(System.String,``0,System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Set``1(System.String,``0,System.TimeSpan)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.SetExpire(System.String,System.TimeSpan)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.GetExpire(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.ContainsKey(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Clear"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.DelByPattern(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.GetAll``1(System.Collections.Generic.IEnumerable{System.String})"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.SetAll``1(System.Collections.Generic.IDictionary{System.String,``0},System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.GetDictionary``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.GetQueue``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.GetStack``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.GetSet``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Add``1(System.String,``0,System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.GetList``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Replace``1(System.String,``0)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.TryGetValue``1(System.String,``0@)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Decrement(System.String,System.Int64)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Decrement(System.String,System.Double)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Increment(System.String,System.Int64)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Increment(System.String,System.Double)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Commit"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.AcquireLock(System.String,System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.AcquireLock(System.String,System.Int32,System.Int32,System.Boolean)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="T:SafeCampus.Cache.RedisCacheService"> | |||||
<summary> | |||||
<inheritdoc cref="T:SafeCampus.Cache.ISimpleCacheService"/> | |||||
Redis缓存 | |||||
</summary> | |||||
<summary> | |||||
<inheritdoc cref="T:SafeCampus.Cache.ISimpleCacheService"/> | |||||
Redis缓存 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.HashAdd``1(System.String,System.String,``0)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.HashSet``1(System.String,System.Collections.Generic.Dictionary{System.String,``0})"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.HashDel``1(System.String,System.String[])"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.HashGet``1(System.String,System.String[])"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.HashGetOne``1(System.String,System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.HashGetAll``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Get``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Remove(System.String[])"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Set``1(System.String,``0,System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Set``1(System.String,``0,System.TimeSpan)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.SetExpire(System.String,System.TimeSpan)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.GetExpire(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.ContainsKey(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Clear"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.DelByPattern(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.GetAll``1(System.Collections.Generic.IEnumerable{System.String})"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.SetAll``1(System.Collections.Generic.IDictionary{System.String,``0},System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.GetDictionary``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.GetQueue``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.GetStack``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.GetSet``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Add``1(System.String,``0,System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.GetList``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Replace``1(System.String,``0)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.TryGetValue``1(System.String,``0@)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Decrement(System.String,System.Int64)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Decrement(System.String,System.Double)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Increment(System.String,System.Int64)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Increment(System.String,System.Double)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Commit"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.AcquireLock(System.String,System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.AcquireLock(System.String,System.Int32,System.Int32,System.Boolean)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="T:SafeCampus.Cache.Startup"> | |||||
<summary> | |||||
AppStartup启动类 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.Startup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> | |||||
<summary> | |||||
ConfigureServices中不能解析服务,比如App.GetService(),尤其是不能在ConfigureServices中获取诸如缓存等数据进行初始化,应该在Configure中进行 | |||||
服务都还没初始化完成,会导致内存中存在多份 IOC 容器!! | |||||
正确应该在 Configure 中,这个时候服务(IServiceCollection 已经完成 BuildServiceProvider() 操作了 | |||||
</summary> | |||||
<param name="services"></param> | |||||
</member> | |||||
</members> | |||||
</doc> |
@@ -0,0 +1,134 @@ | |||||
<?xml version="1.0"?> | |||||
<doc> | |||||
<assembly> | |||||
<name>SafeCampus.Plugin.Aop</name> | |||||
</assembly> | |||||
<members> | |||||
<member name="T:SafeCampus.Plugin.Aop.GlobalDispatchProxy"> | |||||
<summary> | |||||
Aop | |||||
这里没有继承IGlobalDispatchProxy是因为IGlobalDispatchProxy会把一些没有必要的方法也aop了 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Plugin.Aop.GlobalDispatchProxy.Target"> | |||||
<summary> | |||||
当前服务实例 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Plugin.Aop.GlobalDispatchProxy.Services"> | |||||
<summary> | |||||
服务提供器,可以用来解析服务,如:Services.GetService() | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Plugin.Aop.GlobalDispatchProxy.Invoke(System.Reflection.MethodInfo,System.Object[])"> | |||||
<summary> | |||||
方法 | |||||
</summary> | |||||
<param name="method"></param> | |||||
<param name="args"></param> | |||||
<returns></returns> | |||||
<exception cref="T:System.NotImplementedException"></exception> | |||||
</member> | |||||
<member name="M:SafeCampus.Plugin.Aop.GlobalDispatchProxy.InvokeAsync(System.Reflection.MethodInfo,System.Object[])"> | |||||
<summary> | |||||
异步无返回值 | |||||
</summary> | |||||
<param name="method"></param> | |||||
<param name="args"></param> | |||||
<returns></returns> | |||||
<exception cref="T:System.NotImplementedException"></exception> | |||||
</member> | |||||
<member name="M:SafeCampus.Plugin.Aop.GlobalDispatchProxy.InvokeAsyncT``1(System.Reflection.MethodInfo,System.Object[])"> | |||||
<summary> | |||||
异步带返回值 | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="method"></param> | |||||
<param name="args"></param> | |||||
<returns></returns> | |||||
<exception cref="T:System.NotImplementedException"></exception> | |||||
</member> | |||||
<member name="M:SafeCampus.Plugin.Aop.GlobalDispatchProxy.After(System.Reflection.MethodInfo,System.Object,System.Object[])"> | |||||
<summary> | |||||
方法执行之后 | |||||
</summary> | |||||
<param name="method">方法</param> | |||||
<param name="returnValue">返回值</param> | |||||
<param name="args">参数列表</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Plugin.Aop.GlobalDispatchProxy.Before(System.Reflection.MethodInfo,System.Object[])"> | |||||
<summary> | |||||
方法执行之前 | |||||
</summary> | |||||
<param name="method">方法</param> | |||||
<param name="args">参数列表</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Plugin.Aop.GlobalDispatchProxy.CheckCache(System.Reflection.MethodInfo,System.Object[])"> | |||||
<summary> | |||||
检查缓存里是否有数据 | |||||
</summary> | |||||
<param name="method">方法</param> | |||||
<param name="args">参数列表</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Plugin.Aop.GlobalDispatchProxy.RecordCache(System.Reflection.MethodInfo,System.Object[],System.Object)"> | |||||
<summary> | |||||
写数据到缓存 | |||||
</summary> | |||||
<param name="method">方法</param> | |||||
<param name="args">参数列表</param> | |||||
<param name="returnValue">返回值</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Plugin.Aop.GlobalDispatchProxy.CustomCacheKey(System.String,System.Reflection.MethodInfo,System.Object[])"> | |||||
<summary> | |||||
自定义缓存Key | |||||
</summary> | |||||
<param name="prefix">前缀</param> | |||||
<param name="method">方法</param> | |||||
<param name="args">参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Plugin.Aop.GetCacheKey"> | |||||
<summary> | |||||
获取缓存Key | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Plugin.Aop.GetCacheKey.GetArgumentValue(System.Object)"> | |||||
<summary> | |||||
object 转 string | |||||
</summary> | |||||
<param name="arg"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Plugin.Aop.CacheAttribute"> | |||||
<summary> | |||||
缓存结果特性 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Plugin.Aop.CacheAttribute.KeyPrefix"> | |||||
<summary> | |||||
RedisKey前缀 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Plugin.Aop.CacheAttribute.AbsoluteExpiration"> | |||||
<summary> | |||||
过期时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Plugin.Aop.CacheAttribute.CustomKeyValue"> | |||||
<summary> | |||||
自定义KEY | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Plugin.Aop.CacheAttribute.IsDelete"> | |||||
<summary> | |||||
是否删除 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Plugin.Aop.CacheAttribute.StoreType"> | |||||
<summary> | |||||
存储类型 | |||||
</summary> | |||||
</member> | |||||
</members> | |||||
</doc> |
@@ -0,0 +1,665 @@ | |||||
<?xml version="1.0"?> | |||||
<doc> | |||||
<assembly> | |||||
<name>SafeCampus.SqlSugar</name> | |||||
</assembly> | |||||
<members> | |||||
<member name="T:SafeCampus.SqlSugar.CommonStatusConst"> | |||||
<summary> | |||||
通用状态常量 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.CommonStatusConst.ENABLE"> | |||||
<summary> | |||||
启用 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.CommonStatusConst.DISABLED"> | |||||
<summary> | |||||
停用 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.EffTypeConst"> | |||||
<summary> | |||||
前端控件作用类型常量 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.EffTypeConst.INPUT"> | |||||
<summary> | |||||
输入框 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.EffTypeConst.TEXTAREA"> | |||||
<summary> | |||||
文本框 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.EffTypeConst.SELECT"> | |||||
<summary> | |||||
下拉框 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.EffTypeConst.RADIO"> | |||||
<summary> | |||||
单选框 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.EffTypeConst.CHECKBOX"> | |||||
<summary> | |||||
复选框 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.EffTypeConst.DATEPICKER"> | |||||
<summary> | |||||
日期选择器 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.EffTypeConst.TIMEPICKER"> | |||||
<summary> | |||||
时间选择器 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.EffTypeConst.INPUT_NUMBER"> | |||||
<summary> | |||||
数字输入框 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.EffTypeConst.SLIDER"> | |||||
<summary> | |||||
滑动数字条 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.EffTypeConst.SWITCH"> | |||||
<summary> | |||||
下拉框 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.SqlSugarConst"> | |||||
<summary> | |||||
SqlSugar系统常量类 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.SqlSugarConst.DB_DEFAULT"> | |||||
<summary> | |||||
默认库ConfigId | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.SqlSugarConst.DB_PRIMARY_KEY"> | |||||
<summary> | |||||
默认表主键 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.SqlSugarConst.N_VAR_CHAR_MAX"> | |||||
<summary> | |||||
varchar(max) | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.SqlSugarConst.N_VAR_CHAR_4000"> | |||||
<summary> | |||||
varchar(4000) | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.SqlSugarConst.N_VAR_CHAR_20"> | |||||
<summary> | |||||
varchar(20) | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.SqlSugarConst.LONG_TEXT"> | |||||
<summary> | |||||
mysql的longtext | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.SqlSugarConst.TEXT"> | |||||
<summary> | |||||
sqlite的text | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.DbContext"> | |||||
<summary> | |||||
数据库上下文对象 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.DbContext.DB_CONFIGS"> | |||||
<summary> | |||||
读取配置文件中的 ConnectionStrings:SqlSugar 配置节点 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.DbContext.DB"> | |||||
<summary> | |||||
SqlSugar 数据库实例 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.DbContext.ExternalServicesSetting(SqlSugar.SqlSugarScopeProvider,SafeCampus.SqlSugar.SqlSugarConfig)"> | |||||
<summary> | |||||
实体拓展配置,自定义类型多库兼容 | |||||
</summary> | |||||
<param name="db"></param> | |||||
<param name="config"></param> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.DbContext.AopSetting(SqlSugar.SqlSugarScopeProvider)"> | |||||
<summary> | |||||
Aop设置 | |||||
</summary> | |||||
<param name="db"></param> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.DbContext.MoreSetting(SqlSugar.SqlSugarScopeProvider,SqlSugar.DbType)"> | |||||
<summary> | |||||
实体更多配置 | |||||
</summary> | |||||
<param name="db">db</param> | |||||
<param name="dbType">数据库类型</param> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.DbContext.FilterSetting(SqlSugar.SqlSugarScopeProvider)"> | |||||
<summary> | |||||
过滤器设置 | |||||
</summary> | |||||
<param name="db"></param> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.DbContext.LogicDeletedEntityFilter(SqlSugar.SqlSugarScopeProvider)"> | |||||
<summary> | |||||
假删除过滤器 | |||||
</summary> | |||||
<param name="db"></param> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.DbRepository`1"> | |||||
<summary> | |||||
仓储模式对象 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.DbRepository`1.InsertOrBulkCopy(System.Collections.Generic.List{`0},System.Int32)"> | |||||
<summary> | |||||
批量插入判断走普通导入还是大数据 | |||||
</summary> | |||||
<param name="data">数据</param> | |||||
<param name="threshold">阈值</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.DbRepository`1.GetListAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{`0,`0}})"> | |||||
<summary> | |||||
获取列表指定多个字段 | |||||
</summary> | |||||
<param name="whereExpression">查询条件</param> | |||||
<param name="selectExpression">查询字段</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.DbRepository`1.GetListAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{`0,System.String}})"> | |||||
<summary> | |||||
获取列表指定单个字段 | |||||
</summary> | |||||
<param name="whereExpression">查询条件</param> | |||||
<param name="selectExpression">查询字段</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.DbRepository`1.GetListAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{`0,System.Int64}})"> | |||||
<summary> | |||||
获取列表指定单个字段 | |||||
</summary> | |||||
<param name="whereExpression">查询条件</param> | |||||
<param name="selectExpression">查询字段</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.DbRepository`1.GetFirstAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{`0,System.String}})"> | |||||
<summary> | |||||
获取指定表的单个字段 | |||||
</summary> | |||||
<param name="whereExpression">查询条件</param> | |||||
<param name="selectExpression">查询字段</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.DbRepository`1.GetFirstAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{`0,System.Int64}})"> | |||||
<summary> | |||||
获取指定表的单个字段 | |||||
</summary> | |||||
<param name="whereExpression">查询条件</param> | |||||
<param name="selectExpression">查询字段</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.DbRepository`1.GetFirstSplitTableAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}},System.DateTime,System.DateTime)"> | |||||
<summary> | |||||
根据条件查询获取自动分表的单个数据 | |||||
</summary> | |||||
<param name="whereExpression">条件表达式</param> | |||||
<param name="startTime">开始时间</param> | |||||
<param name="endTime">结束时间</param> | |||||
<returns>实体</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.DbRepository`1.GetFirstSplitTableAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}},System.Func{System.Collections.Generic.List{SqlSugar.SplitTableInfo},System.Collections.Generic.IEnumerable{SqlSugar.SplitTableInfo}})"> | |||||
<summary> | |||||
根据条件查询获取自动分表的单个数据 | |||||
</summary> | |||||
<param name="whereExpression">条件表达式</param> | |||||
<param name="getTableNamesFunc">分表查询表达式</param> | |||||
<returns>实体</returns> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.SqlSugarConfig"> | |||||
<summary> | |||||
SqlSugar数据库配置 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarConfig.IsUnderLine"> | |||||
<summary> | |||||
是否驼峰转下划线 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.LinqPagedList`1"> | |||||
<summary> | |||||
Linq分页泛型集合 | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.PrimaryKeyEntity"> | |||||
<summary> | |||||
主键实体基类 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.PrimaryKeyEntity.Id"> | |||||
<summary> | |||||
主键Id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.PrimaryKeyEntity.ExtJson"> | |||||
<summary> | |||||
拓展信息 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.BaseEntity"> | |||||
<summary> | |||||
框架实体基类 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.BaseEntity.CreateTime"> | |||||
<summary> | |||||
创建时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.BaseEntity.UpdateTime"> | |||||
<summary> | |||||
更新时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.BaseEntity.CreateUserId"> | |||||
<summary> | |||||
创建者Id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.BaseEntity.UpdateUserId"> | |||||
<summary> | |||||
修改者Id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.BaseEntity.CreateUser"> | |||||
<summary> | |||||
创建人 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.BaseEntity.UpdateUser"> | |||||
<summary> | |||||
更新人 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.BaseEntity.IsDelete"> | |||||
<summary> | |||||
软删除 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.DataEntityBase"> | |||||
<summary> | |||||
业务数据实体基类(数据权限) | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.DataEntityBase.CreateOrgId"> | |||||
<summary> | |||||
创建者部门Id | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.ISqlSugarEntitySeedData`1"> | |||||
<summary> | |||||
实体种子数据接口 | |||||
</summary> | |||||
<typeparam name="TEntity"></typeparam> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.ISqlSugarEntitySeedData`1.SeedData"> | |||||
<summary> | |||||
种子数据 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.SqlSugarPageExtension"> | |||||
<summary> | |||||
SqlSugar分页拓展类 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarPageExtension.ToPagedList``1(SqlSugar.ISugarQueryable{``0},System.Int32,System.Int32)"> | |||||
<summary> | |||||
SqlSugar分页扩展 | |||||
</summary> | |||||
<typeparam name="TEntity"></typeparam> | |||||
<param name="queryable"></param> | |||||
<param name="pageNum"></param> | |||||
<param name="pageSize"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarPageExtension.ToPagedListAsync``1(SqlSugar.ISugarQueryable{``0},System.Int32,System.Int32)"> | |||||
<summary> | |||||
SqlSugar分页扩展 | |||||
</summary> | |||||
<typeparam name="TEntity"></typeparam> | |||||
<param name="queryable"></param> | |||||
<param name="pageNum"></param> | |||||
<param name="pageSize"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarPageExtension.ToPagedListAsyncMapster``2(SqlSugar.ISugarQueryable{``0},System.Int32,System.Int32)"> | |||||
<summary> | |||||
SqlSugar分页扩展 | |||||
</summary> | |||||
<typeparam name="TEntity"></typeparam> | |||||
<param name="queryable"></param> | |||||
<param name="pageNum"></param> | |||||
<param name="pageSize"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarPageExtension.ToPagedList``2(SqlSugar.ISugarQueryable{``0},System.Int32,System.Int32,System.Linq.Expressions.Expression{System.Func{``0,``1}})"> | |||||
<summary> | |||||
SqlSugar分页扩展 | |||||
</summary> | |||||
<typeparam name="TEntity"></typeparam> | |||||
<typeparam name="TResult"></typeparam> | |||||
<param name="queryable"></param> | |||||
<param name="pageNum"></param> | |||||
<param name="pageSize"></param> | |||||
<param name="expression"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarPageExtension.ToPagedListAsync``2(SqlSugar.ISugarQueryable{``0},System.Int32,System.Int32,System.Linq.Expressions.Expression{System.Func{``0,``1}})"> | |||||
<summary> | |||||
SqlSugar分页扩展 | |||||
</summary> | |||||
<typeparam name="TEntity"></typeparam> | |||||
<typeparam name="TResult"></typeparam> | |||||
<param name="queryable"></param> | |||||
<param name="pageNum"></param> | |||||
<param name="pageSize"></param> | |||||
<param name="expression"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarPageExtension.LinqPagedList``1(System.Collections.Generic.List{``0},System.Int32,System.Int32)"> | |||||
<summary> | |||||
分页查询 | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="list">数据列表</param> | |||||
<param name="pageNum">当前页</param> | |||||
<param name="pageSize">每页数量</param> | |||||
<returns>分页集合</returns> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.SqlSugarPagedList`1"> | |||||
<summary> | |||||
SqlSugar 分页泛型集合 | |||||
</summary> | |||||
<typeparam name="TEntity"></typeparam> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarPagedList`1.PageNum"> | |||||
<summary> | |||||
页码 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarPagedList`1.PageSize"> | |||||
<summary> | |||||
数量 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarPagedList`1.Total"> | |||||
<summary> | |||||
总条数 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarPagedList`1.Pages"> | |||||
<summary> | |||||
总页数 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarPagedList`1.List"> | |||||
<summary> | |||||
当前页集合 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarPagedList`1.HasPrevPages"> | |||||
<summary> | |||||
是否有上一页 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarPagedList`1.HasNextPages"> | |||||
<summary> | |||||
是否有下一页 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.SqlSugarUnitOfWork"> | |||||
<summary> | |||||
SqlSugar 事务和工作单元 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.SqlSugar.SqlSugarUnitOfWork._sqlSugarClient"> | |||||
<summary> | |||||
SqlSugar 对象 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarUnitOfWork.#ctor(SqlSugar.ISqlSugarClient,Microsoft.Extensions.Logging.ILogger{SafeCampus.SqlSugar.SqlSugarUnitOfWork})"> | |||||
<summary> | |||||
构造函数 | |||||
</summary> | |||||
<param name="sqlSugarClient"></param> | |||||
<param name="logger"></param> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarUnitOfWork.BeginTransaction(Microsoft.AspNetCore.Mvc.Filters.FilterContext,MoYu.DatabaseAccessor.UnitOfWorkAttribute)"> | |||||
<summary> | |||||
开启工作单元处理 | |||||
</summary> | |||||
<param name="context"></param> | |||||
<param name="unitOfWork"></param> | |||||
<exception cref="T:System.NotImplementedException"></exception> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarUnitOfWork.CommitTransaction(Microsoft.AspNetCore.Mvc.Filters.FilterContext,MoYu.DatabaseAccessor.UnitOfWorkAttribute)"> | |||||
<summary> | |||||
提交工作单元处理 | |||||
</summary> | |||||
<param name="resultContext"></param> | |||||
<param name="unitOfWork"></param> | |||||
<exception cref="T:System.NotImplementedException"></exception> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarUnitOfWork.RollbackTransaction(Microsoft.AspNetCore.Mvc.Filters.FilterContext,MoYu.DatabaseAccessor.UnitOfWorkAttribute)"> | |||||
<summary> | |||||
回滚工作单元处理 | |||||
</summary> | |||||
<param name="resultContext"></param> | |||||
<param name="unitOfWork"></param> | |||||
<exception cref="T:System.NotImplementedException"></exception> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarUnitOfWork.OnCompleted(Microsoft.AspNetCore.Mvc.Filters.FilterContext,Microsoft.AspNetCore.Mvc.Filters.FilterContext)"> | |||||
<summary> | |||||
执行完毕(无论成功失败) | |||||
</summary> | |||||
<param name="context"></param> | |||||
<param name="resultContext"></param> | |||||
<exception cref="T:System.NotImplementedException"></exception> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.Startup"> | |||||
<summary> | |||||
AppStartup启动类 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.Startup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> | |||||
<summary> | |||||
ConfigureServices中不能解析服务,比如App.GetService(),尤其是不能在ConfigureServices中获取诸如缓存等数据进行初始化,应该在Configure中进行 | |||||
服务都还没初始化完成,会导致内存中存在多份 IOC 容器!! | |||||
正确应该在 Configure 中,这个时候服务(IServiceCollection 已经完成 BuildServiceProvider() 操作了 | |||||
</summary> | |||||
<param name="services"></param> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.Startup.CheckSameConfigId"> | |||||
<summary> | |||||
检查是否有相同的ConfigId | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.CodeFirstUtils"> | |||||
<summary> | |||||
CodeFirst功能类 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.CodeFirstUtils.CodeFirst(SafeCampus.Core.BaseOptions,System.String)"> | |||||
<summary> | |||||
CodeFirst生成数据库表结构和种子数据 | |||||
</summary> | |||||
<param name="options">codefirst选项</param> | |||||
<param name="assemblyName">程序集名称</param> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.CodeFirstUtils.InitTable(System.String)"> | |||||
<summary> | |||||
初始化数据库表结构 | |||||
</summary> | |||||
<param name="assemblyName">程序集名称</param> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.CodeFirstUtils.InitSeedData(System.String)"> | |||||
<summary> | |||||
初始化种子数据 | |||||
</summary> | |||||
<param name="assemblyName">程序集名称</param> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.CodeFirstUtils.HasImplementedRawGeneric(System.Type,System.Type)"> | |||||
<summary> | |||||
判断类型是否实现某个泛型 | |||||
</summary> | |||||
<param name="type">类型</param> | |||||
<param name="generic">泛型类型</param> | |||||
<returns>bool</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.CodeFirstUtils.ToDataTable``1(System.Collections.Generic.List{``0})"> | |||||
<summary> | |||||
List转DataTable | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="list"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.CodeFirstUtils.IsIgnoreColumn(System.Reflection.PropertyInfo)"> | |||||
<summary> | |||||
排除SqlSugar忽略的列 | |||||
</summary> | |||||
<param name="pi"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.SqlSugarColumnInfo"> | |||||
<summary> | |||||
SqlSugar字段信息 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarColumnInfo.ColumnName"> | |||||
<summary> | |||||
字段名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarColumnInfo.IsPrimaryKey"> | |||||
<summary> | |||||
是否主键 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarColumnInfo.DataType"> | |||||
<summary> | |||||
字段类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarColumnInfo.ColumnDescription"> | |||||
<summary> | |||||
字段注释 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.SqlSugarTableInfo"> | |||||
<summary> | |||||
SqlSugar表信息 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarTableInfo.ConfigId"> | |||||
<summary> | |||||
所属库 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarTableInfo.TableName"> | |||||
<summary> | |||||
表名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarTableInfo.EntityName"> | |||||
<summary> | |||||
实体名 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarTableInfo.TableDescription"> | |||||
<summary> | |||||
表注释 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SqlSugarTableInfo.Columns"> | |||||
<summary> | |||||
表字段 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.SeedDataUtil"> | |||||
<summary> | |||||
种子数据工具类 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.SeedDataRecords`1"> | |||||
<summary> | |||||
种子数据格式实体类,遵循Navicat导出json格式 | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
</member> | |||||
<member name="P:SafeCampus.SqlSugar.SeedDataRecords`1.Records"> | |||||
<summary> | |||||
数据 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.SqlSugar.SqlSugarUtils"> | |||||
<summary> | |||||
SqlSugar通用功能 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarUtils.GetTablesByAttribute``1"> | |||||
<summary> | |||||
根据特性获取所有表信息 | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarUtils.GetTableColumns(System.String,System.String)"> | |||||
<summary> | |||||
获取字段信息 | |||||
</summary> | |||||
<param name="configId"></param> | |||||
<param name="tableName"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarUtils.ConvertDataType(System.String)"> | |||||
<summary> | |||||
数据库字段类型转.NET类型 | |||||
</summary> | |||||
<param name="dataType">字段类型</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarUtils.DataTypeToEff(System.String)"> | |||||
<summary> | |||||
数据类型转显示类型 | |||||
</summary> | |||||
<param name="dataType"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.SqlSugar.SqlSugarUtils.IsCommonColumn(System.String)"> | |||||
<summary> | |||||
是否通用字段 | |||||
</summary> | |||||
<param name="columnName">字段名</param> | |||||
<returns></returns> | |||||
</member> | |||||
</members> | |||||
</doc> |
@@ -0,0 +1,233 @@ | |||||
[ | |||||
{ | |||||
"Name": "明厨亮灶", | |||||
"Code": "MCLZ", | |||||
"CameraId": [ "SXT001" ], | |||||
"State": true, | |||||
"Subset": [ | |||||
{ | |||||
"Name": "烟火告警", | |||||
"Code": "fire_smoke", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "猫鼠检测", | |||||
"Code": "animal_break_in", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "未戴口罩检测", | |||||
"Code": "mask_detect", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "未穿工作服检测", | |||||
"Code": "cloth_detect", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "抽烟检测", | |||||
"Code": "person_smoke", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "未戴帽子检测", | |||||
"Code": "hat_detect", | |||||
"State": false | |||||
} | |||||
] | |||||
}, | |||||
{ | |||||
"Name": "智慧课堂", | |||||
"Code": "ZHKT", | |||||
"State": true, | |||||
"CameraId": [ "SXT002" ], | |||||
"Subset": [ | |||||
{ | |||||
"Name": "教室点名", | |||||
"Code": "class_room_call", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "趴桌子", | |||||
"Code": "lie_on_table", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "烟火告警", | |||||
"Code": "fire_smoke", | |||||
"State": true | |||||
} | |||||
] | |||||
}, | |||||
{ | |||||
"Name": "学生归寝", | |||||
"Code": "XSGQ", | |||||
"State": true, | |||||
"CameraId": [ "SXT004" ], | |||||
"Subset": [ | |||||
{ | |||||
"Name": "无感考勤", | |||||
"Code": "attendance", | |||||
"State": true | |||||
} | |||||
] | |||||
}, | |||||
{ | |||||
"Name": "校园防霸凌", | |||||
"Code": "XYFBL", | |||||
"State": true, | |||||
"CameraId": [ "SXT003" ], | |||||
"Subset": [ | |||||
{ | |||||
"Name": "抽烟检测", | |||||
"Code": "person_smoke", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "人群聚集", | |||||
"Code": "crowd", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "奔跑", | |||||
"Code": "run", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "追逐", | |||||
"Code": "chase", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "摔倒", | |||||
"Code": "fall_down", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "打闹检测", | |||||
"Code": "fight", | |||||
"State": true | |||||
} | |||||
] | |||||
}, | |||||
{ | |||||
"Name": "校园安全", | |||||
"Code": "XYAQ", | |||||
"State": true, | |||||
"CameraId": [ "SXT005" ], | |||||
"Subset": [ | |||||
{ | |||||
"Name": "可疑徘徊", | |||||
"Code": "wander", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "重点人员布控", | |||||
"Code": "blacklist", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "人群聚集", | |||||
"Code": "crowd", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "人员跟踪", | |||||
"Code": "vision", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "翻越", | |||||
"Code": "climb_over", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "周界入侵", | |||||
"Code": "visual_fence", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "摔倒", | |||||
"Code": "fall_down", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "奔跑", | |||||
"Code": "run", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "追逐", | |||||
"Code": "chase", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "打闹检测", | |||||
"Code": "fight", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "车辆违停", | |||||
"Code": "vehicle_parking", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "车辆超速", | |||||
"Code": "vehicle_speeding", | |||||
"State": true | |||||
} | |||||
] | |||||
}, | |||||
{ | |||||
"Name": "区域管控", | |||||
"Code": "QYGK", | |||||
"CameraId": [ "SXT006" ], | |||||
"State": true, | |||||
"Subset": [ | |||||
{ | |||||
"Name": "跨线", | |||||
"Code": "cross_line", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "周界入侵", | |||||
"Code": "visual_fence", | |||||
"State": false | |||||
}, | |||||
{ | |||||
"Name": "可疑徘徊", | |||||
"Code": "wander", | |||||
"State": true | |||||
} | |||||
] | |||||
}, | |||||
{ | |||||
"Name": "安保巡逻", | |||||
"Code": "ABXL", | |||||
"State": true, | |||||
"CameraId": [ "SXT007" ], | |||||
"Subset": [ | |||||
{ | |||||
"Name": "重点人员布控", | |||||
"Code": "blacklist", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "巡更检测", | |||||
"Code": "patrol", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "离岗检测", | |||||
"Code": "off_duty", | |||||
"State": true | |||||
}, | |||||
{ | |||||
"Name": "未穿工作服检测", | |||||
"Code": "cloth_detect", | |||||
"State": true | |||||
} | |||||
] | |||||
} | |||||
] |
@@ -0,0 +1,764 @@ | |||||
{ | |||||
"RECORDS": [ | |||||
{ | |||||
"Id": "252885263003720", | |||||
"ParentId": "0", | |||||
"DirectorId": "212725263002001", | |||||
"Name": "果冻科技有限公司", | |||||
"Names": "果冻科技有限公司", | |||||
"Code": "4fuFapeKGy", | |||||
"Category": "COMPANY", | |||||
"SortCode": "1", | |||||
"CreateTime": "2023-8-14 16:19:29.15", | |||||
"UpdateTime": "2024-2-20 11:48:36.8", | |||||
"CreateUserId": "", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[]" | |||||
}, | |||||
{ | |||||
"Id": "252885263003721", | |||||
"ParentId": "252885263003720", | |||||
"DirectorId": "", | |||||
"Name": "科技部", | |||||
"Names": "果冻科技有限公司/科技部", | |||||
"Code": "5JOEG44G62", | |||||
"Category": "DEPT", | |||||
"SortCode": "2", | |||||
"CreateTime": "2023-8-14 16:19:29.15", | |||||
"UpdateTime": "2024-2-20 11:35:55.68", | |||||
"CreateUserId": "", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[252885263003720]" | |||||
}, | |||||
{ | |||||
"Id": "252885263003722", | |||||
"ParentId": "252885263003720", | |||||
"DirectorId": "359177888051269", | |||||
"Name": "生产部", | |||||
"Names": "果冻科技有限公司/生产部", | |||||
"Code": "aln9y4tno6", | |||||
"Category": "DEPT", | |||||
"SortCode": "3", | |||||
"CreateTime": "2023-8-14 16:19:29.15", | |||||
"UpdateTime": "2024-2-20 11:36:08.417", | |||||
"CreateUserId": "", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[252885263003720]" | |||||
}, | |||||
{ | |||||
"Id": "359569393872965", | |||||
"ParentId": "0", | |||||
"DirectorId": "", | |||||
"Name": "萝卜科技有限公司", | |||||
"Names": "萝卜科技有限公司", | |||||
"Code": "l77v30V3yG", | |||||
"Category": "COMPANY", | |||||
"SortCode": "1", | |||||
"CreateTime": "2023-8-14 16:19:29.153", | |||||
"UpdateTime": "2024-2-20 11:48:39.067", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[]" | |||||
}, | |||||
{ | |||||
"Id": "360642028625989", | |||||
"ParentId": "252885263003720", | |||||
"DirectorId": "", | |||||
"Name": "销售部", | |||||
"Names": "果冻科技有限公司/销售部", | |||||
"Code": "dihhtLuWG1", | |||||
"Category": "DEPT", | |||||
"SortCode": "4", | |||||
"CreateTime": "2023-8-14 16:19:29.153", | |||||
"UpdateTime": "2024-2-20 11:36:20.28", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[252885263003720]" | |||||
}, | |||||
{ | |||||
"Id": "361404296994885", | |||||
"ParentId": "359569393872965", | |||||
"DirectorId": "", | |||||
"Name": "研发部", | |||||
"Names": "萝卜科技有限公司/研发部", | |||||
"Code": "fLOhh7s091", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2023-8-14 16:19:29.153", | |||||
"UpdateTime": "2024-2-20 11:36:34.157", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[359569393872965]" | |||||
}, | |||||
{ | |||||
"Id": "361404346445893", | |||||
"ParentId": "359569393872965", | |||||
"DirectorId": "", | |||||
"Name": "财务部", | |||||
"Names": "萝卜科技有限公司/财务部", | |||||
"Code": "tmDWFRfXuQ", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2023-8-14 16:19:29.153", | |||||
"UpdateTime": "2024-2-20 11:36:36.517", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[359569393872965]" | |||||
}, | |||||
{ | |||||
"Id": "464837351616581", | |||||
"ParentId": "252885263003721", | |||||
"DirectorId": "", | |||||
"Name": "科技一部", | |||||
"Names": "果冻科技有限公司/科技部/科技一部", | |||||
"Code": "Mzv2sj1MEo", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2023-9-25 22:08:03.567", | |||||
"UpdateTime": "2024-2-20 11:36:38.753", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[252885263003720,252885263003721]" | |||||
}, | |||||
{ | |||||
"Id": "464837557956677", | |||||
"ParentId": "464837351616581", | |||||
"DirectorId": "", | |||||
"Name": "科技一部1组", | |||||
"Names": "果冻科技有限公司/科技部/科技一部/科技一部1组", | |||||
"Code": "g6R7zuMMk4", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2023-9-25 22:08:53.943", | |||||
"UpdateTime": "2024-2-20 11:36:41.05", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[252885263003720,252885263003721,464837351616581]" | |||||
}, | |||||
{ | |||||
"Id": "479974472933445", | |||||
"ParentId": "359569393872965", | |||||
"DirectorId": "", | |||||
"Name": "销售部", | |||||
"Names": "萝卜科技有限公司/销售部", | |||||
"Code": "jjQ1i8btel", | |||||
"Category": "DEPT", | |||||
"SortCode": "4", | |||||
"CreateTime": "2023-11-7 16:41:09.83", | |||||
"UpdateTime": "2024-2-20 11:36:24.013", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[359569393872965]" | |||||
}, | |||||
{ | |||||
"Id": "485978445475909", | |||||
"ParentId": "252885263003722", | |||||
"DirectorId": "", | |||||
"Name": "生产一部", | |||||
"Names": "果冻科技有限公司/生产部/生产一部", | |||||
"Code": "fHsgj48J0D", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2023-11-24 15:51:23.437", | |||||
"UpdateTime": "2024-2-20 11:36:53.813", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[252885263003720,252885263003722]" | |||||
}, | |||||
{ | |||||
"Id": "487320043610181", | |||||
"ParentId": "359569393872965", | |||||
"DirectorId": "", | |||||
"Name": "科技部", | |||||
"Names": "萝卜科技有限公司/科技部", | |||||
"Code": "1QWox5893Q", | |||||
"Category": "DEPT", | |||||
"SortCode": "2", | |||||
"CreateTime": "2023-11-28 10:50:49.177", | |||||
"UpdateTime": "2024-2-20 11:35:58.283", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[359569393872965]" | |||||
}, | |||||
{ | |||||
"Id": "487320070803525", | |||||
"ParentId": "487320043610181", | |||||
"DirectorId": "", | |||||
"Name": "科技一部", | |||||
"Names": "萝卜科技有限公司/科技部/科技一部", | |||||
"Code": "fIaBZ15osx", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2023-11-28 10:50:49.18", | |||||
"UpdateTime": "2024-2-20 11:36:56.13", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[359569393872965,487320043610181]" | |||||
}, | |||||
{ | |||||
"Id": "510752889880645", | |||||
"ParentId": "0", | |||||
"DirectorId": "", | |||||
"Name": "旺仔科技有限公司", | |||||
"Names": "旺仔科技有限公司", | |||||
"Code": "wz", | |||||
"Category": "COMPANY", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-2 15:58:51.777", | |||||
"UpdateTime": "2024-2-20 11:37:00.727", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[]" | |||||
}, | |||||
{ | |||||
"Id": "510753093025861", | |||||
"ParentId": "0", | |||||
"DirectorId": "", | |||||
"Name": "达达科技有限公司", | |||||
"Names": "达达科技有限公司", | |||||
"Code": "dd", | |||||
"Category": "COMPANY", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-2 15:59:41.373", | |||||
"UpdateTime": "2024-2-20 11:37:04.16", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[]" | |||||
}, | |||||
{ | |||||
"Id": "510753219502149", | |||||
"ParentId": "0", | |||||
"DirectorId": "", | |||||
"Name": "杰尼科技有限公司", | |||||
"Names": "杰尼科技有限公司", | |||||
"Code": "jn", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-2 16:00:12.25", | |||||
"UpdateTime": "2024-2-20 11:37:06.52", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[]" | |||||
}, | |||||
{ | |||||
"Id": "510753479417925", | |||||
"ParentId": "510752889880645", | |||||
"DirectorId": "", | |||||
"Name": "科技部", | |||||
"Names": "旺仔科技有限公司/科技部", | |||||
"Code": "oNSxenwpqn", | |||||
"Category": "DEPT", | |||||
"SortCode": "2", | |||||
"CreateTime": "2024-2-2 16:01:15.713", | |||||
"UpdateTime": "2024-2-20 11:36:00.973", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510752889880645]" | |||||
}, | |||||
{ | |||||
"Id": "510753479422021", | |||||
"ParentId": "510753479417925", | |||||
"DirectorId": "", | |||||
"Name": "科技一部", | |||||
"Names": "旺仔科技有限公司/科技部/科技一部", | |||||
"Code": "j83kVrfVD0", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-2 16:01:15.713", | |||||
"UpdateTime": "2024-2-20 11:37:11.12", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510752889880645,510753479417925]" | |||||
}, | |||||
{ | |||||
"Id": "510753479422022", | |||||
"ParentId": "510753479422021", | |||||
"DirectorId": "", | |||||
"Name": "科技一部1组", | |||||
"Names": "旺仔科技有限公司/科技部/科技一部/科技一部1组", | |||||
"Code": "93BGNo5HXE", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-2 16:01:15.713", | |||||
"UpdateTime": "2024-2-20 11:37:13.623", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510752889880645,510753479417925,510753479422021]" | |||||
}, | |||||
{ | |||||
"Id": "510753479422023", | |||||
"ParentId": "510752889880645", | |||||
"DirectorId": "359177888051269", | |||||
"Name": "生产部", | |||||
"Names": "旺仔科技有限公司/生产部", | |||||
"Code": "2l3276Q5Tg", | |||||
"Category": "DEPT", | |||||
"SortCode": "3", | |||||
"CreateTime": "2024-2-2 16:01:15.713", | |||||
"UpdateTime": "2024-2-20 11:36:11.103", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510752889880645]" | |||||
}, | |||||
{ | |||||
"Id": "510753479426117", | |||||
"ParentId": "510753479422023", | |||||
"DirectorId": "", | |||||
"Name": "生产一部", | |||||
"Names": "旺仔科技有限公司/生产部/生产一部", | |||||
"Code": "298gdc2Oy6", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-2 16:01:15.713", | |||||
"UpdateTime": "2024-2-20 11:37:09.003", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510752889880645,510753479422023]" | |||||
}, | |||||
{ | |||||
"Id": "510753479430213", | |||||
"ParentId": "510752889880645", | |||||
"DirectorId": "", | |||||
"Name": "销售部", | |||||
"Names": "旺仔科技有限公司/销售部", | |||||
"Code": "qEB7a8wtP3", | |||||
"Category": "DEPT", | |||||
"SortCode": "4", | |||||
"CreateTime": "2024-2-2 16:01:15.713", | |||||
"UpdateTime": "2024-2-20 11:36:26.34", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510752889880645]" | |||||
}, | |||||
{ | |||||
"Id": "510753515745349", | |||||
"ParentId": "510753093025861", | |||||
"DirectorId": "", | |||||
"Name": "科技部", | |||||
"Names": "达达科技有限公司/科技部", | |||||
"Code": "LMB0GjrOM8", | |||||
"Category": "DEPT", | |||||
"SortCode": "2", | |||||
"CreateTime": "2024-2-2 16:01:24.577", | |||||
"UpdateTime": "2024-2-20 11:36:03.33", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510753093025861]" | |||||
}, | |||||
{ | |||||
"Id": "510753515745350", | |||||
"ParentId": "510753515745349", | |||||
"DirectorId": "", | |||||
"Name": "科技一部", | |||||
"Names": "达达科技有限公司/科技部/科技一部", | |||||
"Code": "mgd2SJ35jH", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-2 16:01:24.577", | |||||
"UpdateTime": "2024-2-20 11:37:18.99", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510753093025861,510753515745349]" | |||||
}, | |||||
{ | |||||
"Id": "510753515745351", | |||||
"ParentId": "510753515745350", | |||||
"DirectorId": "", | |||||
"Name": "科技一部1组", | |||||
"Names": "达达科技有限公司/科技部/科技一部/科技一部1组", | |||||
"Code": "jQ5ymWaxz1", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-2 16:01:24.577", | |||||
"UpdateTime": "2024-2-20 11:38:17.223", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510753093025861,510753515745349,510753515745350]" | |||||
}, | |||||
{ | |||||
"Id": "510753515749445", | |||||
"ParentId": "510753093025861", | |||||
"DirectorId": "359177888051269", | |||||
"Name": "生产部", | |||||
"Names": "达达科技有限公司/生产部", | |||||
"Code": "nNmBAfO2dG", | |||||
"Category": "DEPT", | |||||
"SortCode": "3", | |||||
"CreateTime": "2024-2-2 16:01:24.577", | |||||
"UpdateTime": "2024-2-20 11:36:13.883", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510753093025861]" | |||||
}, | |||||
{ | |||||
"Id": "510753515749446", | |||||
"ParentId": "510753515749445", | |||||
"DirectorId": "", | |||||
"Name": "生产一部", | |||||
"Names": "达达科技有限公司/生产部/生产一部", | |||||
"Code": "D37d9K1QMn", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-2 16:01:24.577", | |||||
"UpdateTime": "2024-2-20 11:37:16.313", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510753093025861,510753515749445]" | |||||
}, | |||||
{ | |||||
"Id": "510753515749447", | |||||
"ParentId": "510753093025861", | |||||
"DirectorId": "", | |||||
"Name": "销售部", | |||||
"Names": "达达科技有限公司/销售部", | |||||
"Code": "Jt6ZJfT4g2", | |||||
"Category": "DEPT", | |||||
"SortCode": "4", | |||||
"CreateTime": "2024-2-2 16:01:24.577", | |||||
"UpdateTime": "2024-2-20 11:36:29.453", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510753093025861]" | |||||
}, | |||||
{ | |||||
"Id": "510753541705799", | |||||
"ParentId": "510753219502149", | |||||
"DirectorId": "359177888051269", | |||||
"Name": "生产部", | |||||
"Names": "杰尼科技有限公司/生产部", | |||||
"Code": "LuOvsCpXL9", | |||||
"Category": "DEPT", | |||||
"SortCode": "3", | |||||
"CreateTime": "2024-2-2 16:01:30.917", | |||||
"UpdateTime": "2024-2-20 11:36:17.613", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510753219502149]" | |||||
}, | |||||
{ | |||||
"Id": "510753541709893", | |||||
"ParentId": "510753541705799", | |||||
"DirectorId": "", | |||||
"Name": "生产一部", | |||||
"Names": "杰尼科技有限公司/生产部/生产一部", | |||||
"Code": "3jz7oH2YdB", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-2 16:01:30.92", | |||||
"UpdateTime": "2024-2-20 11:38:19.807", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510753219502149,510753541705799]" | |||||
}, | |||||
{ | |||||
"Id": "510753541709894", | |||||
"ParentId": "510753219502149", | |||||
"DirectorId": "", | |||||
"Name": "销售部", | |||||
"Names": "杰尼科技有限公司/销售部", | |||||
"Code": "1175P8fpKj", | |||||
"Category": "DEPT", | |||||
"SortCode": "4", | |||||
"CreateTime": "2024-2-2 16:01:30.92", | |||||
"UpdateTime": "2024-2-20 11:36:31.727", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510753219502149]" | |||||
}, | |||||
{ | |||||
"Id": "516762847445061", | |||||
"ParentId": "510753219502149", | |||||
"DirectorId": "", | |||||
"Name": "科技部", | |||||
"Names": "杰尼科技有限公司/科技部", | |||||
"Code": "aixpW3fg7h", | |||||
"Category": "DEPT", | |||||
"SortCode": "2", | |||||
"CreateTime": "2024-2-19 15:33:26.577", | |||||
"UpdateTime": "2024-2-20 11:36:05.66", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510753219502149]" | |||||
}, | |||||
{ | |||||
"Id": "516762847465541", | |||||
"ParentId": "516762847445061", | |||||
"DirectorId": "", | |||||
"Name": "科技一部", | |||||
"Names": "杰尼科技有限公司/科技部/科技一部", | |||||
"Code": "8IGvu1YbVv", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-19 15:33:26.58", | |||||
"UpdateTime": "2024-2-20 11:38:22.127", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510753219502149,516762847445061]" | |||||
}, | |||||
{ | |||||
"Id": "516762847465542", | |||||
"ParentId": "516762847465541", | |||||
"DirectorId": "", | |||||
"Name": "科技一部1组", | |||||
"Names": "杰尼科技有限公司/科技部/科技一部/科技一部1组", | |||||
"Code": "7i2xo2x63S", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-19 15:33:26.58", | |||||
"UpdateTime": "2024-2-20 11:38:24.433", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510753219502149,516762847445061,516762847465541]" | |||||
}, | |||||
{ | |||||
"Id": "517088662995013", | |||||
"ParentId": "510752889880645", | |||||
"DirectorId": "", | |||||
"Name": "研发部", | |||||
"Names": "旺仔科技有限公司/研发部", | |||||
"Code": "28s3SaDA24", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-20 13:39:11.383", | |||||
"UpdateTime": "", | |||||
"CreateUserId": "511724553736261", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "旺仔科技管理员", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510752889880645]" | |||||
}, | |||||
{ | |||||
"Id": "517125532377157", | |||||
"ParentId": "510753219502149", | |||||
"DirectorId": "212725263002001", | |||||
"Name": "果冻科技有限公司", | |||||
"Names": "杰尼科技有限公司/果冻科技有限公司", | |||||
"Code": "1wfUJ6288S", | |||||
"Category": "COMPANY", | |||||
"SortCode": "1", | |||||
"CreateTime": "2024-2-20 16:09:12.727", | |||||
"UpdateTime": "", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510753219502149]" | |||||
}, | |||||
{ | |||||
"Id": "517129906487365", | |||||
"ParentId": "510753219502149", | |||||
"DirectorId": "", | |||||
"Name": "研发部", | |||||
"Names": "杰尼科技有限公司/研发部", | |||||
"Code": "OMkYEanrD3", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-20 16:27:02.277", | |||||
"UpdateTime": "", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[510753219502149]" | |||||
}, | |||||
{ | |||||
"Id": "517130541625413", | |||||
"ParentId": "252885263003720", | |||||
"DirectorId": "", | |||||
"Name": "研发部", | |||||
"Names": "果冻科技有限公司/研发部", | |||||
"Code": "Ql894KJrdb", | |||||
"Category": "DEPT", | |||||
"SortCode": "99", | |||||
"CreateTime": "2024-2-20 16:29:35.677", | |||||
"UpdateTime": "", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE", | |||||
"ParentIdList": "[252885263003720]" | |||||
} | |||||
] | |||||
} |
@@ -0,0 +1,328 @@ | |||||
{ | |||||
"RECORDS": [ | |||||
{ | |||||
"Id": "212725263003001", | |||||
"OrgId": "252885263003720", | |||||
"Name": "董事长", | |||||
"Code": "rsz5dmh762", | |||||
"Category": "HIGH", | |||||
"SortCode": "1", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2023-8-14 16:19:29.213", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "212725263003002", | |||||
"OrgId": "252885263003720", | |||||
"Name": "总经理", | |||||
"Code": "wo1araqs2z", | |||||
"Category": "HIGH", | |||||
"SortCode": "2", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2023-8-14 16:19:29.217", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "212725263003003", | |||||
"OrgId": "252885263003720", | |||||
"Name": "副总经理", | |||||
"Code": "asqvwbsc16", | |||||
"Category": "HIGH", | |||||
"SortCode": "3", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2023-8-14 16:19:29.217", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "212725263003004", | |||||
"OrgId": "252885263003720", | |||||
"Name": "总经理助理", | |||||
"Code": "aln9y4tno6", | |||||
"Category": "HIGH", | |||||
"SortCode": "4", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2023-8-14 16:19:29.217", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "212725263003005", | |||||
"OrgId": "252885263003720", | |||||
"Name": "部门经理", | |||||
"Code": "krq0kj7oio", | |||||
"Category": "MIDDLE", | |||||
"SortCode": "5", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2023-8-14 16:19:29.217", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "359569658515525", | |||||
"OrgId": "359569393872965", | |||||
"Name": "总经理", | |||||
"Code": "4fuFapeKGy", | |||||
"Category": "MIDDLE", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "0", | |||||
"CreateTime": "2023-8-14 16:19:29.217", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "360728646910021", | |||||
"OrgId": "360642028625989", | |||||
"Name": "销售主管", | |||||
"Code": "Zq1KvX44WN", | |||||
"Category": "MIDDLE", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "0", | |||||
"CreateTime": "2023-8-14 16:19:29.217", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "361407055544389", | |||||
"OrgId": "252885263003720", | |||||
"Name": "普通员工", | |||||
"Code": "1Cy6JUDzeL", | |||||
"Category": "LOW", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2023-8-14 16:19:29.217", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "361414036955205", | |||||
"OrgId": "361404296994885", | |||||
"Name": "研发人员", | |||||
"Code": "AImZqb6j2X", | |||||
"Category": "LOW", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2023-8-14 16:19:29.217", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "361414093332549", | |||||
"OrgId": "361404346445893", | |||||
"Name": "财务总监", | |||||
"Code": "5JOEG44G62", | |||||
"Category": "HIGH", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2023-8-14 16:19:29.217", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "361415094177861", | |||||
"OrgId": "361404296994885", | |||||
"Name": "项目经理", | |||||
"Code": "AmOE17p37x", | |||||
"Category": "MIDDLE", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2023-8-14 16:19:29.217", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "485593012985925", | |||||
"OrgId": "464837557956677", | |||||
"Name": "组长", | |||||
"Code": "YWUz4Fc794", | |||||
"Category": "HIGH", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2023-11-23 13:43:03.707", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "511723823370309", | |||||
"OrgId": "510752889880645", | |||||
"Name": "职工", | |||||
"Code": "2KVZ6Uz3ne", | |||||
"Category": "LOW", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2024-2-5 09:49:36.083", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "511723919061061", | |||||
"OrgId": "510753093025861", | |||||
"Name": "董事长", | |||||
"Code": "4RbqYeVTG7", | |||||
"Category": "HIGH", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2024-2-5 09:49:59.447", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "511723963043909", | |||||
"OrgId": "510753219502149", | |||||
"Name": "董事长", | |||||
"Code": "50wshEGBxd", | |||||
"Category": "HIGH", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2024-2-5 09:50:10.187", | |||||
"UpdateTime": "2024-2-18 15:53:24.117", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "517095081300037", | |||||
"OrgId": "517088662995013", | |||||
"Name": "研发部经理", | |||||
"Code": "KXs5l2W2v9", | |||||
"Category": "HIGH", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "510752889880645", | |||||
"CreateTime": "2024-2-20 14:05:18.353", | |||||
"UpdateTime": "", | |||||
"CreateUserId": "511724553736261", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "旺仔科技管理员", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "517129906495557", | |||||
"OrgId": "517129906487365", | |||||
"Name": "研发部经理", | |||||
"Code": "KXs5A2W3v9", | |||||
"Category": "HIGH", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2024-2-20 16:27:02.323", | |||||
"UpdateTime": "2024-2-20 16:29:21.22", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "superAdmin", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "517130541629509", | |||||
"OrgId": "517130541625413", | |||||
"Name": "研发部经理", | |||||
"Code": "0EyfLIDRJC", | |||||
"Category": "HIGH", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2024-2-20 16:29:35.687", | |||||
"UpdateTime": "", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
} | |||||
] | |||||
} |
@@ -0,0 +1,175 @@ | |||||
{ | |||||
"RECORDS": [ | |||||
{ | |||||
"Id": "212725263001001", | |||||
"OrgId": "", | |||||
"Name": "超级管理员", | |||||
"Code": "superAdmin", | |||||
"Category": "GLOBAL", | |||||
"DefaultDataScope": "{\"Level\":5,\"ScopeCategory\":\"SCOPE_ALL\",\"ScopeDefineOrgIdList\":[]}", | |||||
"SortCode": "1", | |||||
"CreateOrgId": "0", | |||||
"CreateTime": "2023-8-14 16:19:29.82", | |||||
"UpdateTime": "2024-2-18 15:53:24.833", | |||||
"CreateUserId": "", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "212725263001002", | |||||
"OrgId": "", | |||||
"Name": "业务管理员", | |||||
"Code": "bizAdmin", | |||||
"Category": "GLOBAL", | |||||
"DefaultDataScope": "{\"Level\":5,\"ScopeCategory\":\"SCOPE_ALL\",\"ScopeDefineOrgIdList\":[]}", | |||||
"SortCode": "1", | |||||
"CreateOrgId": "0", | |||||
"CreateTime": "2023-8-14 16:19:29.9", | |||||
"UpdateTime": "2024-2-18 15:53:24.833", | |||||
"CreateUserId": "", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "359567292014661", | |||||
"OrgId": "", | |||||
"Name": "所属组织及以下角色", | |||||
"Code": "41fP9R7YZI", | |||||
"Category": "GLOBAL", | |||||
"DefaultDataScope": "{\"Level\":4,\"ScopeCategory\":\"SCOPE_ORG_CHILD\",\"ScopeDefineOrgIdList\":[]}", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "0", | |||||
"CreateTime": "2023-8-14 16:19:29.9", | |||||
"UpdateTime": "2024-2-18 15:53:24.833", | |||||
"CreateUserId": "", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "360645671104581", | |||||
"OrgId": "", | |||||
"Name": "所属组织角色", | |||||
"Code": "KtIpet8uq0", | |||||
"Category": "GLOBAL", | |||||
"DefaultDataScope": "{\"Level\":2,\"ScopeCategory\":\"SCOPE_ORG\",\"ScopeDefineOrgIdList\":[360642028625989,361404296994885]}", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "0", | |||||
"CreateTime": "2023-8-14 16:19:29.9", | |||||
"UpdateTime": "2024-2-18 15:53:24.833", | |||||
"CreateUserId": "", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "360646281904197", | |||||
"OrgId": "", | |||||
"Name": "自定义组织角色", | |||||
"Code": "9b774qzY92", | |||||
"Category": "GLOBAL", | |||||
"DefaultDataScope": "{\"Level\":3,\"ScopeCategory\":\"SCOPE_ORG_DEFINE\",\"ScopeDefineOrgIdList\":[360642028625989,361404296994885,360642028625989,361404296994885]}", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "0", | |||||
"CreateTime": "2023-8-14 16:19:29.903", | |||||
"UpdateTime": "2024-2-18 15:53:24.833", | |||||
"CreateUserId": "", | |||||
"UpdateUserId": "212725263002001", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "360646662586437", | |||||
"OrgId": "", | |||||
"Name": "仅自己角色", | |||||
"Code": "182293I1ZC", | |||||
"Category": "GLOBAL", | |||||
"DefaultDataScope": "{\"Level\":1,\"ScopeCategory\":\"SCOPE_SELF\",\"ScopeDefineOrgIdList\":[]}", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "0", | |||||
"CreateTime": "2023-8-14 16:19:29.903", | |||||
"UpdateTime": "2024-2-18 15:53:24.833", | |||||
"CreateUserId": "", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "363084914917445", | |||||
"OrgId": "361404296994885", | |||||
"Name": "研发部管理员", | |||||
"Code": "sfEg40KhpZ", | |||||
"Category": "ORG", | |||||
"DefaultDataScope": "{\"Level\":4,\"ScopeCategory\":\"SCOPE_ORG_CHILD\",\"ScopeDefineOrgIdList\":[]}", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2023-8-14 16:19:29.903", | |||||
"UpdateTime": "2024-2-18 15:53:24.833", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "511793641513029", | |||||
"OrgId": "", | |||||
"Name": "租户管理员", | |||||
"Code": "1q8bMS9rgF", | |||||
"Category": "GLOBAL", | |||||
"DefaultDataScope": "{\"Level\":4,\"ScopeCategory\":\"SCOPE_ORG_CHILD\",\"ScopeDefineOrgIdList\":[]}", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "252885263003720", | |||||
"CreateTime": "2024-2-5 14:33:41.53", | |||||
"UpdateTime": "2024-2-18 15:53:24.833", | |||||
"CreateUserId": "212725263002001", | |||||
"UpdateUserId": "", | |||||
"CreateUser": "superAdmin", | |||||
"UpdateUser": "", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
}, | |||||
{ | |||||
"Id": "517794467639365", | |||||
"OrgId": "510752889880645", | |||||
"Name": "测试", | |||||
"Code": "pwrxO3v8X5", | |||||
"Category": "ORG", | |||||
"DefaultDataScope": "{\"Level\":4,\"ScopeCategory\":\"SCOPE_ORG_CHILD\",\"ScopeDefineOrgIdList\":[]}", | |||||
"SortCode": "99", | |||||
"CreateOrgId": "510752889880645", | |||||
"CreateTime": "2024-2-22 13:31:06.97", | |||||
"UpdateTime": "2024-2-23 15:54:27.833", | |||||
"CreateUserId": "511724553736261", | |||||
"UpdateUserId": "511724553736261", | |||||
"CreateUser": "旺仔科技管理员", | |||||
"UpdateUser": "旺仔科技管理员", | |||||
"IsDelete": "0", | |||||
"ExtJson": "", | |||||
"Status": "ENABLE" | |||||
} | |||||
] | |||||
} |
@@ -0,0 +1,36 @@ | |||||
{ | |||||
//sqlSugar设置 | |||||
"SqlSugarSettings": { | |||||
//SqlSugar连接字符串配置 | |||||
"ConnectionStrings": [ | |||||
{ | |||||
"ConfigId": "SafeCampus", //租户ID | |||||
"ConnectionString": "PORT=5432;DATABASE=SafeCampus;HOST=1.14.43.23;PASSWORD=wxh@9695;USER ID=postgres;", //连接字符串 | |||||
"DbType": "PostgreSQL", //数据库类型 | |||||
"IsAutoCloseConnection": true, //是否自动释放 | |||||
"IsUnderLine": false //是否驼峰转下划线 | |||||
}, | |||||
//{ | |||||
// "ConfigId": "SafeCampus", //租户ID | |||||
// "ConnectionString": "Data Source=./SafeCampus.db", //连接字符串 | |||||
// "DbType": "Sqlite", //数据库类型 | |||||
// "IsAutoCloseConnection": true, //是否自动释放 | |||||
// "IsUnderLine": false //是否驼峰转下划线 | |||||
//} | |||||
// { | |||||
// "ConfigId": "SafeCampus", //租户ID | |||||
// "ConnectionString": "server=192.168.1.3;Database=SafeCampus;Uid=root;Pwd=123456;CharSet=utf8mb4;", //连接字符串 | |||||
// "DbType": "MySql", //数据库类型 | |||||
// "IsAutoCloseConnection": true, //是否自动释放 | |||||
// "IsUnderLine": false //是否驼峰转下划线 | |||||
// }, | |||||
// { | |||||
// "ConfigId": "SafeCampus", //租户ID | |||||
// "ConnectionString": "Server=192.168.1.16;Database=SafeCampus;User=sa;Password=123456;MultipleActiveResultSets=True;", //连接字符串 | |||||
// "DbType": "SqlServer", //数据库类型 | |||||
// "IsAutoCloseConnection": true, //是否自动释放 | |||||
// "IsUnderLine": false //是否驼峰转下划线 | |||||
// } | |||||
] | |||||
} | |||||
} |
@@ -0,0 +1,27 @@ | |||||
{ | |||||
//sqlsugar设置 | |||||
"SqlSugarSettings": { | |||||
//SqlSugar连接字符串配置 | |||||
"ConnectionStrings": [ | |||||
{ | |||||
"ConfigId": "SafeCampus", //租户ID | |||||
"ConnectionString": "PORT=5432;DATABASE=SafeCampus;HOST=1.14.43.23;PASSWORD=wxh@9695;USER ID=postgres;", //连接字符串 | |||||
"DbType": "PostgreSQL", //数据库类型 | |||||
"IsAutoCloseConnection": true, //是否自动释放 | |||||
"IsUnderLine": false //是否驼峰转下划线 | |||||
} | |||||
// { | |||||
// "ConfigId": "SafeCampus", //租户ID | |||||
// "ConnectionString": "server=192.168.1.3;Database=SafeCampus;Uid=root;Pwd=123456;CharSet=utf8mb4;", //连接字符串 | |||||
// "DbType": "MySql", //数据库类型 | |||||
// "IsAutoCloseConnection": true, //是否自动释放 | |||||
// }, | |||||
// { | |||||
// "ConfigId": "SafeCampus", //租户ID | |||||
// "ConnectionString": "Server=192.168.1.16;Database=SafeCampus;User=sa;Password=123456;MultipleActiveResultSets=True;", //连接字符串 | |||||
// "DbType": "SqlServer", //数据库类型 | |||||
// "IsAutoCloseConnection": true, //是否自动释放 | |||||
// } | |||||
] | |||||
} | |||||
} |
@@ -0,0 +1,27 @@ | |||||
{ | |||||
//swagger分组设置 | |||||
"[openapi:Default]": { | |||||
"Order": 99, //分组排序,int 类型,数字越大排前面,默认 0 | |||||
"Title": "权限模块", //配置分组标题,string 类型 | |||||
"Description": "开发更简单,更通用,更流行。", | |||||
"Version": "1.0.0", //配置分组版本,默认 1.0 | |||||
"TermsOfService": "https://www.cnblogs.com/huguodong/", //配置相关链接地址,Uri 类型 | |||||
"Contact": { | |||||
//配置联系方式 | |||||
"Name": "王晓寒", | |||||
"Url": "https://gitee.com/", | |||||
"Email": "823756726@qq.com" | |||||
}, | |||||
"License": { | |||||
//配置协议,OpenApiLicense 类型 | |||||
"Name": "Apache-2.0", | |||||
"Url": "https://gitee.com/" | |||||
} | |||||
}, | |||||
//系统层设置 | |||||
"SystemSettings": { | |||||
"InitTable": false, //是否初始化表结构 | |||||
"InitSeedData": false, //是否初始化种子数据 | |||||
"SuperAdminViewAllData": true //是否超级管理员可以查看所有数据 | |||||
} | |||||
} |
@@ -0,0 +1,27 @@ | |||||
{ | |||||
//swagger分组设置 | |||||
"[openapi:Default]": { | |||||
"Order": 99, //分组排序,int 类型,数字越大排前面,默认 0 | |||||
"Title": "权限模块", //配置分组标题,string 类型 | |||||
"Description": "开发更简单,更通用,更流行。", | |||||
"Version": "1.0.0", //配置分组版本,默认 1.0 | |||||
"TermsOfService": "https://www.cnblogs.com/huguodong/", //配置相关链接地址,Uri 类型 | |||||
"Contact": { | |||||
//配置联系方式 | |||||
"Name": "王晓寒", | |||||
"Url": "https://gitee.com/", | |||||
"Email": "823756726@qq.com" | |||||
}, | |||||
"License": { | |||||
//配置协议,OpenApiLicense 类型 | |||||
"Name": "Apache-2.0", | |||||
"Url": "https://gitee.com/" | |||||
} | |||||
}, | |||||
//系统层设置 | |||||
"SystemSettings": { | |||||
"InitTable": false, //是否初始化表结构 | |||||
"InitSeedData": false, //是否初始化种子数据 | |||||
"SuperAdminViewAllData": true //是否超级管理员可以查看所有数据 | |||||
} | |||||
} |
@@ -0,0 +1,13 @@ | |||||
{ | |||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json", | |||||
//swagger分组设置 | |||||
"[openapi:Application]": { | |||||
"Order": 90, //分组排序,int 类型,数字越大排前面,默认 0 | |||||
"Title": "业务模块" //配置分组标题,string 类型 | |||||
}, | |||||
//系统层设置 | |||||
"ApplicationSettings": { | |||||
"InitTable": false, //是否初始化表结构 | |||||
"InitSeedData": false, //是否初始化种子数据 | |||||
} | |||||
} |
@@ -0,0 +1,13 @@ | |||||
{ | |||||
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json", | |||||
//swagger分组设置 | |||||
"[openapi:Application]": { | |||||
"Order": 90, //分组排序,int 类型,数字越大排前面,默认 0 | |||||
"Title": "业务模块" //配置分组标题,string 类型 | |||||
}, | |||||
//系统层设置 | |||||
"ApplicationSettings": { | |||||
"InitTable": false, //是否初始化表结构 | |||||
"InitSeedData": false, //是否初始化种子数据 | |||||
} | |||||
} |
@@ -0,0 +1,12 @@ | |||||
{ | |||||
//缓存设置 | |||||
"CacheSettings": { | |||||
"UseRedis": true, //启用redis | |||||
"RedisSettings": { | |||||
"Address": "127.0.0.1:6379", //地址 | |||||
"Password": "wxh@0000", //Redis服务密码 | |||||
"Db": 1, //默认库 | |||||
"ClearRedis": false //是否每次启动都清除Redis缓存 | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,12 @@ | |||||
{ | |||||
//缓存设置 | |||||
"CacheSettings": { | |||||
"UseRedis": true, //启用redis | |||||
"RedisSettings": { | |||||
"Address": "127.0.0.1:6379", //地址 | |||||
"Password": "wxh@0000", //Redis服务密码 | |||||
"Db": 1, //默认库 | |||||
"ClearRedis": false //是否每次启动都清除Redis缓存 | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,25 @@ | |||||
{ | |||||
//秘钥配置 | |||||
"Cryptogram": { | |||||
//SM2国密配置 | |||||
"SM2": { | |||||
"PublicKey": "04BD62406DF6789B1FBE8C457AECAE6D7C806CDB39316F190519905C24DF395E8952C47798D76ADECF8CA28C935702AFCDD9B17DE77121FA6448F0EDEFBD8365D6", //公钥 | |||||
"PrivateKey": "00F908E5ED9C2059A960E3A58056F69E0CF75299182CEB93B74CD1FDC633FCA0E5" //私钥 | |||||
} | |||||
}, | |||||
//日志配置 | |||||
"Logging": { | |||||
"Monitor": { | |||||
"Write": false, //是否文件写入LoggingMonitor日志 | |||||
"Console": false, //是否控制台输出LoggingMonitor日志 | |||||
}, | |||||
"MessageFormat": true, //是否格式化日志 | |||||
"LogLevel": { | |||||
"Default": "Debug", //默认日志级别 | |||||
"Max": "Error", //最大日志级别 | |||||
"Microsoft": "Warning", | |||||
"Microsoft.Hosting.Lifetime": "Information", | |||||
"Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information" | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,25 @@ | |||||
{ | |||||
//秘钥配置 | |||||
"Cryptogram": { | |||||
//SM2国密配置 | |||||
"SM2": { | |||||
"PublicKey": "04BD62406DF6789B1FBE8C457AECAE6D7C806CDB39316F190519905C24DF395E8952C47798D76ADECF8CA28C935702AFCDD9B17DE77121FA6448F0EDEFBD8365D6", //公钥 | |||||
"PrivateKey": "00F908E5ED9C2059A960E3A58056F69E0CF75299182CEB93B74CD1FDC633FCA0E5" //私钥 | |||||
} | |||||
}, | |||||
//日志配置 | |||||
"Logging": { | |||||
"Monitor": { | |||||
"Write": false, //是否文件写入LoggingMonitor日志 | |||||
"Console": false, //是否控制台输出LoggingMonitor日志 | |||||
}, | |||||
"MessageFormat": true, //是否格式化日志 | |||||
"LogLevel": { | |||||
"Default": "Information", //默认日志级别 | |||||
"Max": "Error", //最大日志级别 | |||||
"Microsoft": "Warning", | |||||
"Microsoft.Hosting.Lifetime": "Information", | |||||
"Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information" | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,875 @@ | |||||
<?xml version="1.0"?> | |||||
<doc> | |||||
<assembly> | |||||
<name>SafeCampus.Application</name> | |||||
</assembly> | |||||
<members> | |||||
<member name="F:SafeCampus.Application.ApplicationConst.BIZ_ORG"> | |||||
<summary> | |||||
机构 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Application.ApplicationConst.BIZ_POS"> | |||||
<summary> | |||||
岗位 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager"> | |||||
<summary> | |||||
深象智能对接实现 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager.GenSXToken"> | |||||
<summary> | |||||
获取深象智能Token | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager.SubscribeAlarm"> | |||||
<summary> | |||||
订阅预警更新 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager.SubscriberRoomCall"> | |||||
<summary> | |||||
订阅点名事件 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.DeepelephManager.TimestampToDateTime(System.String)"> | |||||
<summary> | |||||
时间戳转本时区日期时间 | |||||
</summary> | |||||
<param name="timeStamp"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager"> | |||||
<summary> | |||||
深象对接接口 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.GetToken"> | |||||
<summary> | |||||
获取token | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.SubscribeAlarm"> | |||||
<summary> | |||||
启动预警订阅 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.DisconnectAsync"> | |||||
<summary> | |||||
释放连接 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.SubscriberRoomCall"> | |||||
<summary> | |||||
启动点名订阅 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Manager.DeepelephManager.IDeepelephManager.SubscriberAttendance"> | |||||
<summary> | |||||
开启无感考勤订阅 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.ApplicationSettingsOptions"> | |||||
<summary> | |||||
系统配置 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Dto.AlarmSearch.alarmType"> | |||||
<summary> | |||||
预警类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Dto.AlarmSearch.beginTime"> | |||||
<summary> | |||||
开始时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Dto.AlarmSearch.endTime"> | |||||
<summary> | |||||
结束时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Dto.AlarmSearch.cameraId"> | |||||
<summary> | |||||
摄像头id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.TenantCode"> | |||||
<summary> | |||||
租户id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.PoiId"> | |||||
<summary> | |||||
门店id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.AlarmId"> | |||||
<summary> | |||||
预警id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.AlarmType"> | |||||
<summary> | |||||
预警类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.AlarmTypeDesc"> | |||||
<summary> | |||||
预警类型名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.CameraId"> | |||||
<summary> | |||||
摄像头id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.CameraName"> | |||||
<summary> | |||||
摄像头名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Tick"> | |||||
<summary> | |||||
事件发生时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.SnapshotUrl"> | |||||
<summary> | |||||
摄像头快照,原链接有效期为2小时,获取到数据后下载到本地 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.VideoUrl"> | |||||
<summary> | |||||
预警关联视频(有些报警有,有些没有) | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Rects"> | |||||
<summary> | |||||
目标在快照中的位置 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.PersonName"> | |||||
<summary> | |||||
人员名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.PersonType"> | |||||
<summary> | |||||
人员类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Tags"> | |||||
<summary> | |||||
场景标签 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Extend"> | |||||
<summary> | |||||
额外数据,每个预警类型不同 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.WarnHand"> | |||||
<summary> | |||||
预警处理状态 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.Remark"> | |||||
<summary> | |||||
处理意见 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.HandTime"> | |||||
<summary> | |||||
处理时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.AlarmId"> | |||||
<summary> | |||||
预警id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.AlarmType"> | |||||
<summary> | |||||
预警类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.AlarmTypeDesc"> | |||||
<summary> | |||||
预警类型名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.CameraId"> | |||||
<summary> | |||||
摄像头id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.CameraName"> | |||||
<summary> | |||||
摄像头名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.Tick"> | |||||
<summary> | |||||
事件发生时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.SnapshotUrl"> | |||||
<summary> | |||||
摄像头快照,原链接有效期为2小时,获取到数据后下载到本地 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.PersonName"> | |||||
<summary> | |||||
人员名称 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.PersonType"> | |||||
<summary> | |||||
人员类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.WarnHand"> | |||||
<summary> | |||||
预警处理状态 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.HandTime"> | |||||
<summary> | |||||
处理时间 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.AlarmType"> | |||||
<summary> | |||||
预警类型 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.StartTick"> | |||||
<summary> | |||||
事件发生时间开始 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.EndTick"> | |||||
<summary> | |||||
事件发生时间结束 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.CameraId"> | |||||
<summary> | |||||
摄像头id | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch.WarnHand"> | |||||
<summary> | |||||
预警处理状态 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.Business.Warn.Service.IWarnInfoService.HandWarn(System.Int64,System.String)"> | |||||
<summary> | |||||
处理预警 | |||||
</summary> | |||||
<param name="id"></param> | |||||
<param name="remark"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.Business.Warn.Service.IWarnInfoService.GetListNoPage(SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoSearch)"> | |||||
<summary> | |||||
获取列表不分页 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.Business.Warn.Service.IWarnInfoService.GetWarnType"> | |||||
<summary> | |||||
获取告警分离列表 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.Add(`0)"> | |||||
<summary> | |||||
添加 | |||||
</summary> | |||||
<param name="vm"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.Delete(System.Int64)"> | |||||
<summary> | |||||
删除 | |||||
</summary> | |||||
<param name="Id"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.Update(`0)"> | |||||
<summary> | |||||
修改 | |||||
</summary> | |||||
<param name="vm"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.GetInfo(System.Int64)"> | |||||
<summary> | |||||
根据id获取信息 | |||||
</summary> | |||||
<param name="Id"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Services.IApiBaseInterface`3.GetList(`2)"> | |||||
<summary> | |||||
获取列表 | |||||
</summary> | |||||
<param name="search"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.IOrgService"> | |||||
<summary> | |||||
机构服务 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Add(SafeCampus.System.SysOrgAddInput)"> | |||||
<summary> | |||||
添加机构 | |||||
</summary> | |||||
<param name="input">添加参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Copy(SafeCampus.System.SysOrgCopyInput)"> | |||||
<summary> | |||||
复制机构 | |||||
</summary> | |||||
<param name="input">机构复制参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<summary> | |||||
删除机构 | |||||
</summary> | |||||
<param name="input">删除参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Edit(SafeCampus.System.SysOrgEditInput)"> | |||||
<summary> | |||||
编辑机构 | |||||
</summary> | |||||
<param name="input">编辑参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Page(SafeCampus.System.SysOrgPageInput)"> | |||||
<summary> | |||||
机构分页查询 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns>分页信息</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Tree(SafeCampus.System.SysOrgTreeInput)"> | |||||
<summary> | |||||
机构树结构 | |||||
</summary> | |||||
<param name="input">机构选择器</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IOrgService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
机构详情 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.OrgService"> | |||||
<inheritdoc cref="T:SafeCampus.Application.IOrgService"/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Page(SafeCampus.System.SysOrgPageInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Tree(SafeCampus.System.SysOrgTreeInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Add(SafeCampus.System.SysOrgAddInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Edit(SafeCampus.System.SysOrgEditInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Copy(SafeCampus.System.SysOrgCopyInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.OrgService.CheckInput(SafeCampus.System.SysOrg,System.String)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="sysOrg">参数</param> | |||||
<param name="operate">操作名称</param> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.IPositionService"> | |||||
<summary> | |||||
岗位管理 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Add(SafeCampus.System.PositionAddInput)"> | |||||
<summary> | |||||
添加岗位 | |||||
</summary> | |||||
<param name="input">添加参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<summary> | |||||
删除岗位 | |||||
</summary> | |||||
<param name="input">id列表</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Edit(SafeCampus.System.PositionEditInput)"> | |||||
<summary> | |||||
编辑岗位 | |||||
</summary> | |||||
<param name="input">编辑参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Page(SafeCampus.System.PositionPageInput)"> | |||||
<summary> | |||||
岗位分页查询 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns>分页列表</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Selector(SafeCampus.System.PositionSelectorInput)"> | |||||
<summary> | |||||
岗位选择器 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
岗位详情 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IPositionService.Tree(SafeCampus.System.PositionTreeInput)"> | |||||
<summary> | |||||
岗位树形结构 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.PositionService"> | |||||
<summary> | |||||
<inheritdoc cref="T:SafeCampus.Application.IPositionService"/> | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Page(SafeCampus.System.PositionPageInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Tree(SafeCampus.System.PositionTreeInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Add(SafeCampus.System.PositionAddInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Selector(SafeCampus.System.PositionSelectorInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Edit(SafeCampus.System.PositionEditInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.PositionService.CheckInput(SafeCampus.System.SysPosition,System.String)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="sysPosition">参数</param> | |||||
<param name="operate">操作名称</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.OwnResource(SafeCampus.Core.BaseIdInput,System.String)"> | |||||
<summary> | |||||
角色拥有资源 | |||||
</summary> | |||||
<param name="input">角色id</param> | |||||
<param name="category">资源类型</param> | |||||
<returns>角色拥有资源信息</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.OwnUser(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
获取角色下的用户 | |||||
</summary> | |||||
<param name="input">角色ID</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Page(SafeCampus.System.RolePageInput)"> | |||||
<summary> | |||||
分页查询角色 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.RoleSelector(SafeCampus.System.RoleSelectorInput)"> | |||||
<summary> | |||||
角色选择器 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Tree(SafeCampus.System.RoleTreeInput)"> | |||||
<summary> | |||||
获取角色树 | |||||
</summary> | |||||
<param name="input">角色树</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
角色详情 | |||||
</summary> | |||||
<param name="input">角色Id</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.ResourceTreeSelector"> | |||||
<summary> | |||||
资源树选择器 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Add(SafeCampus.System.RoleAddInput)"> | |||||
<summary> | |||||
添加角色 | |||||
</summary> | |||||
<param name="input">添加参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Edit(SafeCampus.System.RoleEditInput)"> | |||||
<summary> | |||||
编辑角色 | |||||
</summary> | |||||
<param name="input">编辑参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.GrantResource(SafeCampus.System.GrantResourceInput)"> | |||||
<summary> | |||||
给角色授权 | |||||
</summary> | |||||
<param name="input">授权参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.GrantUser(SafeCampus.System.GrantUserInput)"> | |||||
<summary> | |||||
给角色授权用户 | |||||
</summary> | |||||
<param name="input">授权信息</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IRoleService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<summary> | |||||
删除角色 | |||||
</summary> | |||||
<param name="input">删除参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.RoleService"> | |||||
<inheritdoc cref="T:SafeCampus.Application.IRoleService"/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.OwnResource(SafeCampus.Core.BaseIdInput,System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.OwnUser(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Page(SafeCampus.System.RolePageInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.RoleSelector(SafeCampus.System.RoleSelectorInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Tree(SafeCampus.System.RoleTreeInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.ResourceTreeSelector"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Add(SafeCampus.System.RoleAddInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Edit(SafeCampus.System.RoleEditInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.GrantResource(SafeCampus.System.GrantResourceInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.GrantUser(SafeCampus.System.GrantUserInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.CheckInput(SafeCampus.System.SysRole)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="sysRole"></param> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.RoleService.GetRoleGrantResourceMenus(System.Int64,System.Collections.Generic.List{SafeCampus.System.SysResource},System.Collections.Generic.List{SafeCampus.System.SysResource})"> | |||||
<summary> | |||||
获取授权菜单 | |||||
</summary> | |||||
<param name="moduleId">模块Id</param> | |||||
<param name="ownMenuList">拥有菜单列表</param> | |||||
<param name="ownButtonList">拥有权限按钮列表</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.BizUserImportInput"> | |||||
<summary> | |||||
业务用户导入 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.BizUserExportOutput"> | |||||
<summary> | |||||
业务用户导出 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.IUserService"> | |||||
<summary> | |||||
人员管理服务 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Selector(SafeCampus.System.UserSelectorInput)"> | |||||
<summary> | |||||
人员选择器 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns>人员列表</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Page(SafeCampus.System.UserPageInput)"> | |||||
<summary> | |||||
用户分页查询 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns>用户分页列表</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.OwnRole(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
获取用户拥有角色 | |||||
</summary> | |||||
<param name="input">用户ID</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.RoleSelector(SafeCampus.System.RoleSelectorInput)"> | |||||
<summary> | |||||
角色选择器 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
人员详情 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Add(SafeCampus.System.UserAddInput)"> | |||||
<summary> | |||||
添加用户 | |||||
</summary> | |||||
<param name="input">添加参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Edit(SafeCampus.System.UserEditInput)"> | |||||
<summary> | |||||
编辑 | |||||
</summary> | |||||
<param name="input">编辑参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.DisableUser(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
禁用用户 | |||||
</summary> | |||||
<param name="input">用户Id</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.EnableUser(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
启用用户 | |||||
</summary> | |||||
<param name="input">用户Id</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.ResetPassword(SafeCampus.Core.BaseIdInput)"> | |||||
<summary> | |||||
重置密码 | |||||
</summary> | |||||
<param name="input">用户Id</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.GrantRole(SafeCampus.System.UserGrantRoleInput)"> | |||||
<summary> | |||||
给用户授权角色 | |||||
</summary> | |||||
<param name="input">授权参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<summary> | |||||
删除用户 | |||||
</summary> | |||||
<param name="input">Id列表</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Preview(SafeCampus.System.ImportPreviewInput)"> | |||||
<summary> | |||||
导入预览 | |||||
</summary> | |||||
<param name="input">导入参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Template"> | |||||
<summary> | |||||
获取导入模板 | |||||
</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Export(SafeCampus.System.UserPageInput)"> | |||||
<summary> | |||||
导出 | |||||
</summary> | |||||
<param name="input">查询参数</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Import(SafeCampus.System.ImportResultInput{SafeCampus.Application.BizUserImportInput})"> | |||||
<summary> | |||||
导入数据 | |||||
</summary> | |||||
<param name="input">数据</param> | |||||
<returns>导入结果</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.IUserService.Edits(SafeCampus.System.BatchEditInput)"> | |||||
<summary> | |||||
批量编辑 | |||||
</summary> | |||||
<param name="input">编辑字段信息</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.UserService"> | |||||
<summary> | |||||
<inheritdoc cref="T:SafeCampus.Application.IUserService"/> | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Page(SafeCampus.System.UserPageInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.OwnRole(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Selector(SafeCampus.System.UserSelectorInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.RoleSelector(SafeCampus.System.RoleSelectorInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Detail(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc /> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Add(SafeCampus.System.UserAddInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Edit(SafeCampus.System.UserEditInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Edits(SafeCampus.System.BatchEditInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.DisableUser(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.EnableUser(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.GrantRole(SafeCampus.System.UserGrantRoleInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.ResetPassword(SafeCampus.Core.BaseIdInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Delete(SafeCampus.Core.BaseIdListInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Template"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Preview(SafeCampus.System.ImportPreviewInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Export(SafeCampus.System.UserPageInput)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.Import(SafeCampus.System.ImportResultInput{SafeCampus.Application.BizUserImportInput})"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.CheckInput(SafeCampus.System.SysUser,System.String)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="sysUser"></param> | |||||
<param name="operate">操作类型</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.CheckInput(System.Int64,System.String)"> | |||||
<summary> | |||||
检查输入参数 | |||||
</summary> | |||||
<param name="userId">用户ID</param> | |||||
<param name="operate">操作</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.CheckImport(System.Collections.Generic.List{SafeCampus.Application.BizUserImportInput},System.Collections.Generic.List{System.Int64},System.Boolean)"> | |||||
<summary> | |||||
检查导入数据 | |||||
</summary> | |||||
<param name="data">数据</param> | |||||
<param name="dataScope">数据范围ID数组</param> | |||||
<param name="clearError">是否初始化错误</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.UserService.GetQuery(SafeCampus.System.UserPageInput)"> | |||||
<summary> | |||||
获取查询条件 | |||||
</summary> | |||||
<param name="input"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Application.Startup"> | |||||
<summary> | |||||
AppStartup启动类 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Application.Startup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> | |||||
<summary> | |||||
ConfigureServices中不能解析服务,比如App.GetService(),尤其是不能在ConfigureServices中获取诸如缓存等数据进行初始化,应该在Configure中进行 | |||||
服务都还没初始化完成,会导致内存中存在多份 IOC 容器!! | |||||
正确应该在 Configure 中,这个时候服务(IServiceCollection 已经完成 BuildServiceProvider() 操作了 | |||||
</summary> | |||||
<param name="services"></param> | |||||
</member> | |||||
</members> | |||||
</doc> |
@@ -0,0 +1,516 @@ | |||||
<?xml version="1.0"?> | |||||
<doc> | |||||
<assembly> | |||||
<name>SafeCampus.Cache</name> | |||||
</assembly> | |||||
<members> | |||||
<member name="T:SafeCampus.Cache.CacheConst"> | |||||
<summary> | |||||
Redis常量 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Cache.CacheConst.CACHE_PREFIX_WEB"> | |||||
<summary> | |||||
Redis Key前缀(可删除) | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Cache.CacheConst.CACHE_PREFIX"> | |||||
<summary> | |||||
Redis Key前缀(需要持久化,不随系统重启删除) | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Cache.CacheConst.CACHE_HASH"> | |||||
<summary> | |||||
Redis Hash类型 | |||||
</summary> | |||||
</member> | |||||
<member name="F:SafeCampus.Cache.CacheConst.CACHE_USER_TOKEN"> | |||||
<summary> | |||||
用户Token缓存Key | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Cache.ISimpleCacheService"> | |||||
<summary> | |||||
缓存服务 | |||||
</summary> | |||||
<summary> | |||||
缓存服务 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.HashAdd``1(System.String,System.String,``0)"> | |||||
<summary> | |||||
添加一条数据到HashMap | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="key">键</param> | |||||
<param name="hashKey">hash列表里的Key</param> | |||||
<param name="value">值</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.HashSet``1(System.String,System.Collections.Generic.Dictionary{System.String,``0})"> | |||||
<summary> | |||||
添加多条数据到HashMap | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="key">键</param> | |||||
<param name="dic">键值对字典</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.HashDel``1(System.String,System.String[])"> | |||||
<summary> | |||||
从HashMap中删除数据 | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="key">键</param> | |||||
<param name="fields">hash键列表</param> | |||||
<returns>执行结果</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.HashGet``1(System.String,System.String[])"> | |||||
<summary> | |||||
根据键获取hash列表中的值 | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="key">键</param> | |||||
<param name="fields">hash键列表</param> | |||||
<returns>数据列表</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.HashGetOne``1(System.String,System.String)"> | |||||
<summary> | |||||
根据键获取hash列表中的值 | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="key">键</param> | |||||
<param name="field">hash键</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.HashGetAll``1(System.String)"> | |||||
<summary> | |||||
获取所有键值对 | |||||
</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="key">键</param> | |||||
<returns>数据字典</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.ContainsKey(System.String)"> | |||||
<summary>是否包含缓存项</summary> | |||||
<param name="key"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Set``1(System.String,``0,System.Int32)"> | |||||
<summary>设置缓存项</summary> | |||||
<param name="key">键</param> | |||||
<param name="value">值</param> | |||||
<param name="expire">过期时间,秒。小于0时采用默认缓存时间</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Set``1(System.String,``0,System.TimeSpan)"> | |||||
<summary>设置缓存项</summary> | |||||
<param name="key">键</param> | |||||
<param name="value">值</param> | |||||
<param name="expire">过期时间</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Get``1(System.String)"> | |||||
<summary>获取缓存项</summary> | |||||
<param name="key">键</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Remove(System.String[])"> | |||||
<summary>批量移除缓存项</summary> | |||||
<param name="keys">键集合</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Clear"> | |||||
<summary>清空所有缓存项</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.SetExpire(System.String,System.TimeSpan)"> | |||||
<summary>设置缓存项有效期</summary> | |||||
<param name="key">键</param> | |||||
<param name="expire">过期时间</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.GetExpire(System.String)"> | |||||
<summary>获取缓存项有效期</summary> | |||||
<param name="key">键</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.DelByPattern(System.String)"> | |||||
<summary> | |||||
模糊删除 | |||||
</summary> | |||||
<param name="pattern">匹配关键字</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.GetAll``1(System.Collections.Generic.IEnumerable{System.String})"> | |||||
<summary>批量获取缓存项</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="keys"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.SetAll``1(System.Collections.Generic.IDictionary{System.String,``0},System.Int32)"> | |||||
<summary>批量设置缓存项</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="values"></param> | |||||
<param name="expire">过期时间,秒。小于0时采用默认缓存时间</param> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.GetList``1(System.String)"> | |||||
<summary>获取列表</summary> | |||||
<typeparam name="T">元素类型</typeparam> | |||||
<param name="key">键</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.GetDictionary``1(System.String)"> | |||||
<summary>获取哈希</summary> | |||||
<typeparam name="T">元素类型</typeparam> | |||||
<param name="key">键</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.GetQueue``1(System.String)"> | |||||
<summary>获取队列</summary> | |||||
<typeparam name="T">元素类型</typeparam> | |||||
<param name="key">键</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.GetStack``1(System.String)"> | |||||
<summary>获取栈</summary> | |||||
<typeparam name="T">元素类型</typeparam> | |||||
<param name="key">键</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.GetSet``1(System.String)"> | |||||
<summary>获取Set</summary> | |||||
<typeparam name="T"></typeparam> | |||||
<param name="key"></param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Add``1(System.String,``0,System.Int32)"> | |||||
<summary>添加,已存在时不更新</summary> | |||||
<typeparam name="T">值类型</typeparam> | |||||
<param name="key">键</param> | |||||
<param name="value">值</param> | |||||
<param name="expire">过期时间,秒。小于0时采用默认缓存时间</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Replace``1(System.String,``0)"> | |||||
<summary>设置新值并获取旧值,原子操作</summary> | |||||
<remarks> | |||||
常常配合Increment使用,用于累加到一定数后重置归零,又避免多线程冲突。 | |||||
</remarks> | |||||
<typeparam name="T">值类型</typeparam> | |||||
<param name="key">键</param> | |||||
<param name="value">值</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.TryGetValue``1(System.String,``0@)"> | |||||
<summary>尝试获取指定键,返回是否包含值。有可能缓存项刚好是默认值,或者只是反序列化失败,解决缓存穿透问题</summary> | |||||
<typeparam name="T">值类型</typeparam> | |||||
<param name="key">键</param> | |||||
<param name="value">值。即使有值也不一定能够返回,可能缓存项刚好是默认值,或者只是反序列化失败</param> | |||||
<returns>返回是否包含值,即使反序列化失败</returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Increment(System.String,System.Int64)"> | |||||
<summary>累加,原子操作</summary> | |||||
<param name="key">键</param> | |||||
<param name="value">变化量</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Increment(System.String,System.Double)"> | |||||
<summary>累加,原子操作</summary> | |||||
<param name="key">键</param> | |||||
<param name="value">变化量</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Decrement(System.String,System.Int64)"> | |||||
<summary>递减,原子操作</summary> | |||||
<param name="key">键</param> | |||||
<param name="value">变化量</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Decrement(System.String,System.Double)"> | |||||
<summary>递减,原子操作</summary> | |||||
<param name="key">键</param> | |||||
<param name="value">变化量</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.Commit"> | |||||
<summary>提交变更。部分提供者需要刷盘</summary> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.AcquireLock(System.String,System.Int32)"> | |||||
<summary>申请分布式锁</summary> | |||||
<param name="key">要锁定的key</param> | |||||
<param name="msTimeout">锁等待时间,单位毫秒</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.ISimpleCacheService.AcquireLock(System.String,System.Int32,System.Int32,System.Boolean)"> | |||||
<summary>申请分布式锁</summary> | |||||
<param name="key">要锁定的key</param> | |||||
<param name="msTimeout">锁等待时间,申请加锁时如果遇到冲突则等待的最大时间,单位毫秒</param> | |||||
<param name="msExpire">锁过期时间,超过该时间如果没有主动释放则自动释放锁,必须整数秒,单位毫秒</param> | |||||
<param name="throwOnFailure">失败时是否抛出异常,如果不抛出异常,可通过返回null得知申请锁失败</param> | |||||
<returns></returns> | |||||
</member> | |||||
<member name="T:SafeCampus.Cache.CacheSettingsOptions"> | |||||
<summary> | |||||
缓存设置 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Cache.CacheSettingsOptions.UseRedis"> | |||||
<summary> | |||||
使用Redis | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Cache.CacheSettingsOptions.RedisSettings"> | |||||
<summary> | |||||
Redis设置 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Cache.RedisSettings"> | |||||
<summary> | |||||
Redis设置 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Cache.RedisSettings.Address"> | |||||
<summary> | |||||
连接地址 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Cache.RedisSettings.Password"> | |||||
<summary> | |||||
密码 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Cache.RedisSettings.Db"> | |||||
<summary> | |||||
数据库 | |||||
</summary> | |||||
</member> | |||||
<member name="P:SafeCampus.Cache.RedisSettings.ClearRedis"> | |||||
<summary> | |||||
是否每次启动都清空 | |||||
</summary> | |||||
</member> | |||||
<member name="T:SafeCampus.Cache.MemoryCacheService"> | |||||
<summary> | |||||
<inheritdoc cref="T:SafeCampus.Cache.ISimpleCacheService"/> | |||||
内存缓存 | |||||
</summary> | |||||
<summary> | |||||
<inheritdoc cref="T:SafeCampus.Cache.ISimpleCacheService"/> | |||||
内存缓存 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.HashAdd``1(System.String,System.String,``0)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.HashSet``1(System.String,System.Collections.Generic.Dictionary{System.String,``0})"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.HashDel``1(System.String,System.String[])"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.HashGet``1(System.String,System.String[])"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.HashGetOne``1(System.String,System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.HashGetAll``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Get``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Remove(System.String[])"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Set``1(System.String,``0,System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Set``1(System.String,``0,System.TimeSpan)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.SetExpire(System.String,System.TimeSpan)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.GetExpire(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.ContainsKey(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Clear"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.DelByPattern(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.GetAll``1(System.Collections.Generic.IEnumerable{System.String})"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.SetAll``1(System.Collections.Generic.IDictionary{System.String,``0},System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.GetDictionary``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.GetQueue``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.GetStack``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.GetSet``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Add``1(System.String,``0,System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.GetList``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Replace``1(System.String,``0)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.TryGetValue``1(System.String,``0@)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Decrement(System.String,System.Int64)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Decrement(System.String,System.Double)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Increment(System.String,System.Int64)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Increment(System.String,System.Double)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.Commit"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.AcquireLock(System.String,System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.MemoryCacheService.AcquireLock(System.String,System.Int32,System.Int32,System.Boolean)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="T:SafeCampus.Cache.RedisCacheService"> | |||||
<summary> | |||||
<inheritdoc cref="T:SafeCampus.Cache.ISimpleCacheService"/> | |||||
Redis缓存 | |||||
</summary> | |||||
<summary> | |||||
<inheritdoc cref="T:SafeCampus.Cache.ISimpleCacheService"/> | |||||
Redis缓存 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.HashAdd``1(System.String,System.String,``0)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.HashSet``1(System.String,System.Collections.Generic.Dictionary{System.String,``0})"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.HashDel``1(System.String,System.String[])"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.HashGet``1(System.String,System.String[])"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.HashGetOne``1(System.String,System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.HashGetAll``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Get``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Remove(System.String[])"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Set``1(System.String,``0,System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Set``1(System.String,``0,System.TimeSpan)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.SetExpire(System.String,System.TimeSpan)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.GetExpire(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.ContainsKey(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Clear"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.DelByPattern(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.GetAll``1(System.Collections.Generic.IEnumerable{System.String})"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.SetAll``1(System.Collections.Generic.IDictionary{System.String,``0},System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.GetDictionary``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.GetQueue``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.GetStack``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.GetSet``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Add``1(System.String,``0,System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.GetList``1(System.String)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Replace``1(System.String,``0)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.TryGetValue``1(System.String,``0@)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Decrement(System.String,System.Int64)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Decrement(System.String,System.Double)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Increment(System.String,System.Int64)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Increment(System.String,System.Double)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.Commit"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.AcquireLock(System.String,System.Int32)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.RedisCacheService.AcquireLock(System.String,System.Int32,System.Int32,System.Boolean)"> | |||||
<inheritdoc/> | |||||
</member> | |||||
<member name="T:SafeCampus.Cache.Startup"> | |||||
<summary> | |||||
AppStartup启动类 | |||||
</summary> | |||||
</member> | |||||
<member name="M:SafeCampus.Cache.Startup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)"> | |||||
<summary> | |||||
ConfigureServices中不能解析服务,比如App.GetService(),尤其是不能在ConfigureServices中获取诸如缓存等数据进行初始化,应该在Configure中进行 | |||||
服务都还没初始化完成,会导致内存中存在多份 IOC 容器!! | |||||
正确应该在 Configure 中,这个时候服务(IServiceCollection 已经完成 BuildServiceProvider() 操作了 | |||||
</summary> | |||||
<param name="services"></param> | |||||
</member> | |||||
</members> | |||||
</doc> |