diff --git a/rlz-ui/src/api/system/finance.js b/rlz-ui/src/api/system/finance.js index 5d028c3..38513cf 100644 --- a/rlz-ui/src/api/system/finance.js +++ b/rlz-ui/src/api/system/finance.js @@ -69,3 +69,12 @@ export function getJiaoyiDetail(id) { method: 'get' }) } + +// ========== 仪表盘 ========== + +export function getDashboard() { + return request({ + url: '/system/view/dashboard', + method: 'get' + }) +} diff --git a/rlz-ui/src/views/index.vue b/rlz-ui/src/views/index.vue index 118d8bd..aab2d64 100644 --- a/rlz-ui/src/views/index.vue +++ b/rlz-ui/src/views/index.vue @@ -1,121 +1,251 @@ - - - - - - + + + + + diff --git a/rlz/ruoyi-system/src/main/java/com/ruoyi/system/controller/OrderViewController.java b/rlz/ruoyi-system/src/main/java/com/ruoyi/system/controller/OrderViewController.java index 94dce42..03da78d 100644 --- a/rlz/ruoyi-system/src/main/java/com/ruoyi/system/controller/OrderViewController.java +++ b/rlz/ruoyi-system/src/main/java/com/ruoyi/system/controller/OrderViewController.java @@ -137,6 +137,22 @@ public class OrderViewController extends BaseController return AjaxResult.success(result); } + /** + * 仪表盘统计数据 + */ + @GetMapping("/dashboard") + public AjaxResult dashboard() + { + java.util.Map result = new java.util.HashMap<>(); + result.put("orderStatusStats", iRlzOrderService.getOrderStatusStats()); + result.put("orderTypeStats", iRlzOrderService.getOrderTypeStats()); + result.put("dailyOrderTrend", iRlzOrderService.getDailyOrderTrend()); + result.put("dailyRevenueTrend", iRlzOrderService.getDailyRevenueTrend()); + result.put("hospitalRanking", iRlzOrderService.getHospitalRanking()); + result.put("caregiverRanking", iRlzOrderService.getCaregiverRanking()); + return AjaxResult.success(result); + } + /** * 获取VIEW详细信息 */ diff --git a/rlz/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RlzOrderMapper.java b/rlz/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RlzOrderMapper.java index b07b021..e63a1eb 100644 --- a/rlz/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RlzOrderMapper.java +++ b/rlz/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RlzOrderMapper.java @@ -63,4 +63,34 @@ public interface RlzOrderMapper * 收入统计 */ public List> getIncomeStats(java.util.Map params); + + /** + * 仪表盘-订单状态分布 + */ + public List> getOrderStatusStats(); + + /** + * 仪表盘-服务类型分布 + */ + public List> getOrderTypeStats(); + + /** + * 仪表盘-日订单趋势(近30天) + */ + public List> getDailyOrderTrend(); + + /** + * 仪表盘-日收入趋势(近30天) + */ + public List> getDailyRevenueTrend(); + + /** + * 仪表盘-医院服务量排名 + */ + public List> getHospitalRanking(); + + /** + * 仪表盘-陪护服务排名 + */ + public List> getCaregiverRanking(); } diff --git a/rlz/ruoyi-system/src/main/java/com/ruoyi/system/service/IRlzOrderService.java b/rlz/ruoyi-system/src/main/java/com/ruoyi/system/service/IRlzOrderService.java index 491907f..bccff88 100644 --- a/rlz/ruoyi-system/src/main/java/com/ruoyi/system/service/IRlzOrderService.java +++ b/rlz/ruoyi-system/src/main/java/com/ruoyi/system/service/IRlzOrderService.java @@ -78,4 +78,34 @@ public interface IRlzOrderService Long insertOrderPz(RlzOrder rlzOrder); List> getIncomeStats(java.util.Map params); + + /** + * 仪表盘-订单状态分布 + */ + List> getOrderStatusStats(); + + /** + * 仪表盘-服务类型分布 + */ + List> getOrderTypeStats(); + + /** + * 仪表盘-日订单趋势(近30天) + */ + List> getDailyOrderTrend(); + + /** + * 仪表盘-日收入趋势(近30天) + */ + List> getDailyRevenueTrend(); + + /** + * 仪表盘-医院服务量排名 + */ + List> getHospitalRanking(); + + /** + * 仪表盘-陪护服务排名 + */ + List> getCaregiverRanking(); } diff --git a/rlz/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RlzOrderServiceImpl.java b/rlz/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RlzOrderServiceImpl.java index 9100097..b517586 100644 --- a/rlz/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RlzOrderServiceImpl.java +++ b/rlz/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RlzOrderServiceImpl.java @@ -349,4 +349,34 @@ public String weixinPayOrderNext(String decryptOrder) { public List> getIncomeStats(java.util.Map params) { return rlzOrderMapper.getIncomeStats(params); } + + @Override + public List> getOrderStatusStats() { + return rlzOrderMapper.getOrderStatusStats(); + } + + @Override + public List> getOrderTypeStats() { + return rlzOrderMapper.getOrderTypeStats(); + } + + @Override + public List> getDailyOrderTrend() { + return rlzOrderMapper.getDailyOrderTrend(); + } + + @Override + public List> getDailyRevenueTrend() { + return rlzOrderMapper.getDailyRevenueTrend(); + } + + @Override + public List> getHospitalRanking() { + return rlzOrderMapper.getHospitalRanking(); + } + + @Override + public List> getCaregiverRanking() { + return rlzOrderMapper.getCaregiverRanking(); + } } diff --git a/rlz/ruoyi-system/src/main/resources/mapper/system/RlzOrderMapper.xml b/rlz/ruoyi-system/src/main/resources/mapper/system/RlzOrderMapper.xml index 61f36ae..7b91b32 100644 --- a/rlz/ruoyi-system/src/main/resources/mapper/system/RlzOrderMapper.xml +++ b/rlz/ruoyi-system/src/main/resources/mapper/system/RlzOrderMapper.xml @@ -244,6 +244,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + + +