Browse Source

Merge branch 'master' of http://8.141.155.183:3000/bjquanjiang/pinganxiaoyuan

# Conflicts:
#	SafeCampus.WEB/src/api/interface/sys/index.ts
master
yxq 2 months ago
parent
commit
1d949c4f53
100 changed files with 2778 additions and 1071 deletions
  1. +2
    -1
      .gitignore
  2. BIN
      SafeCampus.API/.vs/ProjectEvaluation/safecampus.metadata.v7.bin
  3. BIN
      SafeCampus.API/.vs/ProjectEvaluation/safecampus.projects.v7.bin
  4. BIN
      SafeCampus.API/.vs/SafeCampus/DesignTimeBuild/.dtbcache.v2
  5. BIN
      SafeCampus.API/.vs/SafeCampus/FileContentIndex/3d41c0cf-4b19-489e-bc55-bf02c1e652d4.vsidx
  6. BIN
      SafeCampus.API/.vs/SafeCampus/FileContentIndex/6852e100-1186-4015-931b-68ddcbfff7b7.vsidx
  7. BIN
      SafeCampus.API/.vs/SafeCampus/FileContentIndex/694c2172-b757-4eeb-93b3-e8b5aa54b066.vsidx
  8. BIN
      SafeCampus.API/.vs/SafeCampus/v17/.futdcache.v2
  9. BIN
      SafeCampus.API/.vs/SafeCampus/v17/.suo
  10. +143
    -978
      SafeCampus.API/.vs/SafeCampus/v17/DocumentLayout.json
  11. BIN
      SafeCampus.API/.vs/SafeCampus/v17/HierarchyCache.v1.txt
  12. BIN
      SafeCampus.API/.vs/SafeCampus/v17/fileList.bin
  13. +2
    -0
      SafeCampus.API/SafeCampus.Application/Manager/DeepelephManager/DeepelephManager.cs
  14. +871
    -0
      SafeCampus.API/SafeCampus.Application/SafeCampus.Application.xml
  15. +45
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/AttendanceService/AttendanceService.cs
  16. +17
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/AttendanceService/Dto/AttendanceAddInput.cs
  17. +73
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/AttendanceService/Dto/AttendanceDto.cs
  18. +73
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/AttendanceService/Dto/AttendanceList.cs
  19. +33
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/AttendanceService/Dto/AttendanceSearch.cs
  20. +23
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/AttendanceService/IAttendanceService.cs
  21. +51
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/CameraGroupService/CameraGroupService.cs
  22. +6
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/CameraGroupService/Dto/CameraGroupAddInput.cs
  23. +7
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/CameraGroupService/Dto/CameraGroupInput.cs
  24. +28
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/CameraGroupService/ICameraGroupService.cs
  25. +144
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/CameraInfoService/CameraInfoService.cs
  26. +21
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/CameraInfoService/Dto/CameraSearch.cs
  27. +19
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/CameraInfoService/Dto/SetGroupInput.cs
  28. +50
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/CameraInfoService/Dto/SetPushPersonInput.cs
  29. +40
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/CameraInfoService/ICameraInfoService.cs
  30. +79
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallService/ClassRoomCallService.cs
  31. +78
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallService/Dto/ClassRoomCallDto.cs
  32. +62
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallService/Dto/ClassRoomCallList.cs
  33. +37
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallService/Dto/ClassRoomCallSearch.cs
  34. +17
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallService/Dto/ClassRoomCallUpdate.cs
  35. +34
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallService/IClassRoomCallService.cs
  36. +39
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallTaskService/ClassRoomCallTaskService.cs
  37. +21
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallTaskService/Dto/ClassRoomCallTaskAdd.cs
  38. +37
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallTaskService/Dto/ClassRoomCallTaskDto.cs
  39. +25
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallTaskService/Dto/ClassRoomCallTaskSearch.cs
  40. +23
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallTaskService/IClassRoomCallTaskService.cs
  41. +59
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassTeacherService/ClassTeacherService.cs
  42. +32
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassTeacherService/Dto/ClassTeacherDto.cs
  43. +18
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassTeacherService/Dto/ClassTeacherInput.cs
  44. +33
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/ClassTeacherService/IClassTeacherService.cs
  45. +42
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/PassengerFlowService/Dto/PassengerFlowDto.cs
  46. +21
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/PassengerFlowService/Dto/PassengerFlowSearch.cs
  47. +19
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/PassengerFlowService/IPassengerFlowService.cs
  48. +37
    -0
      SafeCampus.API/SafeCampus.Application/Services/Business/PassengerFlowService/PassengerFlowService.cs
  49. +9
    -5
      SafeCampus.API/SafeCampus.Application/Services/Business/Warn/Dto/WarnInfoList.cs
  50. +2
    -1
      SafeCampus.API/SafeCampus.Application/Services/Business/Warn/Service/WarnInfoService.cs
  51. +2
    -5
      SafeCampus.API/SafeCampus.Application/Startup.cs
  52. +1
    -1
      SafeCampus.API/SafeCampus.Application/obj/Debug/net6.0/SafeCampus.Application.AssemblyInfo.cs
  53. +1
    -1
      SafeCampus.API/SafeCampus.Application/obj/Debug/net6.0/SafeCampus.Application.AssemblyInfoInputs.cache
  54. BIN
      SafeCampus.API/SafeCampus.Application/obj/Debug/net6.0/SafeCampus.Application.assets.cache
  55. BIN
      SafeCampus.API/SafeCampus.Application/obj/Debug/net6.0/SafeCampus.Application.csproj.AssemblyReference.cache
  56. +1
    -1
      SafeCampus.API/SafeCampus.Application/obj/Debug/net7.0/SafeCampus.Application.AssemblyInfo.cs
  57. +1
    -1
      SafeCampus.API/SafeCampus.Application/obj/Debug/net7.0/SafeCampus.Application.AssemblyInfoInputs.cache
  58. BIN
      SafeCampus.API/SafeCampus.Application/obj/Debug/net7.0/SafeCampus.Application.assets.cache
  59. BIN
      SafeCampus.API/SafeCampus.Application/obj/Debug/net7.0/SafeCampus.Application.csproj.AssemblyReference.cache
  60. +1
    -1
      SafeCampus.API/SafeCampus.Application/obj/Debug/net8.0/SafeCampus.Application.AssemblyInfo.cs
  61. +1
    -1
      SafeCampus.API/SafeCampus.Application/obj/Debug/net8.0/SafeCampus.Application.AssemblyInfoInputs.cache
  62. BIN
      SafeCampus.API/SafeCampus.Application/obj/Debug/net8.0/SafeCampus.Application.assets.cache
  63. BIN
      SafeCampus.API/SafeCampus.Application/obj/Debug/net8.0/SafeCampus.Application.csproj.AssemblyReference.cache
  64. +12
    -0
      SafeCampus.API/SafeCampus.Application/obj/SafeCampus.Application.csproj.nuget.dgspec.json
  65. +104
    -0
      SafeCampus.API/SafeCampus.Application/obj/project.assets.json
  66. +3
    -1
      SafeCampus.API/SafeCampus.Application/obj/project.nuget.cache
  67. +1
    -1
      SafeCampus.API/SafeCampus.Cache/obj/Debug/net6.0/SafeCampus.Cache.AssemblyInfo.cs
  68. +1
    -1
      SafeCampus.API/SafeCampus.Cache/obj/Debug/net6.0/SafeCampus.Cache.AssemblyInfoInputs.cache
  69. BIN
      SafeCampus.API/SafeCampus.Cache/obj/Debug/net6.0/SafeCampus.Cache.assets.cache
  70. BIN
      SafeCampus.API/SafeCampus.Cache/obj/Debug/net6.0/SafeCampus.Cache.csproj.AssemblyReference.cache
  71. +1
    -1
      SafeCampus.API/SafeCampus.Cache/obj/Debug/net7.0/SafeCampus.Cache.AssemblyInfo.cs
  72. +1
    -1
      SafeCampus.API/SafeCampus.Cache/obj/Debug/net7.0/SafeCampus.Cache.AssemblyInfoInputs.cache
  73. BIN
      SafeCampus.API/SafeCampus.Cache/obj/Debug/net7.0/SafeCampus.Cache.assets.cache
  74. BIN
      SafeCampus.API/SafeCampus.Cache/obj/Debug/net7.0/SafeCampus.Cache.csproj.AssemblyReference.cache
  75. +1
    -1
      SafeCampus.API/SafeCampus.Cache/obj/Debug/net8.0/SafeCampus.Cache.AssemblyInfo.cs
  76. +1
    -1
      SafeCampus.API/SafeCampus.Cache/obj/Debug/net8.0/SafeCampus.Cache.AssemblyInfoInputs.cache
  77. BIN
      SafeCampus.API/SafeCampus.Cache/obj/Debug/net8.0/SafeCampus.Cache.assets.cache
  78. BIN
      SafeCampus.API/SafeCampus.Cache/obj/Debug/net8.0/SafeCampus.Cache.csproj.AssemblyReference.cache
  79. +12
    -0
      SafeCampus.API/SafeCampus.Cache/obj/SafeCampus.Cache.csproj.nuget.dgspec.json
  80. +104
    -0
      SafeCampus.API/SafeCampus.Cache/obj/project.assets.json
  81. +3
    -1
      SafeCampus.API/SafeCampus.Cache/obj/project.nuget.cache
  82. +4
    -17
      SafeCampus.API/SafeCampus.Core/Attributes/ValidationAttribute/IdNotNull.cs
  83. +1
    -11
      SafeCampus.API/SafeCampus.Core/BaseInput/BaseFileInput.cs
  84. +1
    -11
      SafeCampus.API/SafeCampus.Core/BaseInput/BaseIdInput.cs
  85. +1
    -10
      SafeCampus.API/SafeCampus.Core/BaseInput/BasePageInput.cs
  86. +1
    -13
      SafeCampus.API/SafeCampus.Core/Components/LoggingFileComponent.cs
  87. +4
    -0
      SafeCampus.API/SafeCampus.Core/Const/SafeCampusConst.cs
  88. +46
    -0
      SafeCampus.API/SafeCampus.Core/Options/TXSmsOptions.cs
  89. +5
    -0
      SafeCampus.API/SafeCampus.Core/SafeCampus.Core.csproj
  90. +38
    -0
      SafeCampus.API/SafeCampus.Core/SafeCampus.Core.xml
  91. +48
    -0
      SafeCampus.API/SafeCampus.Core/Utils/TXYSMS/TxySmsUtil.cs
  92. +1
    -1
      SafeCampus.API/SafeCampus.Core/obj/Debug/net6.0/SafeCampus.Core.AssemblyInfo.cs
  93. +1
    -1
      SafeCampus.API/SafeCampus.Core/obj/Debug/net6.0/SafeCampus.Core.AssemblyInfoInputs.cache
  94. BIN
      SafeCampus.API/SafeCampus.Core/obj/Debug/net6.0/SafeCampus.Core.assets.cache
  95. BIN
      SafeCampus.API/SafeCampus.Core/obj/Debug/net6.0/SafeCampus.Core.csproj.AssemblyReference.cache
  96. +1
    -1
      SafeCampus.API/SafeCampus.Core/obj/Debug/net7.0/SafeCampus.Core.AssemblyInfo.cs
  97. +1
    -1
      SafeCampus.API/SafeCampus.Core/obj/Debug/net7.0/SafeCampus.Core.AssemblyInfoInputs.cache
  98. BIN
      SafeCampus.API/SafeCampus.Core/obj/Debug/net7.0/SafeCampus.Core.assets.cache
  99. BIN
      SafeCampus.API/SafeCampus.Core/obj/Debug/net7.0/SafeCampus.Core.csproj.AssemblyReference.cache
  100. +1
    -1
      SafeCampus.API/SafeCampus.Core/obj/Debug/net8.0/SafeCampus.Core.AssemblyInfo.cs

+ 2
- 1
.gitignore View File

@@ -25,4 +25,5 @@ bld/


# Visual Studio 2015 cache/options directory # Visual Studio 2015 cache/options directory
.vs/ .vs/
# Uncomment if you have tasks that create the
# Uncomment if you have tasks that create the
/SafeCampus.API/SafeCampus.Web.Entry/logs

BIN
SafeCampus.API/.vs/ProjectEvaluation/safecampus.metadata.v7.bin View File


BIN
SafeCampus.API/.vs/ProjectEvaluation/safecampus.projects.v7.bin View File


BIN
SafeCampus.API/.vs/SafeCampus/DesignTimeBuild/.dtbcache.v2 View File


BIN
SafeCampus.API/.vs/SafeCampus/FileContentIndex/3d41c0cf-4b19-489e-bc55-bf02c1e652d4.vsidx View File


BIN
SafeCampus.API/.vs/SafeCampus/FileContentIndex/6852e100-1186-4015-931b-68ddcbfff7b7.vsidx View File


BIN
SafeCampus.API/.vs/SafeCampus/FileContentIndex/694c2172-b757-4eeb-93b3-e8b5aa54b066.vsidx View File


BIN
SafeCampus.API/.vs/SafeCampus/v17/.futdcache.v2 View File


BIN
SafeCampus.API/.vs/SafeCampus/v17/.suo View File


+ 143
- 978
SafeCampus.API/.vs/SafeCampus/v17/DocumentLayout.json
File diff suppressed because it is too large
View File


BIN
SafeCampus.API/.vs/SafeCampus/v17/HierarchyCache.v1.txt View File


BIN
SafeCampus.API/.vs/SafeCampus/v17/fileList.bin View File


+ 2
- 0
SafeCampus.API/SafeCampus.Application/Manager/DeepelephManager/DeepelephManager.cs View File

@@ -12,6 +12,7 @@ using Newtonsoft.Json.Linq;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using SafeCampus.Application.Services.Business.Warn.Dto; using SafeCampus.Application.Services.Business.Warn.Dto;
using SafeCampus.Application.Services.Business.Warn.Service; using SafeCampus.Application.Services.Business.Warn.Service;
using SafeCampus.Core.Utils.TXYSMS;


namespace SafeCampus.Application.Manager.DeepelephManager; namespace SafeCampus.Application.Manager.DeepelephManager;
/// <summary> /// <summary>
@@ -333,6 +334,7 @@ public class DeepelephManager : IDeepelephManager, IScoped
var body = json["body"]; var body = json["body"];
if (body != null) if (body != null)
{ {
TxySmsUtil.SendSms(new[] { "" }, new[] { "" });
//TODO 由于未知道数据格式暂不写处理 //TODO 由于未知道数据格式暂不写处理
} }
} }


