fix(notification): 修复批量插入时id字段没有默认值的问题

This commit is contained in:
wangzhiwei 2026-05-25 09:51:48 +08:00
parent e5940fc833
commit e22784fe2c
21 changed files with 239 additions and 83 deletions

View File

@ -15,7 +15,7 @@
|------|-----------|------|
| 主要管理员(SUPER) | 次级管理员、学校管理员、学院管理员、老师、学生 | 可多选 |
| 次级管理员(SUPER1) | 学校管理员、学院管理员、老师、学生 | 可多选 |
| 学校管理员(SCOOL_ADMIN) | 学院管理员、老师、学生 | 可多选 |
| 学校管理员(SCHOOL_ADMIN) | 学院管理员、老师、学生 | 可多选 |
| 学院管理员(COLLEGE_ADMIN) | 老师、学生 | 可多选 |
| 老师(TEACHER) | 指定课程的学生 | 课程可多选 |
| 学生(STUDENT) | 仅收件箱 | 无发送权限 |
@ -158,7 +158,7 @@ List<SysUser> getUsersByRoleTypes(Long schoolId, List<Integer> roleTypes);
|----------|----------|---------------|
| SUPER | 1 | [1, 2, 3, 4, 5] |
| SUPER1 | 1 | [2, 3, 4, 5] |
| SCOOL_ADMIN | 2 | [3, 4, 5] |
| SCHOOL_ADMIN | 2 | [3, 4, 5] |
| COLLEGE_ADMIN | 3 | [4, 5] |
| TEACHER | 4 | [5] (仅限自己课程的学生) |
| STUDENT | 5 | [] (无发送权限) |
@ -187,7 +187,7 @@ List<SysUser> getUsersByRoleTypes(Long schoolId, List<Integer> roleTypes);
| 权限码 | 权限名称 | 适用角色 |
|--------|----------|----------|
| `notification:send:users` | 发送通知给用户 | SUPER, SUPER1, SCOOL_ADMIN, COLLEGE_ADMIN |
| `notification:send:users` | 发送通知给用户 | SUPER, SUPER1, SCHOOL_ADMIN, COLLEGE_ADMIN |
| `notification:send:course` | 发送课程通知 | TEACHER |
---

View File

@ -160,7 +160,7 @@ mvn spring-boot:run
|------|----------|-----------|
| 主要管理员(SUPER) | 1 | 次级管理员、学校管理员、学院管理员、老师、学生 |
| 次级管理员(SUPER1) | 1 | 学校管理员、学院管理员、老师、学生 |
| 学校管理员(SCOOL_ADMIN) | 2 | 学院管理员、老师、学生 |
| 学校管理员(SCHOOL_ADMIN) | 2 | 学院管理员、老师、学生 |
| 学院管理员(COLLEGE_ADMIN) | 3 | 老师、学生 |
| 老师(TEACHER) | 4 | 指定课程的学生 |
| 学生(STUDENT) | 5 | 仅收件箱 |

View File

