Files
apes-Authon-Server/docs/账权模块提取说明.md
T
figmar 8c0244dfa0 docs: 更新 README — 去历史化,关联 apes-Authon 组织仓库
- 标题改为 apes-Authon-Server
- 移除 apes-Authdata 引用,以全新面貌展示
- 关联仓库更新为组织地址(Server/Web/history)
- 路线图阶段编号调整(Phase 5-7)
2026-08-09 13:04:21 +08:00

6.8 KiB
Raw Blame History

账权模块提取说明

提取日期:2026-08-09
目标仓库:apes-Authon-Server

一、提取原则

  1. 纯账权逻辑:只提取认证、授权、用户、角色、菜单、权限、多租户、套餐、配额、SSO、操作日志相关的代码
  2. 零业务代码:不包含溯源(Trace*)、称重(Weight*)、水肥(Fei*)、巡检(Inspection*)、维修(Repair*)、农大同步(Nongda*)、LLM Agent 等任何业务逻辑
  3. 保留包名:暂保留 cn.apes.cloud 包名以最小化改动,后续 Phase 2 再统一重构为 cn.apes.authon
  4. 保留依赖apes-commons 外部 JAR 作为核心依赖保留,提供 AuthContext / @Login / Res / DbEntity 等基础设施

二、提取文件清单

Controller11 个)

文件 核心功能
UserController 密码登录、注册、改密、用户CRUD、企业认证、多企业切换
PermissionController 菜单树、权限码、角色CRUD、角色权限分配、成员角色管理
AccessTokenController 外部 API Token 的创建/查询/撤销/启用/重新生成
CustomerController 客户/企业CRUD、员工管理、应用关联、SSO配置
CustomerPackageController 客户套餐管理、配额管理、延期申请
AppController 应用CRUD、应用详情(含菜单+权限+关联客户)
SysOrganizationController 组织架构CRUD、组织树
SysPackagePlanController 套餐方案CRUD、套餐权限分配
SysQuotaController 配额模板CRUD
SysOperationLogController 操作日志查询
UserPreferenceController 用户偏好(UI尺寸)查询/更新

Entity23 个)

UserInfo, SysRole, SysMenu, SysPermission, SysRolePermission, SysMemberRole, SysAccessToken, CustomerInfo, CustomerUser, CustomerApp, CustomerPackage, CustomerPackageQuota, CustomerPackageExtendApply, CustomerQuotaChangeLog, SsoConfig, SysOrganization, SysPackagePlan, SysPackagePlanPermission, SysPackagePlanQuota, SysQuota, UserPreference, SysOperationLog, AppInfo

Service 接口(6 个)

CustomerPackageService, SysAccessTokenService, SysOperationLogService, SysPackagePlanQuotaService, SysPackagePlanService, SysQuotaService

Service 实现(16 个)

PermissionServiceImpl, UserInfoServiceImpl, SysAccessTokenServiceImpl, SsoServiceImpl, Sso2ServiceImpl, CustomerUserServiceImpl, CustomerInfoServiceImpl, CustomerAppServiceImpl, SysOrganizationServiceImpl, SysPackagePlanServiceImpl, CustomerPackageServiceImpl, SysQuotaServiceImpl, SysPackagePlanQuotaServiceImpl, UserPreferenceServiceImpl, SysOperationLogServiceImpl, AppInfoServiceImpl

Mapper23 个)

对应每个 Entity 各一个 Mapper。

Config5 个)