+ 871
- 0
SafeCampus.API/SafeCampus.Application/SafeCampus.Application.xml View File

@@ -84,6 +84,793 @@
系统配置 系统配置
</summary> </summary>
</member> </member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceAddInput.PersonSetId">
<summary>
关联底库id 如果为空,表示该人员未匹配到底库
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceAddInput.PersonId">
<summary>
人员id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceAddInput.Tick">
<summary>
考勤时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.Id">
<summary>
ID
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.TenantCode">
<summary>
租户id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.PoiId">
<summary>
门店id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.EventId">
<summary>
考勤事件id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.TrackId">
<summary>
人员跟踪id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.PersonSetId">
<summary>
关联底库id 如果为空,表示该人员未匹配到底库
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.PersonId">
<summary>
人员id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.IsAuto">
<summary>
是否自动上报
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.Similarity">
<summary>
相似度
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.CameraId">
<summary>
摄像头id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.FaceScore">
<summary>
人脸质量分,取值[0, 100]
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.SnapshotUrl">
<summary>
人脸照片url,链接有效期为2小时
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.SnapshotData">
<summary>
人脸照片数据,base64编码(本地对接使用)
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.Tick">
<summary>
事件发生时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.Rects">
<summary>
目标在快照中的位置
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.Extend">
<summary>
人员扩展信息
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.Id">
<summary>
ID
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.TenantCode">
<summary>
租户id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.PoiId">
<summary>
门店id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.EventId">
<summary>
考勤事件id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.TrackId">
<summary>
人员跟踪id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.PersonSetId">
<summary>
关联底库id 如果为空,表示该人员未匹配到底库
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.PersonId">
<summary>
人员id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.IsAuto">
<summary>
是否自动上报
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.Similarity">
<summary>
相似度
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.CameraId">
<summary>
摄像头id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.FaceScore">
<summary>
人脸质量分,取值[0, 100]
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.SnapshotUrl">
<summary>
人脸照片url,链接有效期为2小时
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.SnapshotData">
<summary>
人脸照片数据,base64编码(本地对接使用)
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.Tick">
<summary>
事件发生时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.Rects">
<summary>
目标在快照中的位置
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.Extend">
<summary>
人员扩展信息
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceList.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceSearch.TrackId">
<summary>
人员跟踪id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceSearch.PersonSetId">
<summary>
关联底库id 如果为空,表示该人员未匹配到底库
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceSearch.PersonId">
<summary>
人员id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceSearch.IsAuto">
<summary>
是否自动上报
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceSearch.CameraId">
<summary>
摄像头id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceSearch.StartTick">
<summary>
事件发生时间开始
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.AttendanceService.AttendanceSearch.EndTick">
<summary>
事件发生时间结束
</summary>
</member>
<member name="M:SafeCampus.Application.Services.Business.AttendanceService.IAttendanceService.Add(SafeCampus.Application.Services.Business.AttendanceService.AttendanceDto)">
<summary>
添加考勤记录
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.AttendanceService.IAttendanceService.GetPageList(SafeCampus.Application.Services.Business.AttendanceService.AttendanceSearch)">
<summary>
分页获取考勤列表
</summary>
<param name="search"></param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.AttendanceService.IAttendanceService.GetNoPageList(SafeCampus.Application.Services.Business.AttendanceService.AttendanceSearch)">
<summary>
不分页获取考勤列表
</summary>
<param name="search"></param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.CameraGroupService.ICameraGroupService.Add(SafeCampus.Application.Services.Business.CameraGroupService.CameraGroupAddInput)">
<summary>
添加分组
</summary>
<param name="input">添加参数</param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.CameraGroupService.ICameraGroupService.Update(SafeCampus.Application.Services.Business.CameraGroupService.CameraGroupInput)">
<summary>
修改分组
</summary>
<param name="input">添加参数</param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.CameraGroupService.ICameraGroupService.Delete(System.Int64)">
<summary>
删除分组
</summary>
<param name="id">id</param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.CameraGroupService.ICameraGroupService.GetNoPageList">
<summary>
获取分组列表
</summary>
<returns></returns>
</member>
<member name="P:SafeCampus.Application.Services.Business.CameraInfoService.CameraSearch.SensorName">
<summary>
摄像头名称
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.CameraInfoService.CameraSearch.SensorId">
<summary>
摄像头编码
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.CameraInfoService.CameraSearch.GroupId">
<summary>
分组id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.CameraInfoService.CameraSearch.DeviceStatus">
<summary>
摄像头状态
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.CameraInfoService.SetGroupInput.Id">
<summary>
分组Id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.CameraInfoService.SetGroupInput.Ids">
<summary>
摄像头Id列表
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.CameraInfoService.SetPushPersonGroupInput.GroupId">
<summary>
分组Id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.CameraInfoService.SetPushPersonGroupInput.UserId">
<summary>
人员id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.CameraInfoService.SetPushPersonInput.UserId">
<summary>
人员id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.CameraInfoService.SetPushPersonInput.Ids">
<summary>
摄像头Id列表
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.CameraInfoService.SetPushPersonWarnInput.WarnCode">
<summary>
告警类型编码
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.CameraInfoService.SetPushPersonWarnInput.UserId">
<summary>
人员id
</summary>
</member>
<member name="M:SafeCampus.Application.Services.Business.CameraInfoService.ICameraInfoService.DataSync">
<summary>
数据同步
</summary>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.CameraInfoService.ICameraInfoService.GetPageList(SafeCampus.Application.Services.Business.CameraInfoService.CameraSearch)">
<summary>
获取摄像头列表
</summary>
<param name="search"></param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.CameraInfoService.ICameraInfoService.BatchSetGroup(SafeCampus.Application.Services.Business.CameraInfoService.SetGroupInput)">
<summary>
批量给摄像头设置分组
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.CameraInfoService.ICameraInfoService.BatchSetPushPersonByGroup(SafeCampus.Application.Services.Business.CameraInfoService.SetPushPersonGroupInput)">
<summary>
根据分组批量设置推送人
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.CameraInfoService.ICameraInfoService.BatchSetPushPerson(SafeCampus.Application.Services.Business.CameraInfoService.SetPushPersonInput)">
<summary>
对摄像头批量设置推送人
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.CameraInfoService.ICameraInfoService.BatchSetPushPersonByWarn(SafeCampus.Application.Services.Business.CameraInfoService.SetPushPersonWarnInput)">
<summary>
根据预警分组设置推送人
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.TenantCode">
<summary>
租户id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.PoiId">
<summary>
门店id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.TaskId">
<summary>
任务id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.EventId">
<summary>
点名事件id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.AlarmType">
<summary>
预警类型
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.AlarmTypeDesc">
<summary>
预警类型说明
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.TrackId">
<summary>
人员跟踪id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.PersonSetId">
<summary>
关联底库id 如果为空,表示该人员未匹配到底库
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.PersonId">
<summary>
人员id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.Similarity">
<summary>
相似度
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.CameraId">
<summary>
摄像头id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.FaceScore">
<summary>
人脸质量分,取值[0, 100]
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.SnapshotUrl">
<summary>
人脸照片url,链接有效期为2小时
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.SnapshotData">
<summary>
人脸照片数据,base64编码(本地对接使用)
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.Tick">
<summary>
事件发生时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.Rects">
<summary>
目标在快照中的位置
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.Extend">
<summary>
人员扩展信息
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallList.PoiId">
<summary>
门店id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallList.TaskId">
<summary>
任务id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallList.EventId">
<summary>
点名事件id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallList.AlarmType">
<summary>
预警类型
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallList.AlarmTypeDesc">
<summary>
预警类型说明
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallList.TrackId">
<summary>
人员跟踪id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallList.PersonSetId">
<summary>
关联底库id 如果为空,表示该人员未匹配到底库
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallList.PersonId">
<summary>
人员id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallList.CameraId">
<summary>
摄像头id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallList.SnapshotUrl">
<summary>
人脸照片url,链接有效期为2小时
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallList.SnapshotData">
<summary>
人脸照片数据,base64编码(本地对接使用)
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallList.Tick">
<summary>
事件发生时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallList.Rects">
<summary>
目标在快照中的位置
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallList.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallSearch.TaskId">
<summary>
任务id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallSearch.AlarmType">
<summary>
预警类型
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallSearch.TrackId">
<summary>
人员跟踪id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallSearch.PersonSetId">
<summary>
关联底库id 如果为空,表示该人员未匹配到底库
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallSearch.PersonId">
<summary>
人员id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallSearch.CameraId">
<summary>
摄像头id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallSearch.StartTick">
<summary>
事件开始时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallSearch.EndTick">
<summary>
结束时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallUpdate.Id">
<summary>
ID
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallUpdate.PersonSetId">
<summary>
关联底库id 如果为空,表示该人员未匹配到底库
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallUpdate.PersonId">
<summary>
人员id
</summary>
</member>
<member name="M:SafeCampus.Application.Services.Business.ClassRoomCallService.IClassRoomCallService.Add(SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallDto)">
<summary>
添加点名记录
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.ClassRoomCallService.IClassRoomCallService.Update(SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallUpdate)">
<summary>
修改点名信息,人工处理
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.ClassRoomCallService.IClassRoomCallService.Remove(System.Int64)">
<summary>
删除点名记录(只可删除待处理的记录)
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.ClassRoomCallService.IClassRoomCallService.GetPageList(SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallSearch)">
<summary>
分页获取列表
</summary>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.ClassRoomCallService.IClassRoomCallService.GetNoPageList(SafeCampus.Application.Services.Business.ClassRoomCallService.ClassRoomCallSearch)">
<summary>
不分页获取列表
</summary>
<param name="search"></param>
<returns></returns>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskAdd.CameraId">
<summary>
摄像头id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskAdd.ContinueTime">
<summary>
点名持续时间,单位为分钟,取值[1, 100]
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskAdd.PersonSetId">
<summary>
人员底库id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskAdd.Similarity">
<summary>
匹配相似度阈值(如果没传,系统默认用0.5)
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskDto.Id">
<summary>
ID
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskDto.CameraId">
<summary>
摄像头id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskDto.TaskId">
<summary>
点名任务id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskDto.ContinueTime">
<summary>
点名持续时间,单位为分钟,取值[1, 100]
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskDto.PersonSetId">
<summary>
人员底库id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskDto.Similarity">
<summary>
匹配相似度阈值(如果没传,系统默认用0.5)
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskDto.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskDto.EndTime">
<summary>
结束时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskSearch.CameraId">
<summary>
摄像头id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskSearch.TaskId">
<summary>
点名任务id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskSearch.PersonSetId">
<summary>
人员底库id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskSearch.StartTime">
<summary>
开始时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskSearch.EndTime">
<summary>
结束时间
</summary>
</member>
<member name="M:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.IClassRoomCallTaskService.Add(SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskDto)">
<summary>
添加点名任务
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.IClassRoomCallTaskService.Remove(System.Int64)">
<summary>
删除点名任务,删除关联点名数据
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.ClassRoomCallTaskService.IClassRoomCallTaskService.GetPageList(SafeCampus.Application.Services.Business.ClassRoomCallTaskService.ClassRoomCallTaskSearch)">
<summary>
获取点名任务列表
</summary>
<param name="search"></param>
<returns></returns>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassTeacherService.ClassTeacherDto.UserId">
<summary>
班主任用户id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassTeacherService.ClassTeacherDto.PersonSetId">
<summary>
班级id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassTeacherService.ClassTeacherDto.Name">
<summary>
班主任名称
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassTeacherService.ClassTeacherDto.Phone">
<summary>
班主任联系方式
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassTeacherService.ClassTeacherInput.PersonSetId">
<summary>
班级id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.ClassTeacherService.ClassTeacherInput.UserId">
<summary>
班主任人员id
</summary>
</member>
<member name="M:SafeCampus.Application.Services.Business.ClassTeacherService.IClassTeacherService.Add(SafeCampus.Application.Services.Business.ClassTeacherService.ClassTeacherInput)">
<summary>
添加班主任
</summary>
<param name="input">添加参数</param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.ClassTeacherService.IClassTeacherService.Update(SafeCampus.Application.Services.Business.ClassTeacherService.ClassTeacherUpdateInput)">
<summary>
修改班主任
</summary>
<param name="input">添加参数</param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.ClassTeacherService.IClassTeacherService.Delete(System.Int64)">
<summary>
删除班主任
</summary>
<param name="id">id</param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.ClassTeacherService.IClassTeacherService.GetInfo(System.String)">
<summary>
根据班级id获取班主任信息
</summary>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.ClassTeacherService.IClassTeacherService.GetNoPageList">
<summary>
获取列表
</summary>
<returns></returns>
</member>
<member name="P:SafeCampus.Application.Services.Business.Dto.AlarmSearch.alarmType"> <member name="P:SafeCampus.Application.Services.Business.Dto.AlarmSearch.alarmType">
<summary> <summary>
预警类型 预警类型
@@ -104,6 +891,85 @@
摄像头id 摄像头id
</summary> </summary>
</member> </member>
<member name="P:SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowDto.Id">
<summary>
主键Id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowDto.ExtJson">
<summary>
分片Json信息
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowDto.QueryTime">
<summary>
查询时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowDto.StartTime">
<summary>
开始时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowDto.EndTime">
<summary>
结束时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowDto.CameraIds">
<summary>
摄像头id列表
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowDto.CameraNames">
<summary>
摄像头名称列表
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowDto.Split">
<summary>
分片类型
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowDto.Total">
<summary>
总数
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowSearch.StartTime">
<summary>
开始时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowSearch.EndTime">
<summary>
结束时间
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowSearch.CameraId">
<summary>
摄像头id
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowSearch.Split">
<summary>
分片类型 true小时 false天
</summary>
</member>
<member name="M:SafeCampus.Application.Services.Business.PassengerFlowService.IPassengerFlowService.Add(SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowDto)">
<summary>
添加客流查询任务
</summary>
<param name="input">添加参数</param>
<returns></returns>
</member>
<member name="M:SafeCampus.Application.Services.Business.PassengerFlowService.IPassengerFlowService.GetPageList(SafeCampus.Application.Services.Business.PassengerFlowService.Dto.PassengerFlowSearch)">
<summary>
分页查询列表
</summary>
<param name="search"></param>
<returns></returns>
</member>
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.TenantCode"> <member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoDto.TenantCode">
<summary> <summary>
租户id 租户id
@@ -219,6 +1085,11 @@
摄像头名称 摄像头名称
</summary> </summary>
</member> </member>
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.CameraGroup">
<summary>
摄像头所属分组
</summary>
</member>
<member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.Tick"> <member name="P:SafeCampus.Application.Services.Business.Warn.Dto.WarnInfoList.Tick">
<summary> <summary>
事件发生时间 事件发生时间


