前端使用了Jquery Datatables插件,代码如下
<table class="display" id="countTable">
<thead>
<tr>
<th>接口类型</th>
<th>完成率</th>
<th>总数</th>
<th>成功</th>
<th>失败</th>
<th>执行中</th>
<th>平均时长(秒)</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
function initCountTable() { var apiNameList = new Array(); for (var i = 0; i < $("#orderTypeSelect option").length; i++) { var optionVal = $("#orderTypeSelect option").eq(i).val(); if (optionVal == "") { continue; } var apiName = optionVal.split("|")[0]; apiNameList.push(apiName); } $('#countTable').DataTable( { "ajax": { url: "/order/queryApiCount.json", data: { apiNameList: apiNameList }, type: "POST" }, "columns": [ { "data": "apiName" }, { "data": "completionRate" }, { "data": "totalCount" }, { "data": "successCount" }, { "data": "failCount" }, { "data": "processingCount"}, { "data": "averageSpendTime"} ], "bPaginate": false,//是否分页显示 "searching": false,//是否展示搜索框 "order": [[ 1, "desc" ]]//默认排序列 }); }
后端使用SpringMVC接收参数
@RequestMapping(value = "/order/queryApiCount.json", method = RequestMethod.POST)
@ResponseBody
public Object queryApiCount(@RequestParam("apiNameList[]") List<String> apiNameList) {
Map map = Maps.newHashMap();
DecimalFormat decimalFormat = new DecimalFormat("0.00");
List<OrderCount> orderCountList = Lists.newArrayList();
if (!CollectionUtils.isEmpty(apiNameList)) {
//......省略部分代码
orderCountList.add(orderCount);
}
map.put("data", orderCountList);
return map;
}
数据模型
@Data
public class OrderCount {
private String apiName;
private String completionRate = "";
private int totalCount;
private int successCount;
private int oneTimeSuccessCount;
private int retrySuccessCount;
private int failCount;
private int processingCount;
private double averageSpendTime;
}