“打造智能售货机系统,基于ruoyi微服务版本开源项目“

2024-06-22 00:44

本文主要是介绍“打造智能售货机系统,基于ruoyi微服务版本开源项目“,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

# 开篇

售货机术语

1. 表设计说明

2. 页面展示

2.1 区域管理页面

2.2 合作商管理页面

2.3 点位管理页面

3. 建表资源

3.1 创建表的 SQL 语句(包含字段备注)

1. Region 表

2. Node 表

3. Partner 表

4. 创建 tb_vending_machine 表的 SQL 语句

3.2 插入数据的 SQL 语句(无变化)

1. 插入 Region 数据

2. 插入 Partner 数据

3. 插入 Node 数据

4. 插入 VendingMachine数据

3.3 查询数据的 SQL 语句(无变化)

1. 查询所有 Region 数据

2. 查询所有 Partner 数据

3. 查询所有 Node 数据及其相关的 Region 和 Partner 信息

4. AI智能化编程

4.1 下载教程


上篇:“打造智能售货机系统,基于ruoyi微服务版本生成基础代码“-CSDN博客

# 开篇

        在现代社会中,智能售货机逐渐成为人们日常生活中不可或缺的一部分。为了更好地练手微服务架构,本章将基于RuoYi-Cloud微服务版本,快速搭建一个智能售货机系统。本章的重点是智能售货机系统下的点位管理模块,包含页面演示和建表资源。

注:系统基于ruoyi-cloud微服务版本,从前端到后端再到AI智能化应用;

售货机术语

为了更好地理解和开发智能售货机系统,首先我们需要了解一些相关术语:

  1. 区域管理

    为了更高效地进行经营管理,公司将运营范围划分为若干个逻辑区域。这些区域可以根据地理位置、客户群体等因素进行划分,有助于企业在不同区域内制定更有针对性的经营策略。

  2. 点位选择

    点位指的是智能售货机的具体放置位置。选择合适的点位是售货机运营成功的关键之一。理想的点位应该具备较高的人流量、便利的交通条件以及良好的安全性。

  3. 未来售货机功能

    智能售货机就像一个自动的小店,里面摆满了各种商品。随着技术的发展,未来的智能售货机将具备更多智能化功能,如自动补货、实时库存监控、个性化推荐等,提升用户体验和运营效率。

  4. 货道设计

    货道设计指的是售货机内部的货道布局,可以想象成超市里的那种货架。合理的货道设计可以提高售货机的存储效率和取货便捷性。

通过本章的学习,我们将了解如何基于RuoYi微服务版本,快速搭建一个智能售货机系统,并掌握点位管理模块的实现方法。帮助我们在实践中能够深入理解微服务架构的优势,并积累宝贵的开发经验。

接下来,本编将详细介绍智能售货机系统的点位管理模块,包括页面演示和建表资源的设计与实现。

1. 表设计说明

这张图片展示了一个智能售货机系统中的点位管理模块的结构图。图中包含区域管理、点位管理、合作商管理和设备管理四个部分,每个部分都有对应的数据库表和行为。下面是对这张图的详细分析:

  1. 区域管理

    表名:tb_region

    字段:

    • id:区域的唯一标识
    • region_name:区域名称
    • 其他区域相关的基础数据字段

    区域管理主要负责对公司运营范围内的逻辑区域进行管理,一个区域下可以包含多个点位。

  2. 点位管理

    表名:tb_node

    字段:

    • id:点位的唯一标识
    • node_name:点位名称
    • 其他点位相关的基础数据字段
    • region_id:关联的区域ID
    • partner_id:关联的合作商ID

    点位管理主要负责管理售货机的具体放置位置,一个区域下可以包含多个点位,一个合作商下也可以包含多个点位。

  3. 合作商管理

    表名:tb_partner

    字段:

    • id:合作商的唯一标识
    • partner_name:合作商名称
    • 其他合作商相关的基础数据字段

    合作商管理主要负责管理与公司合作的各种合作商,一个合作商下可以包含多个点位和设备。

  4. 设备管理

    表名:tb_vending_machine

    字段:

    • id:设备的唯一标识
    • inner_code:设备内部代码
    • 其他设备相关的基础数据字段
    • node_id:关联的点位ID
    • region_id:关联的区域ID
    • partner_id:关联的合作商ID

    设备管理主要负责对智能售货机设备的管理,一个区域下可以包含多个设备,一个合作商下可以包含多个设备,一个点位下也可以包含多个设备。

  • 关系

    区域管理通过region_id与点位管理和设备管理建立关联。

    点位管理通过node_id与设备管理建立关联,通过partner_id与合作商管理建立关联。

    合作商管理通过partner_id与点位管理和设备管理建立关联。

    这个结构图展示了智能售货机系统中如何通过模块化管理区域、点位、合作商和设备,使得整个系统的管理更加高效和清晰。

