业务背景

1、现在开卡都是用 A4 纸打印,但会有很多空白,浪费纸张,其实一张小票就够了。
2、对于洗车店而言,有的都不配置 A4 打印机,只有小票打印机。现在已有洗车单小票打印,缺少卡的小票打印。

prd

卡单据打印小票

系统大图

卡小票打印方案 - 图1

现有逻辑

image.png

  1. 开卡单未结算/开卡单已结算/充值单都是调用 /marketing/kkdBill/getKkdPrintPDFPath 调用 marketing rest -> print-server
  2. 目前卡单据打印都是用的套餐卡剩余内容打印的模板分类, 模板名称是 开卡单打印
  3. 退卡单是前段生成,没有走打印模板

qps

6000/7/24/3600 = 0.00992 < 0.1

改动方案

前后端改动

  1. a4 打印还是走之前的 marketing 接口, 小票打印都走 macan 提供新接口
  2. 新增根据门店ID和打印模板分类ID查询单据打印模板ID集合接口(开卡单/充值单/退卡单), 方便后续自定义模板适配
  3. 新增根据门店ID和打印模板code和卡单据ID查询各种卡单据打印小票单据 pdf url 等3个接口

后段逻辑改动

  1. 小票打印新增开卡单/充值单/退卡单模板分类, 分类下面新增小票打印
  2. 根据不同的打印模板ID走不同的打印模板
  3. 所有单据查询根据carIdList, 查询 vinList 返回, 本次不使用此参数

灰度

新增 printGray 灰度场景值,走灰度的公司,打印小票单据

影响范围

注意事项

  1. 入口包括工单收银页面
  2. 注意打印数据安全

时序图

卡小票打印方案 - 图3

类图

接口需求

  1. 获取单据ID查询卡单据信息
  2. 根据单据ID查询卡内容详情
  3. 根据 carIdList 查询 vin 码接口
  4. 根据单据ID查询卡类型的接口

接口文档

  1. 根据门店id查询单据对应打印模板ID

https://xcz.yuque.com/maybach-open/gmmnwg/dbslhc

  1. 根据门店ID和打印模板ID和单据ID,获取打印预览url

https://xcz.yuque.com/maybach-open/gmmnwg/vzm596

通用模板提供参数文档

https://xcz.yuque.com/maybach-open/gmmnwg/fcnor4

待确定

  1. 目前还没有 适配 m1 芯片的 jaspersoft studio软件

image.png

  1. 是否新增打印模板分类
  2. 根据卡单据查询卡信息的接口, 目前还没提供
  3. 后续定制 vin 码, 需要添加新的打印模板, 本次单据打印提供 vin 码返回