# Conflicts: # SafeCampus.WEB/src/api/interface/sys/index.tsmaster
@@ -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 |
@@ -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 由于未知道数据格式暂不写处理 | ||||
} | } | ||||
} | } | ||||
@@ -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> | ||||
事件发生时间 | 事件发生时间 | ||||
@@ -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>>(); | |||||
} | |||||
} |
@@ -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; } | |||||
} |
@@ -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; } | |||||
} |
@@ -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; } | |||||
} |
@@ -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; } | |||||
} |
@@ -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); | |||||
} |
@@ -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; | |||||
} | |||||
} |
@@ -0,0 +1,6 @@ | |||||
namespace SafeCampus.Application.Services.Business.CameraGroupService; | |||||
public class CameraGroupAddInput | |||||
{ | |||||
public string Name { get; set; } | |||||
} |
@@ -0,0 +1,7 @@ | |||||
namespace SafeCampus.Application.Services.Business.CameraGroupService; | |||||
public class CameraGroupInput | |||||
{ | |||||
public string Name { get; set; } | |||||
public long? ID { get; set; } | |||||
} |
@@ -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(); | |||||
} |
@@ -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("分组不存在"); | |||||
} | |||||
} |
@@ -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; } | |||||
} |
@@ -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>(); | |||||
} |
@@ -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; } | |||||
} |
@@ -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); | |||||
} |
@@ -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>>(); | |||||
} | |||||
} |
@@ -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; } | |||||
} |
@@ -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; } | |||||
} |
@@ -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; } | |||||
} |
@@ -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; } | |||||
} |
@@ -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); | |||||
} |
@@ -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; | |||||
} | |||||
} |
@@ -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; } | |||||
} |
@@ -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; } | |||||
} |
@@ -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; } | |||||
} |
@@ -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); | |||||
} |
@@ -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>>(); | |||||
} | |||||
} |
@@ -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); | |||||
} | |||||
} |
@@ -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; } | |||||
} |
@@ -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(); | |||||
} |
@@ -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; } | |||||
} |
@@ -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; } | |||||
} |
@@ -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); | |||||
} |
@@ -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; | |||||
} | |||||
} |
@@ -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); | |||||
} | } | ||||
} | } |
@@ -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,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) | ||||
@@ -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 @@ | |||||
8deff3ea2db041439b250089eed6dc5718b475df70ec4b5eb2a8480a011a29f2 | |||||
15cfdb9642c228344ca348393e44bfc41e49f25544b43d9b0a17ff2c6024d12a |
@@ -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 @@ | |||||
8deff3ea2db041439b250089eed6dc5718b475df70ec4b5eb2a8480a011a29f2 | |||||
15cfdb9642c228344ca348393e44bfc41e49f25544b43d9b0a17ff2c6024d12a |
@@ -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 @@ | |||||
8deff3ea2db041439b250089eed6dc5718b475df70ec4b5eb2a8480a011a29f2 | |||||
15cfdb9642c228344ca348393e44bfc41e49f25544b43d9b0a17ff2c6024d12a |
@@ -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, )" | ||||
@@ -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", | ||||
@@ -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" | ||||
@@ -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 @@ | |||||
9edcfca15341e2224b96c8290cf81021a91a09773c5a891357f64da3e16d0529 | |||||
cf464dcd5bd4b535dcf46523fc87b0a310f24c212b199ec74b6b1a1aab3a3148 |
@@ -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 @@ | |||||
9edcfca15341e2224b96c8290cf81021a91a09773c5a891357f64da3e16d0529 | |||||
cf464dcd5bd4b535dcf46523fc87b0a310f24c212b199ec74b6b1a1aab3a3148 |
@@ -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 @@ | |||||
9edcfca15341e2224b96c8290cf81021a91a09773c5a891357f64da3e16d0529 | |||||
cf464dcd5bd4b535dcf46523fc87b0a310f24c212b199ec74b6b1a1aab3a3148 |
@@ -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, )" | ||||
@@ -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", | ||||
@@ -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" | ||||
], | ], | ||||
@@ -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,14 +1,4 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.Core; | |||||
namespace SafeCampus.Core; | |||||
/// <summary> | /// <summary> | ||||
/// 文件上传输入参数 | /// 文件上传输入参数 | ||||
@@ -1,14 +1,4 @@ | |||||
| |||||
// | |||||
namespace SafeCampus.Core; | |||||
namespace SafeCampus.Core; | |||||
/// <summary> | /// <summary> | ||||
/// 主键Id输入参数 | /// 主键Id输入参数 | ||||
@@ -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,16 +1,4 @@ | |||||
| |||||
// | |||||
// | |||||
using System.Runtime.InteropServices; | |||||
using System.Runtime.InteropServices; | |||||
namespace SafeCampus.Core; | namespace SafeCampus.Core; | ||||
@@ -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"; | |||||
} | } |
@@ -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; | |||||
} | |||||
} |
@@ -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> |
@@ -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> | ||||
压缩单个文件 | 压缩单个文件 | ||||
@@ -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; | |||||
} | |||||
} |
@@ -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 @@ | |||||
a9d50ac7ca3e0c444071362e2818ebe56ba854544ae4bc9a347b1eccf6f2f8d8 | |||||
c3eada0a000d1796c2cc2f1e5ea0c2a44cea1a71229adf776461dc271d8255e6 |
@@ -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 @@ | |||||
a9d50ac7ca3e0c444071362e2818ebe56ba854544ae4bc9a347b1eccf6f2f8d8 | |||||
c3eada0a000d1796c2cc2f1e5ea0c2a44cea1a71229adf776461dc271d8255e6 |
@@ -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")] | ||||