2. 页面展示

2.1 区域管理页面

2.2 合作商管理页面

2.3 点位管理页面

3. 建表资源

3.1 创建表的 SQL 语句(包含字段备注)

1. Region 表
CREATE TABLE tb_region (id INT AUTO_INCREMENT PRIMARY KEY COMMENT '区域 ID',region_name VARCHAR(255) NOT NULL COMMENT '区域名称',create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',create_by VARCHAR(64) COMMENT '创建人',update_by VARCHAR(64) COMMENT '修改人',remark TEXT COMMENT '备注'
) COMMENT '区域表';
2. Node 表
CREATE TABLE tb_node (id INT AUTO_INCREMENT PRIMARY KEY COMMENT '点位 ID',node_name VARCHAR(255) NOT NULL COMMENT '点位名称',address VARCHAR(255) COMMENT '详细地址',business_type VARCHAR(64) COMMENT '业务类型',region_id INT COMMENT '区域 ID',partner_id INT COMMENT '合作商 ID',create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',create_by VARCHAR(64) COMMENT '创建人',update_by VARCHAR(64) COMMENT '修改人',remark TEXT COMMENT '备注',FOREIGN KEY (region_id) REFERENCES tb_region(id),FOREIGN KEY (partner_id) REFERENCES tb_partner(id)
) COMMENT '点位表';
3. Partner 表
CREATE TABLE tb_partner (id INT AUTO_INCREMENT PRIMARY KEY COMMENT '合作商 ID',partner_name VARCHAR(255) NOT NULL COMMENT '合作商名称',contact_person VARCHAR(64) COMMENT '联系人',contact_phone VARCHAR(15) COMMENT '联系电话',profit_ratio INT COMMENT '分成比例',account VARCHAR(64) COMMENT '账号',password VARCHAR(64) COMMENT '密码',create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',create_by VARCHAR(64) COMMENT '创建人',update_by VARCHAR(64) COMMENT '修改人',remark TEXT COMMENT '备注'
) COMMENT '合作商表';
4. 创建 tb_vending_machine 表的 SQL 语句
CREATE TABLE tb_vending_machine (id INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键 ID',inner_code BIGINT NOT NULL COMMENT '设备编号',channel_max_capacity INT COMMENT '设备容盘',node_id INT COMMENT '点位 ID',addr VARCHAR(100) COMMENT '详细地址',last_supply_time DATETIME COMMENT '上次补货时间',business_type INT COMMENT '商业类型',region_id INT COMMENT '区域 ID',partner_id INT COMMENT '合作商 ID',vm_type_id INT COMMENT '设备型号',vm_status INT COMMENT '设备状态,0:未投放; 1:运营; 2:维修',running_status VARCHAR(100) COMMENT '运行状态',longitude DOUBLE COMMENT '经度',latitude DOUBLE COMMENT '纬度',client_id VARCHAR(50) COMMENT '客户端连接 ID,用于 EMQ 认证',policy_id BIGINT COMMENT '策略 ID',create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',FOREIGN KEY (node_id) REFERENCES tb_node(id),FOREIGN KEY (region_id) REFERENCES tb_region(id),FOREIGN KEY (partner_id) REFERENCES tb_partner(id)
) COMMENT '设备表';

3.2 插入数据的 SQL 语句(无变化)

