feat:新增健康业务模块与身份模型
This commit is contained in:
parent
f619802853
commit
d99ab5e1e4
@ -1,5 +1,7 @@
|
|||||||
# elder-yudao
|
# elder-yudao
|
||||||
|
|
||||||
|
健康业务实施说明:[健康业务模块与身份模型](docs/健康业务模块与身份模型.md)。完整文档入口:[项目文档](docs/README.md)。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
文档验证码: jiankan
|
文档验证码: jiankan
|
||||||
|
|||||||
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
目录:deploy/local
|
目录:deploy/local
|
||||||
用途:prepare-ui.ps1 安装前端依赖;start/stop/check 脚本管理本机服务;prepare-idea.ps1 生成后端 IDEA 启动配置。
|
用途:prepare-ui.ps1 安装前端依赖;start/stop/check 脚本管理本机服务;prepare-idea.ps1 生成后端 IDEA 启动配置。
|
||||||
|
健康业务:initialize-health.ps1 增量初始化会员表、健康身份与基础档案表及后台菜单,不导入旧系统数据。
|
||||||
当前状态:运行日志和旧前端缓存放在 .runtime,已忽略;本地连接设置来自 secrets.psd1。
|
当前状态:运行日志和旧前端缓存放在 .runtime,已忽略;本地连接设置来自 secrets.psd1。
|
||||||
迁移与维护:实际前端源码在 ../../yudao-ui-admin-vue3,.runtime/ui-src 是历史运行缓存。
|
迁移与维护:实际前端源码在 ../../yudao-ui-admin-vue3,.runtime/ui-src 是历史运行缓存。
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
# 项目文档
|
# 项目文档
|
||||||
|
|
||||||
|
- [健康业务模块与身份模型](健康业务模块与身份模型.md):单一业务身份、手机号账号、管理员建档、志愿者审核、家属授权与运行步骤。
|
||||||
|
- [老年健康系统扩展需求与设计草案](老年健康系统扩展需求与设计草案.md):已确认的运动预约、志愿服务、智能体和摄像头愿景;实施进度以健康模块文档为准。
|
||||||
|
|
||||||
- [项目目录说明](项目目录说明.md):各目录用途、当前启用状态和迁移定位;IDEA 中可直接阅读各目录的“目录说明.txt”。
|
- [项目目录说明](项目目录说明.md):各目录用途、当前启用状态和迁移定位;IDEA 中可直接阅读各目录的“目录说明.txt”。
|
||||||
|
|
||||||
- [管理端界面定制](管理端界面定制.md):Olive 视觉参考、前端源码目录、产品配置、菜单处理与验证结果。
|
- [管理端界面定制](管理端界面定制.md):Olive 视觉参考、前端源码目录、产品配置、菜单处理与验证结果。
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
# 项目目录说明
|
# 项目目录说明
|
||||||
|
|
||||||
更新日期:2026-10-05。项目:`elder-yudao-pro`。本次只添加目录说明,不删除、移动或重命名目录,也不修改构建和运行配置。
|
更新日期:2026-10-05。项目:`elder-yudao-pro`。保留原目录,并随业务模块实施更新目录用途与启用状态。
|
||||||
|
|
||||||
IDEA 项目树不原生支持为每个普通目录设置独立副标题。本项目在 287 个主要目录中添加了 `目录说明.txt`,点击即可阅读;已有 README.md 的目录沿用原说明。源码中的 .txt 文件不会被 Vue/Vite 的组件扫描当成页面或组件。
|
IDEA 项目树不原生支持为每个普通目录设置独立副标题。本项目在主要目录中添加了 `目录说明.txt`,点击即可阅读;已有 README.md 的目录沿用原说明。源码中的 .txt 文件不会被 Vue/Vite 的组件扫描当成页面或组件。
|
||||||
|
|
||||||
可在 IDEA 中按 Ctrl+Shift+N,输入“目录说明.txt”查找说明;输入“项目目录说明.md”打开本索引。外层目录与 Maven 子模块有独立说明,后端分层和前端组件也分别注明用途。
|
可在 IDEA 中按 Ctrl+Shift+N,输入“目录说明.txt”查找说明;输入“项目目录说明.md”打开本索引。外层目录与 Maven 子模块有独立说明,后端分层和前端组件也分别注明用途。
|
||||||
|
|
||||||
## 当前状态
|
## 当前状态
|
||||||
|
|
||||||
当前后端启用 system、infra;member 源码保留,计划用于老人、志愿者和家属账号。health 模块尚未建立。其他模板业务目前未启用,暂时保留文件。前端页面或 API 源码存在不代表后端功能已经启用。
|
当前后端启用 system、infra、member、health;member 提供手机号账号认证,health 提供业务身份、基础档案、志愿者审核和家属关联。其他模板业务目前未启用,暂时保留文件。前端页面或 API 源码存在不代表后端功能已经启用。
|
||||||
|
|
||||||
## 项目根目录
|
## 项目根目录
|
||||||
|
|
||||||
@ -18,15 +18,15 @@ IDEA 项目树不原生支持为每个普通目录设置独立副标题。本项
|
|||||||
| [deploy](../deploy/目录说明.txt) | 部署与本地运行:保存环境初始化、依赖安装、启动、停止和检查脚本。 | 当前使用 deploy/local。 应用部署操作在这里维护,业务代码放在业务模块中。 |
|
| [deploy](../deploy/目录说明.txt) | 部署与本地运行:保存环境初始化、依赖安装、启动、停止和检查脚本。 | 当前使用 deploy/local。 应用部署操作在这里维护,业务代码放在业务模块中。 |
|
||||||
| [docs](../docs/README.md) | 项目文档:记录旧系统迁移分析、本地部署、界面定制与目录用途。 | 迁移上下文和已完成操作分别记录。 从 README.md 或 项目目录说明.md 开始阅读。 |
|
| [docs](../docs/README.md) | 项目文档:记录旧系统迁移分析、本地部署、界面定制与目录用途。 | 迁移上下文和已完成操作分别记录。 从 README.md 或 项目目录说明.md 开始阅读。 |
|
||||||
| [image](../image/目录说明.txt) | 模板文档配图:保存原模板 README 使用的宣传截图。 | 不参与系统业务和应用启动。 按用户要求暂时保留。 |
|
| [image](../image/目录说明.txt) | 模板文档配图:保存原模板 README 使用的宣传截图。 | 不参与系统业务和应用启动。 按用户要求暂时保留。 |
|
||||||
| [mysql_script](../mysql_script/目录说明.txt) | 数据库初始化脚本:保存 system/infra 初始化 SQL,以及 member、商城、支付、报表等可选模块的 SQL。 | 本机 system/infra 使用 ruoyi-vue-pro.sql 初始化。 后续 member 初始化会使用 ruoyi-member.sql;新增健康业务应使用独立增量脚本。 |
|
| [mysql_script](../mysql_script/目录说明.txt) | 数据库初始化脚本:保存 system/infra 初始化 SQL,以及 member、商城、支付、报表等可选模块的 SQL。 | 本机 system/infra 使用 ruoyi-vue-pro.sql 初始化。 member/health 使用 mysql_script/health 内的增量脚本,不直接执行含 DROP 的 ruoyi-member.sql。 |
|
||||||
| [yudao-dependencies](../yudao-dependencies/目录说明.txt) | Maven 依赖版本管理:统一管理 Java 依赖、内部模块和框架组件的版本,供各模块引用。 | 已参与当前构建。 增加新依赖时优先在这里管理版本。 |
|
| [yudao-dependencies](../yudao-dependencies/目录说明.txt) | Maven 依赖版本管理:统一管理 Java 依赖、内部模块和框架组件的版本,供各模块引用。 | 已参与当前构建。 增加新依赖时优先在这里管理版本。 |
|
||||||
| [yudao-framework](../yudao-framework/目录说明.txt) | 公共技术框架:封装 Web、认证、数据库、缓存、租户、数据权限、任务、消息和文件导出等技术能力。 | 已参与当前构建。 健康业务复用这些基础能力;具体业务规则放入后续 health 模块。 |
|
| [yudao-framework](../yudao-framework/目录说明.txt) | 公共技术框架:封装 Web、认证、数据库、缓存、租户、数据权限、任务、消息和文件导出等技术能力。 | 已参与当前构建。 健康业务复用这些基础能力;具体业务规则放入后续 health 模块。 |
|
||||||
| [yudao-server](../yudao-server/目录说明.txt) | 后端启动工程:包含 Spring Boot 主启动类、应用配置和业务模块依赖,负责组装并运行服务。 | 当前加载 system 和 infra;member 等模块未加载。 启用健康业务或会员模块时,需要调整本目录 pom.xml 及根 pom.xml。 |
|
| [yudao-server](../yudao-server/目录说明.txt) | 后端启动工程:包含 Spring Boot 主启动类、应用配置和业务模块依赖,负责组装并运行服务。 | 当前加载 system、infra、member、health。 健康账号与业务接口已通过 member/health 装配。 |
|
||||||
| [yudao-ui-admin-vue3](../yudao-ui-admin-vue3/README.md) | 管理端前端:Vue 3、Vite、Element Plus 管理界面,是当前维护的正式前端源码目录。 | 已完成 Olive 视觉适配;菜单当前展示 system、infra。 以后在这个目录改页面;运行方法见本目录 README.md。 |
|
| [yudao-ui-admin-vue3](../yudao-ui-admin-vue3/README.md) | 管理端前端:Vue 3、Vite、Element Plus 管理界面,是当前维护的正式前端源码目录。 | 已完成 Olive 视觉适配;菜单当前展示 system、infra。 以后在这个目录改页面;运行方法见本目录 README.md。 |
|
||||||
| [yudao-example](../yudao-example/目录说明.txt) | 单点登录示例:演示授权码模式、账号密码模式的单点登录接入。 | 根 pom.xml 未启用,当前后端未加载。 用于参考,暂时保留。 |
|
| [yudao-example](../yudao-example/目录说明.txt) | 单点登录示例:演示授权码模式、账号密码模式的单点登录接入。 | 根 pom.xml 未启用,当前后端未加载。 用于参考,暂时保留。 |
|
||||||
| [yudao-module-system](../yudao-module-system/目录说明.txt) | 系统管理:后台账号、角色、菜单、部门、岗位、字典、租户、操作日志、短信、邮箱和站内信。 | 已启用。 管理端权限、通知和字典会继续复用。 |
|
| [yudao-module-system](../yudao-module-system/目录说明.txt) | 系统管理:后台账号、角色、菜单、部门、岗位、字典、租户、操作日志、短信、邮箱和站内信。 | 已启用。 管理端权限、通知和字典会继续复用。 |
|
||||||
| [yudao-module-infra](../yudao-module-infra/目录说明.txt) | 基础设施:配置管理、文件存储、定时任务、代码生成、接口日志、监控和 WebSocket 等设施。 | 已启用。 运动提醒、文件与检测事件通知将复用相关能力。 |
|
| [yudao-module-infra](../yudao-module-infra/目录说明.txt) | 基础设施:配置管理、文件存储、定时任务、代码生成、接口日志、监控和 WebSocket 等设施。 | 已启用。 运动提醒、文件与检测事件通知将复用相关能力。 |
|
||||||
| [yudao-module-member](../yudao-module-member/目录说明.txt) | 业务用户账号:会员账号、登录与个人资料;还保留模板中的积分、等级、标签等扩展。 | 源码保留,当前未启用。 计划用于老人、志愿者和家属账号;健康资料放到独立 health 模块。 |
|
| [yudao-module-member](../yudao-module-member/目录说明.txt) | 业务用户账号:会员账号、登录与个人资料;还保留模板中的积分、等级、标签等扩展。 | 已启用。 用于老人、志愿者和家属账号;健康资料放到独立 health 模块。 |
|
||||||
| [yudao-module-bpm](../yudao-module-bpm/目录说明.txt) | 工作流:流程设计、审批、任务与流程实例管理,使用 Flowable。 | 源码保留,当前未启用。 运动协助工单计划在健康业务中实现状态流转,暂不依赖此模块。 |
|
| [yudao-module-bpm](../yudao-module-bpm/目录说明.txt) | 工作流:流程设计、审批、任务与流程实例管理,使用 Flowable。 | 源码保留,当前未启用。 运动协助工单计划在健康业务中实现状态流转,暂不依赖此模块。 |
|
||||||
| [yudao-module-crm](../yudao-module-crm/目录说明.txt) | 客户关系管理:线索、客户、联系人、商机、合同、回款和销售统计。 | 源码保留,当前未启用。 目前老年健康服务需求不使用此业务。 |
|
| [yudao-module-crm](../yudao-module-crm/目录说明.txt) | 客户关系管理:线索、客户、联系人、商机、合同、回款和销售统计。 | 源码保留,当前未启用。 目前老年健康服务需求不使用此业务。 |
|
||||||
| [yudao-module-erp](../yudao-module-erp/目录说明.txt) | 进销存管理:采购、销售、库存、供应商、仓库和财务管理。 | 源码保留,当前未启用。 轻量场地与设备管理计划放入 health,不引入完整 ERP。 |
|
| [yudao-module-erp](../yudao-module-erp/目录说明.txt) | 进销存管理:采购、销售、库存、供应商、仓库和财务管理。 | 源码保留,当前未启用。 轻量场地与设备管理计划放入 health,不引入完整 ERP。 |
|
||||||
@ -72,8 +72,8 @@ IDEA 项目树不原生支持为每个普通目录设置独立副标题。本项
|
|||||||
| [yudao-module-mall/yudao-module-statistics-biz](../yudao-module-mall/yudao-module-statistics-biz/目录说明.txt) | 商城统计:业务实现:保存 REST Controller、Service、数据对象、Mapper、转换器及模块配置。 | 源码保留,当前未启用。 src/main/java 是 Java 源码,src/main/resources 是模块资源,src/test 是测试。 |
|
| [yudao-module-mall/yudao-module-statistics-biz](../yudao-module-mall/yudao-module-statistics-biz/目录说明.txt) | 商城统计:业务实现:保存 REST Controller、Service、数据对象、Mapper、转换器及模块配置。 | 源码保留,当前未启用。 src/main/java 是 Java 源码,src/main/resources 是模块资源,src/test 是测试。 |
|
||||||
| [yudao-module-mall/yudao-module-trade-api](../yudao-module-mall/yudao-module-trade-api/目录说明.txt) | 商城交易:模块调用接口:供其他后端模块调用的接口、DTO 和枚举;不是浏览器直接请求的 Controller。 | 源码保留,当前未启用。 模块间调用优先通过 API,减少对实现类的依赖。 |
|
| [yudao-module-mall/yudao-module-trade-api](../yudao-module-mall/yudao-module-trade-api/目录说明.txt) | 商城交易:模块调用接口:供其他后端模块调用的接口、DTO 和枚举;不是浏览器直接请求的 Controller。 | 源码保留,当前未启用。 模块间调用优先通过 API,减少对实现类的依赖。 |
|
||||||
| [yudao-module-mall/yudao-module-trade-biz](../yudao-module-mall/yudao-module-trade-biz/目录说明.txt) | 商城交易:业务实现:保存 REST Controller、Service、数据对象、Mapper、转换器及模块配置。 | 源码保留,当前未启用。 src/main/java 是 Java 源码,src/main/resources 是模块资源,src/test 是测试。 |
|
| [yudao-module-mall/yudao-module-trade-biz](../yudao-module-mall/yudao-module-trade-biz/目录说明.txt) | 商城交易:业务实现:保存 REST Controller、Service、数据对象、Mapper、转换器及模块配置。 | 源码保留,当前未启用。 src/main/java 是 Java 源码,src/main/resources 是模块资源,src/test 是测试。 |
|
||||||
| [yudao-module-member/yudao-module-member-api](../yudao-module-member/yudao-module-member-api/目录说明.txt) | 业务用户账号:模块调用接口:供其他后端模块调用的接口、DTO 和枚举;不是浏览器直接请求的 Controller。 | 源码保留,当前未启用。 模块间调用优先通过 API,减少对实现类的依赖。 |
|
| [yudao-module-member/yudao-module-member-api](../yudao-module-member/yudao-module-member-api/目录说明.txt) | 业务用户账号:模块调用接口:供其他后端模块调用的接口、DTO 和枚举;不是浏览器直接请求的 Controller。 | 已启用。 模块间调用优先通过 API,减少对实现类的依赖。 |
|
||||||
| [yudao-module-member/yudao-module-member-biz](../yudao-module-member/yudao-module-member-biz/目录说明.txt) | 业务用户账号:业务实现:保存 REST Controller、Service、数据对象、Mapper、转换器及模块配置。 | 源码保留,当前未启用。 src/main/java 是 Java 源码,src/main/resources 是模块资源,src/test 是测试。 |
|
| [yudao-module-member/yudao-module-member-biz](../yudao-module-member/yudao-module-member-biz/目录说明.txt) | 业务用户账号:业务实现:保存 REST Controller、Service、数据对象、Mapper、转换器及模块配置。 | 已启用。 src/main/java 是 Java 源码,src/main/resources 是模块资源,src/test 是测试。 |
|
||||||
| [yudao-module-mp/yudao-module-mp-api](../yudao-module-mp/yudao-module-mp-api/目录说明.txt) | 微信公众号管理:模块调用接口:供其他后端模块调用的接口、DTO 和枚举;不是浏览器直接请求的 Controller。 | 源码保留,当前未启用。 模块间调用优先通过 API,减少对实现类的依赖。 |
|
| [yudao-module-mp/yudao-module-mp-api](../yudao-module-mp/yudao-module-mp-api/目录说明.txt) | 微信公众号管理:模块调用接口:供其他后端模块调用的接口、DTO 和枚举;不是浏览器直接请求的 Controller。 | 源码保留,当前未启用。 模块间调用优先通过 API,减少对实现类的依赖。 |
|
||||||
| [yudao-module-mp/yudao-module-mp-biz](../yudao-module-mp/yudao-module-mp-biz/目录说明.txt) | 微信公众号管理:业务实现:保存 REST Controller、Service、数据对象、Mapper、转换器及模块配置。 | 源码保留,当前未启用。 src/main/java 是 Java 源码,src/main/resources 是模块资源,src/test 是测试。 |
|
| [yudao-module-mp/yudao-module-mp-biz](../yudao-module-mp/yudao-module-mp-biz/目录说明.txt) | 微信公众号管理:业务实现:保存 REST Controller、Service、数据对象、Mapper、转换器及模块配置。 | 源码保留,当前未启用。 src/main/java 是 Java 源码,src/main/resources 是模块资源,src/test 是测试。 |
|
||||||
| [yudao-module-pay/yudao-module-pay-api](../yudao-module-pay/yudao-module-pay-api/目录说明.txt) | 支付管理:模块调用接口:供其他后端模块调用的接口、DTO 和枚举;不是浏览器直接请求的 Controller。 | 源码保留,当前未启用。 模块间调用优先通过 API,减少对实现类的依赖。 |
|
| [yudao-module-pay/yudao-module-pay-api](../yudao-module-pay/yudao-module-pay-api/目录说明.txt) | 支付管理:模块调用接口:供其他后端模块调用的接口、DTO 和枚举;不是浏览器直接请求的 Controller。 | 源码保留,当前未启用。 模块间调用优先通过 API,减少对实现类的依赖。 |
|
||||||
@ -137,7 +137,7 @@ IDEA 项目树不原生支持为每个普通目录设置独立副标题。本项
|
|||||||
| [yudao-ui-admin-vue3/src/api/system](../yudao-ui-admin-vue3/src/api/system/目录说明.txt) | 系统管理接口调用:封装系统管理的后台请求。 | 已启用。 API 源码存在并不表示后端模块已启用。 |
|
| [yudao-ui-admin-vue3/src/api/system](../yudao-ui-admin-vue3/src/api/system/目录说明.txt) | 系统管理接口调用:封装系统管理的后台请求。 | 已启用。 API 源码存在并不表示后端模块已启用。 |
|
||||||
| [yudao-ui-admin-vue3/src/views/infra](../yudao-ui-admin-vue3/src/views/infra/目录说明.txt) | 基础设施页面:配置管理、文件存储、定时任务、代码生成、接口日志、监控和 WebSocket 等设施。 | 已启用。 运动提醒、文件与检测事件通知将复用相关能力。 |
|
| [yudao-ui-admin-vue3/src/views/infra](../yudao-ui-admin-vue3/src/views/infra/目录说明.txt) | 基础设施页面:配置管理、文件存储、定时任务、代码生成、接口日志、监控和 WebSocket 等设施。 | 已启用。 运动提醒、文件与检测事件通知将复用相关能力。 |
|
||||||
| [yudao-ui-admin-vue3/src/api/infra](../yudao-ui-admin-vue3/src/api/infra/目录说明.txt) | 基础设施接口调用:封装基础设施的后台请求。 | 已启用。 API 源码存在并不表示后端模块已启用。 |
|
| [yudao-ui-admin-vue3/src/api/infra](../yudao-ui-admin-vue3/src/api/infra/目录说明.txt) | 基础设施接口调用:封装基础设施的后台请求。 | 已启用。 API 源码存在并不表示后端模块已启用。 |
|
||||||
| [yudao-ui-admin-vue3/src/views/member](../yudao-ui-admin-vue3/src/views/member/目录说明.txt) | 业务用户账号页面:会员账号、登录与个人资料;还保留模板中的积分、等级、标签等扩展。 | 源码保留,当前未启用。 计划用于老人、志愿者和家属账号;健康资料放到独立 health 模块。 |
|
| [yudao-ui-admin-vue3/src/views/member](../yudao-ui-admin-vue3/src/views/member/目录说明.txt) | 业务用户账号页面:会员账号、登录与个人资料;还保留模板中的积分、等级、标签等扩展。 | 源码保留,当前未启用。 用于老人、志愿者和家属账号;健康资料放到独立 health 模块。 |
|
||||||
| [yudao-ui-admin-vue3/src/api/member](../yudao-ui-admin-vue3/src/api/member/目录说明.txt) | 业务用户账号接口调用:封装业务用户账号的后台请求。 | 源码保留,当前未启用。 API 源码存在并不表示后端模块已启用。 |
|
| [yudao-ui-admin-vue3/src/api/member](../yudao-ui-admin-vue3/src/api/member/目录说明.txt) | 业务用户账号接口调用:封装业务用户账号的后台请求。 | 源码保留,当前未启用。 API 源码存在并不表示后端模块已启用。 |
|
||||||
| [yudao-ui-admin-vue3/src/views/bpm](../yudao-ui-admin-vue3/src/views/bpm/目录说明.txt) | 工作流页面:流程设计、审批、任务与流程实例管理,使用 Flowable。 | 源码保留,当前未启用。 运动协助工单计划在健康业务中实现状态流转,暂不依赖此模块。 |
|
| [yudao-ui-admin-vue3/src/views/bpm](../yudao-ui-admin-vue3/src/views/bpm/目录说明.txt) | 工作流页面:流程设计、审批、任务与流程实例管理,使用 Flowable。 | 源码保留,当前未启用。 运动协助工单计划在健康业务中实现状态流转,暂不依赖此模块。 |
|
||||||
| [yudao-ui-admin-vue3/src/api/bpm](../yudao-ui-admin-vue3/src/api/bpm/目录说明.txt) | 工作流接口调用:封装工作流的后台请求。 | 源码保留,当前未启用。 API 源码存在并不表示后端模块已启用。 |
|
| [yudao-ui-admin-vue3/src/api/bpm](../yudao-ui-admin-vue3/src/api/bpm/目录说明.txt) | 工作流接口调用:封装工作流的后台请求。 | 源码保留,当前未启用。 API 源码存在并不表示后端模块已启用。 |
|
||||||
@ -257,3 +257,15 @@ IDEA 项目树不原生支持为每个普通目录设置独立副标题。本项
|
|||||||
| `各 Maven 模块的 target` | Java 编译和打包输出;由 Maven 生成。 |
|
| `各 Maven 模块的 target` | Java 编译和打包输出;由 Maven 生成。 |
|
||||||
|
|
||||||
当前部署和启动方式见 [系统管理后台本地部署](系统管理后台本地部署.md),界面适配见 [管理端界面定制](管理端界面定制.md),旧业务细节见 [芋道框架迁移上下文](芋道框架迁移上下文.md)。
|
当前部署和启动方式见 [系统管理后台本地部署](系统管理后台本地部署.md),界面适配见 [管理端界面定制](管理端界面定制.md),旧业务细节见 [芋道框架迁移上下文](芋道框架迁移上下文.md)。
|
||||||
|
|
||||||
|
## 新增健康模块
|
||||||
|
|
||||||
|
| 目录 | 用途 |
|
||||||
|
| --- | --- |
|
||||||
|
| [yudao-module-health](../yudao-module-health/目录说明.txt) | 健康业务模块;当前完成身份和基础档案。 |
|
||||||
|
| [health-api](../yudao-module-health/yudao-module-health-api/目录说明.txt) | 模块间身份校验接口、DTO 和枚举。 |
|
||||||
|
| [health-biz](../yudao-module-health/yudao-module-health-biz/目录说明.txt) | HTTP 接口、业务服务、Mapper 及测试。 |
|
||||||
|
| [健康管理页面](../yudao-ui-admin-vue3/src/views/health/目录说明.txt) | 身份档案与家属关联管理。 |
|
||||||
|
| [健康增量 SQL](../mysql_script/health/目录说明.txt) | 会员建表、健康建表和后台菜单。 |
|
||||||
|
|
||||||
|
具体规则与运行步骤见 [健康业务模块与身份模型](健康业务模块与身份模型.md)。
|
||||||
|
|||||||
3
pom.xml
3
pom.xml
@ -15,7 +15,8 @@
|
|||||||
<!-- 各种 module 拓展 -->
|
<!-- 各种 module 拓展 -->
|
||||||
<module>yudao-module-system</module>
|
<module>yudao-module-system</module>
|
||||||
<module>yudao-module-infra</module>
|
<module>yudao-module-infra</module>
|
||||||
<!-- <module>yudao-module-member</module>-->
|
<module>yudao-module-member</module>
|
||||||
|
<module>yudao-module-health</module>
|
||||||
<!-- <module>yudao-module-bpm</module>-->
|
<!-- <module>yudao-module-bpm</module>-->
|
||||||
<!-- <module>yudao-module-report</module>-->
|
<!-- <module>yudao-module-report</module>-->
|
||||||
<!-- <module>yudao-module-mp</module>-->
|
<!-- <module>yudao-module-mp</module>-->
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
package cn.iocoder.yudao.module.member.api.user;
|
package cn.iocoder.yudao.module.member.api.user;
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
|
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
|
||||||
|
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserCreateReqDTO;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -15,6 +17,8 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.
|
|||||||
*/
|
*/
|
||||||
public interface MemberUserApi {
|
public interface MemberUserApi {
|
||||||
|
|
||||||
|
Long createUser(@Valid MemberUserCreateReqDTO reqDTO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得会员用户信息
|
* 获得会员用户信息
|
||||||
*
|
*
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
目录:yudao-module-member/yudao-module-member-api
|
目录:yudao-module-member/yudao-module-member-api
|
||||||
用途:供其他后端模块调用的接口、DTO 和枚举;不是浏览器直接请求的 Controller。
|
用途:供其他后端模块调用的接口、DTO 和枚举;不是浏览器直接请求的 Controller。
|
||||||
当前状态:源码保留,当前未启用。
|
当前状态:已启用,提供前台会员账号与认证。
|
||||||
迁移与维护:模块间调用优先通过 API,减少对实现类的依赖。
|
迁移与维护:模块间调用优先通过 API,减少对实现类的依赖。
|
||||||
|
|
||||||
完整索引:项目根目录 docs/项目目录说明.md。
|
完整索引:项目根目录 docs/项目目录说明.md。
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package cn.iocoder.yudao.module.member.api.user;
|
package cn.iocoder.yudao.module.member.api.user;
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
|
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
|
||||||
|
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserCreateReqDTO;
|
||||||
import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert;
|
import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||||
import cn.iocoder.yudao.module.member.service.user.MemberUserService;
|
import cn.iocoder.yudao.module.member.service.user.MemberUserService;
|
||||||
@ -23,6 +24,11 @@ public class MemberUserApiImpl implements MemberUserApi {
|
|||||||
@Resource
|
@Resource
|
||||||
private MemberUserService userService;
|
private MemberUserService userService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long createUser(MemberUserCreateReqDTO reqDTO) {
|
||||||
|
return userService.createUserWithPassword(reqDTO).getId();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MemberUserRespDTO getUser(Long id) {
|
public MemberUserRespDTO getUser(Long id) {
|
||||||
MemberUserDO user = userService.getUser(id);
|
MemberUserDO user = userService.getUser(id);
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserPageReq
|
|||||||
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.user.vo.*;
|
import cn.iocoder.yudao.module.member.controller.app.user.vo.*;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||||
|
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserCreateReqDTO;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -19,6 +20,8 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public interface MemberUserService {
|
public interface MemberUserService {
|
||||||
|
|
||||||
|
MemberUserDO createUserWithPassword(@Valid MemberUserCreateReqDTO reqDTO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过手机查询用户
|
* 通过手机查询用户
|
||||||
*
|
*
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import cn.hutool.core.lang.Assert;
|
|||||||
import cn.hutool.core.util.*;
|
import cn.hutool.core.util.*;
|
||||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||||
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
||||||
|
import cn.iocoder.yudao.framework.common.enums.TerminalEnum;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserPageReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserPageReqVO;
|
||||||
@ -14,6 +15,8 @@ import cn.iocoder.yudao.module.member.controller.app.user.vo.*;
|
|||||||
import cn.iocoder.yudao.module.member.convert.auth.AuthConvert;
|
import cn.iocoder.yudao.module.member.convert.auth.AuthConvert;
|
||||||
import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert;
|
import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||||
|
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserCreateReqDTO;
|
||||||
|
import org.springframework.dao.DuplicateKeyException;
|
||||||
import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper;
|
import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper;
|
||||||
import cn.iocoder.yudao.module.member.mq.producer.user.MemberUserProducer;
|
import cn.iocoder.yudao.module.member.mq.producer.user.MemberUserProducer;
|
||||||
import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi;
|
import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi;
|
||||||
@ -64,6 +67,23 @@ public class MemberUserServiceImpl implements MemberUserService {
|
|||||||
@Resource
|
@Resource
|
||||||
private MemberUserProducer memberUserProducer;
|
private MemberUserProducer memberUserProducer;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public MemberUserDO createUserWithPassword(MemberUserCreateReqDTO reqDTO) {
|
||||||
|
validateMobileUnique(null, reqDTO.getMobile());
|
||||||
|
MemberUserDO user;
|
||||||
|
try {
|
||||||
|
user = createUser(reqDTO.getMobile(), reqDTO.getNickname(), null,
|
||||||
|
StrUtil.blankToDefault(getClientIP(), "127.0.0.1"), TerminalEnum.UNKNOWN.getTerminal());
|
||||||
|
} catch (DuplicateKeyException ex) {
|
||||||
|
throw exception(USER_MOBILE_USED, reqDTO.getMobile());
|
||||||
|
}
|
||||||
|
// 已有账号必须走显式绑定,不能因建档而重置已有密码。
|
||||||
|
user.setPassword(encodePassword(reqDTO.getPassword()));
|
||||||
|
memberUserMapper.updateById(new MemberUserDO().setId(user.getId()).setPassword(user.getPassword()));
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MemberUserDO getUserByMobile(String mobile) {
|
public MemberUserDO getUserByMobile(String mobile) {
|
||||||
return memberUserMapper.selectByMobile(mobile);
|
return memberUserMapper.selectByMobile(mobile);
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
目录:yudao-module-member/yudao-module-member-biz
|
目录:yudao-module-member/yudao-module-member-biz
|
||||||
用途:保存 REST Controller、Service、数据对象、Mapper、转换器及模块配置。
|
用途:保存 REST Controller、Service、数据对象、Mapper、转换器及模块配置。
|
||||||
当前状态:源码保留,当前未启用。
|
当前状态:已启用,提供前台会员账号与认证。
|
||||||
迁移与维护:src/main/java 是 Java 源码,src/main/resources 是模块资源,src/test 是测试。
|
迁移与维护:src/main/java 是 Java 源码,src/main/resources 是模块资源,src/test 是测试。
|
||||||
|
|
||||||
完整索引:项目根目录 docs/项目目录说明.md。
|
完整索引:项目根目录 docs/项目目录说明.md。
|
||||||
|
|||||||
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
目录:yudao-module-member
|
目录:yudao-module-member
|
||||||
用途:会员账号、登录与个人资料;还保留模板中的积分、等级、标签等扩展。
|
用途:会员账号、登录与个人资料;还保留模板中的积分、等级、标签等扩展。
|
||||||
当前状态:源码保留,当前未启用。
|
当前状态:已启用,提供前台会员账号与认证。
|
||||||
迁移与维护:计划用于老人、志愿者和家属账号;健康资料放到独立 health 模块。
|
迁移与维护:用于老人、志愿者和家属账号;健康资料放到独立 health 模块。
|
||||||
|
|
||||||
已备注子目录:
|
已备注子目录:
|
||||||
yudao-module-member-api:业务用户账号:模块调用接口。
|
yudao-module-member-api:业务用户账号:模块调用接口。
|
||||||
|
|||||||
@ -32,12 +32,17 @@
|
|||||||
<version>${revision}</version>
|
<version>${revision}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- 会员中心。默认注释,保证编译速度 -->
|
<!-- 前台账号与健康业务 -->
|
||||||
<!-- <dependency>-->
|
<dependency>
|
||||||
<!-- <groupId>cn.iocoder.boot</groupId>-->
|
<groupId>cn.iocoder.boot</groupId>
|
||||||
<!-- <artifactId>yudao-module-member-biz</artifactId>-->
|
<artifactId>yudao-module-member-biz</artifactId>
|
||||||
<!-- <version>${revision}</version>-->
|
<version>${revision}</version>
|
||||||
<!-- </dependency>-->
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.iocoder.boot</groupId>
|
||||||
|
<artifactId>yudao-module-health-biz</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- 数据报表。默认注释,保证编译速度 -->
|
<!-- 数据报表。默认注释,保证编译速度 -->
|
||||||
<!-- <dependency>-->
|
<!-- <dependency>-->
|
||||||
|
|||||||
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
目录:yudao-server
|
目录:yudao-server
|
||||||
用途:包含 Spring Boot 主启动类、应用配置和业务模块依赖,负责组装并运行服务。
|
用途:包含 Spring Boot 主启动类、应用配置和业务模块依赖,负责组装并运行服务。
|
||||||
当前状态:当前加载 system 和 infra;member 等模块未加载。
|
当前状态:当前加载 system、infra、member、health。
|
||||||
迁移与维护:启用健康业务或会员模块时,需要调整本目录 pom.xml 及根 pom.xml。
|
迁移与维护:健康账号和业务接口通过 member/health 模块装配,运行步骤见 docs/健康业务模块与身份模型.md。
|
||||||
|
|
||||||
完整索引:项目根目录 docs/项目目录说明.md。
|
完整索引:项目根目录 docs/项目目录说明.md。
|
||||||
此文件只用于在 IDEA 中阅读目录用途,不修改目录名称、构建依赖或程序行为。
|
此文件只用于在 IDEA 中阅读目录用途,不修改目录名称、构建依赖或程序行为。
|
||||||
|
|||||||
@ -23,5 +23,5 @@ VITE_APP_BAIDU_CODE=
|
|||||||
VITE_APP_DEFAULT_TENANT_ID=1
|
VITE_APP_DEFAULT_TENANT_ID=1
|
||||||
VITE_APP_DEFAULT_TENANT_NAME=
|
VITE_APP_DEFAULT_TENANT_NAME=
|
||||||
|
|
||||||
# Only modules currently enabled by the backend. Add elder when it is implemented.
|
# Modules enabled by the backend and exposed in the health administration UI.
|
||||||
VITE_APP_ENABLED_MODULES=system,infra
|
VITE_APP_ENABLED_MODULES=system,infra,health
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user