免押金渠道上线后产生bug

来源:互联网 发布:在英国怎么淘宝购物 编辑:程序博客网 时间:2024/04/30 06:18
/*** @Description 查询父id下所有的渠道  判断是否属于免押金渠道* @date  2017年8月9日下午1:38:10* @author 刘赵强* @company www.ttpai.cn* @param source 2-306-313* @param pid*/private boolean isSourceVipByPid(String source, int pid) {List<BossSource> bossSourceVipList = bossSourceService.selectSourceByParent(pid);String parentId = String.valueOf(pid);if(null!=bossSourceVipList && bossSourceVipList.size()>0){for(BossSource bossSourceVip:bossSourceVipList){if(bossSourceVip.getId().toString().equals(source.substring(source.indexOf(parentId)+parentId.length()+1))){return true;}else{boolean result = isSourceVipByPid(source,bossSourceVip.getId());if(result){return true;}}}}return false;}此时如果 source.indexOf(parentId) 返回-1时 将会出现问题修改后的代码
/*** @Description 查询父id下所有的渠道  判断是否属于免押金渠道* @date  2017年8月9日下午1:38:10* @author 刘赵强* @company www.ttpai.cn* @param source 2-306-313* @param pid*/private boolean isSourceVipByPid(String source, int pid) {List<BossSource> bossSourceVipList = bossSourceService.selectSourceByParent(pid);if(null==bossSourceVipList || bossSourceVipList.isEmpty()){return false;}String[] sourceArray = source.split("-");if(sourceArray.length<=2){return false;}for(BossSource bossSourceVip:bossSourceVipList){if(sourceArray.length >= 3 && bossSourceVip.getId().toString().equals(sourceArray[2])){return true;}if(sourceArray.length == 4 && bossSourceVip.getId().toString().equals(sourceArray[3])){return true;}boolean result = isSourceVipByPid(source,bossSourceVip.getId());if(result){return true;}}return false;}


总结:

substring少用,很容易就出现问题

2017/08/14记录 警告自己一下 以后写代码还需要想多一点

 
原创粉丝点击