+ 45
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/AttendanceService/AttendanceService.cs View File

@@ -0,0 +1,45 @@
namespace SafeCampus.Application.Services.Business.AttendanceService;

public class AttendanceService:DbRepository<Attendance>, IAttendanceService
{
public async Task<bool> Add(AttendanceDto input)
{
var model = input.Adapt<Attendance>();
await InsertAsync(model);
return true;
}

public async Task<SqlSugarPagedList<AttendanceList>> GetPageList(AttendanceSearch search)
{
var query = Context.Queryable<Attendance>()
//.Includes(x => x.CameraInfoItem)
.WhereIF(search.IsAuto.HasValue, x => x.IsAuto == search.IsAuto)
.WhereIF(!string.IsNullOrEmpty(search.PersonSetId), x => x.PersonSetId == search.PersonSetId)
.WhereIF(!string.IsNullOrEmpty(search.PersonId), x => x.PersonId == search.PersonId)
.WhereIF(!string.IsNullOrEmpty(search.TrackId), x => x.TrackId == search.TrackId)
.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)
.ToPagedListAsyncMapster<Attendance, AttendanceList>(search.PageNum, search.PageSize);
return list;
}

public async Task<List<AttendanceList>> GetNoPageList(AttendanceSearch search)
{
var query = Context.Queryable<Attendance>()
//.Includes(x => x.CameraInfoItem)
.WhereIF(search.IsAuto.HasValue, x => x.IsAuto == search.IsAuto)
.WhereIF(!string.IsNullOrEmpty(search.PersonSetId), x => x.PersonSetId == search.PersonSetId)
.WhereIF(!string.IsNullOrEmpty(search.PersonId), x => x.PersonId == search.PersonId)
.WhereIF(!string.IsNullOrEmpty(search.TrackId), x => x.TrackId == search.TrackId)
.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.Adapt<List<AttendanceList>>();
}
}

+ 17
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/AttendanceService/Dto/AttendanceAddInput.cs View File

@@ -0,0 +1,17 @@
namespace SafeCampus.Application.Services.Business.AttendanceService;

public class AttendanceAddInput
{
/// <summary>
/// 关联底库id 如果为空,表示该人员未匹配到底库
/// </summary>
public string PersonSetId { get; set; }
/// <summary>
/// 人员id
/// </summary>
public string PersonId { get; set; }
/// <summary>
/// 考勤时间
/// </summary>
public DateTime Tick { get; set; }
}

+ 73
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/AttendanceService/Dto/AttendanceDto.cs View File

@@ -0,0 +1,73 @@
namespace SafeCampus.Application.Services.Business.AttendanceService;

