首页 > 编程语言 >程序汪接的8万智慧取餐柜项目

程序汪接的8万智慧取餐柜项目

时间:2024-04-02 22:01:56浏览次数:21  
标签:COMMENT varchar DEFAULT 智慧 取餐 汪接 NULL id

本文章来自程序汪背后的私活小团队,开发智慧取餐柜的项目,本项目非常类似快递柜项目,本项目的完整解决方案跟大家分享一下,希望给大家一些参考

<iframe allowfullscreen="true" data-mediaembed="bilibili" frameborder="0" id="iTMbOoXC-1712021283085" src="https://player.bilibili.com/player.html?aid=939791578"></iframe>

程序汪8万接的智慧取餐柜项目,开发周期40天,涉及小程序|app|PC端

B站 我是程序汪 点最下方原文链接进入

图片

这是取餐柜成品的样子,硬件厂家提供的不用程序汪去开发硬件哦,我们只开发的软件部分(小程序,PC端,APP)

图片

下面是厂家快递过来的测试机器4口,别问我为什么跟上面的不一样,上面的那个实在太大了啊,测试联调只要接口OK就行

图片

流程图先晒下,画的很简单

图片

B站【我是程序汪】

现在开发项目都喜欢前面加个智慧,程序汪的这个项目也是智慧XXX

说白了就是一个外卖项目的升级版本

图片

这图是用processon画的

开发人员情况(1人)

  • uniapp 前端   技术栈  vue  主要任务 小程序及PC端页面,APP (存取 餐)

  • 后端   技术栈  springboot  

  • 开发周期40天(设计+开发)  

  • 开发人数 1人  

  • 整体费用是8万(不含硬件部分),这是一期的开发费用

  • 付款模式 5:4:1  首付:验收:尾款

  • 走的正规公司合同

  • 云服务器1台 4核8G,经费有限先就安排1台,不够后面升级

  • 维护费用 项目总款项10%

  • 售后维护

    域名

    服务器

    日常运维

技术选型

  • 核心框架:Spring Boot

  • 数据库连接池:Druid

  • 缓存:redis

  • 前端:Vue

  • APP 小程序 Uniapp

  • 数据库:mysql

  • 服务器配置 4核8G

  • 硬件接口开发联调(云打印机 取餐柜)

项目背景

大城市里公司上班族,经常交通通勤都1个多小时,购买早餐也经常需要排很长的队,很浪费时间,本系统就是为了解决上班族购买早餐难的痛点而诞生的。程序汪上海上班时,吃早餐就很头疼,办公大厦楼下早餐店排队很夸张的,浪费了我很多写代码的时间呀。

小程序

程序汪把核心页面截图出来

本小程序主要功能就这些

  • 用户下订单

  • 骑手存餐

下面是我们的测试体验版小程序,初始数据有点随意 

图片

跟普通下单外卖不同的地方就是可以选择取餐时间和机柜

图片

骑手进入本页面点击【存餐】触发 取餐柜

图片

   

图片

      

下单成功会短信通知用户 取餐码

图片

PC端

目前主要功能,说白了在外卖系统二开的,分系统管理员和商家角色

  •  商品管理 -分系统和商家

  •  订单管理   -分系统和商家

  •  店铺管理   -分系统和商家

  •  会员权限管理 

  •  售后管理

  • 统计报表

  • 订单物流

  • 财务管理

  • 骑手管理

下面截图就是开源系统上面二开的,别问我为啥管理系统页面都长了差不多,前端是Vue    

系统管理员角色

图片

图片

商家角色

图片

图片

图片

硬件部分(取餐柜)

主要硬件是取餐柜,这个是找的第三方现成的硬件厂家,对方会提供接口文档具体的SDK包,我们的工作量就是接口开发然后联调一波。

图片

图片

图片

图片

图片

图片

图片

取餐接口(取餐柜)

下面我把核心的存餐接口给大家列出来下

创建存餐订单

使用场景
创建存餐订单

操作名称
createOrder

请求字段

{
    "deviceId":"xxxxxxxxxxx",   // 必传,设备ID
    "shopOrderId":"00000000000000",   // 必传,商户订单号,最多32位字符
    "type":1,   //非必传,请求的格子类型,普通小格1、普通大格2,不传递默认为1
    "isWarm":"1",    // 非必传,是否开始加热(1-加热【取餐时自动关闭加热】、不传递或传递0为不加热)
    "isLight":"1",    // 非必传,是否开灯(1-开灯【取餐时自动关灯】、不传递或传递0为不开灯)
    "isDisinfect":"1",    // 非必传,是否开始消毒(1-加热【取餐时自动关闭消毒】、不传递或传递0为不消毒)
    "takeCode":"1234",// 非必传,支持自定义取餐码,不传递 则AUV会默认自动生成4位取餐码
    "cellId":"12",// 非必传,支持自定义格口号,不传递 则AUV会随机分配格口
}

返回数据

存餐成功:

