背景
最近在公司搞了一个让人头皮发麻的分单系统
因为公司是搞租赁的,提供一些商家入驻,关于订单的分配肯定不能单一拿人工去搞
本来是有这个分单系统了,也就是根据某些东西去改库里的字段,但产品设计的比较难以拓展,为了用户体验不管开发死活...各种批量+自动痛不欲生
本着这个宗旨,又改了几版,还好都是大牛在写...可惜这次到我了
代码
出错是难免的,还好大佬给每一行有可能出错的地方都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