public class AttendanceDto
{
/// <summary>
/// ID
/// </summary>
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 EventId { get; set; }
/// <summary>
/// 人员跟踪id
/// </summary>
public string TrackId { get; set; }
/// <summary>
/// 关联底库id 如果为空,表示该人员未匹配到底库
/// </summary>
public string PersonSetId { get; set; }
/// <summary>
/// 人员id
/// </summary>
public string PersonId { get; set; }
/// <summary>
/// 是否自动上报
/// </summary>
public bool IsAuto { get; set; }
/// <summary>
/// 相似度
/// </summary>
public float Similarity { get; set; }
/// <summary>
/// 摄像头id
/// </summary>
public string CameraId { get; set; }
/// <summary>
/// 人脸质量分,取值[0, 100]
/// </summary>
public float FaceScore { get; set; }
/// <summary>
/// 人脸照片url,链接有效期为2小时
/// </summary>
public string SnapshotUrl { get; set; }
/// <summary>
/// 人脸照片数据,base64编码(本地对接使用)
/// </summary>
public string SnapshotData { get; set; }
/// <summary>
/// 事件发生时间
/// </summary>
public DateTime Tick { get; set; }
/// <summary>
/// 目标在快照中的位置
/// </summary>
public string Rects { get; set; }
/// <summary>
/// 人员扩展信息
/// </summary>
public string Extend { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}

+ 73
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/AttendanceService/Dto/AttendanceList.cs View File

@@ -0,0 +1,73 @@
namespace SafeCampus.Application.Services.Business.AttendanceService;

public class AttendanceList
{
/// <summary>
/// ID
/// </summary>
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 EventId { get; set; }
/// <summary>
/// 人员跟踪id
/// </summary>
public string TrackId { get; set; }
/// <summary>
/// 关联底库id 如果为空,表示该人员未匹配到底库
/// </summary>
public string PersonSetId { get; set; }
/// <summary>
/// 人员id
/// </summary>
public string PersonId { get; set; }
/// <summary>
/// 是否自动上报
/// </summary>
public bool IsAuto { get; set; }
/// <summary>
/// 相似度
/// </summary>
public float Similarity { get; set; }
/// <summary>
/// 摄像头id
/// </summary>
public string CameraId { get; set; }
/// <summary>
/// 人脸质量分,取值[0, 100]
/// </summary>
public float FaceScore { get; set; }
/// <summary>
/// 人脸照片url,链接有效期为2小时
/// </summary>
public string SnapshotUrl { get; set; }
/// <summary>
/// 人脸照片数据,base64编码(本地对接使用)
/// </summary>
public string SnapshotData { get; set; }
/// <summary>
/// 事件发生时间
/// </summary>
public DateTime Tick { get; set; }
/// <summary>
/// 目标在快照中的位置
/// </summary>
public string Rects { get; set; }
/// <summary>
/// 人员扩展信息
/// </summary>
public string Extend { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}

+ 33
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/AttendanceService/Dto/AttendanceSearch.cs View File

@@ -0,0 +1,33 @@
namespace SafeCampus.Application.Services.Business.AttendanceService;

public class AttendanceSearch:BasePageInput
{
/// <summary>
/// 人员跟踪id
/// </summary>
public string TrackId { get; set; }
/// <summary>
/// 关联底库id 如果为空,表示该人员未匹配到底库
/// </summary>
public string PersonSetId { get; set; }
/// <summary>
/// 人员id
/// </summary>
public string PersonId { get; set; }
/// <summary>
/// 是否自动上报
/// </summary>
public bool? IsAuto { get; set; }
/// <summary>
/// 摄像头id
/// </summary>
public string CameraId { get; set; }
/// <summary>
/// 事件发生时间开始
/// </summary>
public DateTime? StartTick { get; set; }
/// <summary>
/// 事件发生时间结束
/// </summary>
public DateTime? EndTick { get; set; }
}

+ 23
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/AttendanceService/IAttendanceService.cs View File

@@ -0,0 +1,23 @@
namespace SafeCampus.Application.Services.Business.AttendanceService;

public interface IAttendanceService:ITransient
{
/// <summary>
/// 添加考勤记录
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<bool> Add(AttendanceDto input);
/// <summary>
/// 分页获取考勤列表
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
Task<SqlSugarPagedList<AttendanceList>> GetPageList(AttendanceSearch search);
/// <summary>
/// 不分页获取考勤列表
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
Task<List<AttendanceList>> GetNoPageList(AttendanceSearch search);
}

+ 51
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/CameraGroupService/CameraGroupService.cs View File

@@ -0,0 +1,51 @@
namespace SafeCampus.Application.Services.Business.CameraGroupService;

public class CameraGroupService :DbRepository<CameraGroup>, ICameraGroupService
{
public async Task<bool> Add(CameraGroupAddInput input)
{
var model = input.Adapt<CameraGroup>();
await InsertAsync(model);
return true;
}

public async Task<bool> Update(CameraGroupInput input)
{
if (!input.ID.HasValue)
{
throw Oops.Oh("请填写ID");
}
var model = await GetFirstAsync(p => p.Id == input.ID);
if (model == null)
{
throw Oops.Oh("信息不存在");
}
var res = input.Adapt(model);
await UpdateAsync(res);
return true;
}

public async Task<bool> Delete(long id)
{
var cameraInfo = ChangeRepository<DbRepository<CameraInfo>>();//切换仓储
var model = await GetFirstAsync(x => x.Id == id);
if (model == null)
{
throw Oops.Oh("信息不存在");
}

var isOK = await cameraInfo.IsAnyAsync(x => x.GroupId == model.Id);
if (isOK)
{
throw Oops.Oh("分组下存在摄像头,请转移至其他分组后在删除!");
}
await DeleteAsync(model);
return true;
}

public async Task<List<CameraGroup>> GetNoPageList()
{
var list = await GetListAsync();
return list;
}
}

+ 6
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/CameraGroupService/Dto/CameraGroupAddInput.cs View File

@@ -0,0 +1,6 @@
namespace SafeCampus.Application.Services.Business.CameraGroupService;

public class CameraGroupAddInput
{
public string Name { get; set; }
}

+ 7
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/CameraGroupService/Dto/CameraGroupInput.cs View File

@@ -0,0 +1,7 @@
namespace SafeCampus.Application.Services.Business.CameraGroupService;

public class CameraGroupInput
{
public string Name { get; set; }
public long? ID { get; set; }
}

+ 28
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/CameraGroupService/ICameraGroupService.cs View File

@@ -0,0 +1,28 @@
namespace SafeCampus.Application.Services.Business.CameraGroupService;

public interface ICameraGroupService :ITransient
{
/// <summary>
/// 添加分组
/// </summary>
/// <param name="input">添加参数</param>
/// <returns></returns>
Task<bool> Add(CameraGroupAddInput input);
/// <summary>
/// 修改分组
/// </summary>
/// <param name="input">添加参数</param>
/// <returns></returns>
Task<bool> Update(CameraGroupInput input);
/// <summary>
/// 删除分组
/// </summary>
/// <param name="id">id</param>
/// <returns></returns>
Task<bool> Delete(long id);
/// <summary>
/// 获取分组列表
/// </summary>
/// <returns></returns>
Task<List<CameraGroup>> GetNoPageList();
}

+ 144
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/CameraInfoService/CameraInfoService.cs View File

@@ -0,0 +1,144 @@
using MoYu.RemoteRequest.Extensions;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using SafeCampus.Application.Manager.DeepelephManager;
using System.Collections.Generic;

namespace SafeCampus.Application.Services.Business.CameraInfoService;

public class CameraInfoService:DbRepository<CameraInfo>, ICameraInfoService
{
private readonly IDeepelephManager _deepelephManager;
private readonly ISimpleCacheService _simpleCacheService;

public CameraInfoService(IDeepelephManager deepelephManager, ISimpleCacheService simpleCacheService)
{
_deepelephManager = deepelephManager;
_simpleCacheService = simpleCacheService;
}

public async Task<bool> DataSync()
{
var appSettings = App.GetOptionsMonitor<AppInfoOptions>();
var list = await Context.Queryable<CameraInfo>().ToListAsync();
var str = await $"{appSettings.SXAPIURL}/device/console/v1/sensor/page_query/brief"
.SetBody(new
{
token = _deepelephManager.GetToken(),
tenantCode = appSettings.TenantCode,
poiId = appSettings.PoiId,
pageNo = 1,
pageSize = 1000,
})
.SetContentType("application/json")
.PostAsAsync<string>();
var model = JsonConvert.DeserializeObject<JObject>(str);
if (!(bool)model["success"]) throw Oops.Oh(model["message"].ToString());
if (model["data"] != null)
{
foreach (var item in model["data"]["items"])
{
var old_model = list.FirstOrDefault(x => x.SensorId == item["sensorId"].ToString());
if (old_model != null)
{
old_model.DeviceStatus = item["deviceStatus"].ToString() == "online";
old_model.DirectUrlIp = item["directUrlIp"].ToString();
old_model.FieldId = item["fieldId"].ToString();
old_model.FieldName = item["fieldName"].ToString();
old_model.LastTime = DateTime.Now;
old_model.ResHeight = (int)item["resHeight"];
old_model.ResWidth = (int)item["resWidth"];
old_model.SensorName = item["sensorName"].ToString();
old_model.SnapshotUrl = item["snapshotUrl"].ToString();
await UpdateAsync(old_model);
}
else
{
await InsertAsync(new CameraInfo
{
DeviceStatus = item["deviceStatus"].ToString()== "online",
DirectUrlIp = item["directUrlIp"].ToString(),
FieldId = item["fieldId"].ToString(),
FieldName = item["fieldName"].ToString(),
LastTime = DateTime.Now,
ResHeight = (int)item["resHeight"],
ResWidth = (int)item["resWidth"],
SensorId = item["sensorId"].ToString(),
SensorName = item["sensorName"].ToString(),
SnapshotUrl = item["snapshotUrl"].ToString(),

});
}
}
return true;
}
return false;
}

public async Task<SqlSugarPagedList<CameraInfo>> GetPageList(CameraSearch search)
{
var query = Context.Queryable<CameraInfo>()
.WhereIF(search.DeviceStatus.HasValue, x => x.DeviceStatus == search.DeviceStatus)
.WhereIF(!string.IsNullOrEmpty(search.SensorId), x => x.SensorId == search.SensorId)
.WhereIF(!string.IsNullOrEmpty(search.SensorName), x => x.SensorName == search.SensorName)
.WhereIF(search.GroupId.HasValue, x => (search.GroupId.Value==-1?x.GroupId==null:x.GroupId==search.GroupId.Value));
var list = await query.OrderBy(x => x.LastTime)
.ToPagedListAsync(search.PageNum, search.PageSize);
return list;
}

public async Task<bool> BatchSetGroup(SetGroupInput input)
{
if (input.Id==-1)
{
var result = await Context.Updateable<CameraInfo>()
.SetColumns(x => x.GroupId == null)
.Where(x => input.Ids.Contains(x.Id))
.ExecuteCommandAsync();
return result == input.Ids.Count;
}
else
{
var result = await Context.Updateable<CameraInfo>()
.SetColumns(x => x.GroupId == input.Id)
.Where(x => input.Ids.Contains(x.Id))
.ExecuteCommandAsync();
return result == input.Ids.Count;
}
}

public async Task<bool> BatchSetPushPersonByGroup(SetPushPersonGroupInput input)
{
var result = await Context.Updateable<CameraInfo>()
.SetColumns(x => x.PushUserId == input.UserId)
.Where(x =>x.GroupId==input.GroupId)
.ExecuteCommandAsync();
return result >0;
}

public async Task<bool> BatchSetPushPerson(SetPushPersonInput input)
{
var result = await Context.Updateable<CameraInfo>()
.SetColumns(x => x.PushUserId == input.UserId)
.Where(x => input.Ids.Contains(x.Id))
.ExecuteCommandAsync();
return result == input.Ids.Count;
}

public async Task<bool> BatchSetPushPersonByWarn(SetPushPersonWarnInput input)
{
var warn = _simpleCacheService.Get<List<WarnGroupInfo>>(SafeCampusConst.WarnGroup);
var warnGroupInfo = warn.FirstOrDefault(x => x.Code == input.WarnCode);
if (warnGroupInfo != null)
{
var ids = warnGroupInfo.CameraId;
var result = await Context.Updateable<CameraInfo>()
.SetColumns(x => x.PushUserId == input.UserId)
.Where(x => ids.Contains(x.SensorId))
.ExecuteCommandAsync();
return result >0;
}

throw Oops.Oh("分组不存在");
}
}

+ 21
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/CameraInfoService/Dto/CameraSearch.cs View File

@@ -0,0 +1,21 @@
namespace SafeCampus.Application.Services.Business.CameraInfoService;

public class CameraSearch: BasePageInput
{
/// <summary>
/// 摄像头名称
/// </summary>
public string SensorName { get; set; }
/// <summary>
/// 摄像头编码
/// </summary>
public string SensorId { get; set; }
/// <summary>
/// 分组id
/// </summary>
public long? GroupId { get; set; }
/// <summary>
/// 摄像头状态
/// </summary>
public bool? DeviceStatus { get; set; }
}

+ 19
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/CameraInfoService/Dto/SetGroupInput.cs View File

@@ -0,0 +1,19 @@
using MoYu.DataValidation;
using System.ComponentModel.DataAnnotations;

namespace SafeCampus.Application.Services.Business.CameraInfoService;

public class SetGroupInput
{
/// <summary>
/// 分组Id
/// </summary>
[IdNotNull(ErrorMessage = "Id不能为空")]
[DataValidation(ValidationTypes.Numeric)]
public virtual long Id { get; set; }
/// <summary>
/// 摄像头Id列表
/// </summary>
[IdsNotNull(ErrorMessage = "IdList不能为空")]
public List<long> Ids { get; set; } = new List<long>();
}

+ 50
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/CameraInfoService/Dto/SetPushPersonInput.cs View File

@@ -0,0 +1,50 @@
using MoYu.DataValidation;
using System.ComponentModel.DataAnnotations;

namespace SafeCampus.Application.Services.Business.CameraInfoService;

public class SetPushPersonGroupInput
{
/// <summary>
/// 分组Id
/// </summary>
[IdNotNull(ErrorMessage = "Id不能为空")]
[DataValidation(ValidationTypes.Numeric)]
public virtual long GroupId { get; set; }
/// <summary>
/// 人员id
/// </summary>
[IdNotNull(ErrorMessage = "Id不能为空")]
[DataValidation(ValidationTypes.Numeric)]
public virtual long UserId { get; set; }
}

public class SetPushPersonInput
{
/// <summary>
/// 人员id
/// </summary>
[IdNotNull(ErrorMessage = "Id不能为空")]
[DataValidation(ValidationTypes.Numeric)]
public virtual long UserId { get; set; }
/// <summary>
/// 摄像头Id列表
/// </summary>
[IdsNotNull(ErrorMessage = "IdList不能为空")]
public List<long> Ids { get; set; } = new List<long>();
}

public class SetPushPersonWarnInput
{
/// <summary>
/// 告警类型编码
/// </summary>
[IdNotNull(ErrorMessage = "告警类型编码")]
public virtual string WarnCode { get; set; }
/// <summary>
/// 人员id
/// </summary>
[IdNotNull(ErrorMessage = "Id不能为空")]
[DataValidation(ValidationTypes.Numeric)]
public virtual long UserId { get; set; }
}

+ 40
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/CameraInfoService/ICameraInfoService.cs View File

@@ -0,0 +1,40 @@
namespace SafeCampus.Application.Services.Business.CameraInfoService;

public interface ICameraInfoService:ITransient
{
/// <summary>
/// 数据同步
/// </summary>
/// <returns></returns>
Task<bool> DataSync();
/// <summary>
/// 获取摄像头列表
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
Task<SqlSugarPagedList<CameraInfo>> GetPageList(CameraSearch search);
/// <summary>
/// 批量给摄像头设置分组
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<bool> BatchSetGroup(SetGroupInput input);
/// <summary>
/// 根据分组批量设置推送人
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<bool> BatchSetPushPersonByGroup(SetPushPersonGroupInput input);
/// <summary>
/// 对摄像头批量设置推送人
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<bool> BatchSetPushPerson(SetPushPersonInput input);
/// <summary>
/// 根据预警分组设置推送人
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<bool> BatchSetPushPersonByWarn(SetPushPersonWarnInput input);
}

+ 79
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallService/ClassRoomCallService.cs View File

@@ -0,0 +1,79 @@
namespace SafeCampus.Application.Services.Business.ClassRoomCallService;

public class ClassRoomCallService : DbRepository<ClassRoomCall>, IClassRoomCallService
{
public async Task<bool> Add(ClassRoomCallDto input)
{
var model = input.Adapt<ClassRoomCall>();
await InsertAsync(model);
return true;
}

public async Task<bool> Update(ClassRoomCallUpdate input)
{
var model = await GetFirstAsync(p => p.Id == input.Id);
if (model == null)
{
throw Oops.Oh("信息不存在");
}
//var res = input.Adapt(model);
model.PersonSetId = input.PersonSetId;
model.PersonId = input.PersonId;
await Context.Updateable<ClassRoomCall>()
.UpdateColumns(x => new
{
x.PersonSetId,
x.PersonId
})
.ExecuteCommandAsync();
//await UpdateAsync(model);
return true;
}

public async Task<bool> Remove(long id)
{
var model = await GetFirstAsync(x => x.Id == id);
if (model == null)
{
throw Oops.Oh("信息不存在");
}
await DeleteAsync(model);
return true;
}

public async Task<SqlSugarPagedList<ClassRoomCallList>> GetPageList(ClassRoomCallSearch search)
{
var query = Context.Queryable<ClassRoomCall>()
.Includes(x => x.CameraInfoItem)
.WhereIF(!string.IsNullOrEmpty(search.AlarmType), x => x.AlarmType == search.AlarmType)
.WhereIF(!string.IsNullOrEmpty(search.CameraId), x => x.CameraId == search.CameraId)
.WhereIF(!string.IsNullOrEmpty(search.PersonSetId), x => x.PersonSetId == search.PersonSetId)
.WhereIF(!string.IsNullOrEmpty(search.TaskId), x => x.TaskId == search.TaskId)
.WhereIF(!string.IsNullOrEmpty(search.TrackId), x => x.TrackId == search.TrackId)
.WhereIF(!string.IsNullOrEmpty(search.PersonId), x => x.PersonId == search.PersonId)
.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)
.ToPagedListAsyncMapster<ClassRoomCall, ClassRoomCallList>(search.PageNum, search.PageSize);
return list;
}

public async Task<List<ClassRoomCallList>> GetNoPageList(ClassRoomCallSearch search)
{
var query = Context.Queryable<ClassRoomCall>()
.Includes(x => x.CameraInfoItem)
.WhereIF(!string.IsNullOrEmpty(search.AlarmType), x => x.AlarmType == search.AlarmType)
.WhereIF(!string.IsNullOrEmpty(search.CameraId), x => x.CameraId == search.CameraId)
.WhereIF(!string.IsNullOrEmpty(search.PersonSetId), x => x.PersonSetId == search.PersonSetId)
.WhereIF(!string.IsNullOrEmpty(search.TaskId), x => x.TaskId == search.TaskId)
.WhereIF(!string.IsNullOrEmpty(search.TrackId), x => x.TrackId == search.TrackId)
.WhereIF(!string.IsNullOrEmpty(search.PersonId), x => x.PersonId == search.PersonId)
.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.Adapt<List<ClassRoomCallList>>();
}
}

+ 78
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallService/Dto/ClassRoomCallDto.cs View File

@@ -0,0 +1,78 @@
namespace SafeCampus.Application.Services.Business.ClassRoomCallService;

public class ClassRoomCallDto
{
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 TaskId { get; set; }
/// <summary>
/// 点名事件id
/// </summary>
public string EventId { get; set; }
/// <summary>
/// 预警类型
/// </summary>
public string AlarmType { get; set; }
/// <summary>
/// 预警类型说明
/// </summary>
public string AlarmTypeDesc { get; set; }
/// <summary>
/// 人员跟踪id
/// </summary>
public string TrackId { get; set; }
/// <summary>
/// 关联底库id 如果为空,表示该人员未匹配到底库
/// </summary>
public string PersonSetId { get; set; }
/// <summary>
/// 人员id
/// </summary>
public string PersonId { get; set; }
/// <summary>
/// 相似度
/// </summary>
public float Similarity { get; set; }
/// <summary>
/// 摄像头id
/// </summary>
public string CameraId { get; set; }
/// <summary>
/// 人脸质量分,取值[0, 100]
/// </summary>
public float FaceScore { get; set; }
/// <summary>
/// 人脸照片url,链接有效期为2小时
/// </summary>
public string SnapshotUrl { get; set; }
/// <summary>
/// 人脸照片数据,base64编码(本地对接使用)
/// </summary>
public string SnapshotData { get; set; }
/// <summary>
/// 事件发生时间
/// </summary>
public DateTime Tick { get; set; }
/// <summary>
/// 目标在快照中的位置
/// </summary>
public string Rects { get; set; }
/// <summary>
/// 人员扩展信息
/// </summary>
public string Extend { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}

+ 62
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallService/Dto/ClassRoomCallList.cs View File

@@ -0,0 +1,62 @@
namespace SafeCampus.Application.Services.Business.ClassRoomCallService;

public class ClassRoomCallList
{
public long Id { get; set; }
/// <summary>
/// 门店id
/// </summary>
public string PoiId { get; set; }
/// <summary>
/// 任务id
/// </summary>
public string TaskId { get; set; }
/// <summary>
/// 点名事件id
/// </summary>
public string EventId { get; set; }
/// <summary>
/// 预警类型
/// </summary>
public string AlarmType { get; set; }
/// <summary>
/// 预警类型说明
/// </summary>
public string AlarmTypeDesc { get; set; }
/// <summary>
/// 人员跟踪id
/// </summary>
public string TrackId { get; set; }
/// <summary>
/// 关联底库id 如果为空,表示该人员未匹配到底库
/// </summary>
public string PersonSetId { get; set; }
/// <summary>
/// 人员id
/// </summary>
public string PersonId { get; set; }
/// <summary>
/// 摄像头id
/// </summary>
public string CameraId { get; set; }
/// <summary>
/// 人脸照片url,链接有效期为2小时
/// </summary>
public string SnapshotUrl { get; set; }
/// <summary>
/// 人脸照片数据,base64编码(本地对接使用)
/// </summary>
public string SnapshotData { get; set; }
/// <summary>
/// 事件发生时间
/// </summary>
public DateTime Tick { get; set; }
/// <summary>
/// 目标在快照中的位置
/// </summary>
public string Rects { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}

+ 37
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallService/Dto/ClassRoomCallSearch.cs View File

@@ -0,0 +1,37 @@
namespace SafeCampus.Application.Services.Business.ClassRoomCallService;

public class ClassRoomCallSearch:BasePageInput
{
/// <summary>
/// 任务id
/// </summary>
public string TaskId { get; set; }
/// <summary>
/// 预警类型
/// </summary>
public string AlarmType { get; set; }
/// <summary>
/// 人员跟踪id
/// </summary>
public string TrackId { get; set; }
/// <summary>
/// 关联底库id 如果为空,表示该人员未匹配到底库
/// </summary>
public string PersonSetId { get; set; }
/// <summary>
/// 人员id
/// </summary>
public string PersonId { get; set; }
/// <summary>
/// 摄像头id
/// </summary>
public string CameraId { get; set; }
/// <summary>
/// 事件开始时间
/// </summary>
public DateTime? StartTick { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public DateTime? EndTick { get; set; }
}

+ 17
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallService/Dto/ClassRoomCallUpdate.cs View File

@@ -0,0 +1,17 @@
namespace SafeCampus.Application.Services.Business.ClassRoomCallService;

public class ClassRoomCallUpdate
{
/// <summary>
/// ID
/// </summary>
public long Id { get; set; }
/// <summary>
/// 关联底库id 如果为空,表示该人员未匹配到底库
/// </summary>
public string PersonSetId { get; set; }
/// <summary>
/// 人员id
/// </summary>
public string PersonId { get; set; }
}

+ 34
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallService/IClassRoomCallService.cs View File

@@ -0,0 +1,34 @@
namespace SafeCampus.Application.Services.Business.ClassRoomCallService;

public interface IClassRoomCallService:ITransient
{
/// <summary>
/// 添加点名记录
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<bool> Add(ClassRoomCallDto input);
/// <summary>
/// 修改点名信息,人工处理
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<bool> Update(ClassRoomCallUpdate input);
/// <summary>
/// 删除点名记录(只可删除待处理的记录)
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<bool> Remove(long id);
/// <summary>
/// 分页获取列表
/// </summary>
/// <returns></returns>
Task<SqlSugarPagedList<ClassRoomCallList>> GetPageList(ClassRoomCallSearch search);
/// <summary>
/// 不分页获取列表
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
Task<List<ClassRoomCallList>> GetNoPageList(ClassRoomCallSearch search);
}

+ 39
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallTaskService/ClassRoomCallTaskService.cs View File

@@ -0,0 +1,39 @@
namespace SafeCampus.Application.Services.Business.ClassRoomCallTaskService;

public class ClassRoomCallTaskService : DbRepository<ClassRoomCallTask> ,IClassRoomCallTaskService
{
public async Task<bool> Add(ClassRoomCallTaskDto input)
{
var model = input.Adapt<ClassRoomCallTask>();
await InsertAsync(model);
return true;
}

public async Task<bool> Remove(long id)
{
var model = await GetFirstAsync(x => x.Id == id);
if (model == null)
{
throw Oops.Oh("信息不存在");
}
await DeleteAsync(model);
var classRoomCall = ChangeRepository<DbRepository<ClassRoomCall>>();//切换仓储
await classRoomCall.DeleteAsync(x => x.TaskId == model.TaskId);
return true;
}

public async Task<SqlSugarPagedList<ClassRoomCallTaskDto>> GetPageList(ClassRoomCallTaskSearch search)
{
var query = Context.Queryable<ClassRoomCallTask>()
//.Includes(x => x.CameraInfoItem)
.WhereIF(!string.IsNullOrEmpty(search.PersonSetId), x => x.PersonSetId == search.PersonSetId)
.WhereIF(!string.IsNullOrEmpty(search.TaskId), x => x.TaskId == search.TaskId)
.WhereIF(!string.IsNullOrEmpty(search.CameraId), x => x.CameraId == search.CameraId)
.WhereIF(search.StartTime.HasValue, x => x.CreateTime >= search.StartTime)
.WhereIF(search.EndTime.HasValue, x => x.EndTime <= search.EndTime);

var list = await query.OrderByDescending(x => x.CreateTime)
.ToPagedListAsyncMapster<ClassRoomCallTask, ClassRoomCallTaskDto>(search.PageNum, search.PageSize);
return list;
}
}

+ 21
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallTaskService/Dto/ClassRoomCallTaskAdd.cs View File

@@ -0,0 +1,21 @@
namespace SafeCampus.Application.Services.Business.ClassRoomCallTaskService;

public class ClassRoomCallTaskAdd
{
/// <summary>
/// 摄像头id
/// </summary>
public string CameraId { get; set; }
/// <summary>
/// 点名持续时间,单位为分钟,取值[1, 100]
/// </summary>
public int ContinueTime { get; set; }
/// <summary>
/// 人员底库id
/// </summary>
public string PersonSetId { get; set; }
/// <summary>
/// 匹配相似度阈值(如果没传,系统默认用0.5)
/// </summary>
public float Similarity { get; set; }
}

+ 37
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallTaskService/Dto/ClassRoomCallTaskDto.cs View File

@@ -0,0 +1,37 @@
namespace SafeCampus.Application.Services.Business.ClassRoomCallTaskService;

public class ClassRoomCallTaskDto
{
/// <summary>
/// ID
/// </summary>
public long Id { get; set; }
/// <summary>
/// 摄像头id
/// </summary>
public string CameraId { get; set; }
/// <summary>
/// 点名任务id
/// </summary>
public string TaskId { get; set; }
/// <summary>
/// 点名持续时间,单位为分钟,取值[1, 100]
/// </summary>
public int ContinueTime { get; set; }
/// <summary>
/// 人员底库id
/// </summary>
public string PersonSetId { get; set; }
/// <summary>
/// 匹配相似度阈值(如果没传,系统默认用0.5)
/// </summary>
public float Similarity { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public DateTime EndTime { get; set; }
}

+ 25
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallTaskService/Dto/ClassRoomCallTaskSearch.cs View File

@@ -0,0 +1,25 @@
namespace SafeCampus.Application.Services.Business.ClassRoomCallTaskService;

public class ClassRoomCallTaskSearch:BasePageInput
{
/// <summary>
/// 摄像头id
/// </summary>
public string CameraId { get; set; }
/// <summary>
/// 点名任务id
/// </summary>
public string TaskId { get; set; }
/// <summary>
/// 人员底库id
/// </summary>
public string PersonSetId { get; set; }
/// <summary>
/// 开始时间
/// </summary>
public DateTime? StartTime { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public DateTime? EndTime { get; set; }
}

+ 23
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassRoomCallTaskService/IClassRoomCallTaskService.cs View File

@@ -0,0 +1,23 @@
namespace SafeCampus.Application.Services.Business.ClassRoomCallTaskService;

public interface IClassRoomCallTaskService : ITransient
{
/// <summary>
/// 添加点名任务
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<bool>Add(ClassRoomCallTaskDto input);
/// <summary>
/// 删除点名任务,删除关联点名数据
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<bool>Remove(long id);
/// <summary>
/// 获取点名任务列表
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
Task<SqlSugarPagedList<ClassRoomCallTaskDto>> GetPageList(ClassRoomCallTaskSearch search);
}

+ 59
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassTeacherService/ClassTeacherService.cs View File

@@ -0,0 +1,59 @@
namespace SafeCampus.Application.Services.Business.ClassTeacherService;

public class ClassTeacherService:DbRepository<ClassTeacher>, IClassTeacherService
{
public async Task<bool> Add(ClassTeacherInput input)
{
var model = input.Adapt<ClassTeacher>();
await InsertAsync(model);
return true;
}

public async Task<bool> Update(ClassTeacherUpdateInput input)
{
if (!input.ID.HasValue)
{
throw Oops.Oh("请填写ID");
}
var model = await GetFirstAsync(p => p.Id == input.ID);
if (model == null)
{
throw Oops.Oh("信息不存在");
}
var res = input.Adapt(model);
await UpdateAsync(res);
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<ClassTeacherDto> GetInfo(string personSetId)
{
var model = await Context.Queryable<ClassTeacher>()
.Includes(x => x.SysUserItem)
.Where(x => x.PersonSetId == personSetId).FirstAsync();
if (model == null)
{
return null;
//throw Oops.Oh("信息不存在!");
}
return model.Adapt<ClassTeacherDto>();
}

public async Task<List<ClassTeacherDto>> GetNoPageList()
{
var list = await Context.Queryable<ClassTeacher>()
.Includes(x => x.SysUserItem)
.ToListAsync();
return list.Adapt<List<ClassTeacherDto>>();
}
}

+ 32
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassTeacherService/Dto/ClassTeacherDto.cs View File

@@ -0,0 +1,32 @@
namespace SafeCampus.Application.Services.Business.ClassTeacherService;

public class ClassTeacherDto
{
public long Id { get; set; }
/// <summary>
/// 班主任用户id
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 班级id
/// </summary>
public string PersonSetId { get; set; }
/// <summary>
/// 班主任名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 班主任联系方式
/// </summary>
public string Phone { get; set; }
}
public class ClassTeacherDtoMapper : IRegister
{
public void Register(TypeAdapterConfig config)
{
config.ForType<ClassTeacher, ClassTeacherDto>()
//.Map(dest => dest.CameraName, src => src.CameraId.GetDescriptionByEnum<CameraType>());
.Map(dest => dest.Name, src => src.SysUserItem.Name)
.Map(dest => dest.Phone, src => src.SysUserItem.Phone);
}
}

+ 18
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassTeacherService/Dto/ClassTeacherInput.cs View File

@@ -0,0 +1,18 @@
namespace SafeCampus.Application.Services.Business.ClassTeacherService;

public class ClassTeacherInput
{
/// <summary>
/// 班级id
/// </summary>
public string PersonSetId { get; set; }
/// <summary>
/// 班主任人员id
/// </summary>
public string UserId { get; set; }
}

public class ClassTeacherUpdateInput: ClassTeacherInput
{
public long? ID { get; set; }
}

+ 33
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/ClassTeacherService/IClassTeacherService.cs View File

@@ -0,0 +1,33 @@
namespace SafeCampus.Application.Services.Business.ClassTeacherService;

public interface IClassTeacherService:ITransient
{
/// <summary>
/// 添加班主任
/// </summary>
/// <param name="input">添加参数</param>
/// <returns></returns>
Task<bool> Add(ClassTeacherInput input);
/// <summary>
/// 修改班主任
/// </summary>
/// <param name="input">添加参数</param>
/// <returns></returns>
Task<bool> Update(ClassTeacherUpdateInput input);
/// <summary>
/// 删除班主任
/// </summary>
/// <param name="id">id</param>
/// <returns></returns>
Task<bool> Delete(long id);
/// <summary>
/// 根据班级id获取班主任信息
/// </summary>
/// <returns></returns>
Task<ClassTeacherDto> GetInfo(string personSetId);
/// <summary>
/// 获取列表
/// </summary>
/// <returns></returns>
Task<List<ClassTeacherDto>> GetNoPageList();
}

+ 42
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/PassengerFlowService/Dto/PassengerFlowDto.cs View File

@@ -0,0 +1,42 @@
namespace SafeCampus.Application.Services.Business.PassengerFlowService.Dto;

public class PassengerFlowDto
{
/// <summary>
/// 主键Id
/// </summary>
public long Id { get; set; }

/// <summary>
/// 分片Json信息
/// </summary>
public string ExtJson { get; set; }
/// <summary>
/// 查询时间
/// </summary>
public DateTime QueryTime { get; set; }
/// <summary>
/// 开始时间
/// </summary>
public DateTime StartTime { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public DateTime EndTime { get; set; }
/// <summary>
/// 摄像头id列表
/// </summary>
public string[] CameraIds { get; set; }
/// <summary>
/// 摄像头名称列表
/// </summary>
public string[] CameraNames { get; set; }
/// <summary>
/// 分片类型
/// </summary>
public bool Split { get; set; }
/// <summary>
/// 总数
/// </summary>
public int Total { get; set; }
}

+ 21
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/PassengerFlowService/Dto/PassengerFlowSearch.cs View File

@@ -0,0 +1,21 @@
namespace SafeCampus.Application.Services.Business.PassengerFlowService.Dto;

public class PassengerFlowSearch:BasePageInput
{
/// <summary>
/// 开始时间
/// </summary>
public DateTime? StartTime { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public DateTime? EndTime { get; set; }
/// <summary>
/// 摄像头id
/// </summary>
public string CameraId { get; set; }
/// <summary>
/// 分片类型 true小时 false天
/// </summary>
public bool? Split { get; set; }
}

+ 19
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/PassengerFlowService/IPassengerFlowService.cs View File

@@ -0,0 +1,19 @@
using SafeCampus.Application.Services.Business.PassengerFlowService.Dto;

namespace SafeCampus.Application.Services.Business.PassengerFlowService;

public interface IPassengerFlowService : ITransient
{
/// <summary>
/// 添加客流查询任务
/// </summary>
/// <param name="input">添加参数</param>
/// <returns></returns>
Task<bool> Add(PassengerFlowDto input);
/// <summary>
/// 分页查询列表
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
Task<SqlSugarPagedList<PassengerFlowDto>> GetPageList(PassengerFlowSearch search);
}

+ 37
- 0
SafeCampus.API/SafeCampus.Application/Services/Business/PassengerFlowService/PassengerFlowService.cs View File

@@ -0,0 +1,37 @@
using SafeCampus.Application.Services.Business.PassengerFlowService.Dto;

namespace SafeCampus.Application.Services.Business.PassengerFlowService;

public class PassengerFlowService:DbRepository<PassengerFlow>, IPassengerFlowService
{
public async Task<bool> Add(PassengerFlowDto input)
{
//var model = input.Adapt<PassengerFlow>();
var model = new PassengerFlow
{
CameraIds = string.Join("、", input.CameraIds),
CameraNames = string.Join("、",input.CameraNames),
EndTime = input.EndTime,
ExtJson = input.ExtJson,
QueryTime = DateTime.Now,
Split = input.Split,
StartTime = input.StartTime,
Total = input.Total
};
await InsertAsync(model);
return true;
}

public async Task<SqlSugarPagedList<PassengerFlowDto>> GetPageList(PassengerFlowSearch search)
{
var query = Context.Queryable<PassengerFlow>()
.WhereIF(search.Split.HasValue, x => x.Split == search.Split)
.WhereIF(!string.IsNullOrEmpty(search.CameraId), x => x.CameraIds.Contains(search.CameraId))
.WhereIF(search.StartTime.HasValue, x => x.QueryTime >= search.StartTime)
.WhereIF(search.EndTime.HasValue, x => x.QueryTime <= search.EndTime);

var list = await query.OrderByDescending(x => x.QueryTime)
.ToPagedListAsyncMapster<PassengerFlow, PassengerFlowDto>(search.PageNum, search.PageSize);
return list;
}
}

+ 9
- 5
SafeCampus.API/SafeCampus.Application/Services/Business/Warn/Dto/WarnInfoList.cs View File

@@ -1,10 +1,8 @@
using AngleSharp.Dom;

namespace SafeCampus.Application.Services.Business.Warn.Dto;
namespace SafeCampus.Application.Services.Business.Warn.Dto;


public class WarnInfoList public class WarnInfoList
{ {
public int ID { get; set; }
public long ID { get; set; }
/// <summary> /// <summary>
/// 预警id /// 预警id
/// </summary> /// </summary>
@@ -27,6 +25,10 @@ public class WarnInfoList
/// </summary> /// </summary>
public string CameraName { get; set; } public string CameraName { get; set; }
/// <summary> /// <summary>
/// 摄像头所属分组
/// </summary>
public string CameraGroup { get; set; }
/// <summary>
/// 事件发生时间 /// 事件发生时间
/// </summary> /// </summary>
public DateTime Tick { get; set; } public DateTime Tick { get; set; }
@@ -56,6 +58,8 @@ public class WarnInfoListMapper : IRegister
public void Register(TypeAdapterConfig config) public void Register(TypeAdapterConfig config)
{ {
config.ForType<WarnInfo, WarnInfoList>() config.ForType<WarnInfo, WarnInfoList>()
.Map(dest => dest.CameraName, src => src.CameraId.GetDescriptionByEnum<CameraType>());
//.Map(dest => dest.CameraName, src => src.CameraId.GetDescriptionByEnum<CameraType>());
.Map(dest => dest.CameraName, src => src.CameraInfoItem.SensorName)
.Map(dest => dest.CameraGroup, src => src.CameraInfoItem.CameraGroupItem.Name);
} }
} }

+ 2
- 1
SafeCampus.API/SafeCampus.Application/Services/Business/Warn/Service/WarnInfoService.cs View File

@@ -53,7 +53,7 @@ public class WarnInfoService:DbRepository<WarnInfo>, IWarnInfoService,ITransient


public async Task<WarnInfoDto> GetInfo(long Id) public async Task<WarnInfoDto> GetInfo(long Id)
{ {
var model = await GetFirstAsync(p => p.Id == Id);
var model = await Context.Queryable<WarnInfo>().Includes(x=>x.CameraInfoItem).Where(x=>x.Id==Id).FirstAsync();
if (model == null) if (model == null)
{ {
throw Oops.Oh("信息不存在!"); throw Oops.Oh("信息不存在!");
@@ -92,6 +92,7 @@ public class WarnInfoService:DbRepository<WarnInfo>, IWarnInfoService,ITransient
} }
var query = Context.Queryable<WarnInfo>() var query = Context.Queryable<WarnInfo>()
.Includes(x=>x.CameraInfoItem)
.WhereIF(search.WarnHand.HasValue, x => x.WarnHand == search.WarnHand) .WhereIF(search.WarnHand.HasValue, x => x.WarnHand == search.WarnHand)
.WhereIF(!string.IsNullOrEmpty(search.AlarmType),x => x.AlarmType == search.AlarmType) .WhereIF(!string.IsNullOrEmpty(search.AlarmType),x => x.AlarmType == search.AlarmType)
.WhereIF(!string.IsNullOrEmpty(search.CameraId), x => x.CameraId == search.CameraId) .WhereIF(!string.IsNullOrEmpty(search.CameraId), x => x.CameraId == search.CameraId)


+ 2
- 5
SafeCampus.API/SafeCampus.Application/Startup.cs View File

@@ -2,11 +2,7 @@
// //









using SafeCampus.Core.Options;


namespace SafeCampus.Application; namespace SafeCampus.Application;


@@ -26,6 +22,7 @@ public class Startup : AppStartup
//业务配置转实体 //业务配置转实体
services.AddConfigurableOptions<ApplicationSettingsOptions>(); services.AddConfigurableOptions<ApplicationSettingsOptions>();
services.AddConfigurableOptions<AppInfoOptions>(); services.AddConfigurableOptions<AppInfoOptions>();
services.AddConfigurableOptions<TXSmsOptions>();
} }


public void Configure(IApplicationBuilder app, IWebHostEnvironment env) public void Configure(IApplicationBuilder app, IWebHostEnvironment env)


+ 1
- 1
SafeCampus.API/SafeCampus.Application/obj/Debug/net6.0/SafeCampus.Application.AssemblyInfo.cs View File

@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Application")] [assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Application")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+7b594c62a278bc4c7cdeb186fc16b21a67573018")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+8094eb9f28ce0eacd3a9839bce976835a89bac36")]
[assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Application")] [assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Application")]
[assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Application")] [assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Application")]
[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")]


+ 1
- 1
SafeCampus.API/SafeCampus.Application/obj/Debug/net6.0/SafeCampus.Application.AssemblyInfoInputs.cache View File

@@ -1 +1 @@
8deff3ea2db041439b250089eed6dc5718b475df70ec4b5eb2a8480a011a29f2
15cfdb9642c228344ca348393e44bfc41e49f25544b43d9b0a17ff2c6024d12a

BIN
SafeCampus.API/SafeCampus.Application/obj/Debug/net6.0/SafeCampus.Application.assets.cache View File


BIN
SafeCampus.API/SafeCampus.Application/obj/Debug/net6.0/SafeCampus.Application.csproj.AssemblyReference.cache View File


+ 1
- 1
SafeCampus.API/SafeCampus.Application/obj/Debug/net7.0/SafeCampus.Application.AssemblyInfo.cs View File

@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Application")] [assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Application")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+7b594c62a278bc4c7cdeb186fc16b21a67573018")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+8094eb9f28ce0eacd3a9839bce976835a89bac36")]
[assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Application")] [assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Application")]
[assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Application")] [assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Application")]
[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")]


+ 1
- 1
SafeCampus.API/SafeCampus.Application/obj/Debug/net7.0/SafeCampus.Application.AssemblyInfoInputs.cache View File

@@ -1 +1 @@
8deff3ea2db041439b250089eed6dc5718b475df70ec4b5eb2a8480a011a29f2
15cfdb9642c228344ca348393e44bfc41e49f25544b43d9b0a17ff2c6024d12a

BIN
SafeCampus.API/SafeCampus.Application/obj/Debug/net7.0/SafeCampus.Application.assets.cache View File


BIN
SafeCampus.API/SafeCampus.Application/obj/Debug/net7.0/SafeCampus.Application.csproj.AssemblyReference.cache View File


+ 1
- 1
SafeCampus.API/SafeCampus.Application/obj/Debug/net8.0/SafeCampus.Application.AssemblyInfo.cs View File

@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Application")] [assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Application")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+7b594c62a278bc4c7cdeb186fc16b21a67573018")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+8094eb9f28ce0eacd3a9839bce976835a89bac36")]
[assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Application")] [assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Application")]
[assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Application")] [assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Application")]
[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")]


+ 1
- 1
SafeCampus.API/SafeCampus.Application/obj/Debug/net8.0/SafeCampus.Application.AssemblyInfoInputs.cache View File

@@ -1 +1 @@
8deff3ea2db041439b250089eed6dc5718b475df70ec4b5eb2a8480a011a29f2
15cfdb9642c228344ca348393e44bfc41e49f25544b43d9b0a17ff2c6024d12a

BIN
SafeCampus.API/SafeCampus.Application/obj/Debug/net8.0/SafeCampus.Application.assets.cache View File


BIN
SafeCampus.API/SafeCampus.Application/obj/Debug/net8.0/SafeCampus.Application.csproj.AssemblyReference.cache View File


+ 12
- 0
SafeCampus.API/SafeCampus.Application/obj/SafeCampus.Application.csproj.nuget.dgspec.json View File

@@ -361,6 +361,10 @@
"target": "Package", "target": "Package",
"version": "[8.0.6, )" "version": "[8.0.6, )"
}, },
"Tencent.QCloud.Cos.Sts.Sdk": {
"target": "Package",
"version": "[3.0.5, )"
},
"Yitter.IdGenerator": { "Yitter.IdGenerator": {
"target": "Package", "target": "Package",
"version": "[1.0.14, )" "version": "[1.0.14, )"
@@ -431,6 +435,10 @@
"target": "Package", "target": "Package",
"version": "[8.0.6, )" "version": "[8.0.6, )"
}, },
"Tencent.QCloud.Cos.Sts.Sdk": {
"target": "Package",
"version": "[3.0.5, )"
},
"Yitter.IdGenerator": { "Yitter.IdGenerator": {
"target": "Package", "target": "Package",
"version": "[1.0.14, )" "version": "[1.0.14, )"
@@ -501,6 +509,10 @@
"target": "Package", "target": "Package",
"version": "[8.0.6, )" "version": "[8.0.6, )"
}, },
"Tencent.QCloud.Cos.Sts.Sdk": {
"target": "Package",
"version": "[3.0.5, )"
},
"Yitter.IdGenerator": { "Yitter.IdGenerator": {
"target": "Package", "target": "Package",
"version": "[1.0.14, )" "version": "[1.0.14, )"


+ 104
- 0
SafeCampus.API/SafeCampus.Application/obj/project.assets.json View File

@@ -3324,6 +3324,31 @@
} }
} }
}, },
"Tencent.QCloud.Cos.Sts.Sdk/3.0.5": {
"type": "package",
"dependencies": {
"TencentCloudSDK": "3.0.500"
},
"compile": {
"lib/netstandard2.0/COSSTS.dll": {}
},
"runtime": {
"lib/netstandard2.0/COSSTS.dll": {}
}
},
"TencentCloudSDK/3.0.500": {
"type": "package",
"dependencies": {
"Newtonsoft.Json": "11.0.1",
"System.Text.Encodings.Web": "4.5.1"
},
"compile": {
"lib/netstandard2.0/TencentCloud.dll": {}
},
"runtime": {
"lib/netstandard2.0/TencentCloud.dll": {}
}
},
"UAParser/3.1.47": { "UAParser/3.1.47": {
"type": "package", "type": "package",
"compile": { "compile": {
@@ -3384,6 +3409,7 @@
"SharpZipLib": "1.4.2", "SharpZipLib": "1.4.2",
"SimpleTool": "1.0.6", "SimpleTool": "1.0.6",
"System.Drawing.Common": "8.0.6", "System.Drawing.Common": "8.0.6",
"Tencent.QCloud.Cos.Sts.Sdk": "3.0.5",
"Yitter.IdGenerator": "1.0.14" "Yitter.IdGenerator": "1.0.14"
}, },
"compile": { "compile": {
@@ -6733,6 +6759,31 @@
} }
} }
}, },
"Tencent.QCloud.Cos.Sts.Sdk/3.0.5": {
"type": "package",
"dependencies": {
"TencentCloudSDK": "3.0.500"
},
"compile": {
"lib/netstandard2.0/COSSTS.dll": {}
},
"runtime": {
"lib/netstandard2.0/COSSTS.dll": {}
}
},
"TencentCloudSDK/3.0.500": {
"type": "package",
"dependencies": {
"Newtonsoft.Json": "11.0.1",
"System.Text.Encodings.Web": "4.5.1"
},
"compile": {
"lib/netstandard2.0/TencentCloud.dll": {}
},
"runtime": {
"lib/netstandard2.0/TencentCloud.dll": {}
}
},
"UAParser/3.1.47": { "UAParser/3.1.47": {
"type": "package", "type": "package",
"compile": { "compile": {
@@ -6793,6 +6844,7 @@
"SharpZipLib": "1.4.2", "SharpZipLib": "1.4.2",
"SimpleTool": "1.0.6", "SimpleTool": "1.0.6",
"System.Drawing.Common": "8.0.6", "System.Drawing.Common": "8.0.6",
"Tencent.QCloud.Cos.Sts.Sdk": "3.0.5",
"Yitter.IdGenerator": "1.0.14" "Yitter.IdGenerator": "1.0.14"
}, },
"compile": { "compile": {
@@ -10118,6 +10170,31 @@
} }
} }
}, },
"Tencent.QCloud.Cos.Sts.Sdk/3.0.5": {
"type": "package",
"dependencies": {
"TencentCloudSDK": "3.0.500"
},
"compile": {
"lib/netstandard2.0/COSSTS.dll": {}
},
"runtime": {
"lib/netstandard2.0/COSSTS.dll": {}
}
},
"TencentCloudSDK/3.0.500": {
"type": "package",
"dependencies": {
"Newtonsoft.Json": "11.0.1",
"System.Text.Encodings.Web": "4.5.1"
},
"compile": {
"lib/netstandard2.0/TencentCloud.dll": {}
},
"runtime": {
"lib/netstandard2.0/TencentCloud.dll": {}
}
},
"UAParser/3.1.47": { "UAParser/3.1.47": {
"type": "package", "type": "package",
"compile": { "compile": {
@@ -10178,6 +10255,7 @@
"SharpZipLib": "1.4.2", "SharpZipLib": "1.4.2",
"SimpleTool": "1.0.6", "SimpleTool": "1.0.6",
"System.Drawing.Common": "8.0.6", "System.Drawing.Common": "8.0.6",
"Tencent.QCloud.Cos.Sts.Sdk": "3.0.5",
"Yitter.IdGenerator": "1.0.14" "Yitter.IdGenerator": "1.0.14"
}, },
"compile": { "compile": {
@@ -18139,6 +18217,32 @@
"useSharedDesignerContext.txt" "useSharedDesignerContext.txt"
] ]
}, },
"Tencent.QCloud.Cos.Sts.Sdk/3.0.5": {
"sha512": "e1EVha7hwm6CLEC5Hc6ahnMvfEo9qkWJuiaS5W3RaHgS/SDMTwySwGIu4Ij90p2su+xRfTRBGuVnODecsDTiYg==",
"type": "package",
"path": "tencent.qcloud.cos.sts.sdk/3.0.5",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net45/COSSTS.dll",
"lib/netstandard2.0/COSSTS.dll",
"tencent.qcloud.cos.sts.sdk.3.0.5.nupkg.sha512",
"tencent.qcloud.cos.sts.sdk.nuspec"
]
},
"TencentCloudSDK/3.0.500": {
"sha512": "tDFtr7SY+PBUt6+spijOOK62uDlcYotIsiI6AzYekajVhH5L5cuCiJvXczFSunxPkixDjq0GsM8+3XE4AIj0cA==",
"type": "package",
"path": "tencentcloudsdk/3.0.500",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net45/TencentCloud.dll",
"lib/netstandard2.0/TencentCloud.dll",
"tencentcloudsdk.3.0.500.nupkg.sha512",
"tencentcloudsdk.nuspec"
]
},
"UAParser/3.1.47": { "UAParser/3.1.47": {
"sha512": "I68Jl/Vs5RQZdz9BbmYtnXgujg0jVd61LhKbyNZOCm9lBxZFGxLbiQo6yFj21VYi7DzPvEvrVOmeC6v41AoLfw==", "sha512": "I68Jl/Vs5RQZdz9BbmYtnXgujg0jVd61LhKbyNZOCm9lBxZFGxLbiQo6yFj21VYi7DzPvEvrVOmeC6v41AoLfw==",
"type": "package", "type": "package",


+ 3
- 1
SafeCampus.API/SafeCampus.Application/obj/project.nuget.cache View File

@@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "LJDRIq/ZDeMdFSVhR5N8tMTn+ddODzj2V9kDVFPo/WYCMq68Qo6xChDrrhg7TLZoABi7x4k6FKgMKKQ0ixJw7w==",
"dgSpecHash": "kAt7Z4rcXRuB3cYmj09KCUb/5aGTknaeZuAQSrhoe1ylvq25s1tym+OyuV9nmkpcsHJ1Zf+HQTvCRnevIX+beQ==",
"success": true, "success": true,
"projectFilePath": "F:\\Project\\QJKJ\\SafeCampus\\SafeCampus.API\\SafeCampus.Application\\SafeCampus.Application.csproj", "projectFilePath": "F:\\Project\\QJKJ\\SafeCampus\\SafeCampus.API\\SafeCampus.Application\\SafeCampus.Application.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [
@@ -220,6 +220,8 @@
"C:\\Users\\王晓寒\\.nuget\\packages\\system.threading.tasks.extensions\\4.5.4\\system.threading.tasks.extensions.4.5.4.nupkg.sha512", "C:\\Users\\王晓寒\\.nuget\\packages\\system.threading.tasks.extensions\\4.5.4\\system.threading.tasks.extensions.4.5.4.nupkg.sha512",
"C:\\Users\\王晓寒\\.nuget\\packages\\system.threading.tasks.parallel\\4.3.0\\system.threading.tasks.parallel.4.3.0.nupkg.sha512", "C:\\Users\\王晓寒\\.nuget\\packages\\system.threading.tasks.parallel\\4.3.0\\system.threading.tasks.parallel.4.3.0.nupkg.sha512",
"C:\\Users\\王晓寒\\.nuget\\packages\\system.windows.extensions\\6.0.0\\system.windows.extensions.6.0.0.nupkg.sha512", "C:\\Users\\王晓寒\\.nuget\\packages\\system.windows.extensions\\6.0.0\\system.windows.extensions.6.0.0.nupkg.sha512",
"C:\\Users\\王晓寒\\.nuget\\packages\\tencent.qcloud.cos.sts.sdk\\3.0.5\\tencent.qcloud.cos.sts.sdk.3.0.5.nupkg.sha512",
"C:\\Users\\王晓寒\\.nuget\\packages\\tencentcloudsdk\\3.0.500\\tencentcloudsdk.3.0.500.nupkg.sha512",
"C:\\Users\\王晓寒\\.nuget\\packages\\uaparser\\3.1.47\\uaparser.3.1.47.nupkg.sha512", "C:\\Users\\王晓寒\\.nuget\\packages\\uaparser\\3.1.47\\uaparser.3.1.47.nupkg.sha512",
"C:\\Users\\王晓寒\\.nuget\\packages\\yitter.idgenerator\\1.0.14\\yitter.idgenerator.1.0.14.nupkg.sha512", "C:\\Users\\王晓寒\\.nuget\\packages\\yitter.idgenerator\\1.0.14\\yitter.idgenerator.1.0.14.nupkg.sha512",
"C:\\Users\\王晓寒\\.nuget\\packages\\zstdsharp.port\\0.8.0\\zstdsharp.port.0.8.0.nupkg.sha512" "C:\\Users\\王晓寒\\.nuget\\packages\\zstdsharp.port\\0.8.0\\zstdsharp.port.0.8.0.nupkg.sha512"


+ 1
- 1
SafeCampus.API/SafeCampus.Cache/obj/Debug/net6.0/SafeCampus.Cache.AssemblyInfo.cs View File

@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Cache")] [assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Cache")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+7b594c62a278bc4c7cdeb186fc16b21a67573018")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+8094eb9f28ce0eacd3a9839bce976835a89bac36")]
[assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Cache")] [assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Cache")]
[assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Cache")] [assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Cache")]
[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")]


+ 1
- 1
SafeCampus.API/SafeCampus.Cache/obj/Debug/net6.0/SafeCampus.Cache.AssemblyInfoInputs.cache View File

@@ -1 +1 @@
9edcfca15341e2224b96c8290cf81021a91a09773c5a891357f64da3e16d0529
cf464dcd5bd4b535dcf46523fc87b0a310f24c212b199ec74b6b1a1aab3a3148

BIN
SafeCampus.API/SafeCampus.Cache/obj/Debug/net6.0/SafeCampus.Cache.assets.cache View File


BIN
SafeCampus.API/SafeCampus.Cache/obj/Debug/net6.0/SafeCampus.Cache.csproj.AssemblyReference.cache View File


+ 1
- 1
SafeCampus.API/SafeCampus.Cache/obj/Debug/net7.0/SafeCampus.Cache.AssemblyInfo.cs View File

@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Cache")] [assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Cache")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+7b594c62a278bc4c7cdeb186fc16b21a67573018")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+8094eb9f28ce0eacd3a9839bce976835a89bac36")]
[assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Cache")] [assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Cache")]
[assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Cache")] [assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Cache")]
[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")]


+ 1
- 1
SafeCampus.API/SafeCampus.Cache/obj/Debug/net7.0/SafeCampus.Cache.AssemblyInfoInputs.cache View File

@@ -1 +1 @@
9edcfca15341e2224b96c8290cf81021a91a09773c5a891357f64da3e16d0529
cf464dcd5bd4b535dcf46523fc87b0a310f24c212b199ec74b6b1a1aab3a3148

BIN
SafeCampus.API/SafeCampus.Cache/obj/Debug/net7.0/SafeCampus.Cache.assets.cache View File


BIN
SafeCampus.API/SafeCampus.Cache/obj/Debug/net7.0/SafeCampus.Cache.csproj.AssemblyReference.cache View File


+ 1
- 1
SafeCampus.API/SafeCampus.Cache/obj/Debug/net8.0/SafeCampus.Cache.AssemblyInfo.cs View File

@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Cache")] [assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Cache")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+7b594c62a278bc4c7cdeb186fc16b21a67573018")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+8094eb9f28ce0eacd3a9839bce976835a89bac36")]
[assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Cache")] [assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Cache")]
[assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Cache")] [assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Cache")]
[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")]


+ 1
- 1
SafeCampus.API/SafeCampus.Cache/obj/Debug/net8.0/SafeCampus.Cache.AssemblyInfoInputs.cache View File

@@ -1 +1 @@
9edcfca15341e2224b96c8290cf81021a91a09773c5a891357f64da3e16d0529
cf464dcd5bd4b535dcf46523fc87b0a310f24c212b199ec74b6b1a1aab3a3148

BIN
SafeCampus.API/SafeCampus.Cache/obj/Debug/net8.0/SafeCampus.Cache.assets.cache View File


BIN
SafeCampus.API/SafeCampus.Cache/obj/Debug/net8.0/SafeCampus.Cache.csproj.AssemblyReference.cache View File


+ 12
- 0
SafeCampus.API/SafeCampus.Cache/obj/SafeCampus.Cache.csproj.nuget.dgspec.json View File

@@ -239,6 +239,10 @@
"target": "Package", "target": "Package",
"version": "[8.0.6, )" "version": "[8.0.6, )"
}, },
"Tencent.QCloud.Cos.Sts.Sdk": {
"target": "Package",
"version": "[3.0.5, )"
},
"Yitter.IdGenerator": { "Yitter.IdGenerator": {
"target": "Package", "target": "Package",
"version": "[1.0.14, )" "version": "[1.0.14, )"
@@ -309,6 +313,10 @@
"target": "Package", "target": "Package",
"version": "[8.0.6, )" "version": "[8.0.6, )"
}, },
"Tencent.QCloud.Cos.Sts.Sdk": {
"target": "Package",
"version": "[3.0.5, )"
},
"Yitter.IdGenerator": { "Yitter.IdGenerator": {
"target": "Package", "target": "Package",
"version": "[1.0.14, )" "version": "[1.0.14, )"
@@ -379,6 +387,10 @@
"target": "Package", "target": "Package",
"version": "[8.0.6, )" "version": "[8.0.6, )"
}, },
"Tencent.QCloud.Cos.Sts.Sdk": {
"target": "Package",
"version": "[3.0.5, )"
},
"Yitter.IdGenerator": { "Yitter.IdGenerator": {
"target": "Package", "target": "Package",
"version": "[1.0.14, )" "version": "[1.0.14, )"


+ 104
- 0
SafeCampus.API/SafeCampus.Cache/obj/project.assets.json View File

@@ -2687,6 +2687,31 @@
"lib/netstandard1.3/System.Threading.Tasks.Parallel.dll": {} "lib/netstandard1.3/System.Threading.Tasks.Parallel.dll": {}
} }
}, },
"Tencent.QCloud.Cos.Sts.Sdk/3.0.5": {
"type": "package",
"dependencies": {
"TencentCloudSDK": "3.0.500"
},
"compile": {
"lib/netstandard2.0/COSSTS.dll": {}
},
"runtime": {
"lib/netstandard2.0/COSSTS.dll": {}
}
},
"TencentCloudSDK/3.0.500": {
"type": "package",
"dependencies": {
"Newtonsoft.Json": "11.0.1",
"System.Text.Encodings.Web": "4.5.1"
},
"compile": {
"lib/netstandard2.0/TencentCloud.dll": {}
},
"runtime": {
"lib/netstandard2.0/TencentCloud.dll": {}
}
},
"Yitter.IdGenerator/1.0.14": { "Yitter.IdGenerator/1.0.14": {
"type": "package", "type": "package",
"compile": { "compile": {
@@ -2720,6 +2745,7 @@
"SharpZipLib": "1.4.2", "SharpZipLib": "1.4.2",
"SimpleTool": "1.0.6", "SimpleTool": "1.0.6",
"System.Drawing.Common": "8.0.6", "System.Drawing.Common": "8.0.6",
"Tencent.QCloud.Cos.Sts.Sdk": "3.0.5",
"Yitter.IdGenerator": "1.0.14" "Yitter.IdGenerator": "1.0.14"
}, },
"compile": { "compile": {
@@ -5375,6 +5401,31 @@
"lib/netstandard1.3/System.Threading.Tasks.Parallel.dll": {} "lib/netstandard1.3/System.Threading.Tasks.Parallel.dll": {}
} }
}, },
"Tencent.QCloud.Cos.Sts.Sdk/3.0.5": {
"type": "package",
"dependencies": {
"TencentCloudSDK": "3.0.500"
},
"compile": {
"lib/netstandard2.0/COSSTS.dll": {}
},
"runtime": {
"lib/netstandard2.0/COSSTS.dll": {}
}
},
"TencentCloudSDK/3.0.500": {
"type": "package",
"dependencies": {
"Newtonsoft.Json": "11.0.1",
"System.Text.Encodings.Web": "4.5.1"
},
"compile": {
"lib/netstandard2.0/TencentCloud.dll": {}
},
"runtime": {
"lib/netstandard2.0/TencentCloud.dll": {}
}
},
"Yitter.IdGenerator/1.0.14": { "Yitter.IdGenerator/1.0.14": {
"type": "package", "type": "package",
"compile": { "compile": {
@@ -5408,6 +5459,7 @@
"SharpZipLib": "1.4.2", "SharpZipLib": "1.4.2",
"SimpleTool": "1.0.6", "SimpleTool": "1.0.6",
"System.Drawing.Common": "8.0.6", "System.Drawing.Common": "8.0.6",
"Tencent.QCloud.Cos.Sts.Sdk": "3.0.5",
"Yitter.IdGenerator": "1.0.14" "Yitter.IdGenerator": "1.0.14"
}, },
"compile": { "compile": {
@@ -8039,6 +8091,31 @@
"lib/netstandard1.3/System.Threading.Tasks.Parallel.dll": {} "lib/netstandard1.3/System.Threading.Tasks.Parallel.dll": {}
} }
}, },
"Tencent.QCloud.Cos.Sts.Sdk/3.0.5": {
"type": "package",
"dependencies": {
"TencentCloudSDK": "3.0.500"
},
"compile": {
"lib/netstandard2.0/COSSTS.dll": {}
},
"runtime": {
"lib/netstandard2.0/COSSTS.dll": {}
}
},
"TencentCloudSDK/3.0.500": {
"type": "package",
"dependencies": {
"Newtonsoft.Json": "11.0.1",
"System.Text.Encodings.Web": "4.5.1"
},
"compile": {
"lib/netstandard2.0/TencentCloud.dll": {}
},
"runtime": {
"lib/netstandard2.0/TencentCloud.dll": {}
}
},
"Yitter.IdGenerator/1.0.14": { "Yitter.IdGenerator/1.0.14": {
"type": "package", "type": "package",
"compile": { "compile": {
@@ -8072,6 +8149,7 @@
"SharpZipLib": "1.4.2", "SharpZipLib": "1.4.2",
"SimpleTool": "1.0.6", "SimpleTool": "1.0.6",
"System.Drawing.Common": "8.0.6", "System.Drawing.Common": "8.0.6",
"Tencent.QCloud.Cos.Sts.Sdk": "3.0.5",
"Yitter.IdGenerator": "1.0.14" "Yitter.IdGenerator": "1.0.14"
}, },
"compile": { "compile": {
@@ -15016,6 +15094,32 @@
"system.threading.tasks.parallel.nuspec" "system.threading.tasks.parallel.nuspec"
] ]
}, },
"Tencent.QCloud.Cos.Sts.Sdk/3.0.5": {
"sha512": "e1EVha7hwm6CLEC5Hc6ahnMvfEo9qkWJuiaS5W3RaHgS/SDMTwySwGIu4Ij90p2su+xRfTRBGuVnODecsDTiYg==",
"type": "package",
"path": "tencent.qcloud.cos.sts.sdk/3.0.5",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net45/COSSTS.dll",
"lib/netstandard2.0/COSSTS.dll",
"tencent.qcloud.cos.sts.sdk.3.0.5.nupkg.sha512",
"tencent.qcloud.cos.sts.sdk.nuspec"
]
},
"TencentCloudSDK/3.0.500": {
"sha512": "tDFtr7SY+PBUt6+spijOOK62uDlcYotIsiI6AzYekajVhH5L5cuCiJvXczFSunxPkixDjq0GsM8+3XE4AIj0cA==",
"type": "package",
"path": "tencentcloudsdk/3.0.500",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net45/TencentCloud.dll",
"lib/netstandard2.0/TencentCloud.dll",
"tencentcloudsdk.3.0.500.nupkg.sha512",
"tencentcloudsdk.nuspec"
]
},
"Yitter.IdGenerator/1.0.14": { "Yitter.IdGenerator/1.0.14": {
"sha512": "F4nOJ7Geq41vgNWX9E6/vkxRzFInACGpDp4Kad2mA2WIKhEwgPyE9FpulBAuEmDByrfHHz6mOII3IIeLJAh91g==", "sha512": "F4nOJ7Geq41vgNWX9E6/vkxRzFInACGpDp4Kad2mA2WIKhEwgPyE9FpulBAuEmDByrfHHz6mOII3IIeLJAh91g==",
"type": "package", "type": "package",


+ 3
- 1
SafeCampus.API/SafeCampus.Cache/obj/project.nuget.cache View File

@@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "BiOnQzyJgl/0vwUtFDP2BYbECu0aaDXmegkLZC08P5je0wISveJTtr8hxoR1rWStNcdlbf3yzhjx4VHfQzEHIw==",
"dgSpecHash": "t9HMX1FcLhEStgZaVpCzN98xhmd1HnmKT7gh8EWP1GZt2GPCukFB+tQdMTB+WapbaHW7SDvwwm6tezc/CrqJ/A==",
"success": true, "success": true,
"projectFilePath": "F:\\Project\\QJKJ\\SafeCampus\\SafeCampus.API\\SafeCampus.Cache\\SafeCampus.Cache.csproj", "projectFilePath": "F:\\Project\\QJKJ\\SafeCampus\\SafeCampus.API\\SafeCampus.Cache\\SafeCampus.Cache.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [
@@ -183,6 +183,8 @@
"C:\\Users\\王晓寒\\.nuget\\packages\\system.threading.tasks\\4.3.0\\system.threading.tasks.4.3.0.nupkg.sha512", "C:\\Users\\王晓寒\\.nuget\\packages\\system.threading.tasks\\4.3.0\\system.threading.tasks.4.3.0.nupkg.sha512",
"C:\\Users\\王晓寒\\.nuget\\packages\\system.threading.tasks.extensions\\4.5.4\\system.threading.tasks.extensions.4.5.4.nupkg.sha512", "C:\\Users\\王晓寒\\.nuget\\packages\\system.threading.tasks.extensions\\4.5.4\\system.threading.tasks.extensions.4.5.4.nupkg.sha512",
"C:\\Users\\王晓寒\\.nuget\\packages\\system.threading.tasks.parallel\\4.3.0\\system.threading.tasks.parallel.4.3.0.nupkg.sha512", "C:\\Users\\王晓寒\\.nuget\\packages\\system.threading.tasks.parallel\\4.3.0\\system.threading.tasks.parallel.4.3.0.nupkg.sha512",
"C:\\Users\\王晓寒\\.nuget\\packages\\tencent.qcloud.cos.sts.sdk\\3.0.5\\tencent.qcloud.cos.sts.sdk.3.0.5.nupkg.sha512",
"C:\\Users\\王晓寒\\.nuget\\packages\\tencentcloudsdk\\3.0.500\\tencentcloudsdk.3.0.500.nupkg.sha512",
"C:\\Users\\王晓寒\\.nuget\\packages\\yitter.idgenerator\\1.0.14\\yitter.idgenerator.1.0.14.nupkg.sha512", "C:\\Users\\王晓寒\\.nuget\\packages\\yitter.idgenerator\\1.0.14\\yitter.idgenerator.1.0.14.nupkg.sha512",
"C:\\Users\\王晓寒\\.nuget\\packages\\zstdsharp.port\\0.8.0\\zstdsharp.port.0.8.0.nupkg.sha512" "C:\\Users\\王晓寒\\.nuget\\packages\\zstdsharp.port\\0.8.0\\zstdsharp.port.0.8.0.nupkg.sha512"
], ],


+ 4
- 17
SafeCampus.API/SafeCampus.Core/Attributes/ValidationAttribute/IdNotNull.cs View File

@@ -1,14 +1,4 @@

//








namespace SafeCampus.Core;
namespace SafeCampus.Core;


/// <summary> /// <summary>
/// 验证Id不能为 空 /// 验证Id不能为 空
@@ -17,12 +7,11 @@ public class IdNotNull : ValidationAttribute
{ {
public override bool IsValid(object value) public override bool IsValid(object value)
{ {
if (value.ToLong() > 0 || !string.IsNullOrEmpty(value.ToString()))
return true;
return false;
return value != null && (value.ToLong() > 0 || !string.IsNullOrEmpty(value.ToString()));
} }
} }



/// <summary> /// <summary>
/// 验证Id列表不能为空 /// 验证Id列表不能为空
/// </summary> /// </summary>
@@ -30,8 +19,6 @@ public class IdsNotNull : ValidationAttribute
{ {
public override bool IsValid(object value) public override bool IsValid(object value)
{ {
if (value is List<string> { Count: 0 })
return false;
return true;
return value is not List<string> { Count: 0 };
} }
} }

+ 1
- 11
SafeCampus.API/SafeCampus.Core/BaseInput/BaseFileInput.cs View File

