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