# 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
![IoT LCM Platform](https://img.shields.io/badge/IoT-LCM-Platform-blue) ![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.1+-green) ![Vue 3](https://img.shields.io/badge/Vue-3.3+-brightgreen) ![License](https://img.shields.io/badge/License-MIT-yellow) **物联网全生命周期管理平台 - 一站式物联网资源管理中枢**
项目基于腾讯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⭐ Star History Chart --- ## 🙏 致谢 感谢以下开源项目: - [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