@@ -1,14 +1,4 @@

//








namespace SafeCampus.Core;
namespace SafeCampus.Core;


/// <summary> /// <summary>
/// 文件上传输入参数 /// 文件上传输入参数


+ 1
- 11
SafeCampus.API/SafeCampus.Core/BaseInput/BaseIdInput.cs View File

@@ -1,14 +1,4 @@

//








namespace SafeCampus.Core;
namespace SafeCampus.Core;


/// <summary> /// <summary>
/// 主键Id输入参数 /// 主键Id输入参数


+ 1
- 10
SafeCampus.API/SafeCampus.Core/BaseInput/BasePageInput.cs View File

@@ -1,13 +1,4 @@
 
//








namespace SafeCampus.Core; namespace SafeCampus.Core;


/// <summary> /// <summary>
@@ -24,7 +15,7 @@ public class BasePageInput : IValidatableObject
/// <summary> /// <summary>
/// 每页条数 /// 每页条数
/// </summary> /// </summary>
[Range(1, 100, ErrorMessage = "页码容量超过最大限制")]
[Range(1, 1000, ErrorMessage = "页码容量超过最大限制")]
[DataValidation(ValidationTypes.Numeric)] [DataValidation(ValidationTypes.Numeric)]
public virtual int PageSize { get; set; } = 10; public virtual int PageSize { get; set; } = 10;




