feat: 搭建后端多租户名片服务

- 初始化 Spring Boot 多模块工程与通用基础能力

- 增加租户、组织、用户、名片、文件、统计等业务模块

- 补充数据库迁移脚本与基础测试
This commit is contained in:
2026-03-20 12:43:21 +08:00
parent 1a2a078c0f
commit 9ef50288e9
95 changed files with 6722 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.easycard</groupId>
<artifactId>easycard-parent</artifactId>
<version>0.1.0-SNAPSHOT</version>
</parent>
<artifactId>easycard-module-system</artifactId>
<name>easycard-module-system</name>
<dependencies>
<dependency>
<groupId>com.easycard</groupId>
<artifactId>easycard-common</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,29 @@
package com.easycard.module.system.controller;
import com.easycard.common.api.ApiResponse;
import com.easycard.common.tenant.TenantContextHolder;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.LinkedHashMap;
import java.util.Map;
@RestController
public class SystemPingController {
@GetMapping("/api/v1/system/ping")
public ApiResponse<Map<String, Object>> ping() {
return ApiResponse.success(Map.of(
"service", "easycard-backend",
"status", "UP"
));
}
@GetMapping("/api/open/ping")
public ApiResponse<Map<String, Object>> openPing() {
Map<String, Object> payload = new LinkedHashMap<>();
payload.put("service", "easycard-open-api");
payload.put("tenant", TenantContextHolder.getOptional().orElse(null));
return ApiResponse.success(payload);
}
}