diff --git a/backend/src/main/java/com/example/Piroin/project/domain/assignment/enums/AssignmentStatus.java b/backend/src/main/java/com/example/Piroin/project/domain/assignment/enums/AssignmentStatus.java index 8e09924..9cf74e0 100644 --- a/backend/src/main/java/com/example/Piroin/project/domain/assignment/enums/AssignmentStatus.java +++ b/backend/src/main/java/com/example/Piroin/project/domain/assignment/enums/AssignmentStatus.java @@ -4,6 +4,8 @@ public enum AssignmentStatus { SUCCESS, // 정상 제출 (0원) + INSUFFICIENT_5000, + INSUFFICIENT_MINOR, // 경미한 불충분 (-10000) INSUFFICIENT_15000, diff --git a/backend/src/main/java/com/example/Piroin/project/domain/user/service/AdminUserService.java b/backend/src/main/java/com/example/Piroin/project/domain/user/service/AdminUserService.java index 6619728..c8340d1 100644 --- a/backend/src/main/java/com/example/Piroin/project/domain/user/service/AdminUserService.java +++ b/backend/src/main/java/com/example/Piroin/project/domain/user/service/AdminUserService.java @@ -165,6 +165,8 @@ private int calculateAssignmentPenalty(AssignmentStatus status) { case SUCCESS, PENDING -> 0; + case INSUFFICIENT_5000 -> 5_000; + case INSUFFICIENT_MINOR -> 10_000; case INSUFFICIENT_15000 -> 15_000; diff --git a/backend/src/main/resources/db/migration/V13__update_assignment_status_check_5000.sql b/backend/src/main/resources/db/migration/V13__update_assignment_status_check_5000.sql new file mode 100644 index 0000000..59b574e --- /dev/null +++ b/backend/src/main/resources/db/migration/V13__update_assignment_status_check_5000.sql @@ -0,0 +1,17 @@ +ALTER TABLE assignment_item + DROP CONSTRAINT chk_assignment_item_submitted; + +ALTER TABLE assignment_item + ADD CONSTRAINT chk_assignment_item_submitted + CHECK ( + submitted IN ( + 'SUCCESS', + 'INSUFFICIENT_5000', + 'INSUFFICIENT_MINOR', + 'INSUFFICIENT_15000', + 'INSUFFICIENT_MAJOR', + 'INSUFFICIENT_25000', + 'FAILURE', + 'PENDING' + ) + ); \ No newline at end of file diff --git a/frontend/src/pages/pirocheck/students/StudentDetail.js b/frontend/src/pages/pirocheck/students/StudentDetail.js index 26c49d2..94fef35 100644 --- a/frontend/src/pages/pirocheck/students/StudentDetail.js +++ b/frontend/src/pages/pirocheck/students/StudentDetail.js @@ -13,6 +13,7 @@ const dayLabel = { TUESDAY: 'TUE', THURSDAY: 'THU', SATURDAY: 'SAT' }; const statusOptions = [ 'PENDING', 'SUCCESS', + 'INSUFFICIENT_5000', 'INSUFFICIENT_MINOR', 'INSUFFICIENT_15000', 'INSUFFICIENT_MAJOR', @@ -22,6 +23,7 @@ const statusOptions = [ const statusLabel = { PENDING: '채점 중', SUCCESS: '성공', + INSUFFICIENT_5000: '미달 (-0.5)', INSUFFICIENT_MINOR: '미달 (-1)', INSUFFICIENT_15000: '미달 (-1.5)', INSUFFICIENT_MAJOR: '미달 (-2)',