又是上线日,不知道为啥晚上就容易想点啥。这次上线前吧有点坎坷,对接外围系统出了点问题。测试过程中发现了这个问题,但是去找开发,开发就一个推一个。流程说流程没问题,你去找收单;收单说收单没问题,你去找数据;数据说数据没问题,你去找外围系统;外围系统说我们给你的报文没问题,是你们自己的问题。这么一推二推就推了两天,给我整的又着急又生气。只能把这个bug升级在升级,终于被大佬在群里@开发定位解决(测试说话是真的没啥作用,小声bb)。最后发现,嘿外围系统悄悄改了点东西,没通知我们。收单数据是没问题,他们给的报文也没问题,但是转换就有问题了。我们9是不变,2是新增,6是修改,他们给改了,导致最后展示的不变的信息都变成修改了。。这就很头疼,外围系统自己改点啥不通知,这次测到了是发现了,那下次没测到不就上生产出问题了吗,ε=(´ο`*)))唉
另外就是如何能提高推动开发修改的效率呢?首先就是提高自己定位bug的能力,是前端还是后端,后端的话是受理、收单、数据还是流程?接触这个项目这么久了,也基本能判断是哪的问题,就是有部分bug定位还不是很准确,感觉是受理或者收单的锅,可能最后是数据的问题。另外就是及时关注bug状态,开发发现这个bug不是自己的问题就立马指回给测试,这就导致bug的解决效率很低,战线拉得长。特别是对接外围的就更难找人去处理了。。
这一段时间不是接手了个新项目吗,主要是数据展示的一个项目,根据时间、类别、地区等等划分,进行实时统计展示的一个系统,主要是在数据库按不同的条件查查查,看看展示的对不对。基本的还阔以,进阶一点的就需要在回忆里再翻翻。
首先就遇到一个问题,就是在查询某环节在途任务时,需要将finish_time为空的单子判断为在途,想当然的写了where finish_time = null 查的时候没有报错却查到了全部走过该环节的数据。一般情况下将任何值(包括NULL本身)与NULL做比较的时候,都会返回UnKnown。所以在写查询语句的时候要写 where finish_time is null;
另外就是查询某种类型的单子的总量,这种类型包括多种类型,对一个字段匹配多个值的就可以写成 where type_code in(1101,1102); 如果是不确定的话就可以写成where type_code like ‘11%‘; 如果要匹配四位类型,且最后一位不确定的话就是 where type_code like ‘110_‘;
用in 的时候还跟开发发生了一件事情,我比开发查的数据要多两条,拉出数据来一瞅,有两条是符合条件的为啥没筛进去呢?因为他的某一个字段里包含了两种字段,就好比筛选铅笔、橡皮等商品时,会用**in(‘铅笔‘,‘橡皮‘),但是这个时候是筛不到铅笔橡皮的,而**in(铅笔,橡皮)就能查到= =
最近碰上一个问题,就是有一个字段是以json串形式被保存在数据库中,但是由于这个json串很长,而且这个字段也不是固定位置的。需要统计若干个单子中包含这个字段,且这个字段要早于当前时间。不知道有木有大佬能给一个解决办法,如何能快速统计呢?