package com.ycl.jxkg.controller.admin; import com.github.pagehelper.PageInfo; import com.ycl.jxkg.base.BaseApiController; import com.ycl.jxkg.base.Result; import com.ycl.jxkg.domain.entity.Subject; import com.ycl.jxkg.domain.vo.admin.education.SubjectEditRequestVO; import com.ycl.jxkg.domain.vo.admin.education.SubjectPageRequestVO; import com.ycl.jxkg.domain.vo.admin.education.SubjectResponseVO; import com.ycl.jxkg.service.SubjectService; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; @RequiredArgsConstructor @RestController("AdminSubjectController") @RequestMapping(value = "/api/admin/subject") public class SubjectController extends BaseApiController { private final SubjectService subjectService; @RequestMapping(value = "/list", method = RequestMethod.POST) public Result> list() { List subjects = subjectService.allSubject(); return Result.ok(subjects); } @RequestMapping(value = "/page", method = RequestMethod.POST) public Result> pageList(@RequestBody SubjectPageRequestVO model) { return Result.ok(subjectService.page(model)); } @RequestMapping(value = "/edit", method = RequestMethod.POST) public Result edit(@RequestBody @Valid SubjectEditRequestVO model) { Subject subject = new Subject(); BeanUtils.copyProperties(model, subject); if (model.getId() == null) { subjectService.save(subject.setCreateUser(getCurrentUser().getId())); } else { subjectService.updateById(subject); } return Result.ok("操作成功"); } @RequestMapping(value = "/select/{id}", method = RequestMethod.POST) public Result select(@PathVariable Integer id) { Subject subject = subjectService.getById(id); SubjectEditRequestVO vo = new SubjectEditRequestVO(); BeanUtils.copyProperties(subject, vo); return Result.ok(vo); } @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) public Result delete(@PathVariable Integer id) { return Result.ok(subjectService.removeById(id)); } @GetMapping(value = "/getItemOrder") public Result getItemOrder() { return Result.ok(subjectService.getItemOrder()); } @PostMapping(value = "/status") public Result status(@RequestBody Subject subject) { subjectService.updateStatus(subject); return Result.ok("操作成功"); } }