帝可得智能售货机运营管理系统

2024-09-07 00:44

本文主要是介绍帝可得智能售货机运营管理系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.项目介绍

帝可得是一个基于物联网概念下的智能售货机运营管理系统

应用场景:智能家居、共享充电中、智能售货机

智能售货机的优势在于其自我管理能力

  • 物联网技术:像是售货机的顺风耳和千里眼。

  • 智能分析与推荐

  • 人员设备绑定管理

  • 移动支付支持

  • 线上线下融合(OMO):顾客可以在线上浏览商品,然后直接在售货机上购买,或者在售货机上看到喜欢的商品后,直接在线上下单。

1.1售货机术语

区域管理: 为了更高效地进行经营管理,公司将运营范围划分为若干个逻辑区域。这些区域的划分基于业务需求,可能与地理上的行政区域有所区别,以确保更合理的资源分配和更高效的运营管理。

点位选择: 点位指的是智能售货机的具体放置位置。选择点位时,我们会考虑人流量、目标顾客群体、可见度以及便利性等因素,以最大化售货机的使用效率和顾客的购买体验。

售货机功能: 智能售货机就像是一个自动的小店,里面摆满了各种商品。顾客想要什么,直接在机器上选,然后机器就会把商品送到他们手中,就像是一个自动化的仓库。

货道设计:售货机里面的货道,你可以想象成超市里的那种货架。每一层都有好几个位置可以放商品,这样就能放很多种不同的商品,而且每一层都能放很多,这样顾客的选择就会更多。

1.2平台管理

平台管理员:主要作用有基础数据的管理和创建工单排除员工完成维修或补货。

1.3产品原型

帝可得项目点击链接立即查看 腾讯 CoDesign - 腾讯 CoDesign

1.4库表设计

2.初始AI

2.1AIGC

AIGC(AI Generated Content):AIGC是AI领域的一个应用分支,专注于利用AI技术自动生成内容,包括文本,代码,图片,音频,视频。

AI大模型:通常指的是具有大量参数的深度学习模型,经过大量数据训练,具备复杂计算能力的人工智能系统,它们能够执行多种高级任务,其中包括内容生成。eg:通义千问,智谱清言。

2.2提示工程

1.Prompt

提示(Prompt)是我们对大模型提出的问题。

2.提示工程

提示工程(Prompt Engineering)也被称为上下文提示,它涉及到设计和优化输入文本,也就是Prompt,来引导AI模型生成预期的输出。

简单来说,就像是给AI出一个好问题,让它给我们一个满意的答案。

3.Prompt的组成

  • 角色:给 AI 定义一个最匹配任务的角色,比如:「你是一位软件工程师」「你是一位小学老师」

  • 指示:对任务进行描述

  • 上下文:给出与任务相关的其它背景信息(尤其在多轮交互中)

  • 例子:必要时给出举例,[实践证明其对输出正确性有帮助]

  • 输入:任务的输入信息;在提示词中明确的标识出输入

  • 输出:输出的格式描述,以便后继模块自动解析模型的输出结果,比如(JSON、Java)

例如:表结构,生成数据库说明文档,生成代码,生成代码流程图

3.项目搭建

3.1搭建后端项目

1.初始化项目

Git下载

通过idea克隆源码,仓库地址:dkd-parent: 帝可得后台管理系统

Maven构建

使用idea打开项目(get from VCS)后,等待环境检查(主要是Maven下载项目依赖)

2.MySQL相关

导入sql

1、创建数据库create schema dkd;

2、执行sql脚本文件,完成导入

配置信息

dkd-admin模块下,编辑resources目录下的application-druid.yml,修改数据库连接

3.Redis相关

启动

在redis解压目录下,编辑redis.windows.conf配置文件,设置redis密码

在redis解压目录下,执行redis-server.exe redis.windows.conf启动

配置信息

dkd-admin模块下,resources目录下的application.yml,设置redis密码等相关信息

4.项目运行

dkd-admin模块下,运行com.ruoyi.DkdApplication.java

3.2搭建前端项目

1.初始化项目

通过vscode克隆源码,仓库地址:dkd-vue: 帝可得前端

需要关闭文件夹

2.安装依赖

右上角控制面板

npm install

3.项目运行

npm run dev

4.点位管理

4.1流程

4.2库表设计

你是一位软件工程师,帮我生成MySQL的表结构
需求如下:
1,区域表,表名tb_region,字段有主键id、区域名称
2,合作商表,表名tb_partner,字段有主键id、合作商名称、联系人、联系电话、分成比例(int类型)、账号、密码
3,点位表,表名tb_node,字段有主键id、点位名称、详细地址、商圈类型(int类型)
其他要求:
1,每张表中都有创建时间(create_time)、修改时间(date_time)、创建人(create_by)、修改人(update_by)、备注(remark)这些字段
2,每张表的主键都是自增的
3,区域与点位是一对多的关系,合作商与点位是一对多的关系,请用字段表示出来,并建立外键约束
4,请为所有字段都添加上comment
5,帮我给生成的表中插入一些北京城市相关区域、点位、合作商的测试数据

4.3步骤

①创建目录菜单

创建点位管理目录菜单

②添加数据字典

先创建商圈的字典类型

再创建商圈的字典数据

③配置代码生成信息

导入三张表(代码生成器)

④下载代码并导入项目

导入后端代码:右键main

4.4区域管理改造

1.参考页面原型,完成基础布局展示改造

将主键改为序号并升序排序

删除和新增的图标进行删除

2.在区域列表查询中,需要显示每个区域的点位数

实现思路

(1)同步存储:在区域表中有点位数的字段,当点位发生变化时,同步区域表中的点位数。

  • 优点:由于是单表查询操作,查询列表效率最高。

  • 缺点:需要在点位增删改时修改区域表中的数据,有额外的开销,数据也可能不一致。

(2)关联查询:编写关联查询语句,在mapper 层封装。

  • 优点:实时查询,数据100%正确,不需要单独维护。

  • 缺点:SQL语句较复杂,如果数据量大,性能比较低。

区域和点位表,记录个数都不是很多,所以我们采用关联查询这种方案。

1.SQL查询:先聚合统计每个区域的点位数,然后与区域表进行关联查询

-- 传统模式
-- 1.先聚合统计每个区域下的点位数
-- 确定查询表 tb_node
-- 确定分组字段 region_id
select region_id,count(*) as node_count from tb_node group by region_id;
-- 2.然后与区域表进行关联查询
select r.id,r.region_name,r.remark,ifnull(n.node_count,0) as node_count from tb_region r
    left join (select region_id,count(*) as node_count from tb_node group by region_id) n on r.id=n.region_id;

-- AI辅助编程模式
-- 查询区域表所有的信息,需要显示每个区域的点位数
SELECT r.*, COUNT(n.id) AS node_count FROM tb_region r LEFT JOIN tb_node n ON r.id = n.region_id GROUP BY r.id;

2.根据接口文档和sql创建RegionVo(返回给前端的类)

创建包VO

创建RegionVo类

在mapper和xml文件中增加对应的方法

用全类名

改成小写的long

字段别名r.region_name

Mybatis开启自动驼峰命名转换admin-mybatis

然后依次修改service serviceimpl mapper层的方法

4.5合作商管理改造

1.前端修改根据页面原型

2.在PartnerServiceImpl的新增方法中修改将数据库中的密码加密,不能直接看到

使用SecurityUtil工具类,对密码加密,增加系统安全性,避免泄露风险

3.查看详情按钮

1.前端改造

2.查询合作商列表,显示点位数(与区域列表实现方式相同。ctrl+f9实现热部署 

1.SQL(联表查询)

2.PartnerVo

3.mapper和xml

sql语句后面不能加;

因为用到了分页查询,后面还会自动拼接limit

4.Controller

4.重置密码

开发流程

后端:

这篇关于帝可得智能售货机运营管理系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

使用Python实现表格字段智能去重

《使用Python实现表格字段智能去重》在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧... 目录一、引言二、数据重复问题的常见场景与影响三、python在数据清洗中的优势四、基于Python的表格字段智能去重

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

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

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

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

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

智能交通(二)——Spinger特刊推荐

特刊征稿 01  期刊名称: Autonomous Intelligent Systems  特刊名称: Understanding the Policy Shift  with the Digital Twins in Smart  Transportation and Mobility 截止时间: 开放提交:2024年1月20日 提交截止日

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景