Добавил методы на создание и удаление данных в кафедральном файле
This commit is contained in:
@@ -1,17 +1,17 @@
|
||||
package com.magistr.app.controller;
|
||||
|
||||
import com.magistr.app.dto.CreateScheduleDataRequest;
|
||||
import com.magistr.app.dto.ScheduleResponse;
|
||||
import com.magistr.app.model.*;
|
||||
import com.magistr.app.repository.*;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -143,4 +143,59 @@ public class ScheduleDataController {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
// Доделать проверки получаемых полей!!!
|
||||
@PostMapping("/create")
|
||||
public ResponseEntity<?> createScheduleData(@RequestBody CreateScheduleDataRequest request) {
|
||||
logger.info("Получен запрос на создание записи данных для расписаний");
|
||||
try {
|
||||
ScheduleData scheduleData = new ScheduleData();
|
||||
scheduleData.setDepartmentId(request.getDepartmentId());
|
||||
scheduleData.setSemester(request.getSemester());
|
||||
scheduleData.setGroupId(request.getGroupId());
|
||||
scheduleData.setSubjectsId(request.getSubjectsId());
|
||||
scheduleData.setLessonTypeId(request.getLessonTypeId());
|
||||
scheduleData.setNumberOfHours(request.getNumberOfHours());
|
||||
scheduleData.setDivision(request.getDivision());
|
||||
scheduleData.setTeacherId(request.getTeacherId());
|
||||
scheduleData.setSemesterType(request.getSemesterType());
|
||||
scheduleData.setPeriod(request.getPeriod());
|
||||
|
||||
ScheduleData savedSchedule = scheduleDataRepository.save(scheduleData);
|
||||
|
||||
Map<String, Object> response = new LinkedHashMap<>();
|
||||
response.put("id", savedSchedule.getId());
|
||||
response.put("departmentId", savedSchedule.getDepartmentId());
|
||||
response.put("semester", savedSchedule.getSemester());
|
||||
response.put("groupId", savedSchedule.getGroupId());
|
||||
response.put("subjectId", savedSchedule.getSubjectsId());
|
||||
response.put("lessonTypeId", savedSchedule.getLessonTypeId());
|
||||
response.put("numberOfHours", savedSchedule.getNumberOfHours());
|
||||
response.put("isDivision", savedSchedule.getDivision());
|
||||
response.put("teacherId", savedSchedule.getTeacherId());
|
||||
response.put("semesterType", savedSchedule.getSemesterType());
|
||||
response.put("period", savedSchedule.getPeriod());
|
||||
|
||||
logger.info("Запись успешно создана с ID: {}", savedSchedule.getId());
|
||||
|
||||
return ResponseEntity.ok(response);
|
||||
} catch (Exception e) {
|
||||
logger.error("Ошибка при создании записи: {}", e.getMessage(), e);
|
||||
|
||||
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
|
||||
.body(Map.of("message", "Произошла ошибка при создании записи: " + e.getMessage()));
|
||||
}
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
public ResponseEntity<?> deleteById(@PathVariable Long id) {
|
||||
logger.info("Получен запрос на удаление записи с ID: {}", id);
|
||||
if(!scheduleDataRepository.existsById(id)) {
|
||||
logger.info("Запись с ID - {} не найдена", id);
|
||||
return ResponseEntity.notFound().build();
|
||||
}
|
||||
scheduleDataRepository.deleteById(id);
|
||||
logger.info("Запись с ID - {} успешно удалена", id);
|
||||
return ResponseEntity.ok(Map.of("message", "Запись удалена"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user