| | |
| | | import com.github.pagehelper.PageInfo; |
| | | import com.mindskip.xzs.base.BaseApiController; |
| | | import com.mindskip.xzs.base.RestResponse; |
| | | import com.mindskip.xzs.domain.ExamPaper; |
| | | import com.mindskip.xzs.context.WebContext; |
| | | import com.mindskip.xzs.domain.ExamTemplates; |
| | | import com.mindskip.xzs.domain.ExamTemplatesConfig; |
| | | import com.mindskip.xzs.domain.ExamTemplatesSubject; |
| | | import com.mindskip.xzs.domain.User; |
| | | import com.mindskip.xzs.domain.vo.ExamTemplatesVO; |
| | | import com.mindskip.xzs.repository.ExamTemplatesSubjectMapper; |
| | | import com.mindskip.xzs.service.ExamPaperDepartmentService; |
| | | import com.mindskip.xzs.service.ExamTemplatesConfigService; |
| | | import com.mindskip.xzs.service.ExamTemplatesService; |
| | | import com.mindskip.xzs.utility.PageInfoHelper; |
| | | import com.mindskip.xzs.utility.minio.DateUtils; |
| | | import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.validation.Valid; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @RestController("AdminExamTemplatesController") |
| | | @RequestMapping(value = "/api/admin/exam/templates") |
| | | @RequiredArgsConstructor |
| | | public class ExamTemplatesController extends BaseApiController { |
| | | |
| | | private final ExamTemplatesService examTemplatesService; |
| | | private final ExamTemplatesConfigService examTemplatesConfigService; |
| | | private final ExamTemplatesSubjectMapper examTemplatesSubjectMapper; |
| | | |
| | | public ExamTemplatesController(ExamTemplatesService examTemplatesService, ExamTemplatesSubjectMapper examTemplatesSubjectMapper) { |
| | | this.examTemplatesService = examTemplatesService; |
| | | this.examTemplatesSubjectMapper = examTemplatesSubjectMapper; |
| | | } |
| | | private final WebContext webContext; |
| | | private final ExamPaperDepartmentService examPaperDepartmentService; |
| | | |
| | | @RequestMapping(value = "/edit", method = RequestMethod.POST) |
| | | public RestResponse edit(@RequestBody @Valid ExamPaperEditRequestVM model) { |
| | | model.setCreateUser(getCurrentUser().getId()); |
| | | examTemplatesService.add(model); |
| | | return RestResponse.ok(); |
| | | } |
| | | |
| | | @RequestMapping(value = "/list", method = RequestMethod.GET) |
| | | public RestResponse<PageInfo<ExamTemplatesVO>> list(ExamTemplatesVO examTemplatesVO) throws Exception { |
| | | PageInfo<ExamTemplates> pageInfo = examTemplatesService.gets(examTemplatesVO); |
| | | @RequestMapping(value = "/list", method = RequestMethod.POST) |
| | | public RestResponse<PageInfo<ExamTemplatesVO>> list(@RequestBody ExamTemplatesVO examTemplatesVO) throws Exception { |
| | | // 如果是部门管理员,需要做数据权限 |
| | | examTemplatesVO.setDeptId(ObjectUtils.isNotEmpty(examTemplatesVO.getDeptId()) ? examTemplatesVO.getDeptId() : getAdminDeptIds()); |
| | | PageInfo<ExamTemplates> pageInfo = examTemplatesService.getByadmins(examTemplatesVO); |
| | | PageInfo<ExamTemplatesVO> info = PageInfoHelper.copyMap(pageInfo, e -> { |
| | | ExamTemplatesVO vo = new ExamTemplatesVO(); |
| | | vo.setName(e.getName()); |
| | | vo.setId(e.getId()); |
| | | vo.setCtime(e.getCtime()); |
| | | Integer[] ids = examTemplatesSubjectMapper.getTemplatesId(e.getId()).stream().map(ExamTemplatesSubject::getSubjectId).toArray(Integer[]::new); |
| | | |
| | | List<ExamTemplatesSubject> subjectList = examTemplatesSubjectMapper.getTemplatesId(e.getId()); |
| | | Integer[] ids = subjectList.stream().map(ExamTemplatesSubject::getSubjectId).toArray(Integer[]::new); |
| | | String subjectNames = subjectList.stream().map(ExamTemplatesSubject::getSubjectName).collect(Collectors.joining("、")); |
| | | vo.setSubjectNames(subjectNames); |
| | | vo.setSubjectId(ids); |
| | | vo.setCreateDepartment(examPaperDepartmentService.selectByUserId(e.getCreateUser())); |
| | | return vo; |
| | | }); |
| | | return RestResponse.ok(info); |
| | |
| | | return RestResponse.ok(); |
| | | } |
| | | |
| | | // @RequestMapping(value = "/random", method = RequestMethod.POST) |
| | | // public RestResponse<Integer> randomExam() throws Exception { |
| | | // User user = getCurrentUser(); |
| | | // Integer id = examTemplatesService.randomExam(user); |
| | | // return RestResponse.ok(id); |
| | | // } |
| | | @PostMapping("/setConfig") |
| | | public RestResponse<Boolean> setConfig(@RequestBody ExamTemplatesConfig examTemplatesConfig) { |
| | | if (Objects.isNull(examTemplatesConfig.getId())) { |
| | | examTemplatesConfig.setCreateUser(getCurrentUser().getId()); |
| | | examTemplatesConfig.setCreateTime(DateUtils.getNowDate()); |
| | | } |
| | | return RestResponse.ok(examTemplatesConfigService.saveOrUpdate(examTemplatesConfig)); |
| | | } |
| | | |
| | | @GetMapping("/getConfig") |
| | | public RestResponse<ExamTemplatesConfig> getConfig() { |
| | | return RestResponse.ok(examTemplatesConfigService.getConfig()); |
| | | } |
| | | |
| | | } |