wuheng 2 年之前
父節點
當前提交
e88695dca7

+ 9 - 2
travel/admin/src/main/java/com/lc/admin/controller/ReportController.java

@@ -3,12 +3,14 @@ package com.lc.admin.controller;
 import com.lc.common.utils.Result;
 import com.lc.pojo.ReportMemberPojo;
 import com.lc.pojo.ReportMembers;
+import com.lc.pojo.ReportSetmealPojo;
 import com.lc.service.ReportService;
 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.HashMap;
 import java.util.List;
 
 @RequestMapping("/report")
@@ -26,8 +28,13 @@ public class ReportController {
 
     @GetMapping("/getMemberReport.do")
     public Result getMemberReport(){
-        List<ReportMembers> res = reportService.getMemberReport();
-        return Result.data(res);
+        HashMap<String, Object> memberReport = reportService.getMemberReport();
+        return Result.data(memberReport);
+    }
+
+    @GetMapping("/getSetmealReport.do")
+    public Result getSetmealReport(){
+        return Result.data(reportService.getSetmealReport());
     }
 
 }

+ 6 - 6
travel/admin/src/main/resources/templates/report_setmeal.html

@@ -51,18 +51,18 @@
                     trigger: 'item',//触发类型,在饼形图中为item
                     formatter: "{a} <br/>{b} : {c} ({d}%)"//提示内容格式
                 },
