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

commit

上级 45b2e501
......@@ -17,6 +17,7 @@ import org.springframework.security.core.context.SecurityContextImpl;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
......@@ -44,6 +45,38 @@ public class WebController {
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")
public String home(Model model, HttpSession session){
SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT");
......@@ -463,6 +496,14 @@ public class WebController {
SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT");
String currentStudentId = ((UserDetails) securityContext.getAuthentication().getPrincipal()).getUsername();
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);
return "page/QueryGrade";
}
......
......@@ -10,6 +10,7 @@ package com.pyc.campus.dao;
import com.pyc.campus.domain.Grade;
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.rest.core.annotation.RestResource;
......@@ -20,4 +21,22 @@ public interface GradeRepository extends JpaRepository<Grade, Long> {
List<Grade> findAllByStudentID(String studentId);
@RestResource(path="findAllByName", rel="findAllByName")
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 @@
</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="row">
<div class="col-sm-4">
......
......@@ -71,45 +71,7 @@
</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="row">
<div class="col-sm-4">
......@@ -160,6 +122,20 @@
</tbody>
</table>
</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>
......
......@@ -75,45 +75,7 @@
</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="row">
<div class="col-sm-4">
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册