{
    "deviceId":"xxxxxxxxxxx",   //设备ID
    "shopOrderId":"00000000000000",   //商户订单号,最多32位字符
    "orderId":"11111111",   //存取订单ID
    "cellId":"22",  // 占用的格子号
    "code":"1234",    // 系统生成的取餐码,可以通过该值请求 takeByCode 接口进行取餐操作
    "cellAlias":"22", // 占用的格子号别名
}


存餐失败(外层code和msg返回错误信息):

复制{}

订单打印机

小程序端下订单后,会同步通知 XX云打印机,这部分硬件市面上也是有现成的,购买就行然后给云打印机系统进行接口对接即可。

硬件设备如下,也不贵 300元左右

图片

打印小票样例如下

图片

文本打印接口

请求地址:https://open-api.XXX.net/print/index
请求方式:POST

所需参数

名 称类 型描 述是否必传
client_idstring开发者的应用ID,在开放平台创建应用时获得
access_tokenstring授权的token 必要参数
machine_codestringX联云打印机终端号
contentstring打印内容(需要urlencode),排版指令详见打印机指令
idempotenceint为 1 时,origin_id 进行幂等处理,请确定 origin_id 的唯一性
origin_idstring商户系统内部订单号,要求32个字符内,只能是数字、大小写字母 ,且在同一个client_id下唯一。详见商户订单号
signstring签名 详见API文档列表-接口签名
idstringUUID4 详见API文档列表-uuid4
timestampint当前服务器时间戳(10位)

返回详情

{"error":"0","error_description":"success",
"body":{"id":"订单号","origin_id":""}}
{"error":"8","error_description":"打印机信息错误,参数有误"}
{"error":"9","error_description":"连接打印机失败,参数有误"}
{"error":"10","error_description":"权限不足"}
{"error":"12","error_description":"缺少必要参数"}
{"error":"13","error_description":"打印失败,参数有误"}
{'error':'33', 'error_description':'Uuid不合法'
}


核心表

如订单表