+ 1
- 13
SafeCampus.API/SafeCampus.Core/Components/LoggingFileComponent.cs View File

@@ -1,16 +1,4 @@

//

//








using System.Runtime.InteropServices;
using System.Runtime.InteropServices;


namespace SafeCampus.Core; namespace SafeCampus.Core;




+ 4
- 0
SafeCampus.API/SafeCampus.Core/Const/SafeCampusConst.cs View File

@@ -14,5 +14,9 @@ public class SafeCampusConst
/// 告警分组 /// 告警分组
/// </summary> /// </summary>
public const string WarnGroup = "WARN_GROUP"; public const string WarnGroup = "WARN_GROUP";
/// <summary>
/// 重点人员库ID
/// </summary>
public const string ZDRY = "ZDRY";


} }

+ 46
- 0
SafeCampus.API/SafeCampus.Core/Options/TXSmsOptions.cs View File

@@ -0,0 +1,46 @@
using Microsoft.Extensions.Configuration;
using MoYu.ConfigurableOptions;

namespace SafeCampus.Core.Options;

public class TXSmsOptions : IConfigurableOptionsListener<TXSmsOptions>
{
/// <summary>
/// 腾讯云API密钥 SecretId
/// </summary>
public string SecretId { get; set; }

/// <summary>
/// 腾讯云API密钥 SecretKey
/// </summary>
public string SecretKey { get; set; }

/// <summary>
/// 腾讯云短信 Appid
/// </summary>
public string SmsAppId { get; set; }

/// <summary>
/// 腾讯云短信 签名
/// </summary>
public string SmsSn { get; set; }

/// <summary>
/// 验证码模板id
/// </summary>
public string VerificationCodeId { get; set; }

public void PostConfigure(TXSmsOptions options, IConfiguration configuration)
{
}

public void OnListener(TXSmsOptions options, IConfiguration configuration)
{
SecretId=options.SecretId;
SecretKey=options.SecretKey;
SmsAppId=options.SmsAppId;
SmsSn=options.SmsSn;
VerificationCodeId = options.VerificationCodeId;
}
}

