Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
御承扬
Campus
提交
1bb5d5e6
C
Campus
项目概览
御承扬
/
Campus
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Campus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
1bb5d5e6
编写于
1月 05, 2021
作者:
7
7wc98#14
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Modify
上级
9d83c1cf
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
201 addition
and
14 deletion
+201
-14
src/main/java/com/pyc/campus/controller/WebController.java
src/main/java/com/pyc/campus/controller/WebController.java
+70
-1
src/main/java/com/pyc/campus/dao/StudentRepository.java
src/main/java/com/pyc/campus/dao/StudentRepository.java
+6
-0
src/main/java/com/pyc/campus/domain/Student.java
src/main/java/com/pyc/campus/domain/Student.java
+10
-0
src/main/resources/templates/page/AboutEnglish.html
src/main/resources/templates/page/AboutEnglish.html
+1
-1
src/main/resources/templates/page/AboutLearn.html
src/main/resources/templates/page/AboutLearn.html
+1
-1
src/main/resources/templates/page/AboutMath.html
src/main/resources/templates/page/AboutMath.html
+1
-1
src/main/resources/templates/page/AboutPhilosophy.html
src/main/resources/templates/page/AboutPhilosophy.html
+1
-1
src/main/resources/templates/page/AdminPage.html
src/main/resources/templates/page/AdminPage.html
+32
-2
src/main/resources/templates/page/CheckFrozen.html
src/main/resources/templates/page/CheckFrozen.html
+53
-0
src/main/resources/templates/page/Index.html
src/main/resources/templates/page/Index.html
+1
-1
src/main/resources/templates/page/ManageUser.html
src/main/resources/templates/page/ManageUser.html
+25
-6
未找到文件。
src/main/java/com/pyc/campus/controller/WebController.java
浏览文件 @
1bb5d5e6
...
...
@@ -371,7 +371,76 @@ public class WebController {
model
.
addAttribute
(
"msg"
,
msg
);
return
"page/Login"
;
}
@RequestMapping
(
"/toCheckFrozen"
)
public
String
toCheckFrozen
(
Model
model
)
{
Msg
msg
=
new
Msg
(
"提示"
,
"在登陆之前先输入学号确认是否处于冻结状态"
,
""
);
model
.
addAttribute
(
"msg"
,
msg
);
return
"page/CheckFrozen"
;
}
@RequestMapping
(
"/checkFrozen"
)
public
String
checkFrozen
(
Model
model
,
@Param
(
"studentID"
)
String
studentID
)
{
Student
s
=
studentRepository
.
findAllByStudentID
(
studentID
);
if
(
s
!=
null
)
{
boolean
t
=
studentRepository
.
findFrozenByStudentID
(
studentID
);
if
(
t
)
{
Msg
msg
=
new
Msg
(
"提示"
,
"你的账号处于冻结状态"
,
""
);
model
.
addAttribute
(
"msg"
,
msg
);
return
"page/CheckFrozen"
;
}
Msg
msg
=
new
Msg
(
"欢迎登录"
,
"请输入你的注册学号和对应的密码"
,
""
);
model
.
addAttribute
(
"msg"
,
msg
);
return
"page/Login"
;
}
Msg
msg
=
new
Msg
(
"提示"
,
"该账号未注册!"
,
""
);
model
.
addAttribute
(
"msg"
,
msg
);
return
"page/CheckFrozen"
;
}
@RequestMapping
(
"/saveFrozenInTrue"
)
public
String
saveFrozenInTrue
(
Model
model
,
HttpSession
session
,
@RequestParam
(
value
=
"studentId"
,
required
=
false
)
String
studentID
){
boolean
frozen
=
true
;
System
.
out
.
println
(
studentID
+
" "
+
frozen
);
int
t
=
studentRepository
.
saveFrozen
(
frozen
,
studentID
);
if
(
t
!=
0
){
System
.
out
.
println
(
"更新成功!"
);
}
else
{
System
.
out
.
println
(
"更新失败!"
);
}
SecurityContextImpl
securityContext
=
(
SecurityContextImpl
)
session
.
getAttribute
(
"SPRING_SECURITY_CONTEXT"
);
String
currentStudentId
=
((
UserDetails
)
securityContext
.
getAuthentication
().
getPrincipal
()).
getUsername
();
Student
s
=
studentRepository
.
findNameByStudentID
(
currentStudentId
);
model
.
addAttribute
(
"curUse"
,
s
);
List
<
Student
>
students
=
studentRepository
.
findAll
();
model
.
addAttribute
(
"students"
,
students
);
return
"page/ManageUser"
;
}
@RequestMapping
(
"/saveFrozenInFalse"
)
public
String
saveFrozenInFalse
(
Model
model
,
HttpSession
session
,
@RequestParam
(
value
=
"studentId"
,
required
=
false
)
String
studentID
){
boolean
frozen
=
false
;
System
.
out
.
println
(
studentID
+
" "
+
frozen
);
int
t
=
studentRepository
.
saveFrozen
(
frozen
,
studentID
);
if
(
t
!=
0
){
System
.
out
.
println
(
"更新成功!"
);
}
else
{
System
.
out
.
println
(
"更新失败!"
);
}
SecurityContextImpl
securityContext
=
(
SecurityContextImpl
)
session
.
getAttribute
(
"SPRING_SECURITY_CONTEXT"
);
String
currentStudentId
=
((
UserDetails
)
securityContext
.
getAuthentication
().
getPrincipal
()).
getUsername
();
Student
s
=
studentRepository
.
findNameByStudentID
(
currentStudentId
);
model
.
addAttribute
(
"curUse"
,
s
);
List
<
Student
>
students
=
studentRepository
.
findAll
();
model
.
addAttribute
(
"students"
,
students
);
return
"page/ManageUser"
;
}
@RequestMapping
(
"/sign"
)
public
String
sign
(
Model
model
)
{
Msg
msg
=
new
Msg
(
"欢迎注册"
,
"请输入你的学号和对应的密码以及其他相关信息"
,
""
);
...
...
@@ -533,7 +602,7 @@ public class WebController {
return
"page/UpQuestion"
;
}
}
@RequestMapping
(
"feedback"
)
@RequestMapping
(
"
/
feedback"
)
public
String
feedback
(
Model
model
,
HttpSession
session
,
@Param
(
"mail"
)
String
mail
,
@Param
(
"name"
)
String
name
,
@Param
(
"title"
)
String
title
,
@Param
(
"content"
)
String
content
){
...
...
src/main/java/com/pyc/campus/dao/StudentRepository.java
浏览文件 @
1bb5d5e6
...
...
@@ -19,6 +19,12 @@ public interface StudentRepository extends JpaRepository<Student,Long> {
Student
findPasswordByStudentID
(
String
studentID
);
Student
findNameByStudentID
(
String
studentID
);
Student
findAllByStudentID
(
String
studentID
);
@Query
(
"select s.frozen from Student s where s.studentID=?1"
)
Boolean
findFrozenByStudentID
(
String
studentID
);
@Modifying
@Transactional
@Query
(
"update Student s set s.frozen=?1 where s.studentID=?2"
)
int
saveFrozen
(
Boolean
frozen
,
String
studentID
);
@Modifying
@Transactional
@Query
(
"update Student s set s.name=?1,s.weChat=?2, s.QQ=?3 where s.studentID=?4"
)
...
...
src/main/java/com/pyc/campus/domain/Student.java
浏览文件 @
1bb5d5e6
...
...
@@ -23,6 +23,7 @@ public class Student {
private
String
QQ
;
private
int
admin
;
private
boolean
onlineStatus
;
private
boolean
frozen
;
public
Student
()
{
super
();
...
...
@@ -37,6 +38,15 @@ public class Student {
this
.
QQ
=
QQ
;
this
.
admin
=
admin
;
this
.
onlineStatus
=
false
;
this
.
frozen
=
false
;
}
public
void
setFrozen
(
boolean
frozen
)
{
this
.
frozen
=
frozen
;
}
public
boolean
isFrozen
()
{
return
frozen
;
}
public
void
setAdmin
(
int
admin
)
{
...
...
src/main/resources/templates/page/AboutEnglish.html
浏览文件 @
1bb5d5e6
...
...
@@ -63,7 +63,7 @@
<div
class=
"tel"
>
150-1436-6986
</div>
</div>
<ul>
<li><a
href=
"/
logi
n"
>
登录
</a></li>
<li><a
href=
"/
toCheckFroze
n"
>
登录
</a></li>
<li><a
href=
"/sign"
>
注册
</a></li>
</ul>
</div>
...
...
src/main/resources/templates/page/AboutLearn.html
浏览文件 @
1bb5d5e6
...
...
@@ -63,7 +63,7 @@
<div
class=
"tel"
>
150-1436-6986
</div>
</div>
<ul>
<li><a
href=
"/
logi
n"
>
登录
</a></li>
<li><a
href=
"/
toCheckFroze
n"
>
登录
</a></li>
<li><a
href=
"/sign"
>
注册
</a></li>
</ul>
</div>
...
...
src/main/resources/templates/page/AboutMath.html
浏览文件 @
1bb5d5e6
...
...
@@ -63,7 +63,7 @@
<div
class=
"tel"
>
150-1436-6986
</div>
</div>
<ul>
<li><a
href=
"/
logi
n"
>
登录
</a></li>
<li><a
href=
"/
toCheckFroze
n"
>
登录
</a></li>
<li><a
href=
"/sign"
>
注册
</a></li>
</ul>
</div>
...
...
src/main/resources/templates/page/AboutPhilosophy.html
浏览文件 @
1bb5d5e6
...
...
@@ -63,7 +63,7 @@
<div
class=
"tel"
>
150-1436-6986
</div>
</div>
<ul>
<li><a
href=
"/
logi
n"
>
登录
</a></li>
<li><a
href=
"/
toCheckFroze
n"
>
登录
</a></li>
<li><a
href=
"/sign"
>
注册
</a></li>
</ul>
</div>
...
...
src/main/resources/templates/page/AdminPage.html
浏览文件 @
1bb5d5e6
...
...
@@ -136,8 +136,38 @@
</h3>
</div>
<div
class=
"panel-body"
>
<div
class=
"panel-info"
style=
"height: 600px;overflow: auto;"
>
<div
class=
"panel-info"
style=
"height: 600px;overflow: auto;font-size:14px;"
>
<b>
一、总则
</b><br>
管理员应当对系统的每个页面布局清晰了解,对每个页面的按钮、超链接的功能清楚。
为保证系统的正常运作,管理员要定期对系统的所有页面进行访问,以便排查是否出现因为前端语言规范的升级,
和浏览器内核的更新,导致出现页面布局错误,若有应当及时通知维护人员,进行页面代码的更新。另外,管理员
也要定期测试页面中按钮和超链接的功能是否能正常运作,若出现有功能的按钮和超链接在单击后无响应,也要及时
反馈给后台维护人员。网站管理提供新闻发布、成绩导入、悬赏问题发布和用户管理四大块。
<br><b>
二、新闻发布细则
</b><br>
管理员在发布新闻时,必须凭着实事求是的态度,切不可杜撰虚无的新闻,并且新闻内容中,不当出现明确的人物
真实姓名,尤其是负面新闻的情况下。管理员要执行信息过滤的职能,要充分考虑每条新闻发布后,会在用户群体中
出现的影响,因而不当发布涉及敏感信息的新闻、不当发布可能引起混乱的新闻、不当发布过多负面新闻,每十条新闻
中负面新闻的条数控制在2~3条。由于新闻内容采用简讯模式,因此管理员要具有一定的信息概括能力,在较短的文字内
将新闻的焦点信息说明清楚。
<br><b>
三、成绩导入细则
</b><br>
管理员对老师提交的成绩,如实录入上传,不得持感情因素进行更改,即看到自己认识的人的分数低便帮其加一两分,
一旦有此种行为,一当被查出,将进行公开处分,永远开除出网站管理员名单中,必要时承当刑事责任。
录入时应当仔细谨慎,一定要将对应课程的成绩录入正确,在保存之前要做到三校其稿,保证人工操作错误的概率最小化。
一旦录错,请及时联系数据库管理人员进行记录更改,因为网站管理中只有添加成绩记录的功能,没有修改的功能,
这是为了督促管理人员对自己的管理操作秉持认真负责的态度。
<br><b>
四、悬赏问题发布细则
</b><br>
管理员自己可以发布悬赏问题,但是必须如实填写,并且所承诺的悬赏由管理员自身负责,平台概不承担。
对于用户申请的悬赏问题要进行及时审核和发布,由于用户申请悬赏问题时,相关信息会发送到管理员邮箱,
以及用户反馈也是发送到该邮箱,因此,管理员在上班的第一时刻就应当将邮箱登陆好,以便及时查收信息。
审核用户申请的悬赏问题时,请按照真实原则进行,在发布之前用提供的联系方式进行联系确认,避免有人
冒名顶替,对于提供的悬赏如果涉及金额过大一定要再三向当事人进行确认。如果出现冒名顶替且发布到平台上,
并且给其他用户造成麻烦,那么一切后果由管理员承担。所可以发布的问题,一定要积极向上,不是涉及敏感内容。
<br><b>
五、用户管理细则
</b><br>
该管理只提供条件查询和用户删除的功能,用户的信息的更改的权限由用户自己拥有,网站管理员没有。
管理员在进行管理时,不得凭借自己的情感好恶对非测试用户记录外的真实用户的记录进行删除。
用户信息记录表以序号列为关键字段,因此可能出现学号重复的可能,一旦发现请及时进行联系,确定谁才是
学号的真正主人,此时所花费的开销,由平台承担,但管理员不得虚报开销,一旦发现必将严肃处理。
对于在平台发布恶意言论累计超过次数10次的执行冻结操作,累计超过15次的进行删除处理。
</div>
</div>
</div>
...
...
src/main/resources/templates/page/CheckFrozen.html
0 → 100644
浏览文件 @
1bb5d5e6
<!DOCTYPE html>
<html
xmlns:th=
"http://www.thymeleaf.org"
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<title>
登录
</title>
<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<link
rel=
"stylesheet"
href=
"https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"
integrity=
"sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
crossorigin=
"anonymous"
>
<!-- 可选的 Bootstrap 主题文件(一般不用引入) -->
<link
rel=
"stylesheet"
href=
"https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap-theme.min.css"
integrity=
"sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp"
crossorigin=
"anonymous"
>
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"
integrity=
"sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin=
"anonymous"
></script>
<style
type=
"text/css"
>
.starter-template
{
padding
:
40px
15px
;
text-align
:
center
;
}
</style>
</head>
<body>
<div
style=
"margin: 20% 25%"
>
<p
th:if=
"${param.error}"
class=
"bg-danger"
>
有错误,请重试!
</p>
<div
class=
"starter-template"
>
<h1
th:text=
"${msg.title}"
></h1>
<p
class=
"bg-primary"
th:text=
"${msg.content}"
></p>
</div>
<form
class=
"form-horizontal"
name=
"form"
method=
"post"
th:action=
"@{/checkFrozen}"
action=
"/checkFrozen"
onsubmit=
"return checkPWD(form.studentID)"
>
<div
class=
"input-group input-group-lg"
>
<span
class=
"input-group-addon"
id=
"sizing-addon1"
>
@
</span>
<input
type=
"text"
name=
"studentID"
class=
"form-control"
placeholder=
"studentID"
aria-describedby=
"sizing-addon1"
>
</div>
<div
class=
"form-group"
>
<div
class=
"col-sm-offset-2 col-sm-10"
>
<input
type=
"submit"
value=
"检查"
class=
"btn btn-lg btn-primary"
/>
<span
style=
"width: 140px"
></span>
<input
type=
"button"
value=
"注册"
class=
"btn btn-lg btn-primary"
onclick=
"window.location.href='/sign'"
/>
</div>
</div>
</form>
</div>
<script>
function
checkPWD
(
studentID
)
{
if
(
studentID
.
val
===
""
){
alert
(
"
学号为空
"
);
return
false
;
}
else
{
return
true
;
}
}
</script>
</body>
</html>
\ No newline at end of file
src/main/resources/templates/page/Index.html
浏览文件 @
1bb5d5e6
...
...
@@ -108,7 +108,7 @@
<div
class=
"tel"
>
150-1436-6986
</div>
</div>
<ul>
<li><a
href=
"/
logi
n"
>
登录
</a></li>
<li><a
href=
"/
toCheckFroze
n"
>
登录
</a></li>
<li><a
href=
"/sign"
>
注册
</a></li>
</ul>
</div>
...
...
src/main/resources/templates/page/ManageUser.html
浏览文件 @
1bb5d5e6
...
...
@@ -149,15 +149,17 @@
<th>
QQ
</th>
<th>
微信
</th>
<th>
是否管理员
</th>
<th>
是否冻结
</th>
</tr>
</thead>
<tbody
th:if=
"${not #lists.isEmpty(students)}"
>
<tr
th:each=
"student:${students}"
>
<td
th:text=
"${student.name}"
></td>
<td
th:text=
"${student.studentID}"
></td>
<td
th:text=
"${student.QQ}"
></td>
<td
th:text=
"${student.weChat}"
></td>
<td
th:text=
"${student.admin}"
></td>
<td
th:text=
"${student.getName()}"
></td>
<td
th:text=
"${student.getStudentID()}"
></td>
<td
th:text=
"${student.getQQ()}"
></td>
<td
th:text=
"${student.getWeChat()}"
></td>
<td
th:text=
"${student.getAdmin()}"
></td>
<td
th:text=
"${student.isFrozen()}"
></td>
</tr>
</tbody>
</table>
...
...
@@ -169,7 +171,24 @@
</div>
<button
type=
"submit"
class=
"btn btn-danger"
>
删除
</button>
</form>
</div>
<br>
<form
class=
"form-inline"
name=
"form3"
method=
"post"
th:action=
"@{/saveFrozenInTrue}"
action=
"/saveFrozenInTrue"
>
<div
class=
"form-group"
>
<label
for=
"studentId2"
>
学号
</label>
<input
type=
"text"
class=
"form-control"
id=
"studentId2"
name=
"studentId"
placeholder=
"student id"
>
</div>
<button
type=
"submit"
class=
"btn btn-danger"
>
冻结
</button>
</form>
<br>
<form
class=
"form-inline"
name=
"form2"
method=
"post"
th:action=
"@{/saveFrozenInFalse}"
action=
"/saveFrozenInFalse"
>
<div
class=
"form-group"
>
<label
for=
"studentId3"
>
学号
</label>
<input
type=
"text"
class=
"form-control"
id=
"studentId3"
name=
"studentId"
placeholder=
"student id"
>
</div>
<button
type=
"submit"
class=
"btn btn-danger"
>
解冻
</button>
</form>
<div
class=
"col-sm-6 col-md-4"
>
<div
class=
"thumbnail"
>
<div
class=
"caption"
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录