窗口屏幕上那行是 138 加一串星号,客人手里那张小票上 11 位一位不差。屏显的掩码是三年前配登录的时候加上去的,打印模板去年换过一版,换完没人回头核它读的是哪一栏。同一笔订单、同一个号,两个出口两套写法,票务系统里就这么并排跑了大半年。
为什么会两套:屏显读的是页面上的显示口径,小票读的是打印模板里的字段绑定,各写各的,谁也不引用谁。改屏不改纸,改纸不改屏,两边都没错,合起来就错。同一栏位其实有三个出口——屏显、小票、接口,三处各有各的读法,口径得在票务系统里由一处定死。
屏显那一路是给操作员自己看的,够用就行:认人不靠号码,靠订单号和姓名,掩码留后几位不影响他判断。售票系统里凡是屏上能看见的东西都会被截图,屏显这一路宁可少给。
小票那一路是客人带走的,落在自家桌上、包里、孩子的口袋里。这一路不是给内部用的,它按对外算:纸上印出去的每一个字,都不再受窗口控制。接口那一路给合作方,字段带哪几项由票务系统里那张授权单定,不在打印这一路里处理;也别在售票系统这边偷偷给接口多补一列。

掩码规则只有一份,改它要两个人
显示与打印的掩码规则写在同一份配置里,屏显和小票都从这一份取值,不许模板里再自己写一套。改动需二人确认:一个人改,另一个人在改完的那台机器上真打一张出来核,纸上和屏上对得上才算改完。这份配置归票务系统的参数管理,不归哪一家做打印的说了算,核过的那张样张留档。只改配置不重打样张,是这套规则最常见的落空方式——配置已经是新的,吐出来的纸还是旧的,模板有缓存,第二天窗口照旧往外打全号,没人知道。
小票上的手机号只保留后 4 位。前面不留星号占位,一串星号会把整段位数露出来;也不留前 3 位,号段留着,有心人拿着后 4 位加号段能试很久。对外的那张纸上,这一栏就是 4 个数字,其他一律不出。
模板改一栏,要全打一遍
改打印模板的影响面比想象大。票面文字、退改说明、条码位置、抬头和联次全在同一张模板上,动一栏会挤到别处;模板还按票种分档,窗口票、团队票、纸质凭证各一套,改一处就得每一档各打一张留样,售票系统这边把样张拍照归档。留样这步省不得:不归档,下次有人问"票面上怎么变了",手里没有当时那版可以对。
客人拿着小票来问信息泄露,怎么答也有口径。三句话:纸上只印了后四位,前面没有;这笔订单在我们系统里对得上的是订单号;要退款或者改期,报订单号就行,不用念号码。答的时候别当场翻全号,售票系统的窗口屏上本来就是掩码,翻不出也不该翻。客人坚持要一个完整号回话的,不在窗口处理,转按单核对的流程走。

例外一条:财务内部凭证允许全号,但不得对外发放。内部凭证单独一种版式、单独一台打印机,不进客人手里那一路,取用只在那间屋子里,谁打印留记录。这一张是拿来核账和追单的,号是它的检索线索;把它的版式挪去发客人,就是拿内部口径做外发的事。
