造成空白渠道原因

用户下单订单信息中空白渠道遗失

在6月份7月份最近,发生用户下单后丢失渠道问题。初步测试发现,没有渠道编码的时候有会有默认值兜底,要么是手动登录要么是一键登录。在不知道链接和场景的情况下排查次问题。回到丢失信息问题中,决定从根本找起。

  • 为什么会丢失?

从缓冲中取出来并没有做非空处理,太依赖缓存中的数据一定不为空、导致设置值时为空。在这里插入图片描述

  • 为什么为空?参数没带进来吗?不是说有默认值兜底吗?

针对为什么为空开始排查
思路是:前端->操作是否存在参数丢失->后端在参数丢失的情况下是否真的有默认值。
经过1天的排查。
*前端没问题链接没问题->操作中不存在参数丢失->就算参数没有也会有默认值->一键登录
于是方向开始指向默认值是怎么设置的,看完代码后确认这里的默认值不完全绝对,为什么这么说,请看代码。
在这里插入图片描述
如果channelCode渠道参数丢失的话会走004,这样会得到默认值 “一键登录”。

假设,channelCode=4545。这个数在表里并没有,此时,tbChannelPO将为Null,在314行将会报空指针异常,而此时捕捉异常处理后剩下的代码将不在执行。也就直接跳过了设置缓存的代码。
为了验证以上论点,我在313,316行加了日志。进行测试
在这里插入图片描述
看到测试结果后心满意足。确实是此问题造成的。着也是为什么我说渠道的默认值不完全的原因。

总结

对于缓存和默认值类的不能太过于依赖惯性经验,这里造成这种原因就是因为,商店传来的渠道编码。在平台的库里查不到。这种就属于开始约定的不变,后来增量,又没有通知到平台导致

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值