如何使用ECharts和Java介面實現基於銷售績效的統計分析
@RestController @RequestMapping("/sales") public class SalesController { @GetMapping("/performance") public List<Performance> getSalesPerformance() { // 从数据库或其他数据源获取销售业绩数据,并返回一个List<Performance>对象 } }
在上述程式碼中,我們使用@GetMapping
註解定義了一個GET請求的接口,路徑為/sales /performance
。此介面將傳回一個包含銷售業績資料的List
@GetMapping("/performance/chart") public String getSalesPerformanceChart() { List<Performance> performanceList = getSalesPerformance(); // 构建ECharts所需的数据结构 JSONArray data = new JSONArray(); for (Performance performance : performanceList) { JSONObject item = new JSONObject(); item.put("name", performance.getName()); item.put("value", performance.getValue()); data.add(item); } JSONObject result = new JSONObject(); result.put("legend", new JSONArray()); result.put("data", data); return result.toJSONString(); }
上述程式碼中,我們建立了一個JSON物件result,並在其中封裝了legend和data兩個欄位。在data欄位中,使用循環遍歷將每個Performance物件轉換為一個JSON對象,並加入data陣列中。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>销售业绩统计分析</title> <script src="https://cdn.staticfile.org/echarts/4.2.1/echarts.min.js"></script> </head> <body> <div id="chart" style="width: 800px; height: 600px;"></div> <script> // 使用Ajax请求后端接口获取数据 var xhr = new XMLHttpRequest(); xhr.open('GET', '/sales/performance/chart', true); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { var data = JSON.parse(xhr.responseText); // 使用ECharts库绘制图表 var chart = echarts.init(document.getElementById('chart')); var option = { series: [{ type: 'pie', name: '销售业绩', data: data.data }] }; chart.setOption(option); } }; xhr.send(); </script> </body> </html>
在上述程式碼中,我們使用Ajax請求後端介面/sales/performance/chart
,取得資料並轉換為JSON對象data。然後,我們使用ECharts庫繪製一個圓餅圖,將data當作圖表的資料。
注意:以上只是一個簡單的範例程式碼,實際應用中可能需要根據具體需求進行調整和最佳化。
以上是如何使用ECharts和Java介面實現基於銷售業績的統計分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!