-                legend: {
-                    orient: 'vertical',
-                    left: 'left',
-                    data: res.data.data.setmealNames
-                },
+                // legend: {
+                //     orient: 'vertical',
+                //     left: 'left',
+                //     data: res.data.data.setmealNames
+                // },
                 series : [
                     {
                         name: '套餐预约占比',
                         type: 'pie',
                         radius : '55%',
                         center: ['50%', '60%'],
-                        data:res.data.data.setmealCount,
+                        data:res.data.data,
                         itemStyle: {
                             emphasis: {
                                 shadowBlur: 10,

+ 2 - 0
travel/dao/src/main/java/com/lc/dao/ReportDao.java

@@ -3,6 +3,7 @@ package com.lc.dao;
 import com.lc.pojo.HotSetmealPojo;
 import com.lc.pojo.ReportMemberPojo;
 import com.lc.pojo.ReportMembers;
+import com.lc.pojo.ReportSetmealPojo;
 
 import java.util.List;
 
@@ -13,4 +14,5 @@ public interface ReportDao {
 
     List<ReportMembers> getMemberReport();
 
+    List<ReportSetmealPojo> getSetmealReport();
 }

+ 9 - 0
travel/dao/src/main/java/com/lc/pojo/ReportSetmealPojo.java

@@ -0,0 +1,9 @@
+package com.lc.pojo;
+
+import lombok.Data;
+
+@Data
+public class ReportSetmealPojo {
+    private  String name;
+    private int value;
+}

+ 21 - 11
travel/dao/src/main/resources/com/lc/dao/ReportDao.xml

@@ -18,37 +18,37 @@
     <select id="getBusinessReportData" resultMap="BaseResultMap" >
         SELECT
             (
-                SELECT FROM_UNIXTIME( UNIX_TIMESTAMP() ,"%Y-%m-%d")
+                SELECT CURDATE()
             ) AS reportDate,
             (
-                SELECT COUNT(*) FROM t_member WHERE regTime >= FROM_UNIXTIME( UNIX_TIMESTAMP() ,"%Y-%m-%d")
+                SELECT COUNT(*) FROM t_member WHERE regTime >= CURDATE()
             ) AS todayNewMember,
             (
                 SELECT COUNT(*) FROM t_member
             ) AS totalMember,
             (
-                SELECT COUNT(*) FROM t_member WHERE regTime >= FROM_UNIXTIME( UNIX_TIMESTAMP( DATE_SUB(NOW(), INTERVAL  FROM_UNIXTIME( UNIX_TIMESTAMP(),"%w") - 1  DAY )), "%Y-%m-%d" )
+                SELECT COUNT(*) FROM t_member WHERE regTime >= DATE_SUB(CURDATE(), INTERVAL  IF ( FROM_UNIXTIME( UNIX_TIMESTAMP(), "%w" ) = 0, 7, FROM_UNIXTIME( UNIX_TIMESTAMP(), "%w" )) - 1  DAY )
             ) AS thisWeekNewMember,
             (
-                SELECT COUNT(*) FROM t_member WHERE regTime >= FROM_UNIXTIME( UNIX_TIMESTAMP( DATE_SUB(NOW(), INTERVAL FROM_UNIXTIME( UNIX_TIMESTAMP(),"%d") - 1  DAY )), "%Y-%m-%d" )
+                SELECT COUNT(*) FROM t_member WHERE regTime >= DATE_SUB(CURDATE(), INTERVAL FROM_UNIXTIME( UNIX_TIMESTAMP(),"%d") - 1  DAY )
             ) AS thisMonthNewMember,
             (
-                SELECT COUNT(*) FROM t_order  WHERE orderDate >= FROM_UNIXTIME( UNIX_TIMESTAMP() ,"%Y-%m-%d")
+                SELECT COUNT(*) FROM t_order  WHERE orderDate >= CURDATE()
             ) AS todayOrderNumber,
             (
-                SELECT COUNT(*) FROM t_order  WHERE orderDate >= FROM_UNIXTIME( UNIX_TIMESTAMP() ,"%Y-%m-%d") AND orderStatus = '已出游'
+                SELECT COUNT(*) FROM t_order  WHERE orderDate >= CURDATE() AND orderStatus = '已出游'
             ) AS todayVisitsNumber,
             (
-                SELECT COUNT(*) FROM t_order  WHERE orderDate >= FROM_UNIXTIME( UNIX_TIMESTAMP( DATE_SUB(NOW(), INTERVAL  FROM_UNIXTIME( UNIX_TIMESTAMP(),"%w") DAY )), "%Y-%m-%d" )
+                SELECT COUNT(*) FROM t_order  WHERE orderDate >= DATE_SUB(CURDATE(), INTERVAL  IF ( FROM_UNIXTIME( UNIX_TIMESTAMP(), "%w" ) = 0, 7, FROM_UNIXTIME( UNIX_TIMESTAMP(), "%w" )) -1 DAY )
             ) AS thisWeekOrderNumber,
             (
-                SELECT COUNT(*) FROM t_order  WHERE orderDate >= FROM_UNIXTIME( UNIX_TIMESTAMP( DATE_SUB(NOW(), INTERVAL  FROM_UNIXTIME( UNIX_TIMESTAMP(),"%w") DAY)), "%Y-%m-%d" ) AND orderStatus = '已出游'
+                SELECT COUNT(*) FROM t_order  WHERE orderDate >= DATE_SUB(CURDATE(), INTERVAL  IF ( FROM_UNIXTIME( UNIX_TIMESTAMP(), "%w" ) = 0, 7, FROM_UNIXTIME( UNIX_TIMESTAMP(), "%w" )) -1 DAY) AND orderStatus = '已出游'
             ) AS thisWeekVisitsNumber,
             (
-                SELECT COUNT(*) FROM t_order  WHERE orderDate >= FROM_UNIXTIME( UNIX_TIMESTAMP( DATE_SUB(NOW(), INTERVAL  FROM_UNIXTIME( UNIX_TIMESTAMP(),"%d") DAY)), "%Y-%m-%d" )
+                SELECT COUNT(*) FROM t_order  WHERE orderDate >= DATE_SUB(CURDATE(), INTERVAL  FROM_UNIXTIME( UNIX_TIMESTAMP(),"%d") DAY)
             ) AS thisMonthOrderNumber,
             (
-                SELECT COUNT(*) FROM t_order  WHERE orderDate >= FROM_UNIXTIME( UNIX_TIMESTAMP( DATE_SUB(NOW(), INTERVAL  FROM_UNIXTIME( UNIX_TIMESTAMP(),"%d") DAY)), "%Y-%m-%d" ) AND orderStatus = '已出游'
+                SELECT COUNT(*) FROM t_order  WHERE orderDate >= DATE_SUB(CURDATE(), INTERVAL  FROM_UNIXTIME( UNIX_TIMESTAMP(),"%d") DAY) AND orderStatus = '已出游'
             ) AS thisMonthVisitsNumber
     </select>
 
@@ -73,7 +73,17 @@
             COUNT(*) AS memberCount,
             MAX( m )  AS months
         FROM
-            ( SELECT id, FROM_UNIXTIME( UNIX_TIMESTAMP(regTime), "%M" ) AS m FROM t_member WHERE NOT ISNULL(regTime)  )  AS t GROUP BY m
+            ( SELECT id, FROM_UNIXTIME( UNIX_TIMESTAMP(regTime), "%m" ) AS m FROM t_member WHERE NOT ISNULL(regTime)  )  AS t GROUP BY m
+
+    </select>
+
+    <select id="getSetmealReport" resultType="com.lc.pojo.ReportSetmealPojo">
+
+        SELECT
+            `name` AS `name`,
+            (SELECT COUNT(*) FROM t_order AS o WHERE o.setmeal_id = s.id ) AS `value`
+        FROM t_setmeal AS s
+
     </select>
 
 </mapper>

+ 5 - 1
travel/service/src/main/java/com/lc/service/ReportService.java

@@ -2,11 +2,15 @@ package com.lc.service;
 
 import com.lc.pojo.ReportMemberPojo;
 import com.lc.pojo.ReportMembers;
+import com.lc.pojo.ReportSetmealPojo;
 
+import java.util.HashMap;
 import java.util.List;
 
 public interface ReportService {
     ReportMemberPojo getBusinessReportData();
 
-    List<ReportMembers> getMemberReport();
+    HashMap<String, Object> getMemberReport();
+
+    List<ReportSetmealPojo> getSetmealReport();
 }

+ 21 - 2
travel/service/src/main/java/com/lc/service/impl/ReportServiceImpl.java

@@ -3,10 +3,13 @@ package com.lc.service.impl;
 import com.lc.dao.ReportDao;
 import com.lc.pojo.ReportMemberPojo;
 import com.lc.pojo.ReportMembers;
+import com.lc.pojo.ReportSetmealPojo;
 import com.lc.service.ReportService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 
 @Service
@@ -24,8 +27,24 @@ public class ReportServiceImpl implements ReportService {
     }
 
     @Override
-    public List<ReportMembers> getMemberReport() {
-        return reportDao.getMemberReport();
+    public HashMap<String, Object> getMemberReport() {
+        List<ReportMembers> memberReport = reportDao.getMemberReport();
+        ArrayList<Object> months = new ArrayList<>();
+        ArrayList<Integer> memberCount = new ArrayList<>();
+        HashMap<String, Object> objectObjectHashMap = new HashMap<>();
+        for (ReportMembers member: memberReport ) {
+            months.add(member.getMonths());
+            memberCount.add(member.getMemberCount());
+        }
+        objectObjectHashMap.put("months", months );
+        objectObjectHashMap.put("memberCount", memberCount);
+        return objectObjectHashMap;
+    }
+
+    @Override
+    public List<ReportSetmealPojo> getSetmealReport() {
+        List<ReportSetmealPojo> setmealReport = reportDao.getSetmealReport();
+        return  setmealReport;
     }