1. 插入 Region 数据
INSERT INTO tb_region (region_name, create_by, remark)
VALUES 
('华东', 'admin', '东部地区'),
('华南', 'admin', '南部地区');
2. 插入 Partner 数据
INSERT INTO tb_partner (partner_name, contact_person, contact_phone, profit_ratio, account, password, create_by, remark)
VALUES 
('合作商A', '张三', '12345678901', 20, 'accountA', 'passwordA', 'admin', '优质合作商'),
('合作商B', '李四', '19876543210', 15, 'accountB', 'passwordB', 'admin', '重要合作商');
3. 插入 Node 数据
INSERT INTO tb_node (node_name, address, business_type, region_id, partner_id, create_by, remark)
VALUES 
('节点1', '地址1', '旅游区', 1, 1, 'admin', '优质点位'),
('节点2', '地址2', '商场写字楼', 2, 2, 'admin', '主要点位');
4. 插入 VendingMachine数据
INSERT INTO tb_vending_machine (inner_code, channel_max_capacity, node_id, addr, last_supply_time, business_type, region_id, partner_id, vm_type_id, vm_status, running_status, longitude, latitude, client_id, policy_id, create_time, update_time
)
VALUES
-- 设备1,关联 node_id 1
(1000001, 100, 1, '地址1', '2024-06-01 12:00:00', 1, 1, 1, 1, 1, '正常运行', 116.391, 39.907, 'client_1', 1, '2024-06-01 12:00:00', '2024-06-01 12:00:00'),
-- 设备2,关联 node_id 1
(1000002, 100, 1, '地址1', '2024-06-02 13:00:00', 1, 1, 1, 1, 1, '正常运行', 116.392, 39.908, 'client_2', 1, '2024-06-02 13:00:00', '2024-06-02 13:00:00'),
-- 设备3,关联 node_id 1
(1000003, 100, 1, '地址1', '2024-06-03 14:00:00', 1, 1, 1, 1, 1, '正常运行', 116.393, 39.909, 'client_3', 1, '2024-06-03 14:00:00', '2024-06-03 14:00:00'),
-- 设备4,关联 node_id 1
(1000004, 100, 1, '地址1', '2024-06-04 15:00:00', 1, 1, 1, 1, 1, '正常运行', 116.394, 39.910, 'client_4', 1, '2024-06-04 15:00:00', '2024-06-04 15:00:00'),
-- 设备5,关联 node_id 1
(1000005, 100, 1, '地址1', '2024-06-05 16:00:00', 1, 1, 1, 1, 1, '正常运行', 116.395, 39.911, 'client_5', 1, '2024-06-05 16:00:00', '2024-06-05 16:00:00'),
-- 设备6,关联 node_id 2
(1000006, 100, 2, '地址2', '2024-06-06 17:00:00', 2, 2, 2, 2, 1, '正常运行', 117.391, 38.907, 'client_6', 1, '2024-06-06 17:00:00', '2024-06-06 17:00:00'),
-- 设备7,关联 node_id 2
(1000007, 100, 2, '地址2', '2024-06-07 18:00:00', 2, 2, 2, 2, 1, '正常运行', 117.392, 38.908, 'client_7', 1, '2024-06-07 18:00:00', '2024-06-07 18:00:00'),
-- 设备8,关联 node_id 2
(1000008, 100, 2, '地址2', '2024-06-08 19:00:00', 2, 2, 2, 2, 1, '正常运行', 117.393, 38.909, 'client_8', 1, '2024-06-08 19:00:00', '2024-06-08 19:00:00'),
-- 设备9,关联 node_id 2
(1000009, 100, 2, '地址2', '2024-06-09 20:00:00', 2, 2, 2, 2, 1, '正常运行', 117.394, 38.910, 'client_9', 1, '2024-06-09 20:00:00', '2024-06-09 20:00:00'),
-- 设备10,关联 node_id 2
(1000010, 100, 2, '地址2', '2024-06-10 21:00:00', 2, 2, 2, 2, 1, '正常运行', 117.395, 38.911, 'client_10', 1, '2024-06-10 21:00:00', '2024-06-10 21:00:00');

3.3 查询数据的 SQL 语句(无变化)

1. 查询所有 Region 数据
SELECT * FROM tb_region;
2. 查询所有 Partner 数据
SELECT * FROM tb_partner;
3. 查询所有 Node 数据及其相关的 Region 和 Partner 信息
SELECT n.id AS node_id,n.node_name,n.address,n.business_type,r.region_name,p.partner_name,n.create_time,n.update_time,n.create_by,n.update_by,n.remark
FROM tb_node n
JOIN tb_region r ON n.region_id = r.id
JOIN tb_partner p ON n.partner_id = p.id;

4. AI智能化编程

如图中使用:输入代码表述,使用ai智能化编程;

4.1 下载教程

idea中搜索tongyi;

下载后使用阿里云账号登录使用; 

vscode下载安装:

这篇关于“打造智能售货机系统,基于ruoyi微服务版本开源项目“的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1082808

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo