智能导航短信告警的一个逻辑处理
生活随笔
收集整理的這篇文章主要介紹了
智能导航短信告警的一个逻辑处理
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【因為沒有引入工具類,只注重實現(xiàn)邏輯,忽略具體方法】
String totalCountSql = "select count(log_id) totalCount,province from tbl_svc_visit_his where svc_name = ? and start_date>= ? and start_date<=? and his_type='0' group by province";String successCountSQL = "select count(log_id) succCount,province from tbl_svc_visit_his "+" where svc_name=? and start_date>= ? and start_date<=? and his_type='0' "+" and resp_code in ("+judgeSuccess+") group by province";List<Map<String,Object>> totalAndProvRs = adminService.findBySql(totalCountSql, args.toArray());//查出包含總數(shù)和省份的數(shù)據(jù)集 List<Map<String,Object>> succAndProvRs= adminService.findBySql(successCountSQL, args.toArray());//查出包含成功數(shù)和省份的數(shù)據(jù)集Map<String,Map<String,Object>> totalSuccProvRateRs = new HashMap<String,Map<String,Object>>(); //key:省份 value:【總數(shù) 成功數(shù) 成功率】//1. 遍歷 省份+總數(shù)集合totalAndProvRs, 取到省份及對應的數(shù)據(jù),以省份為key,存儲到totalSuccProvRateRs對象 for (Map totalAndProv : totalAndProvRs) {totalSuccProvRateRs.put((String) totalAndProv.get("PROVINCE"),totalAndProv );//省份 總數(shù)logger.debug("總數(shù)集合中的省份為======" + totalAndProv.get("PROVINCE")); } //2. 遍歷 省份+成功數(shù)集合succAndProvRs, 根據(jù)省份從totalSuccProvRateRs找到匹配數(shù)據(jù),并將成功數(shù),成功率等更新進去. for (Map succAndProv : succAndProvRs) {Map<String,Object> totalSuccAndRateRs =totalSuccProvRateRs.get( (String) succAndProv.get("PROVINCE") );//取到省份數(shù)據(jù)對象totalSuccAndRateRs.put("SUCCCOUNT", succAndProv.get("SUCCCOUNT"));//放入成功數(shù)【總數(shù) 成功數(shù)】logger.debug("總數(shù)+成功數(shù)===================" + totalSuccAndRateRs);if (totalSuccAndRateRs.get("TOTALCOUNT") != null) {NumberFormat numFormat=NumberFormat.getNumberInstance(); numFormat.setMaximumFractionDigits(2);//設置小數(shù)點后面位數(shù)為Double succRate2 = ( Integer.parseInt(succAndProv.get("SUCCCOUNT").toString())*1.00 / Integer.parseInt(totalSuccAndRateRs.get("TOTALCOUNT").toString())*1.00 );String succRate=numFormat.format(succRate2);totalSuccAndRateRs.put("succRate", (Object)succRate);//放入成功率logger.debug("成功數(shù)集合中的省份為======" + succAndProv.get("PROVINCE")); //省份 總數(shù) 成功數(shù) 成功率totalSuccProvRateRs.put((String) succAndProv.get("PROVINCE"),totalSuccAndRateRs ); }else {logger.debug("接口調(diào)用總筆數(shù)為空");} } logger.debug("獲取到省份,總數(shù),成功數(shù),成功率===============" + totalSuccProvRateRs);總結(jié)
以上是生活随笔為你收集整理的智能导航短信告警的一个逻辑处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache和Apache Tomcat
- 下一篇: 【Hibernate】JDBC操作与hi