Publish apes-Authon via gitea-publish skill
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
# 账权模块提取说明
|
||||
|
||||
> 提取日期:2026-08-09
|
||||
> 源仓库:apes-Authdata (saas-service)
|
||||
> 目标仓库:apes-Authon
|
||||
|
||||
## 一、提取原则
|
||||
|
||||
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 等基础设施
|
||||
|
||||
## 二、提取文件清单
|
||||
|
||||
### Controller(11 个)
|
||||
|
||||
| 文件 | 核心功能 |
|
||||
|------|---------|
|
||||
| UserController | 密码登录、注册、改密、用户CRUD、企业认证、多企业切换 |
|
||||
| PermissionController | 菜单树、权限码、角色CRUD、角色权限分配、成员角色管理 |
|
||||
| AccessTokenController | 外部 API Token 的创建/查询/撤销/启用/重新生成 |
|
||||
| CustomerController | 客户/企业CRUD、员工管理、应用关联、SSO配置 |
|
||||
| CustomerPackageController | 客户套餐管理、配额管理、延期申请 |
|
||||
| AppController | 应用CRUD、应用详情(含菜单+权限+关联客户) |
|
||||
| SysOrganizationController | 组织架构CRUD、组织树 |
|
||||
| SysPackagePlanController | 套餐方案CRUD、套餐权限分配 |
|
||||
| SysQuotaController | 配额模板CRUD |
|
||||
| SysOperationLogController | 操作日志查询 |
|
||||
| UserPreferenceController | 用户偏好(UI尺寸)查询/更新 |
|
||||
|
||||
### Entity(23 个)
|
||||
|
||||
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
|
||||
|
||||
### Mapper(23 个)
|
||||
|
||||
对应每个 Entity 各一个 Mapper。
|
||||
|
||||
### Config(5 个)
|
||||
|
||||
| 文件 | 说明 |
|
||||
|------|------|
|
||||
| AccessTokenFilterConfig | 注册 AccessTokenFilter(order=1,拦截 /*) |
|
||||
| DataSourceHeaderAspect | @TenantSource AOP 切面,多租户数据源切换 |
|
||||
| TenantSource | @TenantSource 注解定义 |
|
||||
| HbTokenContext | 伙伴云 Token 的 ThreadLocal 上下文 |
|
||||
| SiteConfig | 站点配置(支付域名、Cookie域名) |
|
||||
|
||||
### Filter(1 个)
|
||||
|
||||
AccessTokenFilter — 外部 API 鉴权(X-Access-Token / Bearer)
|
||||
|
||||
### Util(2 个)
|
||||
|
||||
| 文件 | 说明 |
|
||||
|------|------|
|
||||
| OperationLogUtil | 操作日志工具(@PostConstruct 抓 bean + AuthContext 获取操作人) |
|
||||
| RsaUtil | RSA 加解密(密码加密/解密) |
|
||||
|
||||
### DTO/VO(15 个)
|
||||
|
||||
LoginDTO, RegisterDTO, PwdDTO, UserSearchDTO, RoleSearchDTO, SysRoleDTO, CustomerSearchDTO, EnterpriseCertifyDTO, SelectCustomerDTO, PageDTO, RelationDTO, AppSearchDTO, CustomerPackageVO, CustomerPackageExtendApplyVO, CustomerAppVO
|
||||
|
||||
### Huoban DTO(11 个)
|
||||
|
||||
UpsertOne, DataCreate, DataUpdate, DataFilter, DataFilterCondition, DataUpsert, BulkDel, TableSub, TableColumn, TableInfo, CategoryConfig — 伙伴云 API 请求/响应模型,被 CustomerInfoServiceImpl 用于同步客户数据到伙伴云
|
||||
|
||||
## 三、未提取的文件(排除原因)
|
||||
|
||||
| 文件 | 排除原因 |
|
||||
|------|---------|
|
||||
| CustomerUiConfigServiceImpl | 依赖 `cn.apes.cloud.domain.weight.CustomerUiConfig`(weight 业务包) |
|
||||
| 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. **唯一的业务包交叉引用**:`CustomerInfoServiceImpl` → `cn.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) | 待设计 |
|
||||
Reference in New Issue
Block a user