第四个任务

第四个任务

​ 昨天刚刚解决了困扰好久的bug,今天果然又迎来了新的bug:


​ 又是在生产环境下的问题,好吧,只能硬着头皮上了!

​ 看了一下好像跟一开始第一个任务一样,都是在带宽型批量校验模板上的问题,可以直接找到上次的源文件进行分析。

定位问题


​ 做了好久的逻辑业务资源,忽然找不到批量受理的入口了。。还是没有做好笔记的锅!

​ 然后打开了OrderVerifyImportProcessor.java这个文件,找到对应的位置:


​ 加上了如下的判断语句:


好了,接下来要如何测试呢?又是在生产环境下的问题。

​ 对的,又要从数据库入手,让我们先来看看是如何跟数据库打交道的:

          List<Map<String,Object>> moList = queryDeviceBySql(value);
  
              //因为账号的数据权限没有光缆专业,所以改为sql查询
          private List<Map<String,Object>> queryDeviceBySql(Object value) throws Exception{
          if(value==null) return null;
          String sql = "SELECT (SELECT S.OBD_LEVEL FROM CE_DEVICE_OBD_CCS S WHERE S.DEVICE_ID = D.ID) OBD_LEVEL," 
                     + "D.* FROM CM_DEVICE D WHERE D.SHARDING_ID = ? AND D.NAME = ?";
          return metaService.query(sql, new Object[]{SecurityUtils.getCurrentShardingId(),value});
      }
      

让我们用这条查询语句去数据库看看,在控制台可以看到是sw_sz0923数据库,在pom.xml文件中查询账户密码,进入数据库,查询对应语句:

  
  SELECT (SELECT S.OBD_LEVEL FROM CE_DEVICE_OBD_CCS S WHERE S.DEVICE_ID = D.ID) OBD_LEVEL,
                     D.* FROM CM_DEVICE D WHERE D.SHARDING_ID = '755' AND D.NAME = '香港VDICHINALIMITED深圳代表处用户机房/99-02';   


​ 可以看到查询到一条记录,既然想代码走我写的那个逻辑,就必须是查询到多条语句,好的方向对了,现在来准备向CM_DEVICE表中插入相同NAME,ID,Sharding_ID的一条记录。


​ 然后在eclipse中重新设置断点,看看有没有在我写的代码中断,检测出多条记录。

​ 在这里浪费了好多时间,数据库修改完毕之后一定要重启数据库,重启服务器,重启浏览器并清空缓存 !!!!

全部重启之后,导出结果文件,在Excel文件中出现了我写的结果。

ok,问题完成。

svn更新上传代码,在pms网站提交补丁:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值