Newer
Older
ywb16155
committed
import app.entities.ClassEntity;
import app.entities.MinutePaperEntity;
import app.pojo.PaperDetailsWrapper;
import app.pojo.ResponseGraphDetails;
import app.pojo.StudentGraphDetails;
import app.services.ClassInfoService;
import app.services.GraphDataService;
import app.services.LecturerInfoService;
import app.services.SentimentService;
ywb16155
committed
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
ywb16155
committed
import java.util.List;
import java.util.Map;
@RestController
public class LecturerController {
@Autowired
private LecturerInfoService lecturerInfoService;
@Autowired
private ClassInfoService classInfoService;
@Autowired
private GraphDataService graphDataService;
@Autowired
private SentimentService sentimentService;
ywb16155
committed
@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"));
}
ywb16155
committed
@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);
ywb16155
committed
}
@PostMapping(value = "/deletePaper",consumes = MediaType.APPLICATION_JSON_VALUE)
ywb16155
committed
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) {
ywb16155
committed
lecturerInfoService.create(request,true);
}
@PostMapping(value = "/deleteTemplate",consumes = MediaType.APPLICATION_JSON_VALUE)
ywb16155
committed
public void deleteTemplate(@RequestBody Map<String,String> request) {
lecturerInfoService.delete(request.get("paperId"),true);
}
@PostMapping(value = "/getResponseData",consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public List<ResponseGraphDetails> getResponseData(@RequestBody Map<String,String> request) {
return graphDataService.getResponseGraphData(request.get("username"));
}
@PostMapping(value = "/getStudentResponseData",consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public List<StudentGraphDetails> getStudentResponseData(@RequestBody Map<String,String> request) {
return graphDataService.getStudentGraphData(request.get("classCode"));
}
@GetMapping(value = "/wordCloudTest", produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public List<WordDetails> getStudentResponseData() {
return sentimentService.generateWordCloud(39); //TODO - CHANGE TO POSTMAPPING AND ADD CONSUME MEDIATYPE
}