UserPreviewController.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package com.qxgmat.controller.admin;
  2. import com.nuliji.tools.*;
  3. import com.qxgmat.data.dao.entity.PreviewPaper;
  4. import com.qxgmat.data.dao.entity.User;
  5. import com.qxgmat.data.relation.entity.UserPreviewPaperRelation;
  6. import com.qxgmat.dto.admin.response.UserPreviewListDto;
  7. import com.qxgmat.service.UsersService;
  8. import com.qxgmat.service.PreviewService;
  9. import com.qxgmat.service.inline.ManagerLogService;
  10. import com.qxgmat.service.UserPaperService;
  11. import io.swagger.annotations.Api;
  12. import io.swagger.annotations.ApiOperation;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.http.MediaType;
  15. import org.springframework.web.bind.annotation.*;
  16. import javax.servlet.http.HttpSession;
  17. import java.util.Collection;
  18. import java.util.List;
  19. @RestController("AdminUserPreviewController")
  20. @RequestMapping("/admin/user/preview")
  21. @Api(tags = "用户预习作业接口", description = "用户预习作业", produces = MediaType.APPLICATION_JSON_VALUE)
  22. public class UserPreviewController {
  23. @Autowired
  24. private ManagerLogService managerLogService;
  25. @Autowired
  26. private UserPaperService userPaperService;
  27. @Autowired
  28. private UsersService usersService;
  29. @Autowired
  30. private PreviewService previewService;
  31. @RequestMapping(value = "/list", method = RequestMethod.GET)
  32. @ApiOperation(value = "预习作业列表", httpMethod = "GET")
  33. public Response<PageMessage<UserPreviewListDto>> list(
  34. @RequestParam(required = false, defaultValue = "1") int page,
  35. @RequestParam(required = false, defaultValue = "100") int size,
  36. @RequestParam(required = false, defaultValue = "0") int category,
  37. @RequestParam(required = false) Integer userId,
  38. @RequestParam(required = false) Integer previewId,
  39. @RequestParam(required = false) String startTime,
  40. @RequestParam(required = false) String endTime,
  41. HttpSession session) {
  42. PageResult<UserPreviewPaperRelation> p = previewService.listAdmin(page, size, category, userId, previewId, startTime, endTime);
  43. // 绑定用户
  44. Collection userIds = Transform.getIds(p, UserPreviewPaperRelation.class, "userId");
  45. List<User> userList = usersService.select(userIds);
  46. Transform.combine(p, userList, UserPreviewPaperRelation.class, "userId", "user", User.class, "id");
  47. // 绑定预习作业
  48. Collection previewIds = Transform.getIds(p, UserPreviewPaperRelation.class, "moduleId");
  49. List<PreviewPaper> previewPaperList = previewService.select(previewIds);
  50. Transform.combine(p, previewPaperList, UserPreviewPaperRelation.class, "moduleId", "preview", PreviewPaper.class, "id");
  51. List<UserPreviewListDto> pr = Transform.convert(p, UserPreviewListDto.class);
  52. return ResponseHelp.success(pr, page, size, p.getTotal());
  53. }
  54. }