Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

开放账核财务系统后端服务

开放账核财务系统后端服务是基于 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 配置文件

环境要求

  1. JDK 21: 确保已安装 JDK 21 并配置 JAVA_HOME
  2. PostgreSQL 16: 确保已安装 PostgreSQL 16 数据库
  3. Maven 3.8+: 确保已安装 Maven 3.8 或更高版本

快速开始

1. 数据库初始化

# 创建数据库
psql -U postgres -c "CREATE DATABASE kuaizhang;"

# 执行 SQL 脚本
psql -U postgres -d kuaizhang -f sql/schema.sql

2. 修改配置

编辑 src/main/resources/application.yaml,修改数据库连接信息:

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/kuaizhang
    username: postgres
    password: your_password

3. 编译项目

mvn clean compile

4. 运行测试

mvn test

5. 打包项目

mvn clean package -DskipTests

6. 启动应用

# 方式一:使用 Maven
mvn spring-boot:run

# 方式二:运行 JAR
java -jar target/lederx-server-1.0.0.jar

启动成功后,访问:http://localhost:8080/api

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 test

运行特定测试类

mvn test -Dtest=VoucherServiceTest

运行集成测试

mvn test -Dtest=VoucherControllerIntegrationTest

开发规范

本项目严格遵循以下开发规范:

  1. 分层架构: Controller -> Service -> Mapper
  2. 接口与实现分离: 接口定义在 service 包,实现在 service.impl 包
  3. 统一响应格式: 所有接口返回 Result<T> 对象
  4. 全局异常处理: 使用 @RestControllerAdvice 统一处理异常
  5. 参数校验: 使用 @Valid 和 JSR-303 校验注解
  6. 事务管理: 在 Service 层使用 @Transactional
  7. 日志记录: 使用 Slf4j 记录日志

错误码说明

错误码 说明
VALIDATION_ERROR 数据验证失败
BALANCE_ERROR 借贷不平衡
NOT_FOUND 资源不存在
ALREADY_EXISTS 数据已存在
ALREADY_AUDITED 凭证已审核
PERMISSION_DENIED 权限不足
SERVER_ERROR 服务器错误

注意事项

  1. 凭证保存规则:

    • 借贷必须平衡
    • 至少需要 2 条分录
    • 有金额的分录必须填写科目
    • 凭证日期必填
  2. 会计科目规则:

    • 系统科目(is_sys_add=1)不能修改或删除
    • 科目编码必须唯一
  3. 辅助核算规则:

    • 辅助核算编码必须唯一
    • 支持 6 种类型:客户、供应商、职员、部门、项目、存货

常见问题

1. 数据库连接失败

检查 PostgreSQL 服务是否启动,数据库是否存在,用户名密码是否正确。

2. 端口被占用

修改 application.yaml 中的 server.port 配置。

3. Maven 依赖下载失败

配置国内镜像源,编辑 ~/.m2/settings.xml:

<mirror>
  <id>aliyun</id>
  <mirrorOf>central</mirrorOf>
  <name>Aliyun Maven</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

更新日志

v2.0.0 (2026-03-19)

  • ✅ 新增辅助核算管理模块
  • ✅ 新增会计科目管理模块
  • ✅ 完善凭证管理功能
  • ✅ 添加数据验证和错误处理
  • ✅ 支持批量操作
  • ✅ 支持数据导出
  • ✅ 完整的单元测试和集成测试

作者

代码作者:Superior

许可证

Copyright © 2026 开源账核财务管理系统

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages