This commit is contained in:
2026-08-28 23:01:52 +08:00
parent 969ff05815
commit da32a67d7f
107 changed files with 465 additions and 271 deletions
+1
View File
@@ -2,6 +2,7 @@
## 职责与边界
- Mapper 只由 `BaiyueIamApplication.java` 对 `com.baiyue.iam` 根包按 `@Mapper` 过滤扫描;新增或移动 Mapper 后从后端根运行 `node scripts/mapper-scan-contract.mjs`,不得增加子域扫描配置。
- 负责客户主档、成员、企业资料/审核、平台用户、角色权限、数据范围和授权快照。
- 账号凭据/Token 属于 `auth/`,文件内容属于 `file/`;资质登记只接收 File 的内部元数据调用。
- 修改用户可见层级、菜单权限、列表/详情只读语义或权限资源前,先读 `../../docs/平台客户层级与权限契约.md`。
@@ -1,5 +1,6 @@
package com.baiyue.iam;
import org.apache.ibatis.annotations.Mapper;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -9,7 +10,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
/**
* 身份与权限服务启动入口,负责装配租户、成员、双端 RBAC 和授权快照相关组件。
*/
@MapperScan({"com.baiyue.iam.mapper", "com.baiyue.iam.notification.mapper"})
@MapperScan(basePackages = "com.baiyue.iam", annotationClass = Mapper.class)
@EnableFeignClients(basePackages = "com.baiyue.iam.client")
@EnableScheduling
@SpringBootApplication(scanBasePackages = "com.baiyue")
@@ -1,5 +1,6 @@
package com.baiyue.iam;
import org.apache.ibatis.annotations.Mapper;
import org.junit.jupiter.api.Test;
import org.mybatis.spring.annotation.MapperScan;
@@ -7,12 +8,11 @@ import static org.assertj.core.api.Assertions.assertThat;
class BaiyueIamApplicationContractTest {
@Test
void scansCoreAndNotificationMappers() {
void scansAnnotatedMappersFromTheStableServiceRoot() {
MapperScan mapperScan = BaiyueIamApplication.class.getAnnotation(MapperScan.class);
assertThat(mapperScan).isNotNull();
assertThat(mapperScan.value()).containsExactlyInAnyOrder(
"com.baiyue.iam.mapper",
"com.baiyue.iam.notification.mapper");
assertThat(mapperScan.basePackages()).containsExactly("com.baiyue.iam");
assertThat(mapperScan.annotationClass()).isEqualTo(Mapper.class);
}
}