[根目录](../CLAUDE.md) > **jsowell-system**

# jsowell-system 模块

系统管理模块，提供用户、角色、菜单、字典等基础管理功能。

---

## 变更记录 (Changelog)

### 2026-02-03 11:32:30
- 初始化模块文档
- 识别 15 个 Mapper XML
- 统计 52 个 Java 文件

---

## 模块职责

- **用户管理**: 用户 CRUD、密码管理
- **角色管理**: 角色 CRUD、权限分配
- **菜单管理**: 菜单 CRUD、路由生成
- **部门管理**: 组织架构管理
- **字典管理**: 数据字典维护
- **岗位管理**: 岗位信息管理
- **日志管理**: 操作日志、登录日志

---

## 入口与启动

本模块为基础模块，无独立启动入口。

---

## 对外接口

### Service 接口

| Service | 说明 |
|---------|------|
| `SysUserService` | 用户服务 |
| `SysRoleService` | 角色服务 |
| `SysMenuService` | 菜单服务 |
| `SysDeptService` | 部门服务 |
| `SysDictTypeService` | 字典类型服务 |
| `SysDictDataService` | 字典数据服务 |
| `SysPostService` | 岗位服务 |
| `SysConfigService` | 系统配置服务 |
| `SysOperLogService` | 操作日志服务 |
| `SysLogininforService` | 登录日志服务 |

---

## 关键依赖与配置

### Maven 依赖

```xml
<dependencies>
    <dependency>
        <groupId>com.jsowell</groupId>
        <artifactId>jsowell-common</artifactId>
    </dependency>
</dependencies>
```

---

## 数据模型

### 核心实体

| 实体类 | 数据库表 | 说明 |
|--------|---------|------|
| `SysUser` | `sys_user` | 用户信息 |
| `SysRole` | `sys_role` | 角色信息 |
| `SysMenu` | `sys_menu` | 菜单信息 |
| `SysDept` | `sys_dept` | 部门信息 |
| `SysDictType` | `sys_dict_type` | 字典类型 |
| `SysDictData` | `sys_dict_data` | 字典数据 |
| `SysPost` | `sys_post` | 岗位信息 |
| `SysConfig` | `sys_config` | 系统配置 |
| `SysOperLog` | `sys_oper_log` | 操作日志 |
| `SysLogininfor` | `sys_logininfor` | 登录日志 |

### 关联表

| 实体类 | 数据库表 | 说明 |
|--------|---------|------|
| `SysUserRole` | `sys_user_role` | 用户角色关联 |
| `SysRoleMenu` | `sys_role_menu` | 角色菜单关联 |
| `SysRoleDept` | `sys_role_dept` | 角色部门关联 |
| `SysUserPost` | `sys_user_post` | 用户岗位关联 |

### Mapper XML 文件

位置：`src/main/resources/mapper/system/`

- `SysUserMapper.xml` (228 行)
- `SysMenuMapper.xml` (195 行)
- `SysDeptMapper.xml` (163 行)
- `SysRoleMapper.xml` (152 行)
- `SysDictDataMapper.xml` (124 行)
- `SysPostMapper.xml` (122 行)
- `SysConfigMapper.xml` (112 行)
- `SysDictTypeMapper.xml` (105 行)

---

## 常见问题 (FAQ)

### Q: 如何添加新的系统配置？
在 `sys_config` 表中添加记录，通过 `SysConfigService.selectConfigByKey()` 获取

### Q: 如何添加新的字典？
1. 在 `sys_dict_type` 添加字典类型
2. 在 `sys_dict_data` 添加字典数据

---

## 相关文件清单

```
jsowell-system/
├── src/main/java/com/jsowell/system/
│   ├── domain/                    # 实体类
│   │   ├── SysCache.java
│   │   ├── SysConfig.java
│   │   ├── SysLogininfor.java
│   │   ├── SysNotice.java
│   │   ├── SysOperLog.java
│   │   ├── SysPost.java
│   │   ├── SysRoleDept.java
│   │   ├── SysRoleMenu.java
│   │   ├── SysUserOnline.java
│   │   ├── SysUserPost.java
│   │   └── SysUserRole.java
│   ├── mapper/                    # Mapper 接口
│   ├── service/                   # Service 接口
│   │   └── impl/                 # Service 实现
│   └── vo/                        # 视图对象
├── src/main/resources/
│   └── mapper/system/             # Mapper XML (15 文件)
└── pom.xml
```