@ -27,8 +27,8 @@ INSERT INTO `sys_role_permission` (`permission_id`, `role_id`, `role_code`, `per
-- 学校管理员 - 系统管理权限
INSERT INTO `sys_role_permission` (`permission_id`, `role_id`, `role_code`, `permission_code`, `create_time`, `update_time`) VALUES
(14, 2, 'SCOOL_ADMIN', 'system:user:query', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(15, 2, 'SCOOL_ADMIN', 'system:role:query', '2026-04-30 18:00:00', '2026-04-30 18:00:00');
(14, 2, 'SCHOOL_ADMIN', 'system:user:query', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(15, 2, 'SCHOOL_ADMIN', 'system:role:query', '2026-04-30 18:00:00', '2026-04-30 18:00:00');
-- ========================================
-- 用户管理权限 (user)
@ -49,16 +49,16 @@ INSERT INTO `sys_role_permission` (`permission_id`, `role_id`, `role_code`, `per
-- 学校管理员 - 用户管理权限
INSERT INTO `sys_role_permission` (`permission_id`, `role_id`, `role_code`, `permission_code`, `create_time`, `update_time`) VALUES
(26, 2, 'SCOOL_ADMIN', 'user:student:add', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(27, 2, 'SCOOL_ADMIN', 'user:student:edit', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(28, 2, 'SCOOL_ADMIN', 'user:student:delete', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(29, 2, 'SCOOL_ADMIN', 'user:student:query', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(30, 2, 'SCOOL_ADMIN', 'user:teacher:add', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(31, 2, 'SCOOL_ADMIN', 'user:teacher:edit', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(32, 2, 'SCOOL_ADMIN', 'user:teacher:delete', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(33, 2, 'SCOOL_ADMIN', 'user:teacher:query', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(34, 2, 'SCOOL_ADMIN', 'user:teacher:bind', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(35, 2, 'SCOOL_ADMIN', 'user:student:bind', '2026-04-30 18:00:00', '2026-04-30 18:00:00');
(26, 2, 'SCHOOL_ADMIN', 'user:student:add', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(27, 2, 'SCHOOL_ADMIN', 'user:student:edit', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(28, 2, 'SCHOOL_ADMIN', 'user:student:delete', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(29, 2, 'SCHOOL_ADMIN', 'user:student:query', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(30, 2, 'SCHOOL_ADMIN', 'user:teacher:add', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(31, 2, 'SCHOOL_ADMIN', 'user:teacher:edit', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(32, 2, 'SCHOOL_ADMIN', 'user:teacher:delete', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(33, 2, 'SCHOOL_ADMIN', 'user:teacher:query', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(34, 2, 'SCHOOL_ADMIN', 'user:teacher:bind', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(35, 2, 'SCHOOL_ADMIN', 'user:student:bind', '2026-04-30 18:00:00', '2026-04-30 18:00:00');
-- 学院管理员 - 用户管理权限
INSERT INTO `sys_role_permission` (`permission_id`, `role_id`, `role_code`, `permission_code`, `create_time`, `update_time`) VALUES
@ -82,8 +82,8 @@ INSERT INTO `sys_role_permission` (`permission_id`, `role_id`, `role_code`, `per
-- 学校管理员 - 课程管理权限
INSERT INTO `sys_role_permission` (`permission_id`, `role_id`, `role_code`, `permission_code`, `create_time`, `update_time`) VALUES
(46, 2, 'SCOOL_ADMIN', 'course:query', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(47, 2, 'SCOOL_ADMIN', 'course:student:query', '2026-04-30 18:00:00', '2026-04-30 18:00:00');
(46, 2, 'SCHOOL_ADMIN', 'course:query', '2026-04-30 18:00:00', '2026-04-30 18:00:00'),
(47, 2, 'SCHOOL_ADMIN', 'course:student:query', '2026-04-30 18:00:00', '2026-04-30 18:00:00');
-- 学院管理员 - 课程管理权限
INSERT INTO `sys_role_permission` (`permission_id`, `role_id`, `role_code`, `permission_code`, `create_time`, `update_time`) VALUES

View File

@ -11,8 +11,8 @@ INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `r
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (11, 1, 'SUPER', '系统管理', 'system:menu:delete', '菜单删除', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (12, 1, 'SUPER', '系统管理', 'system:dict:manage', '字典管理', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (13, 1, 'SUPER', '系统管理', 'system:log:query', '日志查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (14, 2, 'SCOOL_ADMIN', '系统管理', 'system:user:query', '用户查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (15, 2, 'SCOOL_ADMIN', '系统管理', 'system:role:query', '角色查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (14, 2, 'SCHOOL_ADMIN', '系统管理', 'system:user:query', '用户查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (15, 2, 'SCHOOL_ADMIN', '系统管理', 'system:role:query', '角色查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (16, 1, 'SUPER', '用户管理', 'user:student:add', '学生新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (17, 1, 'SUPER', '用户管理', 'user:student:edit', '学生修改', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (18, 1, 'SUPER', '用户管理', 'user:student:delete', '学生删除', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
@ -23,16 +23,16 @@ INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `r
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (23, 1, 'SUPER', '用户管理', 'user:teacher:query', '教师查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (24, 1, 'SUPER', '用户管理', 'user:teacher:bind', '教师绑定', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (25, 1, 'SUPER', '用户管理', 'user:student:bind', '学生绑定', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (26, 2, 'SCOOL_ADMIN', '用户管理', 'user:student:add', '学生新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (27, 2, 'SCOOL_ADMIN', '用户管理', 'user:student:edit', '学生修改', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (28, 2, 'SCOOL_ADMIN', '用户管理', 'user:student:delete', '学生删除', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (29, 2, 'SCOOL_ADMIN', '用户管理', 'user:student:query', '学生查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (30, 2, 'SCOOL_ADMIN', '用户管理', 'user:teacher:add', '教师新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (31, 2, 'SCOOL_ADMIN', '用户管理', 'user:teacher:edit', '教师修改', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (32, 2, 'SCOOL_ADMIN', '用户管理', 'user:teacher:delete', '教师删除', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (33, 2, 'SCOOL_ADMIN', '用户管理', 'user:teacher:query', '教师查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (34, 2, 'SCOOL_ADMIN', '用户管理', 'user:teacher:bind', '教师绑定', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (35, 2, 'SCOOL_ADMIN', '用户管理', 'user:student:bind', '学生绑定', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (26, 2, 'SCHOOL_ADMIN', '用户管理', 'user:student:add', '学生新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (27, 2, 'SCHOOL_ADMIN', '用户管理', 'user:student:edit', '学生修改', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (28, 2, 'SCHOOL_ADMIN', '用户管理', 'user:student:delete', '学生删除', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (29, 2, 'SCHOOL_ADMIN', '用户管理', 'user:student:query', '学生查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (30, 2, 'SCHOOL_ADMIN', '用户管理', 'user:teacher:add', '教师新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (31, 2, 'SCHOOL_ADMIN', '用户管理', 'user:teacher:edit', '教师修改', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (32, 2, 'SCHOOL_ADMIN', '用户管理', 'user:teacher:delete', '教师删除', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (33, 2, 'SCHOOL_ADMIN', '用户管理', 'user:teacher:query', '教师查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (34, 2, 'SCHOOL_ADMIN', '用户管理', 'user:teacher:bind', '教师绑定', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (35, 2, 'SCHOOL_ADMIN', '用户管理', 'user:student:bind', '学生绑定', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (36, 3, 'COLLEGE_ADMIN', '用户管理', 'user:student:query', '学生查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (37, 3, 'COLLEGE_ADMIN', '用户管理', 'user:teacher:query', '教师查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (38, 1, 'SUPER', '课程管理', 'course:add', '课程新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
@ -43,8 +43,8 @@ INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `r
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (43, 1, 'SUPER', '课程管理', 'course:student:remove', '移除学生', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (44, 1, 'SUPER', '课程管理', 'course:student:query', '选课查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (45, 1, 'SUPER', '课程管理', 'course:score:export', '成绩导出', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (46, 2, 'SCOOL_ADMIN', '课程管理', 'course:query', '课程查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (47, 2, 'SCOOL_ADMIN', '课程管理', 'course:student:query', '选课查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (46, 2, 'SCHOOL_ADMIN', '课程管理', 'course:query', '课程查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (47, 2, 'SCHOOL_ADMIN', '课程管理', 'course:student:query', '选课查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (48, 3, 'COLLEGE_ADMIN', '课程管理', 'course:query', '课程查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (49, 3, 'COLLEGE_ADMIN', '课程管理', 'course:student:query', '选课查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19');
INSERT INTO `kexue_server`.`sys_role_permission` (`permission_id`, `role_id`, `role_code`, `model_name`, `permission_code`, `permission_name`, `create_time`, `update_time`) VALUES (50, 4, 'TEACHER', '课程管理', 'course:add', '课程新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19');

View File

@ -95,32 +95,32 @@ INSERT INTO sys_role_permission (role_id, role_code, model_name, permission_code
(1, 'SUPER', '支付管理', 'payment:recharge', '充值功能', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
-- SCHOOL_ADMIN 角色权限
(2, 'SCOOL_ADMIN', '系统管理', 'system:user:query', '用户查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '系统管理', 'system:role:query', '角色查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '用户管理', 'user:student:add', '学生新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '用户管理', 'user:student:edit', '学生修改', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '用户管理', 'user:student:delete', '学生删除', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '用户管理', 'user:student:query', '学生查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '用户管理', 'user:teacher:add', '教师新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '用户管理', 'user:teacher:edit', '教师修改', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '用户管理', 'user:teacher:delete', '教师删除', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '用户管理', 'user:teacher:query', '教师查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '用户管理', 'user:teacher:bind', '教师绑定', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '用户管理', 'user:student:bind', '学生绑定', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '课程管理', 'course:query', '课程查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '课程管理', 'course:student:query', '选课查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '课程管理', 'course:add', '课程新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '课程管理', 'course:edit', '课程修改', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '课程管理', 'course:delete', '课程删除', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '考勤管理', 'attendance:add', '考勤新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '考勤管理', 'attendance:edit', '考勤修改', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '考勤管理', 'attendance:query', '考勤查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '作业管理', 'homework:query', '作业查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '考试管理', 'exam:query', '考试查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '优秀作品', 'excellent:query', '作品查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '通知管理', 'notification:send', '发送通知', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '通知管理', 'notification:query', '通知查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCOOL_ADMIN', '通知管理', 'notification:read', '标记已读', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '系统管理', 'system:user:query', '用户查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '系统管理', 'system:role:query', '角色查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '用户管理', 'user:student:add', '学生新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '用户管理', 'user:student:edit', '学生修改', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '用户管理', 'user:student:delete', '学生删除', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '用户管理', 'user:student:query', '学生查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '用户管理', 'user:teacher:add', '教师新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '用户管理', 'user:teacher:edit', '教师修改', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '用户管理', 'user:teacher:delete', '教师删除', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '用户管理', 'user:teacher:query', '教师查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '用户管理', 'user:teacher:bind', '教师绑定', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '用户管理', 'user:student:bind', '学生绑定', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '课程管理', 'course:query', '课程查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '课程管理', 'course:student:query', '选课查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '课程管理', 'course:add', '课程新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '课程管理', 'course:edit', '课程修改', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '课程管理', 'course:delete', '课程删除', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '考勤管理', 'attendance:add', '考勤新增', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '考勤管理', 'attendance:edit', '考勤修改', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '考勤管理', 'attendance:query', '考勤查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '作业管理', 'homework:query', '作业查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '考试管理', 'exam:query', '考试查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '优秀作品', 'excellent:query', '作品查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '通知管理', 'notification:send', '发送通知', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '通知管理', 'notification:query', '通知查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
(2, 'SCHOOL_ADMIN', '通知管理', 'notification:read', '标记已读', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),
-- COLLEGE_ADMIN 角色权限
(3, 'COLLEGE_ADMIN', '用户管理', 'user:student:query', '学生查询', '2026-04-30 18:00:00', '2026-05-08 16:33:19'),

View File

@ -124,7 +124,7 @@ public class EduPermissionAspect {
return "update"; // 修改update方法返回update而非edit
} else if (methodName.startsWith("updateStatus")) {
return "updateStatus"; // 新增状态变更方法
} else if (methodName.startsWith("edit")) {
} else if (methodName.startsWith("edit") || methodName.startsWith("update")) {
return "edit";
} else if (methodName.startsWith("delete") || methodName.startsWith("remove")) {
return "delete";

View File

@ -7,6 +7,7 @@ import art.kexue.sxwz.annotation.RequireAuth;
import art.kexue.sxwz.annotation.RequireRole;
import art.kexue.sxwz.entity.SysUser;
import art.kexue.sxwz.entity.dto.SysUserDto;
import art.kexue.sxwz.entity.dto.UserDetailDto;
import art.kexue.sxwz.entity.request.*;
import art.kexue.sxwz.exception.BizException;
import art.kexue.sxwz.service.SysUserService;
@ -69,6 +70,13 @@ public class SysUserController {
public CommonResult<SysUser> queryById(@PathVariable("id") Long id) {
return CommonResult.success(sysUserService.queryById(id));
}
@GetMapping("/getUserDetail/{userId}")
@Operation(summary = "查询用户详细信息", description = "根据用户ID查询用户所有信息包含sysUser、student、teacher、account")
@RequireRole({"SUPER","SUPER1","SCHOOL_ADMIN","COLLEGE_ADMIN"})
public CommonResult<UserDetailDto> getUserDetail(@PathVariable("userId") Long userId) {
return CommonResult.success(sysUserService.getUserDetailById(userId));
}
/**
* 新增数据
@ -291,21 +299,21 @@ public class SysUserController {
@PostMapping("/createSchoolAdmin")
@Operation(summary = "创建学校管理员", description = "创建学校管理员用户只有公司管理员SUPER能操作")
@RequireRole("SUPER")
@RequireRole({"SUPER","SUPER1"})
public CommonResult<SysUser> createSchoolAdmin(@RequestBody CreateUserDto createUserDto) {
return CommonResult.success(sysUserService.createSchoolAdmin(createUserDto));
}
@PostMapping("/createCollegeAdmin")
@Operation(summary = "创建学院管理员", description = "创建学院管理员用户只有学校管理员SCOOL_ADMIN能操作")
@RequireRole("SCOOL_ADMIN")
@Operation(summary = "创建学院管理员", description = "创建学院管理员用户只有学校管理员SCHOOL_ADMIN能操作")
@RequireRole("SCHOOL_ADMIN")
public CommonResult<SysUser> createCollegeAdmin(@RequestBody CreateUserDto createUserDto) {
return CommonResult.success(sysUserService.createCollegeAdmin(createUserDto));
}
@PostMapping("/createTeacher")
@Operation(summary = "创建教师用户", description = "创建教师用户只有学院管理员COLLEGE_ADMIN能操作")
@RequireRole("COLLEGE_ADMIN")
@RequireRole({"COLLEGE_ADMIN","SCHOOL_ADMIN"})
public CommonResult<SysUser> createTeacher(@RequestBody CreateUserDto createUserDto) {
return CommonResult.success(sysUserService.createTeacher(createUserDto));
}

View File

@ -16,6 +16,9 @@ public class EduCollege {
@Schema(description = "学院名称")
private String name;
@Schema(description = "学校ID关联edu_school.id")
private Long schoolId;
@Schema(description = "管理员用户ID关联sys_user.id")
private Long adminUserId;

View File

@ -91,6 +91,12 @@ public class SysUser extends BaseEntity implements Serializable {
@Schema(description ="教师扩展信息")
private EduTeacher eduTeacher;
@Schema(description ="账户信息")
private Account account;
@Schema(description ="学校信息")
private EduSchool eduSchool;
}
}

View File

@ -15,6 +15,9 @@ public class EduCollegeDto extends BaseQueryDto {
@Schema(description = "学院名称")
private String name;
@Schema(description = "学校ID")
private Long schoolId;
@Schema(description = "状态0-停用1-正常")
private Integer status;
}

View File

@ -0,0 +1,25 @@
package art.kexue.sxwz.entity.dto;
import art.kexue.sxwz.entity.Account;
import art.kexue.sxwz.entity.EduStudent;
import art.kexue.sxwz.entity.EduTeacher;
import art.kexue.sxwz.entity.SysUser;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(name = "UserDetailDto", description = "用户详细信息包含sysUser、student、teacher、account")
public class UserDetailDto {
@Schema(description = "用户基础信息")
private SysUser sysUser;
@Schema(description = "学生信息(如果是学生)")
private EduStudent student;
@Schema(description = "教师信息(如果是教师)")
private EduTeacher teacher;
@Schema(description = "账户信息")
private Account account;
}

View File

@ -14,7 +14,7 @@ public class CreateUserDto implements Serializable {
@Schema(description = "用户名")
private String userName;
@Schema(description = "密码")
@Schema(description = "密码密码传输需要使用md5加密一次")
private String password;
@Schema(description = "邮箱")

View File

@ -42,7 +42,7 @@ public class SysUserUpdateDto implements Serializable {
private Integer schoolId;
@Schema(description = "真实姓名")
private Integer realName;
private String realName;
}

View File

@ -21,6 +21,8 @@ public interface EduCollegeMapper {
EduCollege queryByName(String name);
EduCollege queryByNameAndSchoolId(String name, Long schoolId);
int updateTeacherCount(Long id, Integer count);
int updateStudentCount(Long id, Integer count);

View File

@ -23,6 +23,14 @@ public interface SysUserMapper {
* @return 对象列表
*/
List<SysUser> getPageList(SysUserDto sysUserDto);
/**
* 查询指定行数据包含扩展信息
*
* @param sysUserDto 查询条件
* @return 对象列表包含学生教师账户学校信息
*/
List<SysUser> getPageListWithExt(SysUserDto sysUserDto);
/**
* 通过ID查询单条数据

View File

@ -1,5 +1,6 @@
package art.kexue.sxwz.service;
import art.kexue.sxwz.entity.dto.SessionDto;
import art.kexue.sxwz.entity.dto.UserDetailDto;
import art.kexue.sxwz.entity.request.*;
import com.github.pagehelper.PageInfo;
@ -246,5 +247,13 @@ public interface SysUserService extends BaseService {
* @return 用户列表包含学生/教师扩展信息
*/
List<SysUser> getUsersWithExtBySchoolIdAndRoleType(Long schoolId, Integer roleType);
/**
* 根据用户ID查询用户所有信息包含sysUserstudentteacheraccount
*
* @param userId 用户ID
* @return 用户详细信息
*/
UserDetailDto getUserDetailById(Long userId);
}

View File

@ -23,9 +23,10 @@ public class EduCollegeServiceImpl implements EduCollegeService {
@Override
public EduCollege save(EduCollege college) {
Assert.notBlank(college.getName(), "学院名称不能为空");
Assert.notNull(college.getSchoolId(), "学校ID不能为空");
EduCollege existing = eduCollegeMapper.queryByName(college.getName());
Assert.isNull(existing, "学院名称已存在");
EduCollege existing = eduCollegeMapper.queryByNameAndSchoolId(college.getName(), college.getSchoolId());
Assert.isNull(existing, "同一学校下学院名称已存在");
if (college.getStatus() == null) {
college.setStatus(1);
@ -41,7 +42,7 @@ public class EduCollegeServiceImpl implements EduCollegeService {
}
eduCollegeMapper.insert(college);
log.info("创建学院成功,名称:{}", college.getName());
log.info("创建学院成功,名称:{}学校ID{}", college.getName(), college.getSchoolId());
return college;
}
@ -52,9 +53,11 @@ public class EduCollegeServiceImpl implements EduCollegeService {
EduCollege existing = eduCollegeMapper.queryById(college.getId());
Assert.notNull(existing, "学院不存在");
Long schoolId = college.getSchoolId() != null ? college.getSchoolId() : existing.getSchoolId();
if (college.getName() != null && !college.getName().equals(existing.getName())) {
EduCollege byName = eduCollegeMapper.queryByName(college.getName());
Assert.isNull(byName, "学院名称已存在");
EduCollege byName = eduCollegeMapper.queryByNameAndSchoolId(college.getName(), schoolId);
Assert.isNull(byName, "同一学校下学院名称已存在");
}
eduCollegeMapper.updateByIdSelective(college);

View File

@ -8,6 +8,7 @@ import art.kexue.sxwz.entity.Account;
import art.kexue.sxwz.entity.SysUser;
import art.kexue.sxwz.entity.dto.SessionDto;
import art.kexue.sxwz.entity.dto.SysUserDto;
import art.kexue.sxwz.entity.dto.UserDetailDto;
import art.kexue.sxwz.entity.request.*;
import art.kexue.sxwz.exception.BizException;
import art.kexue.sxwz.entity.EduStudent;
@ -117,7 +118,7 @@ public class SysUserServiceImpl implements SysUserService {
PageHelper.startPage(pageNum, pageSize);
}
List<SysUser> dataList = sysUserMapper.getPageList(queryDto);
List<SysUser> dataList = sysUserMapper.getPageListWithExt(queryDto);
// 将所有返回的用户密码设置为null
dataList.forEach(user -> user.setPwd(null));
return new PageInfo<>(dataList);
@ -303,6 +304,11 @@ public class SysUserServiceImpl implements SysUserService {
sysUser.setEnable(sysUserUpdateDto.getEnable());
}
// 更新真实姓名
if (sysUserUpdateDto.getRealName() != null) {
sysUser.setRealName(sysUserUpdateDto.getRealName());
}
// 更新密码如果有
if (sysUserUpdateDto.getPassword() != null && !sysUserUpdateDto.getPassword().isEmpty()) {
try {
@ -1460,7 +1466,7 @@ public class SysUserServiceImpl implements SysUserService {
case 2:
return "SUPER1";
case 3:
return "SCOOL_ADMIN";
return "SCHOOL_ADMIN";
case 4:
return "COLLEGE_ADMIN";
case 5:
@ -1527,27 +1533,27 @@ public class SysUserServiceImpl implements SysUserService {
@Override
public SysUser createSchoolAdmin(CreateUserDto createUserDto) {
return createUser(createUserDto, 2);
return createUser(createUserDto, 3);
}
@Override
public SysUser createCollegeAdmin(CreateUserDto createUserDto) {
Assert.notNull(createUserDto.getSchoolId(), "学校ID不能为空");
return createUser(createUserDto, 3);
return createUser(createUserDto, 4);
}
@Override
public SysUser createTeacher(CreateUserDto createUserDto) {
Assert.notNull(createUserDto.getSchoolId(), "学校ID不能为空");
Assert.notNull(createUserDto.getCollegeId(), "学院ID不能为空");
return createUser(createUserDto, 4);
return createUser(createUserDto, 5);
}
@Override
public SysUser createStudent(CreateUserDto createUserDto) {
Assert.notNull(createUserDto.getSchoolId(), "学校ID不能为空");
Assert.notNull(createUserDto.getCollegeId(), "学院ID不能为空");
return createUser(createUserDto, 5);
return createUser(createUserDto, 6);
}
private SysUser createUser(CreateUserDto createUserDto, Integer roleType) {
@ -1646,5 +1652,29 @@ public class SysUserServiceImpl implements SysUserService {
users.forEach(user -> user.setPwd(null));
return users;
}
@Override
public UserDetailDto getUserDetailById(Long userId) {
Assert.notNull(userId, "用户ID不能为空");
UserDetailDto userDetailDto = new UserDetailDto();
SysUser sysUser = sysUserMapper.queryById(userId);
if (sysUser != null) {
sysUser.setPwd(null);
userDetailDto.setSysUser(sysUser);
EduStudent student = eduStudentMapper.queryByUserId(userId);
userDetailDto.setStudent(student);
EduTeacher teacher = eduTeacherMapper.queryByUserId(userId);
userDetailDto.setTeacher(teacher);
Account account = accountService.queryByUserId(userId);
userDetailDto.setAccount(account);
}
return userDetailDto;
}
}

View File

@ -5,6 +5,7 @@
<resultMap type="art.kexue.sxwz.entity.EduCollege" id="EduCollegeMap">
<result property="id" column="id" jdbcType="BIGINT"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="schoolId" column="school_id" jdbcType="BIGINT"/>
<result property="adminUserId" column="admin_user_id" jdbcType="BIGINT"/>
<result property="teacherCount" column="teacher_count" jdbcType="INTEGER"/>
<result property="studentCount" column="student_count" jdbcType="INTEGER"/>
@ -15,12 +16,12 @@
</resultMap>
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into edu_college(name, admin_user_id, teacher_count, student_count, status, deleted)
values (#{name}, #{adminUserId}, #{teacherCount}, #{studentCount}, #{status}, #{deleted})
insert into edu_college(name, school_id, admin_user_id, teacher_count, student_count, status, deleted)
values (#{name}, #{schoolId}, #{adminUserId}, #{teacherCount}, #{studentCount}, #{status}, #{deleted})
</insert>
<select id="queryById" resultMap="EduCollegeMap">
select id, name, admin_user_id, teacher_count, student_count, status, create_time, update_time, deleted
select id, name, school_id, admin_user_id, teacher_count, student_count, status, create_time, update_time, deleted
from edu_college
where id = #{id} and deleted = 0
</select>
@ -29,6 +30,7 @@
update edu_college
<set>
<if test="name != null">name = #{name},</if>
<if test="schoolId != null">school_id = #{schoolId},</if>
<if test="adminUserId != null">admin_user_id = #{adminUserId},</if>
<if test="teacherCount != null">teacher_count = #{teacherCount},</if>
<if test="studentCount != null">student_count = #{studentCount},</if>
@ -43,20 +45,27 @@
</delete>
<select id="getPageList" resultMap="EduCollegeMap">
select id, name, admin_user_id, teacher_count, student_count, status, create_time, update_time, deleted
select id, name, school_id, admin_user_id, teacher_count, student_count, status, create_time, update_time, deleted
from edu_college
where deleted = 0
<if test="name != null and name != ''">and name like concat('%', #{name}, '%')</if>
<if test="schoolId != null">and school_id = #{schoolId}</if>
<if test="status != null">and status = #{status}</if>
order by create_time desc
</select>
<select id="queryByName" resultMap="EduCollegeMap">
select id, name, admin_user_id, teacher_count, student_count, status, create_time, update_time, deleted
select id, name, school_id, admin_user_id, teacher_count, student_count, status, create_time, update_time, deleted
from edu_college
where name = #{name} and deleted = 0
</select>
<select id="queryByNameAndSchoolId" resultMap="EduCollegeMap">
select id, name, school_id, admin_user_id, teacher_count, student_count, status, create_time, update_time, deleted
from edu_college
where name = #{name} and school_id = #{schoolId} and deleted = 0
</select>
<update id="updateTeacherCount">
update edu_college set teacher_count = #{count} where id = #{id}
</update>

View File

@ -121,7 +121,7 @@
WHERE user_id = #{userId} AND school_id = #{schoolId} AND is_read = 0
</select>
<insert id="batchInsert">
<insert id="batchInsert" useGeneratedKeys="true" keyProperty="id">
INSERT INTO sys_notification (school_id, user_id, title, content, type, is_read, sender_id, sender_name, target_type, create_time)
VALUES
<foreach collection="list" item="item" separator=",">

View File

@ -27,6 +27,8 @@
<resultMap type="art.kexue.sxwz.entity.SysUser" id="SysUserWithExtMap" extends="SysUserMap">
<association property="eduStudent" javaType="art.kexue.sxwz.entity.EduStudent" column="user_id" select="art.kexue.sxwz.mapper.EduStudentMapper.queryByUserId"/>
<association property="eduTeacher" javaType="art.kexue.sxwz.entity.EduTeacher" column="user_id" select="art.kexue.sxwz.mapper.EduTeacherMapper.queryByUserId"/>
<association property="account" javaType="art.kexue.sxwz.entity.Account" column="user_id" select="art.kexue.sxwz.mapper.AccountMapper.queryByUserId"/>
<association property="eduSchool" javaType="art.kexue.sxwz.entity.EduSchool" column="school_id" select="art.kexue.sxwz.mapper.EduSchoolMapper.queryById"/>
</resultMap>
<!--查询单个-->
@ -84,6 +86,54 @@
</if>
</where>
</select>
<!--查询指定行数据(包含扩展信息)-->
<select id="getPageListWithExt" resultMap="SysUserWithExtMap">
select
user_id, user_name, pwd, real_name, tel, email, salt, remark, create_time, enable, delete_flag, session_id, invite_code, invited_code, invited_by, user_icon, wxid, role_type, school_id
from sys_user
<where>
<if test="userId != null">
and user_id = #{userId}
</if>
<if test="userName != null and userName != ''">
and user_name = #{userName}
</if>
<if test="pwd != null and pwd != ''">
and pwd = #{pwd}
</if>
<if test="realName != null and realName != ''">
and real_name = #{realName}
</if>
<if test="tel != null and tel != ''">
and tel = #{tel}
</if>
<if test="email != null and email != ''">
and email = #{email}
</if>
<if test="salt != null and salt != ''">
and salt = #{salt}
</if>
<if test="remark != null and remark != ''">
and remark = #{remark}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="enable != null">
and enable = #{enable}
</if>
<if test="deleteFlag != null">
and delete_flag = #{deleteFlag}
</if>
<if test="roleType != null">
and role_type = #{roleType}
</if>
<if test="schoolId != null">
and school_id = #{schoolId}
</if>
</where>
</select>
<!--查询指定行数据-->
<select id="queryAllByLimit" resultMap="SysUserMap">