Добавил методы на создание и удаление данных в кафедральном файле
This commit is contained in:
@@ -1,17 +1,17 @@
|
|||||||
package com.magistr.app.controller;
|
package com.magistr.app.controller;
|
||||||
|
|
||||||
|
import com.magistr.app.dto.CreateScheduleDataRequest;
|
||||||
import com.magistr.app.dto.ScheduleResponse;
|
import com.magistr.app.dto.ScheduleResponse;
|
||||||
import com.magistr.app.model.*;
|
import com.magistr.app.model.*;
|
||||||
import com.magistr.app.repository.*;
|
import com.magistr.app.repository.*;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -143,4 +143,59 @@ public class ScheduleDataController {
|
|||||||
throw e;
|
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