Commit Graph

58 Commits

Author SHA1 Message Date
vifo 4271f333b6 docs(specs): 更新已完成 spec 文档状态
- 2026-06-07-sys-app-management: 已批准,待实现 → 已实现
- 2026-06-07-multi-login-social-login: 已批准,待实现 → 已实现
- 2026-06-06-user-aggregate-query: 已批准 → 已实现

各 spec 对应的 plan 已结清/实施 commit 已落地,更新状态描述并补充实施情况指引。
2026-06-07 18:46:30 +08:00
vifo 4540af71ae docs(ai-skills): README 索引加 sql-deploy.md 入口 2026-06-07 18:25:34 +08:00
vifo eba4f07832 docs(standards): 增加 Feign 客户端注册规范章节
按用户提醒 + 本次实际踩坑记录:
- 项目用 rui-common-feign 自定义注册机制
- spring.factories 是 Feign 唯一注册渠道(@EnableFeignClients 包扫描不生效)
- 添加新 FeignClient 必须同步更新 spring.factories
- 漏写会导致运行时 NPE
2026-06-07 17:54:04 +08:00
vifo 3395f69b42 docs(standards): 增加 Result 返回规范章节
按用户反馈(i18n key 用 code 字符串,key 放 data 字段):
- 字段语义:error/Http、code/i18n key、message/默认中文、data/业务数据
- 调用规范表:成功/校验失败/未授权/无权限/数据不存在/降级/通用失败
- 重点:数据不存在用 failNotFound(ResultCode.DATA_NOT_FOUND, key)
- 禁止写法:Result.ok(null) 表示'未找到'(反直觉)
- i18n 配合示例:前端用 code 字段路由 i18n,data 字段做模板替换
2026-06-07 17:49:19 +08:00
vifo 22889afedc docs(spec): 用 appId 作为唯一标识(来自 X-App-Id 请求头)
原方案用 platform 作为缓存 key 错误:
- 多个租户都叫 platform=wechat,缓存 key 冲突
- platform 不是真正唯一标识

