Files
stand_acs/acs2/nladmin-system/README.md
2026-04-16 14:01:59 +08:00

5.7 KiB
Raw Blame History

NL Admin System

诺力智能仓储管理ACS系统后端服务

项目简介

本项目是诺力智能仓储管理ACS系统后端服务标准版基于 Spring Boot 框架构建提供完整的用户认证、设备管理、任务调度、AGV调度、设备管理等核心功能。

技术栈

技术 版本 说明
Java 1.8 开发语言
Spring Boot 2.2.x 应用框架
Sa-Token 1.31.0 权限认证框架
MyBatis Plus 3.4.0 ORM框架
Redis - 缓存与会话管理
MySQL/Oracle - 数据库
Lucene 8.2.0 全文搜索
WebSocket - 实时通信

项目结构

nladmin-system/
├── nlsso-server/                    # 后端服务模块
│   ├── src/main/java/org/nl/
│   │   ├── AppRun.java              # 启动类
│   │   ├── acs/                     # 设备控制模块
│   │   │   ├── apiAdd/              # 地址管理
│   │   │   ├── autoThread/          # 自动线程管理
│   │   │   ├── device/              # 设备管理
│   │   │   ├── iot/                 # IoT数据处理
│   │   │   ├── layout/              # 布局管理
│   │   │   ├── log/                 # 日志管理
│   │   │   └── task/                # 任务调度
│   │   ├── common/                  # 通用模块
│   │   │   ├── annotation/          # 自定义注解
│   │   │   ├── base/                # 基础类
│   │   │   ├── db/                  # 数据库工具
│   │   │   ├── domain/              # 通用领域模型
│   │   │   ├── enums/               # 枚举类
│   │   │   ├── exception/           # 异常处理
│   │   │   ├── logging/             # 日志切面
│   │   │   ├── mnt/                 # 监控与维护
│   │   │   ├── security/            # 安全配置
│   │   │   └── utils/               # 工具类
│   │   ├── config/                  # 配置类
│   │   │   ├── jackson/             # JSON配置
│   │   │   ├── language/            # 国际化配置
│   │   │   ├── lucene/              # 搜索配置
│   │   │   ├── mybatis/             # MyBatis配置
│   │   │   ├── redis/               # Redis配置
│   │   │   ├── saconfig/            # Sa-Token配置
│   │   │   └── thread/              # 线程池配置
│   │   ├── extInterface/            # 外部接口
│   │   │   ├── agvKit/              # AGV接口
│   │   │   └── wms/                 # WMS接口
│   │   └── system/                  # 系统管理
│   │       └── controller/          # 系统控制器
│   └── pom.xml                      # Maven配置
└── README.md                        # 项目说明

快速开始

环境要求

  • JDK 1.8+
  • Maven 3.6+
  • Redis 3.2+
  • MySQL 5.7+ / Oracle 11g+

配置说明

1. 数据库配置

修改 src/main/resources/application.yml

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/nladmin?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: admin
    password: password
    driver-class-name: com.mysql.cj.jdbc.Driver

2. Redis 配置

spring:
  redis:
    host: localhost
    port: 6379
    password: 
    timeout: 10000ms

3. Sa-Token 配置

sa-token:
  token-name: Authorization
  timeout: 86400000
  active-timeout: -1
  is-concurrent: true
  is-share: true
  token-style: uuid
  is-log: false

启动方式

java -jar target/nlsso-server.jar

核心功能

1. 用户认证

  • 登录/登出
  • 在线用户管理
  • Token 验证
  • 权限校验

2. 设备管理

  • 设备信息管理
  • 设备协议管理
  • 货位管理
  • 设备扩展信息

3. 任务调度

  • 任务创建与执行
  • 任务历史记录
  • 任务指令管理
  • 任务优先级调度

4. 外部接口

  • AGV 系统对接
  • WMS 系统对接
  • 数据交互协议

5. 日志管理

  • 操作日志记录
  • 设备执行日志
  • Lucene 全文检索

API 接口

认证接口

接口 方法 描述
/api/auth/login POST 用户登录
/api/auth/logout POST 用户登出
/api/auth/online GET 获取在线用户列表

设备接口

接口 方法 描述
/api/device GET 获取设备列表
/api/device/{id} GET 获取设备详情
/api/device POST 创建设备
/api/device/{id} PUT 更新设备
/api/device/{id} DELETE 删除设备

任务接口

接口 方法 描述
/api/task GET 获取任务列表
/api/task/{id} GET 获取任务详情
/api/task POST 创建任务
/api/task/{id}/execute POST 执行任务

安全说明

  1. 密码加密:采用 RSA 非对称加密传输MD5 加盐存储
  2. Token 管理:基于 Sa-Token 的会话管理,支持多端登录控制
  3. 权限控制:基于注解的细粒度权限控制
  4. 请求限流:支持接口限流配置
  5. SQL 注入防护:使用 MyBatis Plus 参数化查询

开发规范

命名规范

  • 包名:小写字母,使用点分隔
  • 类名大驼峰命名法PascalCase
  • 方法名小驼峰命名法camelCase
  • 变量名小驼峰命名法camelCase

代码规范

  • 遵循阿里巴巴 Java 开发手册
  • 使用 Lombok 简化代码
  • 异常处理统一使用全局异常处理器
  • 日志记录使用 SLF4J

许可证

Apache License 2.0