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

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

相关文章

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

Java面试八股之怎么通过Java程序判断JVM是32位还是64位

怎么通过Java程序判断JVM是32位还是64位 可以通过Java程序内部检查系统属性来判断当前运行的JVM是32位还是64位。以下是一个简单的方法: public class JvmBitCheck {public static void main(String[] args) {String arch = System.getProperty("os.arch");String dataM

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码+详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装,可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 (1)通过position属性,可以控制下拉选项的位置 (2)通过传入width属性, 可以自定义下拉选项的宽度 (3)通过传入classN

一道经典Python程序样例带你飞速掌握Python的字典和列表

Python中的列表(list)和字典(dict)是两种常用的数据结构,它们在数据组织和存储方面有很大的不同。 列表(List) 列表是Python中的一种有序集合,可以随时添加和删除其中的元素。列表中的元素可以是任何数据类型,包括数字、字符串、其他列表等。列表使用方括号[]表示,元素之间用逗号,分隔。 定义和使用 # 定义一个列表 fruits = ['apple', 'banana

WordPress网创自动采集并发布插件

网创教程:WordPress插件网创自动采集并发布 阅读更新:随机添加文章的阅读数量,购买数量,喜欢数量。 使用插件注意事项 如果遇到404错误,请先检查并调整网站的伪静态设置,这是最常见的问题。需要定制化服务,请随时联系我。 本次更新内容 我们进行了多项更新和优化,主要包括: 界面设置:用户现在可以更便捷地设置文章分类和发布金额。代码优化:改进了采集和发布代码,提高了插件的稳定

【青龙面板辅助】JD商品自动给好评获取京豆脚本

1.打开链接 开下面的链接进入待评价商品页面 https://club.jd.com/myJdcomments/myJdcomments.action?sort=0 2.登陆后执行脚本 登陆后,按F12键,选择console,复制粘贴以下代码,先运行脚本1,再运行脚本2 脚本1代码 可以自行修改评价内容。 var content = '材质很好,质量也不错,到货也很快物流满分,包装快递满

PyTorch模型_trace实战:深入理解与应用

pytorch使用trace模型 1、使用trace生成torchscript模型2、使用trace的模型预测 1、使用trace生成torchscript模型 def save_trace(model, input, save_path):traced_script_model = torch.jit.trace(model, input)<

美容美发店营销版微信小程序源码

打造线上生意新篇章 一、引言:微信小程序,开启美容美发行业新纪元 在数字化时代,微信小程序以其便捷、高效的特点,成为了美容美发行业营销的新宠。本文将带您深入了解美容美发营销微信小程序,探讨其独特优势及如何助力商家实现业务增长。 二、微信小程序:美容美发行业的得力助手 拓宽客源渠道:微信小程序基于微信社交平台,轻松实现线上线下融合,帮助商家快速吸引潜在客户,拓宽客源渠道。 提升用户体验:

AI炒股:自动画出A股股票的K线图并添加技术指标

在deepseek中输入提示词: 你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下: 用AKShare库获取股票贵州茅台(股票代码:600519)在2024年3月7日到2024年6月5日期间的历史行情数据-前复权。 然后绘制K线图,并在K线图上添加布林线、MACD 注意: 每一步都要输出信息到屏幕上; 日期格式是YYYYMMDD; 设置中文字体,以解决

程序人生--拔丝地瓜

一个会享受生活的人,难免会执迷于探索“三餐茶饭,四季衣裳”的朴素涵义。如今在这繁杂喧闹、竞争激烈的社会环境里,如何才能从周而复始的生活中挖掘出一点儿期待!这是一个仁者见仁智者见智的开放性话题。对于大部分的人来说,看电影、运动、旅游、美食、加班....是假日的备选安排。 春节临走之前,再次尝试“拔丝地瓜”,为何要强调“再次”二字?因为这道甜菜我已经尝试过很多次,失败与成功都经历过。十几年的烧饭经历