按用户反馈调整:
- 凭证查询/缓存全部用 appId
- appId 来源:请求头 X-App-Id
- §3.1 加 UNIQUE KEY uk_app_id (app_id) 约束
- §5.1 流程重写:从 X-App-Id 取 appId → 缓存 key = app:creds:{appId}
- §5.2/5.3 删缓存也改用 appId
- §7.1 OAuth2 改造:从 request.getHeader("X-App-Id") 取
- 删除 §1.2 中 'client_id 映射' 的旧说法
2026-06-07 17:08:32 +08:00
vifo c576053ab6 docs(spec): SysApp 简化为单密钥列 + 多证书 JSON 数组
按用户反馈调整:
- 删除:app_secret_text / app_secret_file_path / private/public_key 的 text+file_path
- 新增:certificates JSON(多 p12 证书,每项含 name/path/password)
- 简单凭证(app_id/app_secret/app_key/aes_key)保留单值 VARCHAR 列
- §2 原则 4 改为'简单文本用列 / 多证书用 JSON'
2026-06-07 17:02:06 +08:00
vifo 33690fe80b docs(spec): 第三方应用管理(SysApp)设计规格
- 新增 SysApp 实体:多租户第三方应用凭证管理
- 平台元数据 + 支付扩展 + AES key + 证书/文本分离
- 消费方:OAuth2ServerConfig Feign + Redis 30min 缓存
- 租户隔离:owner_type=PLATFORM/TENANT + client_id→tenant_id 映射
- 范围:不涉及 rui-service-user(user 模块)
2026-06-07 16:53:36 +08:00
vifo ae78e0f673 docs(nacos): 前缀 social → thirdparty,匹配 OAuth2ServerConfig 改动 2026-06-07 16:15:08 +08:00
vifo 856e16beff docs(nacos): 用 app.wechat/app.alipay 替代 social.* 配置结构
配合 OAuth2ServerConfig 重构:
- social.wechat.app-id/secret → app.wechat.app-id/secret
- social.alipay.app-id/private-key/public-key → app.alipay.*
- 新增 app.alipay.app-key (AlipayApiClient 预留扩展)
2026-06-07 16:13:09 +08:00
vifo 6df6e7ad0c docs(plan): 标记 Task 12 (编译验证) 已完成 (commits 74960af + baf0283)
附:实际执行包含修复 plan 的 supports 签名 bug (3 个 Provider)
2026-06-07 15:56:28 +08:00
vifo 365aa49cbd docs(plan): 标记 Task 11 (sys_oauth_client grant_types) 已完成 (commit 74960af) 2026-06-07 15:53:52 +08:00
vifo 792b10bd34 docs(plan): 标记 Task 10 (Nacos 社交登录配置) 已完成 (commit 2249b36) 2026-06-07 15:52:45 +08:00
vifo 2249b3649a docs(nacos): 添加社交登录配置 (rui-auth.yaml)
- 微信登录配置 (app-id, app-secret)
- 支付宝登录配置 (app-id, private-key, public-key)
- 用 env var 占位符支持容器化部署
2026-06-07 15:52:34 +08:00
vifo b3c66245e9 docs(plan): 标记 Task 9 (OAuth2 配置注册) 已完成 (commit 22c64bd)
附:实际还包含让原 no-arg 构造编译失败的修复
2026-06-07 15:51:25 +08:00
vifo eb99ae43cb docs(plan): 标记 Task 8 (支付宝登录框架) 已完成 (commit a4fcb95) 2026-06-07 15:49:17 +08:00
vifo c69c34ff25 docs(plan): 标记 Task 7 (微信登录框架) 已完成 (commit 337d189) 2026-06-07 15:47:31 +08:00
vifo 938302c164 docs(plan): 标记 Task 6 (短信登录框架) 已完成 (commit 89645d5) 2026-06-07 15:45:16 +08:00
vifo f1f4440be2 docs(plan): 标记 Task 5 (OAuth2 密码登录扩展) 已完成
- 3 个文件修改完成 (commit 2488bcf)
- 标注:Step 3 跳过 (loadUserByAccount 已支持 EMAIL)
- 关键修补:loadUserByUsername 增加 # 解码 (plan 漏掉的实现漏洞)
2026-06-07 15:42:36 +08:00
vifo 47ef4c6938 docs(plan): 标记 Task 4 (内部接口 EMAIL 支持) 已完成 (commit 27f4a00) 2026-06-07 15:38:35 +08:00
vifo 00c77529c5 docs(plan): 标记 Task 3 (数据访问层) 已完成
- UserSocialMapper/Service/Impl 创建完成 (commit c147e56)
- 标注 5 处实际执行的偏差(#prefix#、@EnableRedisCache、@Transactional、baseMapper、tenantId)
2026-06-07 15:37:38 +08:00
vifo 23823074f6 docs(plan): 标记 Task 2 (实体类调整) 已完成
- User 实体加 email、UserDetail 删 email、UserSocial 新建 (commit 1de6937)
- 添加实际执行说明:UserSocial 屏蔽 BaseEntity 不存在的审计字段
2026-06-07 15:34:26 +08:00
vifo 84b3bb601e docs(spec): 添加多方式登录与第三方登录设计规格 (已批准) 2026-06-07 15:32:26 +08:00
vifo 3c618b57bb docs(plan): 标记 Task 1 (数据库变更) 已完成
- Step 1-4 全部完成 (commit 6fd82fb)
- 添加实际执行说明:email 字段位置改为 AFTER username
2026-06-07 15:31:52 +08:00
vifo 9d0cffa86e docs(plan): 添加多方式登录与第三方登录实施计划
- 12个任务,覆盖数据库、实体、数据访问、认证逻辑、配置
- 详细的步骤和代码示例
- 包含编译验证和检查清单
2026-06-07 15:13:02 +08:00
vifo a4767ee3d0 docs(plan): 更新实施计划状态为已完成
- 所有20个任务已完成
- 编译验证通过
- 代码已提交
2026-06-06 17:10:40 +08:00
vifo 3c2fa877a6 docs(plan): 用户聚合查询实施计划
- 20个详细任务分解
- 包含依赖关系图
- 数据库变更、代码修改、缓存、测试全覆盖
- 风险评估和回滚计划
2026-06-06 13:32:44 +08:00
vifo de78c21799 docs(spec): 更新用户聚合查询设计规格
- 添加 phone 字段迁移到 uc_user 表的设计
- 新增统一认证接口 /user/inner/auth/load(POST)
- 支持 AccountType 枚举:USERNAME/PHONE/EMAIL
- 废弃旧的 loadByUsername 接口
- 添加数据库变更 SQL 脚本
2026-06-06 13:30:23 +08:00
vifo a8c164459a docs(spec): 用户聚合查询设计规格
- 方案B:后端聚合查询 + Redis缓存
- 新增聚合接口 /user/admin/user/{id}/aggregate
- 批量列表查询优化,避免N+1
- 缓存策略与失效机制设计
- 保持向后兼容
2026-06-06 13:14:13 +08:00
vifo 47d8af24f0 docs(standards): 添加 MyBatis Plus LambdaQueryWrapper 规范
- 在数据库规范中新增 MyBatis Plus 查询规范章节
- 明确优先使用 LambdaQueryWrapper,避免使用字符串字段名的 QueryWrapper
- 添加正反对照示例和优势说明

对应工单 #2
2026-06-06 12:42:24 +08:00
vifo 1a615c9f15 docs(api): 补充收银服务 Swagger/Knife4j/OpenAPI 访问地址 2026-06-06 10:25:12 +08:00
vifo 26f146f9a7 docs(api): 补充聚合启动器 API 文档地址
- 添加 rui-service-starter 的 /v3/api-docs 地址(端口 9399)
- 标注为开发调试用途

对应工单 #swagger-doc-update
2026-06-06 10:16:07 +08:00
vifo cfd2c44b80 docs(api): 补充 Swagger/Knife4j/OpenAPI 访问地址文档 2026-06-06 10:14:07 +08:00
vifo 33351d3261 Merge remote-tracking branch 'origin/main' 2026-06-05 11:57:47 +08:00
vifo 47945b245d docs(backend): 添加 BaseEntity 字段说明文档
- 说明所有业务实体必须继承的标准字段
- 包含字段类型、填充时机、数据库映射说明
- 提供 Java 和 SQL 使用示例
2026-06-05 11:55:44 +08:00
vifo 9f084720f8 feat(commit): 补充提交频率和推送规则
- 添加提交频率要求:每次修改后必须提交,禁止积攒
- 添加推送规则:常规开发不自动推送,累计超10个提交自动推送
- 远程名称使用 origin(默认)
2026-06-05 11:48:01 +08:00
vifo 044f9e31f3 清理暂时无用的 nacos 配置文件 2026-06-05 10:29:29 +08:00
vifo 5931d65806 fix(nacos): 清理 rui-service-starter.yaml 中的冗余通用配置
- 删除 nacos 连接、lifecycle、autoconfigure、multipart 等通用配置
- 仅保留 server.port 和模块管理业务配置
- 符合 Nacos 服务配置只放端口 + 业务配置的规则
2026-06-05 10:25:04 +08:00
vifo 57cc87a145 docs(template): 在 application-template.yml 中标注允许修改位置
- server.port 处增加【允许修改】注释
- rui-data import 处增加【允许修改】注释
2026-06-05 10:24:44 +08:00
vifo 386751b045 docs(ai-skills): 更新 README 目录,加入 Nacos 配置规范文档 2026-06-05 10:23:24 +08:00
vifo ee335fe90a docs(ai-skills): 添加 Nacos 配置与 application.yml 规范文档
- 明确 5 条配置规则
- 提供正确/错误示例
- 说明配置分层和同步流程
2026-06-05 10:20:12 +08:00
vifo 2277bca1ad feat(config): 简化 rui-service-starter 配置
- 基于 application-template.yml 模板
- 只保留端口、服务名和 modules 配置
- 移除多余的 feign/resilience4j/logging 配置

对应工单 #1
2026-06-05 08:42:57 +08:00
vifo 726fc229d6 feat(config): 完善 rui-service-starter Nacos 完整配置
- 基于 application-template.yml 创建完整配置
- 增加 modules 可用模块列表
- 对应工单 #1
2026-06-05 08:40:42 +08:00
vifo 1d6cb64ed3 feat(config): 简化 rui-service-starter Nacos 配置
- 只保留端口、服务名和 modules 配置
- 移除多余的 Spring Cloud 配置(已在本地 application.yml 中配置)

对应工单 #1
2026-06-05 08:35:00 +08:00
vifo 61fa206a45 feat(config): 完善 rui-service-starter Nacos 配置
- 基于 application-template.yml 模板创建完整配置
- 修改端口为 9399,名称为 rui-service-starter
- 增加 modules 可用模块列表配置

对应工单 #1
2026-06-05 08:32:19 +08:00
vifo 8506424c26 feat(config): 添加 rui-service-starter Nacos 配置模板
- 新增 rui-service-starter.yaml Nacos 配置模板
- 添加 modules 可用模块列表配置(供租户管理使用)

对应工单 #1
2026-06-05 08:30:28 +08:00
vifo 01f36acdd7 feat(config): 添加 rui-service-starter Nacos 配置模板和 modules 配置示例
- 新增 rui-service-starter.yaml Nacos 配置模板(含 modules 配置)
- 更新 application-template.yml 添加 modules 配置说明和示例

对应工单 #1
2026-06-05 08:23:23 +08:00
vifo cc46e13503 docs: 更新 SQL 脚本目录引用路径
- backend/guides/environment-setup.md: docs/init-database.sql → sql/init-database.sql
- frontend/admin-ui-icon-guide.md: docs/sql/update_menu_icon.sql → sql/update_menu_icon.sql
2026-06-05 06:56:53 +08:00
vifo 21cea34d18 fix(menus) 修改菜单配置文件路径为 data/menus 2026-06-05 06:18:07 +08:00
vifo f234845e17 fix: 修复配置文件路径,移除 conf/ 子目录引用 2026-06-04 14:25:05 +08:00
vifo 6e0919f1cd ci: 修复缓存卷冲突,添加 runner-default 缓存,隐藏 webhook token 2026-06-04 13:33:41 +08:00