第四个任务

xiaoxiao2021-02-28  15

第四个任务

​ 昨天刚刚解决了困扰好久的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网站提交补丁:

转载请注明原文地址: https://www.6miu.com/read-2649976.html

最新回复(0)