Jelajahi Sumber

后台首页统计

chao 3 tahun lalu
induk
melakukan
c5cf10293c

+ 31 - 0
src/main/java/com/caimei365/manager/controller/caimei/HomeApi.java

@@ -0,0 +1,31 @@
+package com.caimei365.manager.controller.caimei;
+
+import com.caimei365.manager.entity.ResponseJson;
+import com.caimei365.manager.service.caimei.HomeService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+/**
+ * 后台首页
+ *
+ * @author : Charles
+ * @date : 2022/3/23
+ */
+@RestController
+@RequestMapping("/home")
+public class HomeApi {
+    @Resource
+    private HomeService homeService;
+
+    /**
+     * 仪表盘数据
+     */
+    @GetMapping("/dashboard")
+    public ResponseJson<Map<String, Object>> getDashboardData() {
+        return homeService.getDashboardData();
+    }
+}

+ 29 - 0
src/main/java/com/caimei365/manager/dao/HomeDao.java

@@ -0,0 +1,29 @@
+package com.caimei365.manager.dao;
+
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2022/3/23
+ */
+@Mapper
+public interface HomeDao {
+    /**
+     * 统计采美用户数量
+     */
+    int countAllUsers();
+    /**
+     * 统计采美商品数量
+     */
+    int countAllProducts();
+    /**
+     * 统计采美订单数量
+     */
+    int countAllOrders();
+    /**
+     * 统计采美订单总额
+     */
+    int countAllOrderMoney();
+}

+ 18 - 0
src/main/java/com/caimei365/manager/service/caimei/HomeService.java

@@ -0,0 +1,18 @@
+package com.caimei365.manager.service.caimei;
+
+import com.caimei365.manager.entity.ResponseJson;
+
+import java.util.Map;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2022/3/23
+ */
+public interface HomeService {
+    /**
+     * 仪表盘数据
+     */
+    ResponseJson<Map<String, Object>> getDashboardData();
+}

+ 1 - 1
src/main/java/com/caimei365/manager/service/caimei/impl/FinanceServiceImpl.java

@@ -24,7 +24,7 @@ import java.util.List;
  * @author : Charles
  * @date : 2022/3/15
  */
- @Slf4j
+@Slf4j
 @Service
 public class FinanceServiceImpl implements FinanceService {
     @Resource

+ 44 - 0
src/main/java/com/caimei365/manager/service/caimei/impl/HomeServiceImpl.java

@@ -0,0 +1,44 @@
+package com.caimei365.manager.service.caimei.impl;
+
+import com.caimei365.manager.dao.HomeDao;
+import com.caimei365.manager.entity.ResponseJson;
+import com.caimei365.manager.service.caimei.HomeService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2022/3/23
+ */
+@Slf4j
+@Service
+public class HomeServiceImpl implements HomeService {
+    @Resource
+    private HomeDao homeDao;
+    /**
+     * 仪表盘数据
+     */
+    @Override
+    public ResponseJson<Map<String, Object>> getDashboardData() {
+        // 统计采美用户数量
+        int users = homeDao.countAllUsers();
+        // 统计采美商品数量
+        int products = homeDao.countAllProducts();
+        // 统计采美订单数量
+        int orders = homeDao.countAllOrders();
+        // 统计采美订单总额
+        int money = homeDao.countAllOrderMoney();
+        Map<String, Object> data = new HashMap<>(4);
+        data.put("users", users);
+        data.put("products", products);
+        data.put("orders", orders);
+        data.put("money", money);
+        return ResponseJson.success(data);
+    }
+}

+ 16 - 0
src/main/resources/mapper/HomeDao.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.caimei365.manager.dao.HomeDao">
+    <select id="countAllUsers" resultType="java.lang.Integer">
+        SELECT IFNULL(COUNT(*), 0) FROM user
+    </select>
+    <select id="countAllProducts" resultType="java.lang.Integer">
+        SELECT IFNULL(COUNT(*), 0) FROM product WHERE validFlag != '0'
+    </select>
+    <select id="countAllOrders" resultType="java.lang.Integer">
+        SELECT IFNULL(COUNT(*), 0) FROM cm_order WHERE delFlag != '0'
+    </select>
+    <select id="countAllOrderMoney" resultType="java.lang.Integer">
+        SELECT SUM(IFNULL(payTotalFee, 0)) FROM cm_order WHERE delFlag != '0'
+    </select>
+</mapper>