diff --git a/schoolNewsServ/.bin/mysql/sql/createTableFile.sql b/schoolNewsServ/.bin/mysql/sql/createTableFile.sql deleted file mode 100644 index a076c87..0000000 --- a/schoolNewsServ/.bin/mysql/sql/createTableFile.sql +++ /dev/null @@ -1,31 +0,0 @@ --- -------------------------------------------------------- --- 文件上传记录表 --- -------------------------------------------------------- -CREATE TABLE IF NOT EXISTS `tb_sys_file` ( - `id` VARCHAR(50) NOT NULL COMMENT '主键ID', - `file_id` VARCHAR(64) NOT NULL COMMENT '文件ID', - `file_name` VARCHAR(255) NOT NULL COMMENT '存储文件名(UUID生成)', - `original_name` VARCHAR(255) NOT NULL COMMENT '原始文件名', - `file_path` VARCHAR(500) NOT NULL COMMENT '文件存储路径', - `file_url` VARCHAR(500) DEFAULT NULL COMMENT '文件访问URL', - `file_size` BIGINT NOT NULL COMMENT '文件大小(字节)', - `file_type` VARCHAR(50) DEFAULT NULL COMMENT '文件类型(如:image、document、video等)', - `mime_type` VARCHAR(100) DEFAULT NULL COMMENT 'MIME类型(如:image/jpeg)', - `storage_type` VARCHAR(20) NOT NULL DEFAULT 'local' COMMENT '存储类型(local-本地存储、minio-MinIO存储、oss-阿里云OSS等)', - `module` VARCHAR(50) DEFAULT NULL COMMENT '所属模块(如:user、news、course等)', - `business_id` VARCHAR(64) DEFAULT NULL COMMENT '业务ID(关联的业务数据ID)', - `uploader` VARCHAR(64) DEFAULT NULL COMMENT '上传者用户ID', - `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - `delete_time` DATETIME DEFAULT NULL COMMENT '删除时间', - `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除(0-否,1-是)', - PRIMARY KEY (`id`), - INDEX `idx_file_id` (`file_id`), - INDEX `idx_file_name` (`file_name`), - INDEX `idx_uploader` (`uploader`), - INDEX `idx_module_business` (`module`, `business_id`), - INDEX `idx_storage_type` (`storage_type`), - INDEX `idx_deleted` (`deleted`), - INDEX `idx_create_time` (`create_time`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件上传记录表'; - diff --git a/schoolNewsServ/.bin/mysql/sql/createTableSystem.sql b/schoolNewsServ/.bin/mysql/sql/createTableSystem.sql index 3401066..4c0b361 100644 --- a/schoolNewsServ/.bin/mysql/sql/createTableSystem.sql +++ b/schoolNewsServ/.bin/mysql/sql/createTableSystem.sql @@ -87,26 +87,39 @@ CREATE TABLE `tb_sys_notification` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统通知表'; -- 文件上传记录表 +-- -------------------------------------------------------- +-- 文件上传记录表 +-- -------------------------------------------------------- DROP TABLE IF EXISTS `tb_sys_file`; -CREATE TABLE `tb_sys_file` ( - `id` VARCHAR(50) NOT NULL COMMENT '文件ID', - `file_name` VARCHAR(255) NOT NULL COMMENT '文件名', - `original_name` VARCHAR(255) NOT NULL COMMENT '原始文件名', - `file_path` VARCHAR(500) NOT NULL COMMENT '文件路径', - `file_url` VARCHAR(500) DEFAULT NULL COMMENT '访问URL', - `file_size` BIGINT(20) DEFAULT 0 COMMENT '文件大小(字节)', - `file_type` VARCHAR(50) DEFAULT NULL COMMENT '文件类型', - `mime_type` VARCHAR(100) DEFAULT NULL COMMENT 'MIME类型', - `module` VARCHAR(50) DEFAULT NULL COMMENT '所属模块', - `business_id` VARCHAR(50) DEFAULT NULL COMMENT '业务ID', - `uploader` VARCHAR(50) DEFAULT NULL COMMENT '上传者', - `create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间', - PRIMARY KEY (`id`), - KEY `idx_module` (`module`), - KEY `idx_business` (`business_id`), - KEY `idx_uploader` (`uploader`), - KEY `idx_create_time` (`create_time`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='文件上传记录表'; +CREATE TABLE IF NOT EXISTS `tb_sys_file` ( + `id` VARCHAR(50) NOT NULL COMMENT '主键ID', + `file_id` VARCHAR(64) NOT NULL COMMENT '文件ID', + `file_name` VARCHAR(255) NOT NULL COMMENT '存储文件名(UUID生成)', + `original_name` VARCHAR(255) NOT NULL COMMENT '原始文件名', + `file_path` VARCHAR(500) NOT NULL COMMENT '文件存储路径', + `file_url` VARCHAR(500) DEFAULT NULL COMMENT '文件访问URL', + `file_size` BIGINT NOT NULL COMMENT '文件大小(字节)', + `file_type` VARCHAR(50) DEFAULT NULL COMMENT '文件类型(如:image、document、video等)', + `mime_type` VARCHAR(100) DEFAULT NULL COMMENT 'MIME类型(如:image/jpeg)', + `storage_type` VARCHAR(20) NOT NULL DEFAULT 'local' COMMENT '存储类型(local-本地存储、minio-MinIO存储、oss-阿里云OSS等)', + `module` VARCHAR(50) DEFAULT NULL COMMENT '所属模块(如:user、news、course等)', + `business_id` VARCHAR(64) DEFAULT NULL COMMENT '业务ID(关联的业务数据ID)', + `uploader` VARCHAR(64) DEFAULT NULL COMMENT '上传者用户ID', + `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `delete_time` DATETIME DEFAULT NULL COMMENT '删除时间', + `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除(0-否,1-是)', + PRIMARY KEY (`id`), + INDEX `idx_file_id` (`file_id`), + INDEX `idx_file_name` (`file_name`), + INDEX `idx_uploader` (`uploader`), + INDEX `idx_module_business` (`module`, `business_id`), + INDEX `idx_storage_type` (`storage_type`), + INDEX `idx_deleted` (`deleted`), + INDEX `idx_create_time` (`create_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件上传记录表'; + + -- 数据字典表 DROP TABLE IF EXISTS `tb_sys_dict_type`; diff --git a/schoolNewsServ/.bin/mysql/sql/createTableUser.sql b/schoolNewsServ/.bin/mysql/sql/createTableUser.sql index f895dc7..003781d 100644 --- a/schoolNewsServ/.bin/mysql/sql/createTableUser.sql +++ b/schoolNewsServ/.bin/mysql/sql/createTableUser.sql @@ -31,6 +31,7 @@ CREATE TABLE `tb_sys_user_info` ( `family_name` VARCHAR(50) DEFAULT NULL COMMENT '姓', `given_name` VARCHAR(50) DEFAULT NULL COMMENT '名', `full_name` VARCHAR(100) DEFAULT NULL COMMENT '全名', + `level` INT(4) DEFAULT 1 COMMENT '等级', `id_card` VARCHAR(50) DEFAULT NULL COMMENT '身份证号', `address` VARCHAR(255) DEFAULT NULL COMMENT '地址', `create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', diff --git a/schoolNewsServ/.bin/mysql/sql/initAll.sql b/schoolNewsServ/.bin/mysql/sql/initAll.sql index 727f957..3171408 100644 --- a/schoolNewsServ/.bin/mysql/sql/initAll.sql +++ b/schoolNewsServ/.bin/mysql/sql/initAll.sql @@ -35,9 +35,6 @@ SOURCE createTableAI.sql; -- 10. 创建系统配置和日志相关表 SOURCE createTableSystem.sql; --- 11. 创建文件系统相关表 -SOURCE createTableFile.sql; - -- ===================================================== -- 插入初始数据 -- ===================================================== diff --git a/schoolNewsServ/.bin/mysql/sql/initMenuData.sql b/schoolNewsServ/.bin/mysql/sql/initMenuData.sql index af71c92..2d24095 100644 --- a/schoolNewsServ/.bin/mysql/sql/initMenuData.sql +++ b/schoolNewsServ/.bin/mysql/sql/initMenuData.sql @@ -5,13 +5,15 @@ INSERT INTO `tb_sys_dept` (id,dept_id,name, description) VALUES ('1','root_depar INSERT INTO `tb_sys_dept` (id,dept_id,name, parent_id, description) VALUES ('2','default_department', '默认部门', 'root_department', '系统默认创建的部门'); -- 插入角色数据 -INSERT INTO `tb_sys_role` (id,role_id, name, description) VALUES ('1','superadmin', '管理员', '系统管理员角色'); -INSERT INTO `tb_sys_role` (id,role_id, name, description) VALUES ('2','freedom', '自由角色', '自由角色'); +INSERT INTO `tb_sys_role` (id,role_id, name, description) VALUES ('1','superadmin', '超级管理员', '超级管理员角色'); +INSERT INTO `tb_sys_role` (id,role_id, name, description) VALUES ('2','admin', '管理员', '管理员角色'); +INSERT INTO `tb_sys_role` (id,role_id, name, description) VALUES ('3','freedom', '自由角色', '自由角色'); -- 插入部门-角色关联数据 INSERT INTO `tb_sys_dept_role` (id, dept_id, role_id, creator, create_time) VALUES ('1', 'root_department', 'superadmin', '1', now()), -('2', 'default_department', 'freedom', '1', now()); +('2', 'default_department', 'admin', '1', now()), +('3', 'default_department', 'freedom', '1', now()); -- 插入用户-角色关联数据 INSERT INTO `tb_sys_user_dept_role` (id, user_id, dept_id, role_id, creator, create_time) VALUES ('1', '1', 'root_department', 'superadmin', '1', now()); @@ -36,10 +38,11 @@ INSERT INTO `tb_sys_permission` (id,permission_id, name, code, description, modu ('6','perm_system_user_manage', '系统用户查看', 'system:user:manage', '系统用户查看权限', 'module_system', '1', now()), ('7','perm_system_module_manage', '系统模块查看', 'system:module:manage', '系统模块查看权限', 'module_system', '1', now()), ('8','perm_news_manage', '新闻管理', 'news:manage', '新闻管理权限', 'module_news', '1', now()), -('9','perm_study_manage', '学习管理', 'study:manage', '学习管理权限', 'module_study', '1', now()), -('10','perm_ai_manage', 'AI管理', 'ai:manage', 'AI管理权限', 'module_ai', '1', now()), -('11','perm_usercenter_manage', '用户中心管理', 'usercenter:manage', '用户中心管理权限', 'module_usercenter', '1', now()), -('12','perm_file_manage', '文件管理', 'file:manage', '文件管理权限', 'module_file', '1', now()); +('9','perm_news_article_add', '文章添加', 'news:manage', '文章添加权限', 'module_news', '1', now()), +('10','perm_study_manage', '学习管理', 'study:manage', '学习管理权限', 'module_study', '1', now()), +('11','perm_ai_manage', 'AI管理', 'ai:manage', 'AI管理权限', 'module_ai', '1', now()), +('12','perm_usercenter_manage', '用户中心管理', 'usercenter:manage', '用户中心管理权限', 'module_usercenter', '1', now()), +('13','perm_file_manage', '文件管理', 'file:manage', '文件管理权限', 'module_file', '1', now()); -- 插入角色-权限关联数据 INSERT INTO `tb_sys_role_permission` (id, role_id, permission_id, creator, create_time) VALUES @@ -52,11 +55,12 @@ INSERT INTO `tb_sys_role_permission` (id, role_id, permission_id, creator, creat ('6', 'superadmin', 'perm_system_user_manage', '1', now()), ('7', 'superadmin', 'perm_system_module_manage', '1', now()), ('8', 'superadmin', 'perm_news_manage', '1', now()), -('9', 'superadmin', 'perm_study_manage', '1', now()), -('10', 'superadmin', 'perm_ai_manage', '1', now()), -('11', 'superadmin', 'perm_usercenter_manage', '1', now()), -('12', 'superadmin', 'perm_file_manage', '1', now()), -('13', 'freedom', 'perm_default', '1', now()); +('9', 'superadmin', 'perm_news_article_add', '1', now()), +('10', 'superadmin', 'perm_study_manage', '1', now()), +('11', 'superadmin', 'perm_ai_manage', '1', now()), +('12', 'superadmin', 'perm_usercenter_manage', '1', now()), +('13', 'superadmin', 'perm_file_manage', '1', now()), +('14', 'freedom', 'perm_default', '1', now()); -- 插入前端菜单数据 INSERT INTO `tb_sys_menu` (id, menu_id, name, parent_id, url, component, icon, order_num, type, layout, creator, create_time) VALUES @@ -110,6 +114,9 @@ INSERT INTO `tb_sys_menu` (id, menu_id, name, parent_id, url, component, icon, o ('3002', 'menu_admin_article', '文章管理', 'menu_admin_resource_manage', '/admin/manage/resource/article', 'admin/manage/resource/ArticleManagementView', 'el-icon-document', 2, 1, 'NavigationLayout', '1', now()), ('3003', 'menu_admin_data_records', '数据记录', 'menu_admin_resource_manage', '/admin/manage/resource/data-records', 'admin/manage/resource/DataRecordsView', 'el-icon-data-line', 3, 1, 'NavigationLayout', '1', now()), +-- 文章相关 +('3010', 'menu_article_add', '文章添加', 'menu_admin_article', '/article/add', 'article/ArticleAddView', 'el-icon-plus', 1, 3, 'NavigationLayout', '1', now()), + -- 运营管理 ('4000', 'menu_admin_content_manage', '运营管理', NULL, '', '', 'el-icon-s-operation', 4, 1, '', '1', now()), ('4001', 'menu_admin_banner', 'Banner管理', 'menu_admin_content_manage', '/admin/manage/content/banner', 'admin/manage/content/BannerManagementView', 'el-icon-picture', 1, 1, 'NavigationLayout', '1', now()), @@ -159,6 +166,7 @@ INSERT INTO `tb_sys_menu_permission` (id, permission_id, menu_id, creator, creat ('117', 'perm_default', 'menu_account_settings', '1', now()), ('118', 'perm_ai_manage', 'menu_ai_assistant', '1', now()), ('119', 'perm_default', 'menu_user_dropdown', '1', now()), +('120', 'perm_news_article_add', 'menu_article_add', '1', now()), -- 后端管理菜单权限关联 diff --git a/schoolNewsServ/.bin/mysql/sql/reInit.sh b/schoolNewsServ/.bin/mysql/sql/reInit.sh index 56a2f28..36474fa 100644 --- a/schoolNewsServ/.bin/mysql/sql/reInit.sh +++ b/schoolNewsServ/.bin/mysql/sql/reInit.sh @@ -145,6 +145,7 @@ show_initialization_info() { print_message $YELLOW " - 学习管理" print_message $YELLOW " - AI智能体" print_message $YELLOW " - 系统配置" + print_message $YELLOW " - 文件管理" print_message $BLUE "=====================================================" } diff --git a/schoolNewsServ/admin/pom.xml b/schoolNewsServ/admin/pom.xml index 2b9d03f..7daec84 100644 --- a/schoolNewsServ/admin/pom.xml +++ b/schoolNewsServ/admin/pom.xml @@ -75,6 +75,13 @@ org.xyzh.App + + org.apache.maven.plugins + maven-compiler-plugin + + true + + diff --git a/schoolNewsServ/admin/src/main/resources/application.yml b/schoolNewsServ/admin/src/main/resources/application.yml index f1174d1..3d19668 100644 --- a/schoolNewsServ/admin/src/main/resources/application.yml +++ b/schoolNewsServ/admin/src/main/resources/application.yml @@ -61,19 +61,22 @@ school-news: max-login-attempts: 5 lockout-duration: 30 # 锁定30分钟 - # 免登录白名单 + # 免登录白名单(需要包含 context-path) white-list: - - "/auth/login" - - "/auth/logout" - - "/auth/captcha" - - "/auth/health" - - "/actuator/**" - - "/swagger-ui/**" - - "/v3/api-docs/**" - - "/favicon.ico" - - "/error" - - "/public/**" - - "/static/**" + - "/schoolNewsServ/auth/login" + - "/schoolNewsServ/auth/logout" + - "/schoolNewsServ/auth/captcha" + - "/schoolNewsServ/auth/health" + - "/schoolNewsServ/actuator/.*" + - "/schoolNewsServ/swagger-ui/.*" + - "/schoolNewsServ/v3/api-docs/.*" + - "/schoolNewsServ/favicon.ico" + - "/schoolNewsServ/error" + - "/schoolNewsServ/public/.*" + - "/schoolNewsServ/static/.*" + - "/schoolNewsServ/file/download/.*" + + # MyBatis Plus配置 mybatis-plus: diff --git a/schoolNewsServ/admin/uploads/article/24561ba221724f94b531aa23f88a0f28.png b/schoolNewsServ/admin/uploads/article/24561ba221724f94b531aa23f88a0f28.png new file mode 100644 index 0000000..9ad1bfc Binary files /dev/null and b/schoolNewsServ/admin/uploads/article/24561ba221724f94b531aa23f88a0f28.png differ diff --git a/schoolNewsServ/admin/uploads/article/45c16fe3396c492d8fba095bfe6f3e14.png b/schoolNewsServ/admin/uploads/article/45c16fe3396c492d8fba095bfe6f3e14.png new file mode 100644 index 0000000..9ad1bfc Binary files /dev/null and b/schoolNewsServ/admin/uploads/article/45c16fe3396c492d8fba095bfe6f3e14.png differ diff --git a/schoolNewsServ/admin/uploads/article/6bad0dd548104624bc2310d5b8b38d7f.png b/schoolNewsServ/admin/uploads/article/6bad0dd548104624bc2310d5b8b38d7f.png new file mode 100644 index 0000000..9ad1bfc Binary files /dev/null and b/schoolNewsServ/admin/uploads/article/6bad0dd548104624bc2310d5b8b38d7f.png differ diff --git a/schoolNewsServ/admin/uploads/article/804c28b50eb648d386c732108ddf3bf1.mp4 b/schoolNewsServ/admin/uploads/article/804c28b50eb648d386c732108ddf3bf1.mp4 new file mode 100644 index 0000000..fafe930 Binary files /dev/null and b/schoolNewsServ/admin/uploads/article/804c28b50eb648d386c732108ddf3bf1.mp4 differ diff --git a/schoolNewsServ/admin/uploads/article/86a8484291d247ab910508cd9ed1f6e1.png b/schoolNewsServ/admin/uploads/article/86a8484291d247ab910508cd9ed1f6e1.png new file mode 100644 index 0000000..9ad1bfc Binary files /dev/null and b/schoolNewsServ/admin/uploads/article/86a8484291d247ab910508cd9ed1f6e1.png differ diff --git a/schoolNewsServ/admin/uploads/article/943a4127215e4d9488cbc9c2879426d5.png b/schoolNewsServ/admin/uploads/article/943a4127215e4d9488cbc9c2879426d5.png new file mode 100644 index 0000000..9ad1bfc Binary files /dev/null and b/schoolNewsServ/admin/uploads/article/943a4127215e4d9488cbc9c2879426d5.png differ diff --git a/schoolNewsServ/admin/uploads/article/9670700ffb284e52b0d0f7218f0ccea5.png b/schoolNewsServ/admin/uploads/article/9670700ffb284e52b0d0f7218f0ccea5.png new file mode 100644 index 0000000..9ad1bfc Binary files /dev/null and b/schoolNewsServ/admin/uploads/article/9670700ffb284e52b0d0f7218f0ccea5.png differ diff --git a/schoolNewsServ/admin/uploads/article/975c1f9de18e4d73a3749fb1c5d793c7.png b/schoolNewsServ/admin/uploads/article/975c1f9de18e4d73a3749fb1c5d793c7.png new file mode 100644 index 0000000..9ad1bfc Binary files /dev/null and b/schoolNewsServ/admin/uploads/article/975c1f9de18e4d73a3749fb1c5d793c7.png differ diff --git a/schoolNewsServ/admin/uploads/article/af58b571b1f7439392f7af6111c78a88.png b/schoolNewsServ/admin/uploads/article/af58b571b1f7439392f7af6111c78a88.png new file mode 100644 index 0000000..9ad1bfc Binary files /dev/null and b/schoolNewsServ/admin/uploads/article/af58b571b1f7439392f7af6111c78a88.png differ diff --git a/schoolNewsServ/admin/uploads/article/bf244c41e04e44d38aa13d11c256a2ec.png b/schoolNewsServ/admin/uploads/article/bf244c41e04e44d38aa13d11c256a2ec.png new file mode 100644 index 0000000..9ad1bfc Binary files /dev/null and b/schoolNewsServ/admin/uploads/article/bf244c41e04e44d38aa13d11c256a2ec.png differ diff --git a/schoolNewsServ/admin/uploads/article/df49dddde6734464a235fadc3ec9e57f.png b/schoolNewsServ/admin/uploads/article/df49dddde6734464a235fadc3ec9e57f.png new file mode 100644 index 0000000..9ad1bfc Binary files /dev/null and b/schoolNewsServ/admin/uploads/article/df49dddde6734464a235fadc3ec9e57f.png differ diff --git a/schoolNewsServ/admin/uploads/article/f5f5531946a340e688f34c99c2d06ecd.png b/schoolNewsServ/admin/uploads/article/f5f5531946a340e688f34c99c2d06ecd.png new file mode 100644 index 0000000..9ad1bfc Binary files /dev/null and b/schoolNewsServ/admin/uploads/article/f5f5531946a340e688f34c99c2d06ecd.png differ diff --git a/schoolNewsServ/api/api-system/src/main/java/org/xyzh/api/system/user/UserService.java b/schoolNewsServ/api/api-system/src/main/java/org/xyzh/api/system/user/UserService.java index a99b25c..bb457a0 100644 --- a/schoolNewsServ/api/api-system/src/main/java/org/xyzh/api/system/user/UserService.java +++ b/schoolNewsServ/api/api-system/src/main/java/org/xyzh/api/system/user/UserService.java @@ -8,6 +8,7 @@ import org.xyzh.common.dto.user.TbSysUser; import org.xyzh.common.dto.user.TbSysUserDeptRole; import org.xyzh.common.dto.user.TbSysUserInfo; import org.xyzh.common.vo.UserDeptRoleVO; +import org.xyzh.common.vo.UserVO; /** * @description UserRemoteService.java文件描述 用户远程服务接口 @@ -198,4 +199,13 @@ public interface UserService { * @since 2025-10-06 */ ResultDomain updateUserInfo(TbSysUserInfo userInfo); + + /** + * @description 获取用户信息总览 + * @param userId 用户ID + * @return ResultDomain 用户信息总览 + * @author yslg + * @since 2025-10-18 + */ + ResultDomain getUserInfoTotal(String userId); } diff --git a/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/dto/user/TbSysUserInfo.java b/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/dto/user/TbSysUserInfo.java index f9c7b53..64cce88 100644 --- a/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/dto/user/TbSysUserInfo.java +++ b/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/dto/user/TbSysUserInfo.java @@ -56,7 +56,14 @@ public class TbSysUserInfo extends BaseDTO { private String fullName; /** - * @description ID卡号 + * @description 等级 + * @author yslg + * @since 2025-10-18 + */ + private Integer level; + + /** + * @description 身份证号 * @author yslg * @since 2025-09-11 */ @@ -117,6 +124,14 @@ public class TbSysUserInfo extends BaseDTO { this.fullName = fullName; } + public Integer getLevel() { + return level; + } + + public void setLevel(Integer level) { + this.level = level; + } + public String getIdCard() { return idCard; } @@ -144,6 +159,7 @@ public class TbSysUserInfo extends BaseDTO { ", familyName='" + familyName + '\'' + ", givenName='" + givenName + '\'' + ", fullName='" + fullName + '\'' + + ", level=" + level + ", idCard='" + idCard + '\'' + ", address='" + address + '\'' + ", createTime=" + getCreateTime() + diff --git a/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/vo/UserVO.java b/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/vo/UserVO.java index 0d80551..98051ae 100644 --- a/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/vo/UserVO.java +++ b/schoolNewsServ/common/common-dto/src/main/java/org/xyzh/common/vo/UserVO.java @@ -1,5 +1,7 @@ package org.xyzh.common.vo; +import java.util.Date; + public class UserVO { private String id; @@ -9,17 +11,20 @@ public class UserVO { private String phone; private String wechatID; private String avatar; - private String gender; + private Integer gender; private String familyName; private String givenName; private String fullName; + private Integer level; private String idCard; private String address; - private String createTime; - private String updateTime; - private String deleteTime; - private String deleted; - private String status; + private String deptName; + private String roleName; + private Date createTime; + private Date updateTime; + private Date deleteTime; + private Boolean deleted; + private Integer status; public String getId() { return id; } @@ -62,10 +67,10 @@ public class UserVO { public void setAvatar(String avatar) { this.avatar = avatar; } - public String getGender() { + public Integer getGender() { return gender; } - public void setGender(String gender) { + public void setGender(Integer gender) { this.gender = gender; } public String getFamilyName() { @@ -98,34 +103,52 @@ public class UserVO { public void setAddress(String address) { this.address = address; } - public String getCreateTime() { + public String getDeptName() { + return deptName; + } + public void setDeptName(String deptName) { + this.deptName = deptName; + } + public String getRoleName() { + return roleName; + } + public void setRoleName(String roleName) { + this.roleName = roleName; + } + public Integer getLevel() { + return level; + } + public void setLevel(Integer level) { + this.level = level; + } + public Date getCreateTime() { return createTime; } - public void setCreateTime(String createTime) { + public void setCreateTime(Date createTime) { this.createTime = createTime; } - public String getUpdateTime() { + public Date getUpdateTime() { return updateTime; } - public void setUpdateTime(String updateTime) { + public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; } - public String getDeleteTime() { + public Date getDeleteTime() { return deleteTime; } - public void setDeleteTime(String deleteTime) { + public void setDeleteTime(Date deleteTime) { this.deleteTime = deleteTime; } - public String getDeleted() { + public Boolean getDeleted() { return deleted; } - public void setDeleted(String deleted) { + public void setDeleted(Boolean deleted) { this.deleted = deleted; } - public String getStatus() { + public Integer getStatus() { return status; } - public void setStatus(String status) { + public void setStatus(Integer status) { this.status = status; } diff --git a/schoolNewsServ/file/pom.xml b/schoolNewsServ/file/pom.xml index 26ea5dd..29e6be9 100644 --- a/schoolNewsServ/file/pom.xml +++ b/schoolNewsServ/file/pom.xml @@ -78,4 +78,16 @@ + + + + org.apache.maven.plugins + maven-compiler-plugin + + true + + + + + \ No newline at end of file diff --git a/schoolNewsServ/file/src/main/resources/application.yaml b/schoolNewsServ/file/src/main/resources/application.yaml index a211b86..42bdaa0 100644 --- a/schoolNewsServ/file/src/main/resources/application.yaml +++ b/schoolNewsServ/file/src/main/resources/application.yaml @@ -46,7 +46,7 @@ file: - type: local enabled: true base-path: ./uploads - url-prefix: http://localhost:8080/files + # MinIO存储配置(如不需要可以删除或设置enabled为false) # - type: minio @@ -55,8 +55,10 @@ file: # access-key: minioadmin # secret-key: minioadmin # bucket-name: school-news - -# 服务端口 -server: - port: 8086 +# 认证配置 +school-news: + auth: + # 免登录白名单 - file模块 + white-list: + - "/file/download/**" diff --git a/schoolNewsServ/system/src/main/java/org/xyzh/system/mapper/UserMapper.java b/schoolNewsServ/system/src/main/java/org/xyzh/system/mapper/UserMapper.java index 398b8d6..6629b89 100644 --- a/schoolNewsServ/system/src/main/java/org/xyzh/system/mapper/UserMapper.java +++ b/schoolNewsServ/system/src/main/java/org/xyzh/system/mapper/UserMapper.java @@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.xyzh.common.dto.user.TbSysUser; import org.xyzh.common.dto.user.TbSysUserInfo; +import org.xyzh.common.vo.UserVO; import java.util.List; @@ -123,4 +124,13 @@ public interface UserMapper extends BaseMapper { * @since 2025-10-06 */ int updateUserInfo(@Param("userInfo") TbSysUserInfo userInfo); + + /** + * @description 获取用户信息总览 + * @param userId 用户ID + * @return UserVO 用户信息总览 + * @author yslg + * @since 2025-10-18 + */ + UserVO selectUserInfoTotal(@Param("userId") String userId); } diff --git a/schoolNewsServ/system/src/main/java/org/xyzh/system/user/service/impl/SysUserServiceImpl.java b/schoolNewsServ/system/src/main/java/org/xyzh/system/user/service/impl/SysUserServiceImpl.java index c8b863f..26a8873 100644 --- a/schoolNewsServ/system/src/main/java/org/xyzh/system/user/service/impl/SysUserServiceImpl.java +++ b/schoolNewsServ/system/src/main/java/org/xyzh/system/user/service/impl/SysUserServiceImpl.java @@ -12,6 +12,7 @@ import org.xyzh.common.dto.user.TbSysUserDeptRole; import org.xyzh.common.dto.user.TbSysUserInfo; import org.xyzh.common.utils.IDUtils; import org.xyzh.common.vo.UserDeptRoleVO; +import org.xyzh.common.vo.UserVO; import org.xyzh.system.mapper.UserMapper; import org.xyzh.system.mapper.UserInfoMapper; import org.xyzh.system.mapper.UserDeptRoleMapper; @@ -713,4 +714,19 @@ public class SysUserServiceImpl implements SysUserService { } + @Override + public ResultDomain getUserInfoTotal(String userId) { + ResultDomain resultDomain = new ResultDomain<>(); + try { + logger.info("开始获取用户信息总览:{}", userId); + UserVO userVO = userMapper.selectUserInfoTotal(userId); + + resultDomain.success("获取用户信息总览成功", userVO); + return resultDomain; + } catch (Exception e) { + logger.error("获取用户信息总览失败:{}", userId, e); + resultDomain.fail("获取用户信息总览失败:" + e.getMessage()); + return resultDomain; + } + } } \ No newline at end of file diff --git a/schoolNewsServ/system/src/main/resources/mapper/UserInfoMapper.xml b/schoolNewsServ/system/src/main/resources/mapper/UserInfoMapper.xml index abf72bb..50ad816 100644 --- a/schoolNewsServ/system/src/main/resources/mapper/UserInfoMapper.xml +++ b/schoolNewsServ/system/src/main/resources/mapper/UserInfoMapper.xml @@ -9,6 +9,7 @@ + @@ -18,7 +19,7 @@ - id, user_id, avatar, gender, family_name, given_name, full_name, id_card, address, create_time, update_time, delete_time, deleted + id, user_id, avatar, gender, family_name, given_name, full_name, level, id_card, address, create_time, update_time, delete_time, deleted @@ -37,6 +38,7 @@ family_name = #{userInfo.familyName}, given_name = #{userInfo.givenName}, full_name = #{userInfo.fullName}, + level = #{userInfo.level}, id_card = #{userInfo.idCard}, address = #{userInfo.address}, updater = #{userInfo.updater}, diff --git a/schoolNewsServ/system/src/main/resources/mapper/UserMapper.xml b/schoolNewsServ/system/src/main/resources/mapper/UserMapper.xml index 28b9a4f..c452200 100644 --- a/schoolNewsServ/system/src/main/resources/mapper/UserMapper.xml +++ b/schoolNewsServ/system/src/main/resources/mapper/UserMapper.xml @@ -32,6 +32,22 @@ + + + + + + + + + + + + + + + + id, username, password, email, phone, wechat_id, @@ -228,4 +244,27 @@ WHERE user_id = #{userInfo.userID} AND deleted = 0 + + + + diff --git a/schoolNewsServ/usercenter/src/main/java/org/xyzh/usercenter/controller/UserProfileController.java b/schoolNewsServ/usercenter/src/main/java/org/xyzh/usercenter/controller/UserProfileController.java index 7d1ac0e..42b22bc 100644 --- a/schoolNewsServ/usercenter/src/main/java/org/xyzh/usercenter/controller/UserProfileController.java +++ b/schoolNewsServ/usercenter/src/main/java/org/xyzh/usercenter/controller/UserProfileController.java @@ -10,6 +10,7 @@ import org.xyzh.common.core.domain.ResultDomain; import org.xyzh.common.dto.system.TbSysFile; import org.xyzh.common.dto.user.TbSysUser; import org.xyzh.common.dto.user.TbSysUserInfo; +import org.xyzh.common.vo.UserVO; import org.xyzh.api.system.user.UserService; import org.xyzh.common.annotation.HttpLogin; import org.xyzh.common.core.domain.LoginDomain; @@ -39,13 +40,13 @@ public class UserProfileController { * 获取个人信息 */ @GetMapping("/info") - public ResultDomain getUserProfile(@HttpLogin LoginDomain loginDomain) { + public ResultDomain getUserProfile(@HttpLogin LoginDomain loginDomain) { // TODO: 实现获取个人信息 - ResultDomain result = userService.getUserInfoById(loginDomain.getUser().getID()); + ResultDomain result = userService.getUserInfoTotal(loginDomain.getUser().getID()); if (result.isSuccess()) { return result; } else { - ResultDomain result2 = new ResultDomain<>(); + ResultDomain result2 = new ResultDomain<>(); result2.fail(result.getCode(), result.getMessage()); return result2; }