package app.api; import app.entities.ClassEntity; import app.entities.MinutePaperEntity; import app.pojo.PaperDetailsWrapper; import app.pojo.ResponseGraphDetails; import app.services.ClassInfoService; import app.services.GraphDataService; import app.services.LecturerInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; @RestController public class LecturerController { @Autowired private LecturerInfoService lecturerInfoService; @Autowired private ClassInfoService classInfoService; @Autowired private GraphDataService graphDataService; @PostMapping(value = "/getLecturerClasses",consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public List<ClassEntity> getClassList(@RequestBody Map<String,String> request) { return classInfoService.getClasses(request.get("username")); } @PostMapping(value = "/getClassPapers",consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public List<MinutePaperEntity> getClassPapers(@RequestBody Map<String,String> request) { return lecturerInfoService.getClassPapers(request.get("username"),request.get("classCode")); } @PostMapping(value = "/getTemplates",consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public List<PaperDetailsWrapper> getTemplates(@RequestBody Map<String,String> request) { return lecturerInfoService.getTemplates(request.get("username")); } @PostMapping(value = "/createPaper",consumes = MediaType.APPLICATION_JSON_VALUE) public void createPaper(@RequestBody PaperDetailsWrapper request) { lecturerInfoService.create(request,false); } @PostMapping(value = "/deletePaper",consumes = MediaType.APPLICATION_JSON_VALUE) public void deletePaper(@RequestBody Map<String,String> request) { lecturerInfoService.delete(request.get("paperId"),false); } @PostMapping(value = "/createTemplate",consumes = MediaType.APPLICATION_JSON_VALUE) public void createTemplate(@RequestBody PaperDetailsWrapper request) { lecturerInfoService.create(request,true); } @PostMapping(value = "/deleteTemplate",consumes = MediaType.APPLICATION_JSON_VALUE) public void deleteTemplate(@RequestBody Map<String,String> request) { lecturerInfoService.delete(request.get("paperId"),true); } @PostMapping(value = "/getResponseData",consumes = MediaType.APPLICATION_JSON_VALUE) public List<ResponseGraphDetails> getResponseData(@RequestBody Map<String,String> request) { return graphDataService.getResponseGraphData(request.get("username")); } }