package com.mindskip.xzs.controller.student; import com.mindskip.xzs.base.BaseApiController; import com.mindskip.xzs.base.RestResponse; import com.mindskip.xzs.domain.Subject; import com.mindskip.xzs.domain.User; import com.mindskip.xzs.service.SubjectService; import com.mindskip.xzs.viewmodel.student.education.SubjectEditRequestVM; import com.mindskip.xzs.viewmodel.student.education.SubjectVM; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.stream.Collectors; @RestController("StudentEducationController") @RequestMapping(value = "/api/student/education") public class EducationController extends BaseApiController { private final SubjectService subjectService; @Autowired public EducationController(SubjectService subjectService) { this.subjectService = subjectService; } @RequestMapping(value = "/subject/list", method = RequestMethod.POST) public RestResponse> list() { User user = getCurrentUser(); // subjectService.getSubjectByLevel(user.getUserLevel()); List subjects = subjectService.allSubject(); List subjectVMS = subjects.stream().map(d -> { SubjectVM subjectVM = modelMapper.map(d, SubjectVM.class); subjectVM.setId(String.valueOf(d.getId())); return subjectVM; }).collect(Collectors.toList()); return RestResponse.ok(subjectVMS); } @RequestMapping(value = "/subject/select/{id}", method = RequestMethod.POST) public RestResponse select(@PathVariable Integer id) { Subject subject = subjectService.selectById(id); SubjectEditRequestVM vm = modelMapper.map(subject, SubjectEditRequestVM.class); return RestResponse.ok(vm); } }