开放账核财务系统后端服务是基于 Spring Boot 3.5.11 和 Java 21 开发的 RESTful API 服务,提供凭证管理、会计科目管理、辅助核算管理等功能。
- Java 版本: Java 21
- 构建工具: Maven 3.8+
- 框架: Spring Boot 3.5.11
- 数据库: PostgreSQL 16
- ORM: MyBatis 3.0.4
- 其他: Lombok, Spring Security, Spring Validation
lederx-server/
├── sql/ # SQL 脚本
│ └── schema.sql # 数据库表结构
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── art/fanyin/lederx/server/
│ │ │ ├── config/ # 配置类
│ │ │ ├── controller/ # 控制器
│ │ │ ├── dto/ # 数据传输对象
│ │ │ ├── entity/ # 实体类
│ │ │ ├── mapper/ # MyBatis Mapper
│ │ │ ├── service/ # 服务层
│ │ │ └── common/ # 公共类
│ │ └── resources/
│ │ ├── application.yaml # 配置文件
│ │ └── mapper/ # MyBatis XML 映射文件
│ └── test/ # 测试代码
└── pom.xml # Maven 配置文件
- JDK 21: 确保已安装 JDK 21 并配置 JAVA_HOME
- PostgreSQL 16: 确保已安装 PostgreSQL 16 数据库
- Maven 3.8+: 确保已安装 Maven 3.8 或更高版本
# 创建数据库
psql -U postgres -c "CREATE DATABASE kuaizhang;"
# 执行 SQL 脚本
psql -U postgres -d kuaizhang -f sql/schema.sql编辑 src/main/resources/application.yaml,修改数据库连接信息:
spring:
datasource:
url: jdbc:postgresql://localhost:5432/kuaizhang
username: postgres
password: your_passwordmvn clean compilemvn testmvn clean package -DskipTests# 方式一:使用 Maven
mvn spring-boot:run
# 方式二:运行 JAR
java -jar target/lederx-server-1.0.0.jar启动成功后,访问:http://localhost:8080/api
GET /api/voucher/list- 获取凭证列表GET /api/voucher/{id}- 获取凭证详情POST /api/voucher/save- 保存凭证DELETE /api/voucher/{id}- 删除凭证POST /api/voucher/{id}/audit- 审核凭证
GET /api/account/list- 获取科目列表GET /api/account/{code}- 获取科目详情POST /api/account/add- 新增科目POST /api/account/update- 更新科目DELETE /api/account/{code}- 删除科目POST /api/account/batch-delete- 批量删除科目GET /api/account/check-code- 检查科目编码
GET /api/auxiliary/list- 获取辅助核算列表GET /api/auxiliary/{id}- 获取辅助核算详情POST /api/auxiliary/add- 新增辅助核算POST /api/auxiliary/update- 更新辅助核算DELETE /api/auxiliary/{id}- 删除辅助核算POST /api/auxiliary/batch-delete- 批量删除辅助核算GET /api/auxiliary/check-code- 检查辅助核算编码GET /api/auxiliary/types- 获取辅助核算类型字典GET /api/auxiliary/export- 导出辅助核算数据
mvn testmvn test -Dtest=VoucherServiceTestmvn test -Dtest=VoucherControllerIntegrationTest本项目严格遵循以下开发规范:
- 分层架构: Controller -> Service -> Mapper
- 接口与实现分离: 接口定义在 service 包,实现在 service.impl 包
- 统一响应格式: 所有接口返回
Result<T>对象 - 全局异常处理: 使用
@RestControllerAdvice统一处理异常 - 参数校验: 使用
@Valid和 JSR-303 校验注解 - 事务管理: 在 Service 层使用
@Transactional - 日志记录: 使用 Slf4j 记录日志
| 错误码 | 说明 |
|---|---|
| VALIDATION_ERROR | 数据验证失败 |
| BALANCE_ERROR | 借贷不平衡 |
| NOT_FOUND | 资源不存在 |
| ALREADY_EXISTS | 数据已存在 |
| ALREADY_AUDITED | 凭证已审核 |
| PERMISSION_DENIED | 权限不足 |
| SERVER_ERROR | 服务器错误 |
-
凭证保存规则:
- 借贷必须平衡
- 至少需要 2 条分录
- 有金额的分录必须填写科目
- 凭证日期必填
-
会计科目规则:
- 系统科目(is_sys_add=1)不能修改或删除
- 科目编码必须唯一
-
辅助核算规则:
- 辅助核算编码必须唯一
- 支持 6 种类型:客户、供应商、职员、部门、项目、存货
检查 PostgreSQL 服务是否启动,数据库是否存在,用户名密码是否正确。
修改 application.yaml 中的 server.port 配置。
配置国内镜像源,编辑 ~/.m2/settings.xml:
<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Aliyun Maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>- ✅ 新增辅助核算管理模块
- ✅ 新增会计科目管理模块
- ✅ 完善凭证管理功能
- ✅ 添加数据验证和错误处理
- ✅ 支持批量操作
- ✅ 支持数据导出
- ✅ 完整的单元测试和集成测试
代码作者:Superior
Copyright © 2026 开源账核财务管理系统