文件 说明
AccessTokenFilterConfig 注册 AccessTokenFilterorder=1,拦截 /*
DataSourceHeaderAspect @TenantSource AOP 切面,多租户数据源切换
TenantSource @TenantSource 注解定义
HbTokenContext 伙伴云 Token 的 ThreadLocal 上下文
SiteConfig 站点配置(支付域名、Cookie域名)

Filter1 个)

AccessTokenFilter — 外部 API 鉴权(X-Access-Token / Bearer

Util2 个)

文件 说明
OperationLogUtil 操作日志工具(@PostConstruct 抓 bean + AuthContext 获取操作人)
RsaUtil RSA 加解密(密码加密/解密)

DTO/VO15 个)

LoginDTO, RegisterDTO, PwdDTO, UserSearchDTO, RoleSearchDTO, SysRoleDTO, CustomerSearchDTO, EnterpriseCertifyDTO, SelectCustomerDTO, PageDTO, RelationDTO, AppSearchDTO, CustomerPackageVO, CustomerPackageExtendApplyVO, CustomerAppVO

Huoban DTO11 个)

UpsertOne, DataCreate, DataUpdate, DataFilter, DataFilterCondition, DataUpsert, BulkDel, TableSub, TableColumn, TableInfo, CategoryConfig — 伙伴云 API 请求/响应模型,被 CustomerInfoServiceImpl 用于同步客户数据到伙伴云

三、未提取的文件(排除原因)

文件 排除原因
CustomerUiConfigServiceImpl 依赖 cn.apes.cloud.domain.weight.CustomerUiConfigweight 业务包)
CommonController 混合业务(文件上传等),非纯账权
WeightController 称重业务
TrackingConfigController 追踪配置业务
所有 Trace*/Weight*/Fei*/Llm*/Nongda* 文件 业务模块
RedissonConfiguration 通用配置,需按实际部署环境重新配置
MybatisPlusConfig 通用配置,需按实际部署环境重新配置
OssConfiguration OSS 配置,账权服务不需要
WebSocketConfig WebSocket 配置,账权服务不需要
RestTemplateConfiguration HTTP 客户端配置,按需添加
SchedulingConfig 定时任务配置,按需添加
JacksonAutoConfiguration Jackson 配置,Spring Boot 自动配置

四、外部依赖分析

apes-commons 0.0.7-SNAPSHOT

提供以下核心类(全部为接口级别依赖,无源码):

cn.apes.commons.Res                  → 统一 API 响应包装
cn.apes.commons.auth.AuthContext     → ThreadLocal 认证上下文
cn.apes.commons.auth.Login           → @Login 注解(方法级,AOP 自动注入)
cn.apes.commons.auth.LoginUser       → 登录用户信息
cn.apes.commons.auth.LoginCustomer   → 登录客户/企业信息
cn.apes.commons.auth.UserSession     → 会话对象(user + customer
cn.apes.commons.domain.DbEntity      → 基础实体(id/createTime/updateTime/isDel

第三方依赖

依赖 用途
spring-boot-starter-web REST API
spring-boot-starter-aop @TenantSource 切面 / @Login AOP
spring-boot-starter-data-redis Redis 会话管理
mybatis-plus-boot-starter ORM
dynamic-datasource-spring-boot-starter 多租户数据源
mysql-connector-java MySQL 驱动
lombok 简化代码
hutool-all 通用工具(HMAC 签名、HTTP 调用等)
redisson Redis 客户端
fastjson JSON 序列化

五、耦合度验证

提取过程中验证了以下耦合点:

  1. 业务 Service → 账权 Service 直接调用:0 个
  2. 业务 Controller → 账权 Controller 直接调用:0 个
  3. 账权 Service → 业务 Mapper 直接调用:0 个
  4. 唯一的业务包交叉引用CustomerInfoServiceImplcn.apes.cloud.domain.huoban.UpsertOne
    • 解决方案:将 huoban DTO 包一起提取(11 个纯 DTO 文件,无业务逻辑)
  5. 外部 JAR 依赖apes-commons 提供 AuthContext 等核心类
    • 解决方案:保留为 Maven 依赖,后续 Phase 3 改造为 SDK

六、后续路线图

阶段 目标 状态
Phase 1 验证编译通过 待执行
Phase 2 包名重构 cn.apes.cloud → cn.apes.authon 待启动
Phase 3 SDK 化(AuthContext → 远程调用) 待设计
Phase 4 网关集成(ThreadLocal → HTTP Header 待设计