soft5566 3 vuotta sitten
vanhempi
commit
3214c28d26

+ 38 - 10
src/main/java/com/ch/jiaoxuelou_houtai/controller/ApiController.java

@@ -1,5 +1,6 @@
 package com.ch.jiaoxuelou_houtai.controller;
 package com.ch.jiaoxuelou_houtai.controller;
 
 
+import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONObject;
 import com.ch.jiaoxuelou_houtai.core.ResponseResult;
 import com.ch.jiaoxuelou_houtai.core.ResponseResult;
 import com.ch.jiaoxuelou_houtai.entity.Course;
 import com.ch.jiaoxuelou_houtai.entity.Course;
@@ -14,8 +15,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
-import java.sql.ResultSet;
-import java.sql.SQLException;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -28,6 +27,14 @@ public class ApiController {
     @Autowired
     @Autowired
     private CourseService courseService;
     private CourseService courseService;
 
 
+    @RequestMapping(value = "/getNumberInCollege", method = RequestMethod.POST)
+    public ResponseResult getNumberInCollege() {
+
+        List<Map<String, Integer>> list = courseService.getNumberInCollege();
+
+        return ResponseResult.success(list);
+    }
+
     /**
     /**
      * 教室使用情况
      * 教室使用情况
      *
      *
@@ -69,8 +76,9 @@ public class ApiController {
         else
         else
             section = "未使用";
             section = "未使用";
         // 获取教室总数量
         // 获取教室总数量
-//        int totalOfClassRoom = courseService.getTotalOfClassRoom(building);
-        int totalOfClassRoom = 118;
+        // int totalOfClassRoom = courseService.getTotalOfClassRoom(building);
+        // 教室总数量是固定不变的,不能根据课表来计算
+        int totalOfClassRoom = 118;  //
         // 获取正在使用的教室总数量
         // 获取正在使用的教室总数量
         int numOfUsingClassRoom = courseService.getNumOfUsingClassRoom(building, schoolYear, semester, weeks, week, section);
         int numOfUsingClassRoom = courseService.getNumOfUsingClassRoom(building, schoolYear, semester, weeks, week, section);
         // 使用中的教室百分比
         // 使用中的教室百分比
@@ -137,6 +145,10 @@ public class ApiController {
         return ResponseResult.success(courses);
         return ResponseResult.success(courses);
     }
     }
 
 
+    /**
+     * 获取学年、学期参数
+     * @return
+     */
     private Map<String, String> getParams() {
     private Map<String, String> getParams() {
         Map<String, String> map = new HashMap<>();
         Map<String, String> map = new HashMap<>();
         // 获取开学时间
         // 获取开学时间
@@ -191,13 +203,29 @@ public class ApiController {
      */
      */
     @RequestMapping(value = "/getNumbOfAwardWinners", method = RequestMethod.POST)
     @RequestMapping(value = "/getNumbOfAwardWinners", method = RequestMethod.POST)
     public ResponseResult getNumbOfAwardWinners() {
     public ResponseResult getNumbOfAwardWinners() {
-        Map<String, Integer> data = new HashMap<>();
-        data.put("2020级", 780);
-        data.put("2022级", 490);
-        data.put("2023级", 350);
-        data.put("2024级", 250);
+        JSONObject obj0 = new JSONObject();
+        obj0.put("grade", "2019级");
+        obj0.put("number", "828");
+
+        JSONObject obj1 = new JSONObject();
+        obj1.put("grade", "2020级");
+        obj1.put("number", "780");
+
+        JSONObject obj2 = new JSONObject();
+        obj2.put("grade", "2021级");
+        obj2.put("number", "490");
+
+        JSONObject obj3 = new JSONObject();
+        obj3.put("grade", "2022级");
+        obj3.put("number", "350");
+
+        JSONArray returnData = new JSONArray();
+        returnData.add(obj0);
+        returnData.add(obj1);
+        returnData.add(obj2);
+        returnData.add(obj3);
 
 
-        return ResponseResult.success(data);
+        return ResponseResult.success(returnData);
     }
     }
 
 
     /**
     /**

+ 8 - 4
src/main/java/com/ch/jiaoxuelou_houtai/controller/VideoController.java

@@ -158,8 +158,8 @@ public class VideoController {
         } else {
         } else {
             returnMap.put("code", "200");
             returnMap.put("code", "200");
             returnMap.put("msg", "获取电脑使用情况成功!");
             returnMap.put("msg", "获取电脑使用情况成功!");
-            returnMap.put("computer_total", "100");
-            returnMap.put("computer_on_using", "200");
+            returnMap.put("computer_total", "500");
+            returnMap.put("computer_on_using", "460");
         }
         }
 
 
         return returnMap;
         return returnMap;
@@ -180,13 +180,17 @@ public class VideoController {
         } else {
         } else {
             returnMap.put("code", "200");
             returnMap.put("code", "200");
             returnMap.put("msg", "获取摄像头使用情况成功!");
             returnMap.put("msg", "获取摄像头使用情况成功!");
-            returnMap.put("projector_total", "100");
-            returnMap.put("projector_on_using", "200");
+            returnMap.put("projector_total", "600");
+            returnMap.put("projector_on_using", "598");
         }
         }
 
 
         return returnMap;
         return returnMap;
     }
     }
 
 
+    /**
+     * 设备使用情况
+     * @return
+     */
     @RequestMapping(value = "/getEquipmentUsage", method = RequestMethod.POST)
     @RequestMapping(value = "/getEquipmentUsage", method = RequestMethod.POST)
     public ResponseResult getEquipmentUsage() {
     public ResponseResult getEquipmentUsage() {
         Map<String, String> computerUsage = getComputerUsage();
         Map<String, String> computerUsage = getComputerUsage();

+ 8 - 0
src/main/java/com/ch/jiaoxuelou_houtai/core/ResponseResult.java

@@ -46,4 +46,12 @@ public class ResponseResult implements Serializable {
 				.build();
 				.build();
 	}
 	}
 
 
+	// NOT_AUTHORIZED_EXCEPTION
+	public static ResponseResult noAccess() {
+		return ResponseResult.builder()
+				.status(ResponseStatus.NOT_AUTHORIZED_EXCEPTION.valueEn)
+				.msg(ResponseStatus.NOT_AUTHORIZED_EXCEPTION.valueZh)
+				.code(ResponseStatus.NOT_AUTHORIZED_EXCEPTION.bCode)
+				.build();
+	}
 }
 }

+ 20 - 2
src/main/java/com/ch/jiaoxuelou_houtai/core/interceptor/JwtInterceptor.java

@@ -1,7 +1,9 @@
 package com.ch.jiaoxuelou_houtai.core.interceptor;
 package com.ch.jiaoxuelou_houtai.core.interceptor;
 
 
+import com.ch.jiaoxuelou_houtai.core.ResponseResult;
 import com.ch.jiaoxuelou_houtai.entity.User;
 import com.ch.jiaoxuelou_houtai.entity.User;
 import com.ch.jiaoxuelou_houtai.util.JwtUtil;
 import com.ch.jiaoxuelou_houtai.util.JwtUtil;
+import com.google.gson.Gson;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.NotNull;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.HttpStatus;
@@ -10,9 +12,11 @@ import org.springframework.web.servlet.HandlerInterceptor;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
 
 
 @Component
 @Component
 public class JwtInterceptor implements HandlerInterceptor {
 public class JwtInterceptor implements HandlerInterceptor {
+
     @Autowired
     @Autowired
     private JwtUtil jwtUtil;
     private JwtUtil jwtUtil;
 
 
@@ -26,11 +30,25 @@ public class JwtInterceptor implements HandlerInterceptor {
             if (jwtUtil.validateToken(token, user)) {
             if (jwtUtil.validateToken(token, user)) {
                 return true;
                 return true;
             } else {
             } else {
-                response.setStatus(HttpStatus.UNAUTHORIZED.value());
+                // response.setStatus(HttpStatus.UNAUTHORIZED.value());
+                response.setCharacterEncoding("UTF-8");
+                response.setContentType("application/json");
+
+                Gson gson = new Gson();
+                String json = gson.toJson(ResponseResult.noAccess());
+
+                response.getWriter().write(json);
                 return false;
                 return false;
             }
             }
         } else {
         } else {
-            response.setStatus(HttpStatus.UNAUTHORIZED.value());
+            // response.setStatus(HttpStatus.UNAUTHORIZED.value());
+            response.setCharacterEncoding("UTF-8");
+            response.setContentType("application/json");
+
+            Gson gson = new Gson();
+            String json = gson.toJson(ResponseResult.noAccess());
+
+            response.getWriter().write(json);
             return false;
             return false;
         }
         }
     }
     }

+ 9 - 1
src/main/java/com/ch/jiaoxuelou_houtai/mapper/CourseMapper.java

@@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Update;
 import org.apache.ibatis.annotations.UpdateProvider;
 import org.apache.ibatis.annotations.UpdateProvider;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 @Mapper
 @Mapper
 public interface CourseMapper {
 public interface CourseMapper {
@@ -45,5 +46,12 @@ public interface CourseMapper {
             " WHERE push_skdd LIKE concat(#{building}, '%')")
             " WHERE push_skdd LIKE concat(#{building}, '%')")
     Integer getTotalOfClassRoom(String building);
     Integer getTotalOfClassRoom(String building);
 
 
-
+    // 各学院学生人数
+    @Select("SELECT m_college AS college, COUNT(m_in_out_school) AS num " +
+            " FROM member " +
+            " WHERE m_in_out_school = 1 AND m_identity_type = 1 AND " +
+            " m_college in (SELECT DISTINCT m_college FROM member WHERE m_college LIKE '%学院%') " +
+            " GROUP BY m_college " +
+            " ORDER BY num DESC ")
+    List<Map<String, Integer>> getNumberInCollege();
 }
 }

+ 5 - 0
src/main/java/com/ch/jiaoxuelou_houtai/service/CourseService.java

@@ -3,6 +3,9 @@ package com.ch.jiaoxuelou_houtai.service;
 import com.ch.jiaoxuelou_houtai.entity.Course;
 import com.ch.jiaoxuelou_houtai.entity.Course;
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.PageInfo;
 
 
+import java.util.List;
+import java.util.Map;
+
 public interface CourseService {
 public interface CourseService {
     // 排课表列表查询
     // 排课表列表查询
     PageInfo<Course> listCourse(int pageNum, int pageSize, String building, String schoolYear, String semester, String weeks, String week, String section);
     PageInfo<Course> listCourse(int pageNum, int pageSize, String building, String schoolYear, String semester, String weeks, String week, String section);
@@ -20,4 +23,6 @@ public interface CourseService {
     int getTotalOfClassRoom(String building);
     int getTotalOfClassRoom(String building);
 
 
     int updateTermBeginsDate(String date);
     int updateTermBeginsDate(String date);
+
+    List<Map<String, Integer>> getNumberInCollege();
 }
 }

+ 6 - 0
src/main/java/com/ch/jiaoxuelou_houtai/service/impl/CourseServiceImpl.java

@@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
 import java.sql.Timestamp;
 import java.sql.Timestamp;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 @Service
 @Service
 public class CourseServiceImpl implements CourseService {
 public class CourseServiceImpl implements CourseService {
@@ -86,4 +87,9 @@ public class CourseServiceImpl implements CourseService {
         return num;
         return num;
     }
     }
 
 
+    @Override
+    public List<Map<String, Integer>> getNumberInCollege() {
+        return courseMapper.getNumberInCollege();
+    }
+
 }
 }