外卖小程序实战-接单后小票机自动打印订单

2024-04-16 18:44

本文主要是介绍外卖小程序实战-接单后小票机自动打印订单,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、导入小票机的sdk

https://www.feieyun.com/api/API-JAVA.zip

public static String addprinter(String snlist){//通过POST请求,发送打印信息到服务器RequestConfig requestConfig = RequestConfig.custom()  .setSocketTimeout(30000)//读取超时  .setConnectTimeout(30000)//连接超时.build();CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(requestConfig).build(); HttpPost post = new HttpPost(URL);List<NameValuePair> nvps = new ArrayList<NameValuePair>();nvps.add(new BasicNameValuePair("user",USER));String STIME = String.valueOf(System.currentTimeMillis()/1000);nvps.add(new BasicNameValuePair("stime",STIME));nvps.add(new BasicNameValuePair("sig",signature(USER,UKEY,STIME)));nvps.add(new BasicNameValuePair("apiname","Open_printerAddlist"));//固定值,不需要修改nvps.add(new BasicNameValuePair("printerContent",snlist));CloseableHttpResponse response = null;String result = null;try{post.setEntity(new UrlEncodedFormEntity(nvps,"utf-8"));response = httpClient.execute(post);int statecode = response.getStatusLine().getStatusCode();if(statecode == 200){HttpEntity httpentity = response.getEntity(); if (httpentity != null){result = EntityUtils.toString(httpentity);}}}catch (Exception e){e.printStackTrace();}finally{try {if(response!=null){response.close();}} catch (IOException e) {e.printStackTrace();}try {post.abort();} catch (Exception e) {e.printStackTrace();}try {httpClient.close();} catch (IOException e) {e.printStackTrace();}}return result;}

 

查看这个添加打印机的方法。

他这个方法不是我想要的,目前这个方法是将user和ukey写死,只能传入打印机列表参数。

而我们需要设置user和ukey,所以得把它这个方法魔改一下。

 

2、制作需要的请求类 

@Data
@Schema(description = "添加小票机")
public class FeieyunRequestDto {private static final String API_NAME = "Open_printerAddlist";@Schema(description = "飞鹅云后台注册用户名")private  String user;private  String ukey;@Schema(description = "当前UNIX时间戳,10位,精确到秒。")private  String stime;/*** 对参数user+UKEY+stime 拼接后(+号表示连接符)* 进行SHA1加密得到签名,加密后签名值为40位小写字符串。*/private  String sig;@Schema(description = "请求的接口名称")private  String apiname;/*** debug=1返回非json格式的数据。仅测试时候使用。*/private  String debug;/*** 打印机编号(必填) # 打印机识别码(必填)* # 备注名称(选填) # 流量卡号码(选填),* 多台打印机请换行(\n)添加新打印机信息,每次最多100台。*/private  String printerContent;
}

 

3、更改请求参数

 

4、单元测试

本来我的帐号是没有添加小票机的

执行程序 

 

程序执行完毕,可以看到我的设备列表里新增了一台打印机,而打印机的名字也跟我程序里的“测试打印机”刚好相符,说明我们的程序是没问题的。 

 

5、集成接口 

 

 

6、测试接口 

 

 

成功了。 

 

7、打印的测试结果

打印方法的改造和接口的写法跟上面差不多,不再赘述。

用户支付成功后调用小票机打印接口,实现自动打印。

看实验效果,成功了

 

 

 

这篇关于外卖小程序实战-接单后小票机自动打印订单的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程

Java Spring 中的监听器Listener详解与实战教程

《JavaSpring中的监听器Listener详解与实战教程》Spring提供了多种监听器机制,可以用于监听应用生命周期、会话生命周期和请求处理过程中的事件,:本文主要介绍JavaSprin... 目录一、监听器的作用1.1 应用生命周期管理1.2 会话管理1.3 请求处理监控二、创建监听器2.1 Ser

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

Python程序的文件头部声明小结

《Python程序的文件头部声明小结》在Python文件的顶部声明编码通常是必须的,尤其是在处理非ASCII字符时,下面就来介绍一下两种头部文件声明,具有一定的参考价值,感兴趣的可以了解一下... 目录一、# coding=utf-8二、#!/usr/bin/env python三、运行Python程序四、