1. 系统概述

防伪溯源防串货及库存管理系统是一套基于Java Spring Boot技术栈开发的企业级管理系统,采用前后端分离架构,支持产品全生命周期追溯、库存实时监控、窜货自动预警等功能。

1.1 技术选型

| 层级 | 技术选型 | 说明 |

|------|----------|------|

| 后端框架 | Spring Boot 2.7.14 | 核心框架 |

| 安全框架 | Spring Security 5.7 | 认证授权 |

| ORM框架 | MyBatis-Plus 3.5 | 数据访问 |

| 数据库 | MySQL 8.0 | 业务数据存储 |

| 缓存 | Redis | 高频数据缓存 |

| 构建工具 | Maven 3.6+ | 依赖管理 |

| JDK版本 | JDK 11+ | 运行环境 |

1.2 系统特性

- **一物一码**:赋予每个产品唯一身份标识

- **全链路追溯**:记录产品从生产到消费的全生命周期

- **实时预警**:窜货行为自动检测并预警

- **权限隔离**:基于RBAC的精细化权限控制

- **高可用设计**:支持水平扩展

2. 系统架构图

```

┌─────────────────────────────────────────────────────────────────┐

│                         前端展示层 (Web Browser)                  │

│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐  │

│  │ Dashboard│ │ 产品管理 │ │ 码管理  │ │ 库存管理 │ │ 经销商管理│  │

│  └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘  │

└───────┼───────────┼───────────┼───────────┼───────────┼────────┘

        │           │           │           │           │

        └───────────┴───────────┴─────┬─────┴───────────┘

                                      │ HTTP/REST

┌─────────────────────────────────────┴────────────────────────────┐

│                         API网关层 (Spring Security)               │

│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐            │

│  │ JWT认证过滤器 │  │ 权限校验拦截 │  │  Cors跨域处理 │            │

│  └──────────────┘  └──────────────┘  └──────────────┘            │

└─────────────────────────────────────────────────────────────────┘

                                      │

┌─────────────────────────────────────┴────────────────────────────┐

│                         业务逻辑层 (Service Layer)                  │

│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐    │

│  │认证服务 │ │码管理服务│ │库存服务 │ │防伪服务 │ │防窜货服务│    │

│  └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘    │

└─────────────────────────────────────────────────────────────────┘

                                      │

┌─────────────────────────────────────┴────────────────────────────┐

│                         数据访问层 (Repository Layer)               │

│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐                │

│  │JPA Repos│ │MyBatis-Plus│ │Redis Repo│ │Mongo Repo│              │

│  └─────────┘ └─────────┘ └─────────┘ └─────────┘                  │

└─────────────────────────────────────────────────────────────────┘

                                      │

                    ┌─────────────────┴─────────────────┐

                    │                                   │

          ┌─────────┴─────────┐               ┌─────────┴─────────┐

          │     MySQL 8.0     │               │      Redis       │

          │   业务数据存储     │               │    数据缓存       │

          └───────────────────┘               └──────────────────┘

```

 3. 包结构设计

```

com.traceability

├── TraceabilityApplication.java          # 应用启动类

├── config/                                # 配置层

│   ├── SecurityConfig.java               # Spring Security配置

│   ├── JwtAuthenticationFilter.java       # JWT认证过滤器

│   ├── RedisConfig.java                   # Redis配置

│   └── MyBatisPlusConfig.java            # MyBatis-Plus配置

├── entity/                                # 实体层

│   ├── User.java                         # 用户实体

│   ├── Product.java                      # 产品实体

│   ├── Factory.java                       # 工厂实体

│   ├── ProductionLine.java               # 产线实体

│   ├── Dealer.java                       # 经销商实体

│   ├── Warehouse.java                    # 仓库实体

│   ├── CodeBatch.java                     # 码批次实体

│   ├── Code.java                         # 溯源码实体

│   ├── Inventory.java                    # 库存实体

│   ├── ScanLog.java                      # 扫码日志实体

│   ├── AntiChannelWarning.java           # 窜货预警实体

│   └── OperationLog.java                 # 操作日志实体

├── repository/                            # 数据访问层

│   ├── UserRepository.java

│   ├── ProductRepository.java

│   ├── CodeRepository.java

│   └── ...

├── service/                               # 业务逻辑层

│   ├── AuthService.java                  # 认证服务

│   ├── CodeService.java                  # 码管理服务

│   ├── InventoryService.java             # 库存服务

│   ├── AntiFakeService.java              # 防伪服务

│   └── AntiChannelService.java           # 防窜货服务

├── controller/                            # 接口层

│   ├── AuthController.java               # 认证接口

│   ├── ProductController.java            # 产品接口

│   ├── CodeController.java               # 码管理接口

│   ├── InventoryController.java          # 库存接口

│   ├── AntiFakeController.java           # 防伪接口

│   └── AntiChannelController.java        # 防窜货接口

└── dto/                                   # 数据传输对象

    ├── ApiResponse.java                  # 统一响应格式

    ├── LoginRequest.java                 # 登录请求

    ├── LoginResponse.java                # 登录响应

    └── ...

```

4. 核心功能模块

4.1 用户认证模块

**功能说明**:

- 用户登录/注册

- JWT Token认证

- RBAC权限控制

**接口列表**:

| 接口路径 | 方法 | 说明 |

|---------|------|------|

| /auth/login | POST | 用户登录 |

| /auth/register | POST | 用户注册 |

| /auth/me | GET | 获取当前用户信息 |

4.2 基础数据模块

**功能说明**:

- 产品管理(增删改查)

- 工厂管理

