package com.ycl.jxkg.controller.student; import com.ycl.jxkg.base.BaseApiController; import com.ycl.jxkg.base.RestResponse; import com.ycl.jxkg.domain.Subject; import com.ycl.jxkg.domain.User; import com.ycl.jxkg.service.SubjectService; import com.ycl.jxkg.viewmodel.student.education.SubjectEditRequestVM; import com.ycl.jxkg.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(); List subjects = subjectService.getSubjectByLevel(user.getUserLevel()); 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); } }