Browse Source

[MODIFY]修改readme

dev-zzj
zhaozhenjing 2 months ago
parent
commit
9612645071
  1. 156
      README.md
  2. 2
      src/1.datas/ATS.NonCustodial.Domain/Entities/Admins/AppSMS.cs

156
README.md

@ -1,3 +1,159 @@
# NonDetainmentSoft # NonDetainmentSoft
非羁押人员管理系统 非羁押人员管理系统
## 1. 项目概述
ATS.NonCustodial.Admin 是一个基于 .NET 9.0 开发的后端管理系统,主要用于非监禁人员管理业务,提供案件管理、业务申请、设备管理等功能模块。系统采用分层架构设计,具有良好的扩展性和可维护性。
## 2. 技术栈
- 开发框架 :.NET 9.0
- ORM框架 :Entity Framework Core 9.0.8
- 数据库 :MySQL
- 身份认证 :JWT / IdentityServer4
- 依赖注入 :Autofac
- 实时通信 :SignalR
- 任务调度 :Quartz
- API文档 :Swagger
- 缓存 :Redis
- 日志 :Serilog
- 数据映射 :AutoMapper
## 3. 项目架构
项目采用典型的分层架构设计,各层职责明确:
```
src/
├── 1.datas/ # 数据层
│ ├── ATS.NonCustodial.DbMigrations/ # 数据库迁移
│ ├── ATS.NonCustodial.Domain/ # 领域模型
│ └── ATS.NonCustodial.EntityFrameworkCore/ # EF Core 实现
├── 2.services/ # 业务服务层
│ └── ATS.NonCustodial.Application/ # 应用服务实现
├── 3.contracts/ # 接口层
│ └── ATS.NonCustodial.Application.Contracts/ # 服务接口定义
├── 4.apps/ # 应用层
│ └── ATS.NonCustodial.Admin.Api/ # Web API 应用
└── 5.shared/ # 共享层
├── ATS.NonCustodial.Admin.Jobs/ # 定时任务
├── ATS.NonCustodial.AdminUi/ # 管理UI组件
├── ATS.NonCustodial.AuditLogging/ # 审计日志
├── ATS.NonCustodial.Domain.Shared/ # 领域共享
├── ATS.NonCustodial.DynamicApi/ # 动态API
└── ATS.NonCustodial.Shared/ # 通用工具
```
## 4. 核心模块
### 4.1 案件管理模块
负责非监禁人员案件的创建、查询、更新和删除,包含案件信息、监管人员和被监管人员管理。
主要实体:
- AppCaseManagement :案件管理实体
- AppCaseSupervisor :监管人员实体
- AppCaseSupervisedPerson :被监管人员实体
### 4.2 业务申请模块
处理被监管人员的各类业务申请,如请假、外出活动等,包含申请提交、审核、统计等功能。
主要服务:
- AppBusinessApplicationService :业务申请服务
- 提供申请创建、查询、审核、统计等功能
### 4.3 设备管理模块
管理与被监管人员关联的电子设备,如定位设备等。
主要服务:
- AppDeviceManagementService :设备管理服务
### 4.4 用户权限管理
处理系统用户、角色和权限的管理。
主要服务:
- RoleService :角色管理服务
- UserService :用户管理服务
### 4.5 文件管理模块
提供文件上传、下载、管理功能,支持多种文件类型。
主要配置:
- UploadConfigConfiguration :文件上传配置,支持头像、图片、资料等类型
## 5. 系统配置
### 5.1 数据库配置
系统使用 MySQL 数据库,配置位于 appsettings.json 的 ConnectionStringsConfiguration 节点:
```
"ConnectionStringsConfiguration": {
"AdminAuditLogDbConnection": "Server=localhost;database=fsl_cs;uid=root;pwd=sa@admin;...",
"AdminDbConnection": "Server=localhost;database=fsl_cs;uid=root;pwd=sa@admin;..."
},
"DatabaseProviderConfiguration": {
"ProviderType": "MySql"
}
```
### 5.2 身份认证配置
支持 JWT 和 IdentityServer4 两种认证方式,JWT 配置如下:
```
"JwtConfiguration": {
"Issuer": "http://127.0.0.1:8006",
"Audience": "http://127.0.0.1:8006",
"SymmetricSecurityKey": "ertJKl#521*a@790asD&1#0123456789",
"Expires": 1440,
"RefreshTokenExpires": 1440
}
```
### 5.3 文件上传配置
定义了多种文件类型的上传规则:
```
"UploadConfigConfiguration": {
"Avatar": {
"UploadPath": "../upload/admin/avatar",
"RequestPath": "/upload/admin/avatar",
"MaxSize": 1048576
},
"Image": {
"UploadPath": "../upload/admin/image",
"RequestPath": "/upload/admin/image",
"MaxSize": 10485760
},
"MaterialManager": {
"UploadPath": "../upload/admin/materials",
"RequestPath": "/upload/admin/materials"
}
}
```
## 6. 服务启动流程
1. 入口点 : Program.cs 调用 HostApp.Run() 方法启动服务
2. 配置加载 :通过 ConfigHelper 加载配置文件
3. 依赖注入 :使用 Autofac 注册服务组件
4. 数据库初始化 :应用数据库迁移和种子数据
5. 中间件配置 :配置认证授权、CORS、路由等中间件
6. 服务运行 :启动 Web 服务器和 SignalR 服务
## 7. 关键特性
### 7.1 动态 API
使用自定义的 DynamicApi 属性自动生成 API 接口,简化开发流程。
### 7.2 实时通信
通过 SignalR 实现监管人员和系统之间的实时消息推送和通知。
### 7.3 审计日志
系统内置审计日志功能,记录用户操作和系统事件。
### 7.4 定时任务
使用 Quartz 框架实现系统定时任务,如数据同步、状态更新等。
### 7.5 多数据库支持
通过 EF Core 支持多种数据库,当前使用 MySQL。
## 8. 部署配置
系统支持 Docker 容器化部署,提供了 Dockerfile 用于构建镜像。默认监听端口为 8006。
## 9. 安全措施
- JWT/IdentityServer4 身份认证
- 基于角色的访问控制
- 输入验证和防注入
- CORS 跨域配置
- 请求限流(使用 AspNetCoreRateLimit)

2
src/1.datas/ATS.NonCustodial.Domain/Entities/Admins/AppSMS.cs

@ -20,7 +20,7 @@ namespace ATS.NonCustodial.Domain.Entities.Admins
{ {
Id = id; Id = id;
} }
public string receiver { get; set; } public string? receiver { get; set; }
public string phone { get; set; } = string.Empty; public string phone { get; set; } = string.Empty;

Loading…
Cancel
Save