-
Notifications
You must be signed in to change notification settings - Fork 8
/
日志
515 lines (505 loc) · 18.5 KB
/
日志
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
9-23
今天的任务
计划
ICPCrank封榜时间
Rank重现
problem标签的统计
队伍账号 t_teamuser(id、teamname、leader、member1、member2、motto、rating、status)
比赛有组队赛模式(kind字段)、队长可以报名(也有审核等)
队长创建队伍->邀请队员->验证->确定创建
状态:1活动,2解散
状态1:活动
可以参加比赛
队长和成员隶属于本队伍(此时队长和成员不能加入其它队伍)
状态2:解散
不能参加比赛
可以重组(前提是队员均不属于其它队伍)
此时队长和成员可以加入其它队伍
创建队伍->任何不隶属于其他队伍的人均可发起
选择队友、确定
(检查邀请的队员是否属于其他队伍、检查这个组合是否已经存在一个状态为解散的队伍
存在的话则发起重组,否则重新创建)
确定后给队员发送验证码
验证通过后,如果是新创建则可以指定队名,否则直接重组
解散队伍->要求状态:1
状态修改为2。
队长转让->要求状态:1
指定一个队员转让队长。互换位置,记录队伍日志
修改队名耗ACB。(活动期需要ABC(并记录队伍日志),已解散不能修改)
本地判题
SPJ
数据校验
查询校验:(各个筛选的地方)
回复discuss
发帖
管理员功能数据校验
problem 增加删除sample
上传头像预览(裁剪)
LOG:日志记录功能,同时实现部分业务逻辑
记录登录、提交、AC、重判等用户操作记录
t_log(id,time,type,par1,par2,par3,intpart,note,status,deadline(过期时间))
type:{
0:系统运行记录(note)
1:登录(par1:user,part2:ip,intpart:dayfirstlogin)//周期22小时
2:AC(part1:user,part2:pid,intpart:dayfirstAC) //周期22小时
3:改nick(part1:user,part2:oldnick,part3:newnick)
4:改头像(part1:user)
5:user操作(note,intpart:显示否)
}
ACB相关:
管理员邮件发送ACB作为奖励
每日登录ACB奖励(1ACB)
连续A题奖励。本次A题在上次A题的24小时内,则获得的ACB=上次的ACB+1,封顶20,初始5
ACB修改昵称(50ACB)
ACB换头像(80ACB)
其他rank模式...
题目讨论版
考试系统(毕设要求)
博客绑定、自动抓取新博客(每日凌晨,单人可以手动触发抓取自己的博客) (博客绑定验证?)
ACM集训队正式队员列表
挑战模式排行榜 -> 总分排名
BUG
rejudge后rank更新会有问题
8-28
2.51
优化problem列表和个人界面访问速度
8-27
优化problem列表访问速度
题目出处,不包括隐藏的比赛
7-14
修复上传文件为空时出错的bug
7-09
spj测试完成
7-01
2.41
新增一个队员获奖经历和集训队获奖情况
6-28
2.4
可以编辑挑战模式
6-6
修复比赛编辑时不能获取类型的bug
5-15
2.34
练习场会计算包括在外面的所有提交
改进部分页面访问速度
5-09
2.33
修复组队赛内不能查看代码的bug
5-08
2.32
status 自动刷新选项
组队正式赛单独产生账号密码
5-06
组队正式赛报名列表按时间排序
5-05
2.31
修复ICPC rank的金银铜数量计算不正确的bug
报名系统内的快速选择新增一些选项
5-04
2.30
报名系统基本完成
5-03
修复log页面不能翻页的bug
4-19
2.27
修复首页的最近比赛会显示隐藏比赛的bug
4-15
2.26
修复由于nbut和bnuoj变成https导致不能提交的问题
现在出现SubmitError的时候可以点击查看详细信息
3-5
修复discuss的内容为空导致新建和修改失败的bug
2.25
修复log错误可能导致评测机出错停止的bug
2-28
2.24
修复比赛报名统计信息
2-26
新增Log
2-14
修复bug:rating变化消息错误
2-9
2.23
contest新增一个kind=4表示隐藏
2-8
修复bug: 自己看不见被隐藏的回复
比赛新增一个签到功能,比赛开始后第一次进入自动签到(报名状态改变成已经参加),签到完成的计算rating,报名了没签到的不计算rating。
2-6
2.22
修复bug:比赛添加或编辑时,不写比赛说明会导致修改失败
评测机状态显示更详细
修复cf评测机的一个bug
修复修改题目不能立即生效的bug
修复rating邮件显示不正确的bug
修复获取fjutoj题目图片不正确的bug
1-13
2.21
升级struts2...
修复富文本编辑器会挡住日期控件的bug
修复比赛内连接不正确的bug
修复比赛内题目超过26时status的筛选题目选项依然是字母的bug(改成数字)
修复status筛选时“语言”写成“语音”的bug
修改discuss内的翻页
修复观战模式内的一个会导致颜色变化不正确的bug
2015:
12-16
管理员在rank页面可以看见用户姓名
2.20
观战重现功能
新增队员等级。
12-14
批量重判
修复可能导致评测机停止运行的bug
12-11
2.12
新增富文本编辑器UEditor,在discuss、discuss回复、比赛说明、题目描述等地方使用
修复观战模式的一些bug
12-8
2.11
修复删除比赛内已经提交过题目后会奔溃的bug
修复比赛添加了不存在的用户会奔溃的bug
12-3
2.10
观战模式上线
12-2
修复了一个可能导致ICPC排名模式排名错误的BUG
观战模式的动态排行榜基本可用
11-30
2.06
现在从acm.fjut.edu.cn会直接跳转入210.34.193.66:8080/vj了
修复由于判题文件删除不干净造成rejudge不成功的bug
修复由于bnuoj改动造成的bnuoj判题不正确
11-26
contest内的题目列表的Radio改成(ac人数/提交数)
翻页的按钮略微调整
11-25
修复挑战模式内模块进度条显示不正确的bug
2.05
管理员可以在contest内发送即时消息
11-24
发送了带@的discuss和回复之后,对方会收到一个消息通知
优化代码判重,按相同题目的AC代码比较。
11-23
2.04
代码比较可以计算具体变化了(code2.jsp)
题目新增一个作者字段。可以在字段编辑里面使用@来关联一个账号
修复内存泄露,比赛的时候应该不会再挂了~
11-21
2.03
比赛未开始也能进入比赛讨论
Rank页面也使用pagebean
锁定adminNAV样式,避免contest内problem导航样式被改变
比赛内的Discuss被别人回复会发送不同的系统消息
11-20
2.02
比赛内讨论版
权限:重置密码
11-15
2.01
pageBean和FormHTML 改成使用StringBuilder来代替String构建HTML代码
11-9
修复使用了pageBean后status自己的状态没变色的bug
修复了使用了pageBean后,比赛注册列表的性别显示不正确的bug
11-8
2.0
挑战模式完成
11-7
比赛奖励ACB
比赛一键题目public
11-4
题目信息页面,若获得了代码查看权,有个链接可以查看通过记录,方便查看代码
11-2
用一个pageBean修改了status和比赛注册列表的翻页显示
比赛注册列表添加了一些统计信息显示
AJAX动态刷新status
10-30
修复添加和编辑contest没有题目时出现的bug
10-21
1.6
新功能:本地判题上线!
10-20
修复bug:在比赛的注册列表中管理员添加用户显示不正确
10-14
研究完本地判题
题目列表可以根据标签和名字筛选
10-11
1.54
discuss可以设置为回复默认隐藏
修复了discuss不能下一页的bug
题目描述的右边新增一个显示题目出处(所属的最先开始的比赛,但是比赛未开始时不显示)
10-10
1.53
修复提交统计图在改变窗口大小时显示不正确的bug
10-9
提交统计的轴改成时间显示
支持CF
10-7
1.52
修复了rank等页面读取速度很慢的bug(原因是在user的构造函数里面会获取他的AC列表和submit列表等数据)
user页面多了一个提交统计的折线图
10-5
1.51
添加题目的时候点击获取标题 如果本地已经存在同一题,会显示题目id列表(仍然可以再添加)
题目info页面会显示题目来源了
各个页面取消登录验证,只保留比赛和后台管理页面需要登录后范围
10-4
题目根据标签筛选
status中的user显示username和nick
10-3
给代码判重程序作了一些优化(判重使用的二维数组改成了滚动数组)
loading图用css3特效替换
管理员可以奖励ACB给用户
10-2
页面布局改成定宽居中(1100宽)
其他页面部分文字描述修改
翻页按钮文字修改
ContestList、Status 的表头、表单等显示为中文
导航鼠移入时变成中文显示
完善登录失败提示
修复bug:练习模式排名计算不正确 ———小毛发现
9-29
1.5
discuss和回复可以显示头像、nick、rating等个人信息了,调整了管理员回复的显示方式。
个人信息页面修改显示
注册和信息修改页面修改为中文显示
9-28
主页新增 AC榜 Top10
题目自动获取图片
上传头像,并在user.jsp显示
9-27
新增注册状态“需修改”。管理员审批时选择,输入备注信息。用户可以查看并重新注册。
User列表可以点击表头排序
9-26
users添加字段name,faculty,major,cla,no,phone(姓名,性别,学校,院系,专业班级,学号,手机)
在比赛kind为3时的注册列表显示详细信息,女生添加红色行,字体变小
9-23
1.47
暂时关闭暑假签到
添加重新获取题目描述
9-5
HDU和FJUT获取时限和空间限制算法修改
9-1
修复了在contest内不能正确保存 没有获取过题目描述的的题目 的描述
修改problemTag.js获取时机
1.46
在个人信息页面添加了一个雷达图表示AC题目的标签类型分布。(AC了没贴标签的题目不计入统计)
统计结果=AC的题目拥有的标签类型的总和占该类型的所有题目的AC人总和的百分比
8-30
1.45
修复POJ和FJUT拉取题目不正确的BUG
修复contest内直接进入题目时,题目导航不显示的bug
8-24
1.44
修复不能注册的bug
支持FJUT
1.43
修改contest和problem的缓存大小
8-21
1.42
去掉user页面的rating记录表格,只保留rating变化图,鼠标移动到变化图上的点时显示详细信息。
8-20
1.41
修复contest内不显示提交状态的bug
代码判重只显示重复率0.75以上的
修复代码判重内的pid显示不正确的bug
修复查看status时带有all参数时翻页不正确
修改problemList的ratdio为ac人数/提交次数
8-19
1.40版本
积分模式(贴标签可以获得20积分,贴完标签可以查看该题别人AC的代码,可以用100积分兑换没AC题目的代码(不允许复制代码))
新的页面:problemInfo。
problem 的status统计信息、标签详情、短码top10
contest新的排序规则:未开始的排在开始的前面,开始时间晚的排前面
Rank新的排名规则:rating相同则按AC题数排序
权限管理
新增problemsample
8-15
修改statu表示方式为cid!=-1时pid是全局pid而不是比赛内pid。
8.14
修复了一个可能导致误判的BUG
优化了vjudge的评测模式(使用阻塞队列)
8.11
练习场排名
支持PKU
contest分类 专题、积分、趣味、正式
7-30
1.3版本
在contest内提交通过与否可以在题库里面显示了
代码查重
7-28
1.1版本
签到功能
1.0版本
管理员在padding的时候可以看见题目
contest注册开始时间
contest是否计算rating(否的话不显示save链接,以免误点)
contest详细说明字段
管理员内的评测机状态显示
7-27
一般用户可以看到计算后的rating变化
7-25
0.2版
problem 标签(AC的user可以给problem贴标签)
7-24
0.13版上线
重写了导航条
修复不能修改密码的bug
7-23
0.12版上线
重写了contest内(js实现)
修复若干bug
修改了panel的样式(加了阴影)
7-19
修复了在contest内提交后刷新会重复提交的bug
7-12
版本0.11
7-11
消息提醒(回复提醒、注册审核提醒、rating变化消息)
7-10
BUG修复:Mysql自动断线,现在可以隔一段时间可以自动连接数据库
7-8
发布版本0.1测试版
7-7
注册验证用户名已经存在
修改各种地方的链接为相对路径
7-6
submitform去掉user,隐藏cid
discuss 对所有user开放(加上限制?)
discuss 置顶帖加上“【顶】”字样
discuss 楼主可以追加内容
discusslist 可以翻页和筛选
rating曲线图
7-5
管理员回复DiscussReply
userlist翻页
页面跳转,提交各种表单后会返回之前页面了
Discuss回复
管理员手动添加user进contest
7-4
注册contest和管理员审核
各种权限的验证
支持NBUT
Discuss的添加和修改
status和rank会高亮显示登陆者的那些记录
problemlist和contestlist新增“new”链接
提交校验:代码长度:50~65536
contest和problem的缓存清除(待改进)
7-3
首页显示discuss、利用discuss显示RecentlyContest(最近比赛)
首页显示TOP 10
rating计算保存
7-2
problem的修改
v_user的rank算法修改成showrating的排名
7-1
在statusList中点击username会跳转到user页面
contest修改
6-30
预测user的Rating变化(测试)
可以显示Contest的User注册列表
6-27
problem 描述的修改
其他oj题目保存在本地(第一次访问时保存)
t_problemview表保存题目描述
t_problem_sample表保存题目样例输入输出(因为一题可能有多组样例)
rating颜色显示(在User.ratingToHTML())
user修改
注册校验:用户名只能包括字母数字和下划线
6-26
user界面(UserInfo、Permissions、SolvedProblems、NotSolvedProblems)
6-25
粗糙的UserList界面
6-23
ICPCrank 显示金银铜
表t_rank_icpc保存contest的rank配置
添加contest
contest内的题号如果超过26题用字母表示,否则用数字表示(0开始)(1000开始?)
6-22
form.date类可以选择日期。id_d是日期,id_s是时,id_m是分
addcontestform,名称,开始时间,结束时间,类型,进入密码,注册结束时间
6-21
contest内题目列表显示AC率和登陆用户是否AC
6-20
全局题目列表显示AC率(AC用户数/提交用户数)
增加视图 usersolve_view (username,pid,solved) 表示每个用户对每道题目的AC情况 solved=1表示该题目AC solved=0表示提交了但未AC
6-18
拥有addContest权限可以控制题目的隐藏和显示(应该跳转回原页面。。。)
ceinfo权限
session保存User类,包括AC的题和未AC的题。(目前只有登录的时候计算,没有维护)
6-17
problem增加visiable字段控制显示隐藏。(仅对全局题目有效)
HTML.problem()验证user是否可以查看该题目
对应权限:showHideProblem(addContext附带)
6-15
更新bnuoj获取题目的算法(CF已经独立处理)
重判
6-14
添加权限表和用户权限表
admin.jsp添加管理员功能 addprooblem
6-13
代码高亮
注册校验:用jquery.validate.js 用户名密码长度等的校验
6-12
Judge重试超时
problemSet的翻页
status的筛选和翻页(conterst内外均可)
contest的筛选和翻页
Form应该有数据校验和读入当前参数的功能。
每个表单用action类保存,传入页面的action类,读取当前数据。
处理get请求的中文乱码
参考:http://www.jb51.net/article/56701.htm
6-11
FormHTML类管理表单生成,当前仅包括两种样式,一个作用于一般表单的post提交,一个用于筛选条件。
HTML类管理全部的HTML页面代码生成
将ContestList.jsp页面修改完整,补充筛选参数
6-10
密码加密 md5
judge 线程安全
6-9
ICPCrank的一血功能
实现BNUOJ类
HDU和BNUOJ获取timelimit和memorylimit
6-8
使用HTML类管理简单的HTML代码生成
查看自己的code ViewCode.jsp
TablemHTML类管理表格的HTML生成
statuListHTML类管理status列表HTML生成
statuList翻页
6-7
实现HDU类
可获得CE信息 CEinfo.jsp
定义Int64 并显示
6-6
Contest.getHomeHTML()获取Contest的Home页面的显示信息
使用problemHTML类管理problem的页面显示
6-5
进入contest时user验证、密码验证
Contest 有5种模式:
0:public 所有user都可以进入提交
1:password 进入时要输入密码
2:private 管理员添加可以进入的user
3:register 注册即可参加
4:register2 注册后需要审核才能参加
增加RegisterUser表示注册的user(SQL表contestuser)
statu:0未处理的报名 1通过的报名 2非正式参加 -1拒绝的报名
info: 保存某些信息(如拒绝报名原因)
6-4
Contest 开始和结束时间(开始前不能看题、结束后不能提交)
登录和退出(session保存)Login.jsp、loginsuccess.jsp、Logout.jsp、loginForm.jsp
提交时未登录会跳转到登录页面,提交表单的user会自动填入已登录的username
6-3
user表建立
简单注册(只有username和password)Register.jsp、registerForm.jsp
6-2
status保存到数据库,并且从数据库拉取
完善题目列表从数据库拉取的缓存模式
5-31
problemSet可以使用page参数来规定显示页(页从0开始)
题目列表从数据库拉取(总表和contest里面的题目列表)
(contest内的题目列表应该按contest规定的顺序(可以在cp表添加一列表示contest内的题号,然后用sql语句实现))
contest列表从数据库拉取
之前
contest的ICPC模式的rank功能(不包括一血功能)
完成了题库、vj、contest
vj的post请求实现使用Client类
题目显示使用jsoup+css选择器