提交 95c31177 编写于 作者: 7 7wc98#14

commit

上级 45b2e501
...@@ -17,6 +17,7 @@ import org.springframework.security.core.context.SecurityContextImpl; ...@@ -17,6 +17,7 @@ import org.springframework.security.core.context.SecurityContextImpl;
import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
...@@ -44,6 +45,38 @@ public class WebController { ...@@ -44,6 +45,38 @@ public class WebController {
this.friendListRepository=friendListRepository; this.friendListRepository=friendListRepository;
} }
@RequestMapping("/desc")
public String desc(Model model, HttpSession session){
SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT");
String currentStudentId = ((UserDetails) securityContext.getAuthentication().getPrincipal()).getUsername();
List<Grade> gradeListDesc = gradeRepository.findAllByStudentIDOrderByGradeDesc(currentStudentId);
int minGrade = gradeRepository.findMinGrade(currentStudentId);
int maxGrade = gradeRepository.findMaxGrade(currentStudentId);
int sumCredit = gradeRepository.findSumCredit(currentStudentId);
float avgGPA = gradeRepository.findAvgGPA(currentStudentId);
model.addAttribute("minGrade", minGrade);
model.addAttribute("maxGrade", maxGrade);
model.addAttribute("sumCredit", sumCredit);
model.addAttribute("avgGPA",avgGPA);
model.addAttribute("gradeItems", gradeListDesc);
return "page/QueryGrade";
}
@RequestMapping("/asc")
public String asc(Model model, HttpSession session){
SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT");
String currentStudentId = ((UserDetails) securityContext.getAuthentication().getPrincipal()).getUsername();
List<Grade> gradeListAsc = gradeRepository.findAllByStudentIDOrderByGradeAsc(currentStudentId);
int minGrade = gradeRepository.findMinGrade(currentStudentId);
int maxGrade = gradeRepository.findMaxGrade(currentStudentId);
int sumCredit = gradeRepository.findSumCredit(currentStudentId);
float avgGPA = gradeRepository.findAvgGPA(currentStudentId);
model.addAttribute("minGrade", minGrade);
model.addAttribute("maxGrade", maxGrade);
model.addAttribute("sumCredit", sumCredit);
model.addAttribute("avgGPA",avgGPA);
model.addAttribute("gradeItems", gradeListAsc);
return "page/QueryGrade";
}
@RequestMapping("/home") @RequestMapping("/home")
public String home(Model model, HttpSession session){ public String home(Model model, HttpSession session){
SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT"); SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT");
...@@ -463,6 +496,14 @@ public class WebController { ...@@ -463,6 +496,14 @@ public class WebController {
SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT"); SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT");
String currentStudentId = ((UserDetails) securityContext.getAuthentication().getPrincipal()).getUsername(); String currentStudentId = ((UserDetails) securityContext.getAuthentication().getPrincipal()).getUsername();
List<Grade> gradeList = gradeRepository.findAllByStudentID(currentStudentId); List<Grade> gradeList = gradeRepository.findAllByStudentID(currentStudentId);
int minGrade = gradeRepository.findMinGrade(currentStudentId);
int maxGrade = gradeRepository.findMaxGrade(currentStudentId);
int sumCredit = gradeRepository.findSumCredit(currentStudentId);
float avgGPA = gradeRepository.findAvgGPA(currentStudentId);
model.addAttribute("minGrade", minGrade);
model.addAttribute("maxGrade", maxGrade);
model.addAttribute("sumCredit", sumCredit);
model.addAttribute("avgGPA",avgGPA);
model.addAttribute("gradeItems", gradeList); model.addAttribute("gradeItems", gradeList);
return "page/QueryGrade"; return "page/QueryGrade";
} }
......
...@@ -10,6 +10,7 @@ package com.pyc.campus.dao; ...@@ -10,6 +10,7 @@ package com.pyc.campus.dao;
import com.pyc.campus.domain.Grade; import com.pyc.campus.domain.Grade;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RestResource; import org.springframework.data.rest.core.annotation.RestResource;
...@@ -20,4 +21,22 @@ public interface GradeRepository extends JpaRepository<Grade, Long> { ...@@ -20,4 +21,22 @@ public interface GradeRepository extends JpaRepository<Grade, Long> {
List<Grade> findAllByStudentID(String studentId); List<Grade> findAllByStudentID(String studentId);
@RestResource(path="findAllByName", rel="findAllByName") @RestResource(path="findAllByName", rel="findAllByName")
List<Grade> findAllByName(@Param("name")String name); List<Grade> findAllByName(@Param("name")String name);
// 按成绩降序排列
//@Query("select Grade from Grade g where g.studentID=?1 order by g.grade desc ")
List<Grade> findAllByStudentIDOrderByGradeDesc(String stuID);
//按成绩升序排列
List<Grade> findAllByStudentIDOrderByGradeAsc(String stuID);
// 查找最低成绩
@Query("select min(g.grade) from Grade g where g.studentID=?1")
int findMinGrade(String stuID);
// 查找最高成绩
@Query("select max(g.grade) from Grade g where g.studentID=?1")
int findMaxGrade(String stuID);
// 查找总学分
@Query("select sum(g.credit) from Grade g where g.studentID=?1")
int findSumCredit(String stuID);
// 查找总平均绩点
@Query("select avg(g.gpa) from Grade g where g.studentID=?1")
float findAvgGPA(String stuID);
} }
...@@ -67,45 +67,7 @@ ...@@ -67,45 +67,7 @@
</div> </div>
<!-- 页面的头部 --> <!-- 页面的头部 -->
<!-- 页面的导航 --> <!-- 页面的导航 -->
<nav class="navbar navbar-inverse"> <!--页面主体-->
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/home">Campus</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li><a href="/home">Home</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="/aboutLearn">
学习中心<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="/learn">编程学习</a></li>
<li><a href="/toEnglish">英语</a></li>
<li><a href="/toMath">数学</a></li>
<li class="divider"></li>
<li><a href="/toPhilosophy">哲学</a></li>
</ul>
</li>
<li><a href="/news">校内新闻</a></li>
<li class="active" sec:authorize="hasRole('ROLE_USER')"><a href="/userCenter" style="color: green">用户中心</a></li>
<li sec:authorize="hasRole('ROLE_ADMIN')"><a href="/admin">网站管理</a></li>
<li class="active" sec:authorize="hasRole('ROLE_ADMIN')"><a href="/userCenter" style="color: red">用户中心</a></li>
<li><a href="/toHelp">帮助中心</a> </li>
</ul>
</div>
</div>
</nav>
<div class="container" style="margin-bottom: 10%;margin-top: 5%"> <div class="container" style="margin-bottom: 10%;margin-top: 5%">
<div class="row"> <div class="row">
<div class="col-sm-4"> <div class="col-sm-4">
......
...@@ -71,45 +71,7 @@ ...@@ -71,45 +71,7 @@
</div> </div>
<!-- 页面的头部 --> <!-- 页面的头部 -->
<!-- 页面的导航 --> <!-- 页面的导航 -->
<nav class="navbar navbar-inverse"> <!--页面主体-->
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/home">Campus</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li><a href="/home">Home</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="/aboutLearn">
学习中心<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="/learn">编程学习</a></li>
<li><a href="/toEnglish">英语</a></li>
<li><a href="/toMath">数学</a></li>
<li class="divider"></li>
<li><a href="/toPhilosophy">哲学</a></li>
</ul>
</li>
<li><a href="/news">校内新闻</a></li>
<li class="active" sec:authorize="hasRole('ROLE_USER')"><a href="/userCenter" style="color: green">用户中心</a></li>
<li sec:authorize="hasRole('ROLE_ADMIN')"><a href="/admin">网站管理</a></li>
<li class="active" sec:authorize="hasRole('ROLE_ADMIN')"><a href="/userCenter" style="color: red">用户中心</a></li>
<li><a href="/toHelp">帮助中心</a> </li>
</ul>
</div>
</div>
</nav>
<div class="container" style="margin-bottom: 10%;margin-top: 5%"> <div class="container" style="margin-bottom: 10%;margin-top: 5%">
<div class="row"> <div class="row">
<div class="col-sm-4"> <div class="col-sm-4">
...@@ -160,6 +122,20 @@ ...@@ -160,6 +122,20 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<br>
<h3>
当前最低课程成绩:<b th:text="${minGrade}"></b>,最高成绩:<b th:text="${maxGrade}"></b>,
已获得学分:<b th:text="${sumCredit}"></b>,总平均绩点:<b th:text="${avgGPA}"></b>
</h3>
<br>
<div class="form-inline">
<div class="form-group">
<button class="btn btn-primary" onclick="window.location.href='/desc'">按成绩降序排列</button>
</div>
<div class="form-group">
<button class="btn btn-primary" onclick="window.location.href='/asc'">按成绩升序排列</button>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -75,45 +75,7 @@ ...@@ -75,45 +75,7 @@
</div> </div>
<!-- 页面的头部 --> <!-- 页面的头部 -->
<!-- 页面的导航 --> <!-- 页面的导航 -->
<nav class="navbar navbar-inverse"> <!--页面主体-->
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/home">Campus</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li><a href="/home">Home</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="/aboutLearn">
学习中心<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="/learn">编程学习</a></li>
<li><a href="/toEnglish">英语</a></li>
<li><a href="/toMath">数学</a></li>
<li class="divider"></li>
<li><a href="/toPhilosophy">哲学</a></li>
</ul>
</li>
<li><a href="/news">校内新闻</a></li>
<li class="active" sec:authorize="hasRole('ROLE_USER')"><a href="/userCenter" style="color: green">用户中心</a></li>
<li sec:authorize="hasRole('ROLE_ADMIN')"><a href="/admin">网站管理</a></li>
<li class="active" sec:authorize="hasRole('ROLE_ADMIN')"><a href="/userCenter" style="color: red">用户中心</a></li>
<li><a href="/toHelp">帮助中心</a> </li>
</ul>
</div>
</div>
</nav>
<div class="container" style="margin-bottom: 10%;margin-top: 5%"> <div class="container" style="margin-bottom: 10%;margin-top: 5%">
<div class="row"> <div class="row">
<div class="col-sm-4"> <div class="col-sm-4">
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册