+ 5
- 0
SafeCampus.API/SafeCampus.Core/SafeCampus.Core.csproj View File

@@ -11,6 +11,7 @@
<PackageReference Include="Portable.BouncyCastle" Version="1.9.0" /> <PackageReference Include="Portable.BouncyCastle" Version="1.9.0" />
<PackageReference Include="SimpleTool" Version="1.0.6" /> <PackageReference Include="SimpleTool" Version="1.0.6" />
<PackageReference Include="System.Drawing.Common" Version="8.0.6" /> <PackageReference Include="System.Drawing.Common" Version="8.0.6" />
<PackageReference Include="Tencent.QCloud.Cos.Sts.Sdk" Version="3.0.5" />
<PackageReference Include="Yitter.IdGenerator" Version="1.0.14" /> <PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
<PackageReference Include="Masuit.Tools.Core" Version="2024.3.4" /> <PackageReference Include="Masuit.Tools.Core" Version="2024.3.4" />
<PackageReference Include="SharpZipLib" Version="1.4.2" /> <PackageReference Include="SharpZipLib" Version="1.4.2" />
@@ -26,4 +27,8 @@
</None> </None>
</ItemGroup> </ItemGroup>


<ItemGroup>
<Folder Include="Utils\TXYSMS\" />
</ItemGroup>

</Project> </Project>

+ 38
- 0
SafeCampus.API/SafeCampus.Core/SafeCampus.Core.xml View File

@@ -251,6 +251,11 @@
告警分组 告警分组
</summary> </summary>
</member> </member>
<member name="F:SafeCampus.Core.SafeCampusConst.ZDRY">
<summary>
重点人员库ID
</summary>
</member>
<member name="T:SafeCampus.Core.MqttMessage"> <member name="T:SafeCampus.Core.MqttMessage">
<summary> <summary>
mqtt消息 mqtt消息
@@ -1038,6 +1043,31 @@
最大日志等级 最大日志等级
</summary> </summary>
</member> </member>
<member name="P:SafeCampus.Core.Options.TXSmsOptions.SecretId">
<summary>
腾讯云API密钥 SecretId
</summary>
</member>
<member name="P:SafeCampus.Core.Options.TXSmsOptions.SecretKey">
<summary>
腾讯云API密钥 SecretKey
</summary>
</member>
<member name="P:SafeCampus.Core.Options.TXSmsOptions.SmsAppId">
<summary>
腾讯云短信 Appid
</summary>
</member>
<member name="P:SafeCampus.Core.Options.TXSmsOptions.SmsSn">
<summary>
腾讯云短信 签名
</summary>
</member>
<member name="P:SafeCampus.Core.Options.TXSmsOptions.VerificationCodeId">
<summary>
验证码模板id
</summary>
</member>
<member name="T:SafeCampus.Core.Startup"> <member name="T:SafeCampus.Core.Startup">
<summary> <summary>
AppStartup启动类 AppStartup启动类
@@ -1700,6 +1730,14 @@
<param name="s2"></param> <param name="s2"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:SafeCampus.Core.Utils.TXYSMS.TxySmsUtil.SendSms(System.String[],System.String[])">
<summary>
发送短信
</summary>
<param name="phone">new[] { $"+86{phone}" } 手机号码</param>
<param name="content">new[] { code.ToString(), "5" } 内容参数</param>
<returns></returns>
</member>
<member name="M:SafeCampus.Core.Utils.ZipUtils.ZipFile(System.String,System.String,System.Int32,System.Int32)"> <member name="M:SafeCampus.Core.Utils.ZipUtils.ZipFile(System.String,System.String,System.Int32,System.Int32)">
<summary> <summary>
压缩单个文件 压缩单个文件


+ 48
- 0
SafeCampus.API/SafeCampus.Core/Utils/TXYSMS/TxySmsUtil.cs View File

@@ -0,0 +1,48 @@
using SafeCampus.Core.Options;
using TencentCloud.Common;
using TencentCloud.Common.Profile;
using TencentCloud.Sms.V20210111;
using TencentCloud.Sms.V20210111.Models;

namespace SafeCampus.Core.Utils.TXYSMS;

public static class TxySmsUtil
{
/// <summary>
/// 发送短信
/// </summary>
/// <param name="phone">new[] { $"+86{phone}" } 手机号码</param>
/// <param name="content">new[] { code.ToString(), "5" } 内容参数</param>
/// <returns></returns>
public static bool SendSms(string[] phone, string[] content)
{
var setting = App.GetOptionsMonitor<TXSmsOptions>();
Credential cred = new()
{
SecretId = setting.SecretId,
SecretKey = setting.SecretKey
};
ClientProfile clientProfile = new();
HttpProfile httpProfile = new()
{
Endpoint = ("sms.tencentcloudapi.com"),
};
clientProfile.HttpProfile = httpProfile;
SmsClient client = new(cred, "ap-beijing", clientProfile);
SendSmsRequest req = new()
{
PhoneNumberSet = phone,// new[] { $"+86{phone}" },
SmsSdkAppId = setting.SmsAppId,
SignName = setting.SmsSn,
TemplateId = setting.VerificationCodeId,
TemplateParamSet = content,
};
SendSmsResponse resp = client.SendSmsSync(req);
if (resp.SendStatusSet[0].Code == "Ok")
{
// 缓存验证码
return true;
}
return false;
}
}

+ 1
- 1
SafeCampus.API/SafeCampus.Core/obj/Debug/net6.0/SafeCampus.Core.AssemblyInfo.cs View File

@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Core")] [assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Core")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+7b594c62a278bc4c7cdeb186fc16b21a67573018")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+8094eb9f28ce0eacd3a9839bce976835a89bac36")]
[assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Core")] [assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Core")]
[assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Core")] [assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Core")]
[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")]


+ 1
- 1
SafeCampus.API/SafeCampus.Core/obj/Debug/net6.0/SafeCampus.Core.AssemblyInfoInputs.cache View File

@@ -1 +1 @@
a9d50ac7ca3e0c444071362e2818ebe56ba854544ae4bc9a347b1eccf6f2f8d8
c3eada0a000d1796c2cc2f1e5ea0c2a44cea1a71229adf776461dc271d8255e6

BIN
SafeCampus.API/SafeCampus.Core/obj/Debug/net6.0/SafeCampus.Core.assets.cache View File


BIN
SafeCampus.API/SafeCampus.Core/obj/Debug/net6.0/SafeCampus.Core.csproj.AssemblyReference.cache View File


+ 1
- 1
SafeCampus.API/SafeCampus.Core/obj/Debug/net7.0/SafeCampus.Core.AssemblyInfo.cs View File

@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Core")] [assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Core")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+7b594c62a278bc4c7cdeb186fc16b21a67573018")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+8094eb9f28ce0eacd3a9839bce976835a89bac36")]
[assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Core")] [assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Core")]
[assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Core")] [assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Core")]
[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")]


+ 1
- 1
SafeCampus.API/SafeCampus.Core/obj/Debug/net7.0/SafeCampus.Core.AssemblyInfoInputs.cache View File

@@ -1 +1 @@
a9d50ac7ca3e0c444071362e2818ebe56ba854544ae4bc9a347b1eccf6f2f8d8
c3eada0a000d1796c2cc2f1e5ea0c2a44cea1a71229adf776461dc271d8255e6

BIN
SafeCampus.API/SafeCampus.Core/obj/Debug/net7.0/SafeCampus.Core.assets.cache View File


BIN
SafeCampus.API/SafeCampus.Core/obj/Debug/net7.0/SafeCampus.Core.csproj.AssemblyReference.cache View File


+ 1
- 1
SafeCampus.API/SafeCampus.Core/obj/Debug/net8.0/SafeCampus.Core.AssemblyInfo.cs View File

@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Core")] [assembly: System.Reflection.AssemblyCompanyAttribute("SafeCampus.Core")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+7b594c62a278bc4c7cdeb186fc16b21a67573018")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("3.0.0+8094eb9f28ce0eacd3a9839bce976835a89bac36")]
[assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Core")] [assembly: System.Reflection.AssemblyProductAttribute("SafeCampus.Core")]
[assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Core")] [assembly: System.Reflection.AssemblyTitleAttribute("SafeCampus.Core")]
[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.0")]


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save