Добавил еще немного
This commit is contained in:
@@ -28,7 +28,7 @@ public class TestController {
|
||||
if (request.getGroupId() == null || request.getGroupId() == 0) {
|
||||
return ResponseEntity.badRequest().body(Map.of("message", "ID группы обязателен"));
|
||||
}
|
||||
if (request.getLessonId() == null || request.getLessonId() == 0) {
|
||||
if (request.getDisciplineId() == null || request.getDisciplineId() == 0) {
|
||||
return ResponseEntity.badRequest().body(Map.of("message", "ID предмета обязателен"));
|
||||
}
|
||||
if (request.getDay() == null || request.getDay().isBlank()) {
|
||||
@@ -43,7 +43,7 @@ public class TestController {
|
||||
|
||||
Lesson lesson = new Lesson();
|
||||
lesson.setTeacherId(request.getTeacherId());
|
||||
lesson.setLessonId(request.getLessonId());
|
||||
lesson.setDisciplineId(request.getDisciplineId());
|
||||
lesson.setGroupId(request.getGroupId());
|
||||
lesson.setDay(request.getDay());
|
||||
lesson.setWeek(request.getWeek());
|
||||
@@ -56,7 +56,7 @@ public class TestController {
|
||||
@GetMapping
|
||||
public List<LessonResponse> getAllLessons() {
|
||||
return lessonRepository.findAll().stream()
|
||||
.map(l -> new LessonResponse(l.getId(), l.getTeacherId(), l.getLessonId(), l.getDay(), l.getWeek(), l.getTime()))
|
||||
.map(l -> new LessonResponse(l.getId(), l.getTeacherId(), l.getDisciplineId(), l.getDay(), l.getWeek(), l.getTime()))
|
||||
.toList();
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ public class CreateLessonRequest {
|
||||
|
||||
private Long teacherId;
|
||||
private Long groupId;
|
||||
private Long lessonId;
|
||||
private Long disciplineId;
|
||||
private String day;
|
||||
private String week;
|
||||
private String time;
|
||||
@@ -28,12 +28,12 @@ public class CreateLessonRequest {
|
||||
this.groupId = groupId;
|
||||
}
|
||||
|
||||
public Long getLessonId() {
|
||||
return lessonId;
|
||||
public Long getDisciplineId() {
|
||||
return disciplineId;
|
||||
}
|
||||
|
||||
public void setLessonId(Long lessonId) {
|
||||
this.lessonId= lessonId;
|
||||
public void setDisciplineId(Long disciplineId) {
|
||||
this.disciplineId= disciplineId;
|
||||
}
|
||||
|
||||
public String getDay() {
|
||||
|
||||
@@ -5,7 +5,7 @@ public class LessonResponse {
|
||||
private Long id;
|
||||
private Long teacherId;
|
||||
private Long groupId;
|
||||
private Long lessonId;
|
||||
private Long disciplineId;
|
||||
private String day;
|
||||
private String week;
|
||||
private String time;
|
||||
@@ -13,17 +13,17 @@ public class LessonResponse {
|
||||
public LessonResponse() {
|
||||
}
|
||||
|
||||
public LessonResponse(Long lessonId, String day, String week, String time) {
|
||||
this.lessonId = lessonId;
|
||||
public LessonResponse(Long disciplineId, String day, String week, String time) {
|
||||
this.disciplineId = disciplineId;
|
||||
this.day = day;
|
||||
this.week = week;
|
||||
this.time = time;
|
||||
}
|
||||
|
||||
public LessonResponse(Long id, Long teacherId, Long lessonId, String day, String week, String time) {
|
||||
public LessonResponse(Long id, Long teacherId, Long disciplineId, String day, String week, String time) {
|
||||
this.id = id;
|
||||
this.teacherId = teacherId;
|
||||
this.lessonId = lessonId;
|
||||
this.disciplineId = disciplineId;
|
||||
this.day = day;
|
||||
this.week = week;
|
||||
this.time = time;
|
||||
@@ -53,12 +53,12 @@ public class LessonResponse {
|
||||
this.groupId = groupId;
|
||||
}
|
||||
|
||||
public Long getLessonId() {
|
||||
return lessonId;
|
||||
public Long getDisciplineId() {
|
||||
return disciplineId;
|
||||
}
|
||||
|
||||
public void setLessonId(Long lessonId) {
|
||||
this.lessonId= lessonId;
|
||||
public void setDisciplineId(Long disciplineId) {
|
||||
this.disciplineId = disciplineId;
|
||||
}
|
||||
|
||||
public String getDay() {
|
||||
|
||||
@@ -10,22 +10,22 @@ public class Lesson {
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
@Column(nullable = false)
|
||||
@Column(name = "teacher_id", nullable = false)
|
||||
private Long teacherId;
|
||||
|
||||
@Column(nullable = false)
|
||||
@Column(name = "group_id", nullable = false)
|
||||
private Long groupId;
|
||||
|
||||
@Column(nullable = false)
|
||||
private Long lessonId;
|
||||
@Column(name = "discipline_id", nullable = false)
|
||||
private Long disciplineId;
|
||||
|
||||
@Column(nullable = false, length = 255)
|
||||
@Column(name = "day", nullable = false, length = 255)
|
||||
private String day;
|
||||
|
||||
@Column(nullable = false, length = 255)
|
||||
@Column(name = "week", nullable = false, length = 255)
|
||||
private String week;
|
||||
|
||||
@Column(nullable = false, length = 255)
|
||||
@Column(name = "time", nullable = false, length = 255)
|
||||
private String time;
|
||||
|
||||
public Lesson() {
|
||||
@@ -55,12 +55,12 @@ public class Lesson {
|
||||
this.groupId = groupId;
|
||||
}
|
||||
|
||||
public Long getLessonId() {
|
||||
return lessonId;
|
||||
public Long getDisciplineId() {
|
||||
return disciplineId;
|
||||
}
|
||||
|
||||
public void setLessonId(Long lessonId) {
|
||||
this.lessonId = lessonId;
|
||||
public void setDisciplineId(Long disciplineId) {
|
||||
this.disciplineId = disciplineId;
|
||||
}
|
||||
|
||||
public String getDay() {
|
||||
|
||||
@@ -7,5 +7,5 @@ import java.util.Optional;
|
||||
|
||||
public interface LessonRepository extends JpaRepository<Lesson, Long> {
|
||||
|
||||
Optional<Lesson> findByLessonId(Long lessonId);
|
||||
Optional<Lesson> findByDisciplineId(Long disciplineId);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
CREATE EXTENSION IF NOT EXISTS pgcrypto;
|
||||
|
||||
-- =====================================================
|
||||
-- 1. Таблица users
|
||||
-- =====================================================
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
username VARCHAR(50) UNIQUE NOT NULL,
|
||||
@@ -7,39 +10,48 @@ CREATE TABLE IF NOT EXISTS users (
|
||||
role VARCHAR(20) NOT NULL DEFAULT 'STUDENT'
|
||||
);
|
||||
|
||||
-- Админ по умолчанию: admin / admin (bcrypt через pgcrypto)
|
||||
-- Админ по умолчанию
|
||||
INSERT INTO users (username, password, role)
|
||||
VALUES ('admin', crypt('admin', gen_salt('bf', 10)), 'ADMIN')
|
||||
ON CONFLICT (username) DO NOTHING;
|
||||
|
||||
-- =====================================================
|
||||
-- 2. Таблица education_forms
|
||||
-- =====================================================
|
||||
CREATE TABLE IF NOT EXISTS education_forms (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
name VARCHAR(100) UNIQUE NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO education_forms (name) VALUES ('Бакалавриат'), ('Магистратура'), ('Специалитет')
|
||||
INSERT INTO education_forms (name)
|
||||
VALUES ('Бакалавриат'), ('Магистратура'), ('Специалитет')
|
||||
ON CONFLICT (name) DO NOTHING;
|
||||
|
||||
-- =====================================================
|
||||
-- 3. Таблица student_groups
|
||||
-- =====================================================
|
||||
CREATE TABLE IF NOT EXISTS student_groups (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
name VARCHAR(100) UNIQUE NOT NULL,
|
||||
education_form_id BIGINT NOT NULL REFERENCES education_forms(id)
|
||||
);
|
||||
|
||||
-- =====================================================
|
||||
-- 4. Таблица lessons (ЭТА ЧАСТЬ БЫЛА ИСПОРЧЕНА)
|
||||
-- =====================================================
|
||||
CREATE TABLE IF NOT EXISTS lessons (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
teacher_id BIGINT NOT NULL,
|
||||
group_id BIGINT NOT NULL,
|
||||
lesson_id BIGINT NOT NULL,
|
||||
discipline_id BIGINT NOT NULL,
|
||||
day VARCHAR(255) NOT NULL,
|
||||
week VARCHAR(255) NOT NULL,
|
||||
time VARCHAR(255) NOT NULL
|
||||
);
|
||||
|
||||
ALTER TABLE lessons
|
||||
ADD CONSTRAINT fk_lessons_teacher
|
||||
-- Добавляем внешние ключи
|
||||
ALTER TABLE lessons ADD CONSTRAINT fk_lessons_teacher
|
||||
FOREIGN KEY (teacher_id) REFERENCES users(id);
|
||||
|
||||
ALTER TABLE lessons
|
||||
ADD CONSTRAINT fk_lessons_group
|
||||
ALTER TABLE lessons ADD CONSTRAINT fk_lessons_group
|
||||
FOREIGN KEY (group_id) REFERENCES student_groups(id);
|
||||
Reference in New Issue
Block a user