- 产线管理

- 仓库管理

- 经销商管理

 4.3 码管理模块

**功能说明**:

- 码批次生成

- 父子码绑定(箱-盒-单品)

- 生产赋码

- 溯源查询

**码结构**:

```

码组成: 产品编码(6位) + 批次ID(6位) + 随机码(12位)

示例: 000001000001ABCD12345678

```

4.4 库存管理模块

**功能说明**:

- 扫码入库

- 扫码出库

- 库存查询

- 库存预警

4.5 防伪验证模块

**功能说明**:

- 首次扫码验证(正品提示)

- 重复扫码预警(谨防假冒)

- 假冒码拦截

 4.6 防窜货模块

**功能说明**:

- 窜货自动检测

- 窜货预警生成

- 预警处理(确认/驳回)

- 窜货历史查询

5. 数据库设计

5.1 ER图

```

┌─────────┐       ┌─────────┐       ┌─────────┐

│ Product │──────<│  Code   │>──────│  Scan   │

└─────────┘  1:N  └─────────┘  1:N  └─────────┘

                            │

                            │ parent

                            │

                     ┌──────┴──────┐

                     │   Code     │

                     │ (父子码)   │

                     └─────────────┘

                            │

                     ┌──────┴──────┐

                     │   Code     │

                     │ (单品码)   │

                     └─────────────┘

```

5.2 核心表结构

**users表**:

```sql

CREATE TABLE users (

    id BIGINT PRIMARY KEY AUTO_INCREMENT,

    username VARCHAR(50) UNIQUE NOT NULL,

    password VARCHAR(255) NOT NULL,

    email VARCHAR(100),

    name VARCHAR(100),

    role VARCHAR(20) NOT NULL,  -- super_admin, admin, factory_admin, warehouse_admin, dealer

    dealer_id BIGINT,

    factory_id BIGINT,

    status VARCHAR(20) DEFAULT 'active',

    created_at DATETIME,

    updated_at DATETIME

);

```

**codes表**:

```sql

CREATE TABLE codes (

    id BIGINT PRIMARY KEY AUTO_INCREMENT,

    code VARCHAR(50) UNIQUE NOT NULL,

    code_type VARCHAR(20),  -- box, item

    parent_code VARCHAR(50),

    batch_id BIGINT,

    product_id BIGINT,

    factory_id BIGINT,

    production_line_id BIGINT,

    production_date DATE,

    expiry_date DATE,

    batch_no VARCHAR(50),

    operator VARCHAR(100),

    status VARCHAR(20),  -- produced, warehouse_in, warehouse_out, activated

    dealer_id BIGINT,

    target_province VARCHAR(50),

    target_city VARCHAR(50),

    target_district VARCHAR(50),

    created_at DATETIME,

    updated_at DATETIME

);

```

6. 安全设计

6.1 认证流程

```

用户登录 → 验证用户名密码 → 生成JWT Token → 返回Token

    ↓

请求API → 携带Token → JwtAuthenticationFilter验证 → 解析用户信息 → 授权判断 → 返回结果

```

6.2 权限模型

| 角色 | 权限说明 |

|------|----------|

| SUPER_ADMIN | 超级管理员,全系统权限 |

| ADMIN | 系统管理员,管理所有数据 |

| FACTORY_ADMIN | 工厂管理员,管理本工厂数据 |

| WAREHOUSE_ADMIN | 仓库管理员,管理本仓库数据 |

| DEALER | 经销商,仅可见自身数据 |

6.3 数据权限隔离

- 经销商角色:仅能查看和操作自己绑定的数据

- 工厂角色:仅能查看和操作本工厂的数据

- 仓库角色:仅能查看和操作本仓库的数据

 7. 接口规范

  7.1 统一响应格式

```json

{

    "code": 200,

    "message": "success",

    "data": { ... }

}

```

7.2 错误码定义

| 错误码 | 说明 |

|--------|------|

| 200 | 成功 |

| 400 | 请求参数错误 |

| 401 | 未授权(Token无效) |

| 403 | 权限不足 |

| 404 | 资源不存在 |

| 500 | 服务器内部错误 |

8. 部署架构

  8.1 单机部署

```

┌─────────────────────────────────────┐

│           应用服务器                  │

│  ┌─────────────────────────────┐   │

│  │    Spring Boot JAR           │   │

│  └─────────────────────────────┘   │

│              │                      │

│  ┌───────────┴───────────┐          │

│  │      MySQL 8.0         │          │

│  │      Redis             │          │

│  └───────────────────────┘          │

└─────────────────────────────────────┘

```

 8.2 生产环境部署(推荐)

```

                         ┌─────────────┐

                         │   Nginx     │

                         │  负载均衡   │

                         └──────┬──────┘

                                │

              ┌─────────────────┼─────────────────┐

              │                 │                 │

        ┌─────┴─────┐     ┌─────┴─────┐     ┌─────┴─────┐

        │  应用实例1  │     │  应用实例2  │     │  应用实例3  │

        └─────┬─────┘     └─────┬─────┘     └─────┬─────┘

              │                 │                 │

              └─────────────────┼─────────────────┘

                                │

        ┌───────────────────────┼───────────────────────┐

        │                       │                       │

  ┌─────┴─────┐           ┌─────┴─────┐           ┌─────┴─────┐

  │   MySQL   │           │   Redis   │           │  文件存储  │

  │ 主从集群  │           │   集群    │           │   MinIO   │

  └───────────┘           └───────────┘           └───────────┘

```

---

2026 防伪溯源防串货及库存管理系统 (Java Spring Boot)

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