背景
最近在公司搞了一个让人头皮发麻的分单系统
因为公司是搞租赁的,提供一些商家入驻,关于订单的分配肯定不能单一拿人工去搞
本来是有这个分单系统了,也就是根据某些东西去改库里的字段,但产品设计的比较难以拓展,为了用户体验不管开发死活...各种批量+自动痛不欲生
本着这个宗旨,又改了几版,还好都是大牛在写...可惜这次到我了
代码
出错是难免的,还好大佬给每一行有可能出错的地方都try -catch了,产品给的的条件真的是多到恐怖
这些东西肯定不能每次都上系统日志上去看,而且我们平台的日志又年久失修,每次都是凭运气去看
只是分享这样一种思想,从大牛身上剽窃的智慧
处理
try{ if(....){ throw new HzsxBizException("-1","分单停止:没有xxx代扣和xxx代扣标识,不支持自动分单"); } } catch (Exception e) { AutoAssginRecord autoAssginRecord = new AutoAssginRecord(); autoAssginRecord.setOrderId(userOrders.getOrderId()); autoAssginRecord.setShopId(userOrders.getShopId()); autoAssginRecord.setRemark("备注:"+e.getMessage()); ......... autoAssginRecord.setUpdateTime(new Date()); autoAssginRecord.setCreateTime(new Date()); autoAssginRecordDao.save(autoAssginRecord); .......... }
因为这个分单系统是异步的,如果中间抛自定义异常,从库里拉到没分成功的订单号就能排查到原因
妈妈再也不用担心我翻日志了
开发经验get +1