package com.mindskip.xzs.controller.admin; import com.mindskip.xzs.base.BaseApiController; import com.mindskip.xzs.base.RestResponse; import com.mindskip.xzs.domain.TaskExam; import com.mindskip.xzs.service.TaskExamService; import com.mindskip.xzs.utility.DateTimeUtil; import com.mindskip.xzs.utility.PageInfoHelper; import com.mindskip.xzs.viewmodel.admin.task.TaskPageRequestVM; import com.mindskip.xzs.viewmodel.admin.task.TaskPageResponseVM; import com.mindskip.xzs.viewmodel.admin.task.TaskRequestVM; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @RestController("AdminTaskController") @RequestMapping(value = "/api/admin/task") public class TaskController extends BaseApiController { private final TaskExamService taskExamService; @Autowired public TaskController(TaskExamService taskExamService) { this.taskExamService = taskExamService; } @RequestMapping(value = "/page", method = RequestMethod.POST) public RestResponse> pageList(@RequestBody TaskPageRequestVM model) { PageInfo pageInfo = taskExamService.page(model); PageInfo page = PageInfoHelper.copyMap(pageInfo, m -> { TaskPageResponseVM vm = modelMapper.map(m, TaskPageResponseVM.class); vm.setCreateTime(DateTimeUtil.dateFormat(m.getCreateTime())); return vm; }); return RestResponse.ok(page); } @RequestMapping(value = "/edit", method = RequestMethod.POST) public RestResponse edit(@RequestBody @Valid TaskRequestVM model) { taskExamService.edit(model, getCurrentUser()); TaskRequestVM vm = taskExamService.taskExamToVM(model.getId()); return RestResponse.ok(vm); } @RequestMapping(value = "/select/{id}", method = RequestMethod.POST) public RestResponse select(@PathVariable Integer id) { TaskRequestVM vm = taskExamService.taskExamToVM(id); return RestResponse.ok(vm); } @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) public RestResponse delete(@PathVariable Integer id) { TaskExam taskExam = taskExamService.selectById(id); taskExam.setDeleted(true); taskExamService.updateByIdFilter(taskExam); return RestResponse.ok(); } }