EChart と Java インターフェイスを使用して販売実績に基づく統計分析を実装する方法
@RestController @RequestMapping("/sales") public class SalesController { @GetMapping("/performance") public List<Performance> getSalesPerformance() { // 从数据库或其他数据源获取销售业绩数据,并返回一个List<Performance>对象 } }
上記のコードでは、@GetMapping
アノテーションを使用して、パス /sales を持つ GET リクエスト インターフェイスを定義します。 /パフォーマンス###。このインターフェイスは、販売実績データを含む List<Performance> オブジェクトを返します。
@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 オブジェクトの結果を構築し、その中に凡例とデータ フィールドをカプセル化します。データ フィールドで、ループ トラバーサルを使用して各パフォーマンス オブジェクトを JSON オブジェクトに変換し、データ配列に追加します。
<!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 オブジェクト データに変換します。次に、ECharts ライブラリを使用して、グラフのデータとして data を使用して円グラフを描画します。
注: 上記は単なるサンプル コードであり、実際のアプリケーションの特定のニーズに応じて調整および最適化する必要がある場合があります。
以上がECharts と Java インターフェイスを使用して販売実績に基づく統計分析を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。