-- ----------------------------
DROP TABLE IF EXISTS `tp_order`;
CREATE TABLE `tp_order` (
  `order_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '订单id',
  `order_sn` varchar(20) NOT NULL DEFAULT '' COMMENT '订单编号',
  `master_order_sn` varchar(20) DEFAULT '' COMMENT '主订单号',
  `user_id` mediumint(8) unsigned NOT NULL DEFAULT '0' COMMENT '用户id',
  `order_status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '订单状态',
  `shipping_status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '发货状态',
  `pay_status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '支付状态',
  `consignee` varchar(60) NOT NULL DEFAULT '' COMMENT '收货人',
  `country` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '国家',
  `province` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '省份',
  `city` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '城市',
  `district` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '县区',
  `twon` int(11) DEFAULT '0' COMMENT '乡镇',
  `address` varchar(255) NOT NULL DEFAULT '' COMMENT '地址',
  `zipcode` varchar(60) NOT NULL DEFAULT '' COMMENT '邮政编码',
  `mobile` varchar(60) NOT NULL DEFAULT '' COMMENT '手机',
  `email` varchar(60) NOT NULL DEFAULT '' COMMENT '邮件',
  `shipping_code` varchar(32) NOT NULL DEFAULT '0' COMMENT '物流code',
  `shipping_name` varchar(120) NOT NULL DEFAULT '' COMMENT '物流名称',
  `pay_code` varchar(32) NOT NULL DEFAULT '' COMMENT '支付code',
  `pay_name` varchar(120) NOT NULL DEFAULT '' COMMENT '支付方式名称',
  `invoice_title` varchar(256) DEFAULT '' COMMENT '发票抬头',
  `goods_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '商品总价',
  `shipping_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '邮费',
  `user_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '使用余额',
  `coupon_price` decimal(10,2) DEFAULT '0.00' COMMENT '优惠了多少',
  `integral` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用积分',
  `integral_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '使用积分抵多少钱',
  `order_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '应付款金额',
  `total_amount` decimal(10,2) DEFAULT '0.00' COMMENT '订单总价',
  `add_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '下单时间',
  `confirm_time` int(10) DEFAULT '0' COMMENT '收货确认时间',
  `pay_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '支付时间',
  `shipping_time` int(11) DEFAULT '0' COMMENT '最新发货时间',
  `order_prom_id` smallint(6) NOT NULL DEFAULT '0' COMMENT '订单活动id',
  `order_prom_amount` decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '订单活动优惠金额',
  `discount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '价格调整',
  `user_note` varchar(255) NOT NULL DEFAULT '' COMMENT '用户备注',
  `admin_note` varchar(255) DEFAULT '' COMMENT '管理员备注',
  `parent_sn` varchar(100) DEFAULT NULL COMMENT '父单单号',
  `store_id` int(10) DEFAULT '0' COMMENT '店铺ID',
  `is_comment` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否评价(0:未评价;1:已评价)',
  `deleted` tinyint(1) unsigned zerofill NOT NULL,
  `is_checkout` tinyint(1) DEFAULT '0' COMMENT '0未结算1已结算',
  `qishouid` int(11) DEFAULT '0',
  `jiedantime` varchar(255) DEFAULT NULL,
  `youhuiid` int(11) DEFAULT NULL,
  `qucantime` varchar(255) DEFAULT NULL,
  `shebeiid` varchar(255) DEFAULT NULL,
  `qucanshebeiid` int(11) DEFAULT NULL,
  `baozhuangfei` varchar(255) DEFAULT NULL,
  `qucancode` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`order_id`),
  UNIQUE KEY `order_sn` (`order_sn`) USING BTREE,
  KEY `user_id` (`user_id`) USING BTREE,
  KEY `order_status` (`order_status`) USING BTREE,
  KEY `shipping_status` (`shipping_status`) USING BTREE,
  KEY `pay_status` (`pay_status`) USING BTREE,
  KEY `shipping_id` (`shipping_code`) USING BTREE,
  KEY `pay_id` (`pay_code`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=485 DEFAULT CHARSET=utf8;


总结

其实本系统技术难度不高,只要把整个解决方案确定出来了,后面的也就写业务代码而已,各种硬件接口开发联调比较费时间,程序汪可以预测这种项目以后估计会越来越多,会大大提高大家的工作生活效率。

程序汪接的其他7个私活都在这里,经验整理

获取外卖项目源码点击下方链接

Spring Boot vue完整的外卖系统,手机端和后台管理api 源码赠送

私活合作加VX:itwang007

图片

标签:COMMENT,varchar,DEFAULT,智慧,取餐,汪接,NULL,id
From: https://blog.csdn.net/u011091199/article/details/137256620

相关文章

  • 【附源码】JAVA计算机毕业设计智慧点餐系统(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的快速发展和互联网的普及,人们的生活方式发生了深刻的变化。特别是在餐饮行业,传统的点餐方式已经无法满足现代消费者对于便捷性、个性化......
  • 智慧开发平台免!费!申请试用
    原创 F学社 F学社 2024-04-0117:13 江苏扫描二维码即可申请试用01智慧开发平台简介F1WIFI智慧教育平台是可支持线上线下联动的基于FPGA的口袋式数字系统学习平台。其采用了AMD、Altera、安路、高云等国外国内主流公司的FPGA进行数字系统方向的教学实验设计,可覆盖从......
  • 享道出行:容器弹性技术驱动下的智慧出行稳定性实践
    作者:郑嘉扬、何杉前言享道出行是一家专注于出行服务的专业品牌,是上汽集团实现汽车产业“新四化”(即“电动化、智能网联化、共享化、国际化”)的重要组成部分。作为上汽集团移动出行战略品牌,享道出行充分利用全产业链竞争优势,从消费者对安全及品质的需求出发,通过为消费者提供安全......
  • 智慧安防监控EasyCVR视频调阅和设备录像回看无法自动播放的原因排查与解决
    智慧安防监控EasyCVR视频管理平台能在复杂的网络环境中,将前端设备统一集中接入与汇聚管理。国标GB28181协议视频监控/视频汇聚EasyCVR平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的......
  • 【附源码】JAVA计算机毕业设计智慧外贸平台(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在全球经济一体化的时代背景下,智慧外贸平台的建设已成为提升我国外贸竞争力、优化国际贸易环境的关键一环。随着信息技术的迅猛发展,传统的外贸模式已......
  • 【附源码】JAVA计算机毕业设计智慧物流管理系统(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息化时代的快速发展,物流行业作为现代经济体系的重要支柱,正面临着前所未有的机遇与挑战。传统的物流管理方式已难以适应现代社会的需求,智能化、......
  • 【附源码】JAVA计算机毕业设计智慧小饭桌(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着社会的快速发展和科技的进步,人们对教育的关注和要求也在不断提高。在当今快节奏的生活中,许多家庭面临着孩子午餐难以解决的问题,尤其是对于那些工......
  • 【附源码】JAVA计算机毕业设计智慧型居民小区物业管理(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加速和居民生活水平的提高,智慧型居民小区逐渐成为现代城市发展的一个重要方向。在这样的背景下,传统物业管理模式已难以满足居民日益......
  • 乡村智慧化:数字乡村助力农村可持续发展
    目录一、数字乡村的内涵与特征二、数字乡村助力农村可持续发展的路径(一)提升农业生产效率(二)推动农村产业融合发展(三)优化乡村治理模式(四)促进乡村生态文明建设三、数字乡村发展面临的挑战与对策四、结语随着信息化时代的到来,数字技术的迅猛发展正深刻改变着社会的生产......
  • 数据可视化是怎样在智慧农业中发挥作用的?
    数据可视化在智慧农业中发挥着不可替代的作用。随着科技的不断进步,农业领域也在不断探索创新,以提高生产效率、优化资源利用,从而实现可持续发展。而数据可视化技术的应用,则成为了实现智慧农业目标的重要途径。下面我就从可视化从业者的角度,简单聊聊这个话题。智慧农业的核心是数......