123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- package com.qxgmat.controller.admin;
- import com.github.pagehelper.Page;
- import com.nuliji.tools.PageMessage;
- import com.nuliji.tools.Response;
- import com.nuliji.tools.ResponseHelp;
- import com.nuliji.tools.Transform;
- import com.nuliji.tools.exception.ParameterException;
- import com.qxgmat.data.constants.enums.module.CourseModule;
- import com.qxgmat.data.constants.enums.status.DirectionStatus;
- import com.qxgmat.data.dao.entity.Course;
- import com.qxgmat.data.dao.entity.PreviewAssign;
- import com.qxgmat.data.dao.entity.PreviewPaper;
- import com.qxgmat.data.dao.entity.User;
- import com.qxgmat.dto.admin.extend.CourseExtendDto;
- import com.qxgmat.dto.admin.extend.UserExtendDto;
- import com.qxgmat.dto.admin.request.PreviewAssignDto;
- import com.qxgmat.dto.admin.request.PreviewPaperDto;
- import com.qxgmat.dto.admin.response.PreviewPaperListDto;
- import com.qxgmat.service.extend.PreviewService;
- import com.qxgmat.service.extend.QuestionFlowService;
- import com.qxgmat.service.inline.*;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.MediaType;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpSession;
- import java.util.Collection;
- import java.util.List;
- @RestController("AdminPreviewController")
- @RequestMapping("/admin/preview")
- @Api(tags = "预习作业接口", description = "设置预习作业", produces = MediaType.APPLICATION_JSON_VALUE)
- public class PreviewController {
- @Autowired
- private ManagerLogService managerLogService;
- @Autowired
- private CourseService courseService;
- @Autowired
- private PreviewService previewService;
- @Autowired
- private PreviewPaperService previewPaperService;
- @Autowired
- private PreviewAssignService previewAssignService;
- @Autowired
- private QuestionNoService questionNoService;
- @Autowired
- private QuestionFlowService questionFlowService;
- @RequestMapping(value = "/add", method = RequestMethod.POST)
- @ApiOperation(value = "添加预习作业", httpMethod = "POST")
- public Response<PreviewPaper> add(@RequestBody @Validated PreviewPaperDto dto, HttpServletRequest request) {
- PreviewPaper entity = Transform.dtoToEntity(dto);
- if (dto.getCourseNo() != null){
- PreviewAssign assign = previewAssignService.getByCourseNo(dto.getCourseId(), dto.getCourseNo());
- if (assign != null){
- throw new ParameterException("该课时已经创建");
- }
- }
- previewPaperService.add(entity);
- managerLogService.log(request);
- return ResponseHelp.success(entity);
- }
- @RequestMapping(value = "/edit", method = RequestMethod.PUT)
- @ApiOperation(value = "编辑预习作业", httpMethod = "PUT")
- public Response<Boolean> edit(@RequestBody @Validated PreviewPaperDto dto, HttpServletRequest request) {
- PreviewPaper entity = Transform.dtoToEntity(dto);
- previewPaperService.edit(entity);
- // 不允许编辑课时,如果允许,该处进行处理
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
- @ApiOperation(value = "删除预习作业", httpMethod = "DELETE")
- public Response<Boolean> delete(@RequestParam int id, HttpServletRequest request) {
- previewPaperService.delete(id);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/detail", method = RequestMethod.GET)
- @ApiOperation(value = "获取预习作业", httpMethod = "GET")
- public Response<PreviewPaper> detail(@RequestParam int id, HttpSession session) {
- PreviewPaper entity = previewPaperService.get(id);
- return ResponseHelp.success(entity);
- }
- @RequestMapping(value = "/list", method = RequestMethod.GET)
- @ApiOperation(value = "预习作业列表", httpMethod = "GET")
- public Response<PageMessage<PreviewPaperListDto>> list(
- @RequestParam(required = false, defaultValue = "1") int page,
- @RequestParam(required = false, defaultValue = "100") int size,
- @RequestParam(required = false) String courseModule,
- @RequestParam(required = false) Integer structId,
- @RequestParam(required = false, defaultValue = "id") String order,
- @RequestParam(required = false, defaultValue = "desc") String direction,
- HttpSession session) {
- Page<PreviewPaper> p = previewPaperService.listAdmin(page, size, CourseModule.ValueOf(courseModule), structId, order, DirectionStatus.ValueOf(direction));
- List<PreviewPaperListDto> pr = Transform.convert(p, PreviewPaperListDto.class);
- // 绑定用户
- Collection courseIds = Transform.getIds(p, PreviewPaper.class, "courseId");
- List<Course> courseList = courseService.select(courseIds);
- Transform.combine(pr, courseList, PreviewPaperListDto.class, "courseId", "course", Course.class, "id", CourseExtendDto.class);
- return ResponseHelp.success(pr, page, size, p.getTotal());
- }
- @RequestMapping(value = "/assign/add", method = RequestMethod.POST)
- @ApiOperation(value = "添加分配预习作业", httpMethod = "POST")
- public Response<PreviewAssign> addAssign(@RequestBody @Validated PreviewAssignDto dto, HttpServletRequest request) {
- PreviewAssign entity = Transform.dtoToEntity(dto);
- previewAssignService.add(entity);
- managerLogService.log(request);
- return ResponseHelp.success(entity);
- }
- @RequestMapping(value = "/assign/edit", method = RequestMethod.PUT)
- @ApiOperation(value = "编辑分配预习作业", httpMethod = "PUT")
- public Response<Boolean> editAssign(@RequestBody @Validated PreviewAssignDto dto, HttpServletRequest request) {
- PreviewAssign entity = Transform.dtoToEntity(dto);
- previewAssignService.edit(entity);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/assign/delete", method = RequestMethod.DELETE)
- @ApiOperation(value = "删除分配预习作业", httpMethod = "DELETE")
- public Response<Boolean> deleteAssign(@RequestParam int id, HttpServletRequest request) {
- previewAssignService.delete(id);
- managerLogService.log(request);
- return ResponseHelp.success(true);
- }
- @RequestMapping(value = "/assign/detail", method = RequestMethod.GET)
- @ApiOperation(value = "获取预习作业", httpMethod = "GET")
- public Response<PreviewAssign> detailAssign(@RequestParam int id, HttpSession session) {
- PreviewAssign entity = previewAssignService.get(id);
- return ResponseHelp.success(entity);
- }
- @RequestMapping(value = "/assign/list", method = RequestMethod.GET)
- @ApiOperation(value = "获取预习作业列表", httpMethod = "GET")
- public Response<PageMessage<PreviewAssign>> listAssign(
- @RequestParam(required = false, defaultValue = "1") int page,
- @RequestParam(required = false, defaultValue = "100") int size,
- @RequestParam(required = false) Integer paperId,
- @RequestParam(required = false, defaultValue = "id") String order,
- @RequestParam(required = false, defaultValue = "desc") String direction,
- HttpSession session) {
- Page<PreviewAssign> p = previewAssignService.listAdmin(page, size, paperId, order, DirectionStatus.ValueOf(direction));
- return ResponseHelp.success(p, page, size, p.getTotal());
- }
- }
|