# IoT LCM Platform
**Repository Path**: mingwei81/iotlcm
## Basic Information
- **Project Name**: IoT LCM Platform
- **Description**: IoT LCM Platform 是面向物联网产业链的一站式资源管理中枢,聚焦物联网卡(SIM/eSIM)、通信模组、终端设备三大核心资源,以"订单-库存-安装-运维-资费"全链路闭环管理为核心,实现从设备生产到报废的全生命周期数字化管控。
- **Primary Language**: Java
- **License**: MulanPSL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2026-02-06
- **Last Updated**: 2026-02-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# IoT LCM Platform




**物联网全生命周期管理平台 - 一站式物联网资源管理中枢**
项目基于腾讯CodeBuudy自动化生成,测试项目请勿商用
## 📖 介绍
**IoT LCM Platform** 是面向物联网产业链的一站式资源管理中枢,聚焦物联网卡(SIM/eSIM)、通信模组、终端设备三大核心资源,以"订单-库存-安装-运维-资费"全链路闭环管理为核心,实现从设备生产到报废的全生命周期数字化管控。
### 核心特性
- ✅ **全生命周期追踪** - 多设备统一接入,动态状态看板实时更新,支持SN/IMEI/订单号多维度检索
- 🔄 **资源智能调度** - 订单与库存实时联动,避免重复录入,确保账实一致
- 💰 **资费精准管控** - 多维度资费配置 + 自动化计费引擎,支持余额充值、账单导出
- 🔧 **运维高效协同** - 安装闭环记录与远程运维工具箱,异常状态自动推送责任人
- 🔒 **安全合规保障** - RBAC权限管控 + 全链路日志审计,满足合规留痕需求
- 🎯 **融合ID管理** - 首创MFID/DFID,实现复合产品统一管理与性能优化
### 应用场景
| 场景 | 说明 |
|------|------|
| 🏭 智慧工业 | 工业设备接入、状态监控、预测性维护 |
| 🏙️ 智慧城市 | 城市基础设施管理、环境监测、智能安防 |
| 🌾 智慧农业 | 农业物联网设备管理、环境监控、精准灌溉 |
| ⚡ 智慧能源 | 能源设备管理、能耗监测、智能调度 |
---
## 🏗️ 软件架构
### 技术栈
**前端技术**
- Vue 3.3+ - 渐进式JavaScript框架
- TypeScript - 类型安全的JavaScript超集
- TDesign Vue Next - 企业级UI组件库
- Vite - 新一代前端构建工具
- Pinia - Vue状态管理库
**后端技术**
- Spring Boot 3.1+ - Java应用开发框架
- Spring Cloud - 微服务开发框架
- MyBatis Plus - 持久层框架
- Spring Security - 安全框架
- Spring Data JPA - 数据访问框架
**数据存储**
- MySQL 8.0+ - 关系型数据库
- Redis 7.0+ - 内存数据库/缓存
- MongoDB 7.0+ - 文档数据库(审计日志)
- Elasticsearch 8.9+ - 搜索引擎
**中间件**
- RabbitMQ 3.12+ - 消息队列
- Kafka 3.5+ - 分布式流处理平台
**基础设施**
- Docker - 容器化技术
- Kubernetes 1.28+ - 容器编排平台
- Nginx - 反向代理/负载均衡
- Kong - API网关
### 系统架构
```
┌─────────────────────────────────────────────────────────┐
│ 前端层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Web端 │ │移动端 │ │小程序 │ │
│ │ Vue3+TS │ │ │ │ │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────┐
│ 网关层 │
│ ┌────────────────────────────────────────────────────┐ │
│ │ API Gateway (Nginx + Kong) │ │
│ │ - 负载均衡 - 限流熔断 - 路由转发 - 统一认证 │ │
│ └────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────┐
│ 应用层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │
│ │ 用户服务 │ │设备服务 │ │订单服务 │ │库存服务│ │
│ └──────────┘ └──────────┘ └──────────┘ └────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │
│ │ 安装服务 │ │运维服务 │ │资费服务 │ │过户服务│ │
│ └──────────┘ └──────────┘ └──────────┘ └────────┘ │
└─────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────┐
│ 数据层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │
│ │ MySQL主库│ │ MySQL从库│ │ Redis缓存 │ │ MongoDB│ │
│ └──────────┘ └──────────┘ └──────────┘ └────────┘ │
└─────────────────────────────────────────────────────────┘
```
### 微服务划分
| 服务名称 | 端口 | 功能描述 |
|---------|------|---------|
| user-service | 8081 | 用户管理、权限控制 |
| device-service | 8082 | 设备管理、融合ID |
| order-service | 8083 | 订单管理、审批流程 |
| inventory-service | 8084 | 库存管理、预警机制 |
| installation-service | 8085 | 安装记录、位置信息 |
| maintenance-service | 8086 | 运维管理、远程控制 |
| billing-service | 8087 | 资费管理、自动计费 |
| transfer-service | 8088 | 过户管理、审计日志 |
| fusion-id-service | 8089 | 融合ID生成、关联查询 |
| audit-service | 8090 | 审计日志、数据检索 |
| alert-service | 8091 | 告警管理、规则引擎 |
| file-service | 8092 | 文件上传、OSS存储 |
---
## 🚀 安装教程
### 环境要求
- JDK 17+
- Node.js 18+
- MySQL 8.0+
- Redis 7.0+
- RabbitMQ 3.12+
- Docker & Docker Compose (推荐)
### 快速开始(Docker Compose)
#### 1. 克隆项目
```bash
git clone https://gitee.com/your-username/iot-lcm-platform.git
cd iot-lcm-platform
```
#### 2. 启动基础设施
```bash
# 启动MySQL、Redis、RabbitMQ等中间件
docker-compose -f docker-compose.yml up -d
```
#### 3. 初始化数据库
```bash
# 导入数据库结构
mysql -h127.0.0.1 -uroot -p123456 < sql/iot_lcm_init.sql
# 导入测试数据(可选)
mysql -h127.0.0.1 -uroot -p123456 < sql/iot_lcm_test_data.sql
```
#### 4. 启动后端服务
```bash
# 进入后端目录
cd backend
# 修改配置文件
vim src/main/resources/application.yml
# 启动服务(单个服务)
mvn spring-boot:run -pl user-service
# 或启动所有服务
mvn spring-boot:run
```
#### 5. 启动前端服务
```bash
# 进入前端目录
cd frontend
# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 访问地址
# http://localhost:3000
```
#### 6. 默认账号
```
用户名: admin
密码: admin123
```
### 本地开发部署
#### 后端部署
```bash
# 1. 配置Maven仓库
vim ~/.m2/settings.xml
# 2. 编译项目
cd backend
mvn clean package
# 3. 启动服务
java -jar user-service/target/user-service-1.0.0.jar
```
#### 前端部署
```bash
# 1. 安装依赖
cd frontend
npm install
# 2. 构建生产版本
npm run build
# 3. 部署到Nginx
cp -r dist/* /usr/share/nginx/html/
```
### Kubernetes部署
```bash
# 1. 创建命名空间
kubectl create namespace iot-lcm
# 2. 部署中间件
kubectl apply -f k8s/middleware/
# 3. 部署后端服务
kubectl apply -f k8s/backend/
# 4. 部署前端服务
kubectl apply -f k8s/frontend/
# 5. 查看部署状态
kubectl get pods -n iot-lcm
```
---
## 📖 使用说明
### 功能模块
#### 1. 设备管理
- **设备列表** - 查看所有设备,支持多维度筛选和搜索
- **设备详情** - 查看设备详细信息、状态、关联的SIM卡和模组
- **设备导入** - 支持Excel批量导入设备
- **设备编辑** - 编辑设备基本信息
- **设备删除** - 删除设备记录
#### 2. 订单管理
- **订单创建** - 创建单设备订单或组合包订单
- **订单审批** - 审批待处理订单
- **订单查询** - 按状态、时间、客户等条件查询订单
- **订单明细** - 查看订单包含的设备、SIM卡、模组等明细
#### 3. 库存管理
- **库存查看** - 查看各类物品的库存数量
- **库存预警** - 库存不足时自动预警
- **库存日志** - 查看库存变动历史
- **库存盘点** - 定期盘点库存,调整账实差异
#### 4. 安装管理
- **安装记录** - 记录设备安装时间、位置、人员等信息
- **安装照片** - 上传安装现场照片
- **位置标记** - 在地图上标记安装位置
#### 5. 运维管理
- **告警管理** - 查看和处理设备告警
- **远程控制** - 远程重启、查询设备状态
- **运维记录** - 记录运维操作历史
#### 6. 资费管理
- **资费包配置** - 配置不同类型的资费包
- **计费记录** - 查看历史计费记录
- **余额查询** - 查询SIM卡余额
- **充值记录** - 查看充值历史
#### 7. 过户管理
- **过户申请** - 发起设备过户申请
- **过户审批** - 审批过户申请
- **过户日志** - 查看过户历史记录
### 融合ID使用
**设备融合ID (DFID)** 格式: `DFID + YYYYMMDD + 6位序号`
```bash
示例: DFID202601260001
```
**模组融合ID (MFID)** 格式: `MFID + YYYYMMDD + 6位序号`
```bash
示例: MFID202601260001
```
**融合ID关联查询**:
```bash
# 根据DFID查询关联的所有标识
GET /api/v1/fusion-id/dfid/DFID202601260001
# 根据ICCID查询关联的DFID
GET /api/v1/fusion-id/iccid/89860012345678901234
```
### API接口
完整的API文档请访问: [API接口文档](https://gitee.com/your-username/iot-lcm-platform/wikis/API)
**快速示例**:
```bash
# 用户登录
curl -X POST http://localhost:8080/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123"}'
# 查询设备列表
curl -X GET http://localhost:8080/api/v1/devices \
-H "Authorization: Bearer {token}"
# 创建订单
curl -X POST http://localhost:8080/api/v1/orders \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"orderType": "SINGLE",
"customerId": 2001,
"customerOrgId": 200,
"items": [{
"itemType": "DEVICE",
"quantity": 10,
"unitPrice": 500.00
}]
}'
```
### 监控与运维
#### 健康检查
```bash
# 后端服务健康检查
curl http://localhost:8081/actuator/health
# 前端服务健康检查
curl http://localhost:3000/
```
#### 日志查看
```bash
# 查看后端日志
tail -f backend/logs/user-service.log
# 查看前端日志(Nginx)
tail -f /var/log/nginx/access.log
```
#### 性能监控
访问Prometheus: `http://localhost:9090`
访问Grafana: `http://localhost:3001`
---
## 🤝 参与贡献
我们欢迎所有形式的贡献!无论是bug报告、功能请求、代码提交还是文档改进。
### 如何贡献
#### 1. Fork项目
```bash
# Fork本项目到你的Gitee账号
# 然后克隆你的Fork
git clone https://gitee.com/your-username/iot-lcm-platform.git
cd iot-lcm-platform
```
#### 2. 创建分支
```bash
# 创建功能分支
git checkout -b feature/your-feature-name
# 或创建bug修复分支
git checkout -b bugfix/your-bugfix-name
```
#### 3. 提交代码
```bash
# 添加修改的文件
git add .
# 提交代码
git commit -m "feat: 添加XXX功能"
# 推送到远程仓库
git push origin feature/your-feature-name
```
#### 4. 提交Pull Request
- 在Gitee上创建Pull Request
- 详细描述你的修改内容
- 等待维护者审核和合并
### 开发规范
#### 代码提交规范
遵循 [Conventional Commits](https://www.conventionalcommits.org/) 规范:
```
feat: 新功能
fix: 修复bug
docs: 文档更新
style: 代码格式调整
refactor: 重构
test: 测试相关
chore: 构建/工具链相关
```
#### 代码风格
**后端(Java)**
- 遵循阿里巴巴Java开发手册
- 使用Checkstyle进行代码检查
- 代码注释使用Javadoc格式
**前端(Vue/TypeScript)**
- 遵循Vue官方风格指南
- 使用ESLint进行代码检查
- 组件命名使用PascalCase
#### 测试规范
- 单元测试覆盖率不低于70%
- 提交代码前必须通过单元测试
- 重要功能需编写集成测试
### 贡献者
感谢所有为本项目做出贡献的开发者!
---
## 📚 文档
- [需求分析文档](https://gitee.com/your-username/iot-lcm-platform/wikis/需求分析)
- [技术分析文档](https://gitee.com/your-username/iot-lcm-platform/wikis/技术分析)
- [数据库设计文档](https://gitee.com/your-username/iot-lcm-platform/wikis/数据库设计)
- [API接口文档](https://gitee.com/your-username/iot-lcm-platform/wikis/API接口)
- [详细设计文档](https://gitee.com/your-username/iot-lcm-platform/wikis/详细设计)
---
## 🎯 特技
### 核心技术亮点
#### 1. 融合ID管理系统
**首创模组融合ID(MFID)、设备融合ID(DFID)**
- 自动关联子组件标识符(CID/MID/DID/ICCID/IMEI)
- 实现复合产品统一管理与性能优化
- 支持多维度查询和反向关联
```java
// 融合ID生成
String dfid = dfidGenerator.generate(device);
// 输出: DFID202601260001
// 融合ID查询
FusionIdDetail detail = fusionIdService.queryByDfid(dfid);
// 自动返回关联的所有标识符
```
#### 2. 自动化引擎
**库存联动引擎**
- 订单创建自动扣减库存
- 订单取消自动恢复库存
- 库存不足自动预警
**计费自动化引擎**
- 定时任务自动执行计费
- 自动计算流量/短信/语音费用
- 自动扣费并生成账单
**告警自动化引擎**
- 规则引擎自动匹配告警条件
- 分级告警自动推送
- 告警升级机制
#### 3. 高性能架构
**多级缓存**
- L1缓存: Caffeine本地缓存
- L2缓存: Redis分布式缓存
- 缓存穿透/击穿/雪崩防护
**读写分离**
- MySQL主从复制
- 读写请求自动路由
- 从库负载均衡
**异步处理**
- Spring异步任务
- RabbitMQ消息队列
- 批量处理优化
#### 4. 安全机制
**认证授权**
- JWT Token认证
- RBAC权限控制
- 数据权限范围控制
**数据安全**
- 敏感数据加密存储
- 数据脱敏展示
- 全链路审计日志
**安全防护**
- SQL注入防护
- XSS攻击防护
- CSRF防护
- 接口限流熔断
### 性能指标
| 指标 | 数值 |
|------|------|
| 支持设备数 | 100万+ |
| 并发用户数 | 10000+ |
| 接口响应时间 | < 200ms |
| 系统可用性 | 99.9% |
### 运营价值
- 📉 降低运营成本30%+
- 📈 提升资源利用率50%+
- ✅ 合规审计100%覆盖
- ⚡ 运维效率提升3倍
---
## 📄 开源协议
本项目采用 [MIT License](LICENSE) 开源协议。
---
## 💬 联系方式
- **问题反馈**: [Gitee Issues](https://gitee.com/your-username/iot-lcm-platform/issues)
- **功能建议**: [Gitee Discussions](https://gitee.com/your-username/iot-lcm-platform/discussions)
- **邮件联系**: support@example.com
- **QQ群**: 123456789
---
## ⭐ Star History
如果这个项目对您有帮助,请给我们一个Star⭐
---
## 🙏 致谢
感谢以下开源项目:
- [Spring Boot](https://spring.io/projects/spring-boot)
- [Vue.js](https://vuejs.org/)
- [TDesign](https://tdesign.tencent.com/)
- [MyBatis Plus](https://baomidou.com/)
---
**物联网全生命周期管理平台 - 让物联网资源管理更简单、更高效、更智能!**
Made with ❤️ by IoT LCM Team