ExerciseQuestionService.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package com.qxgmat.service.inline;
  2. import com.github.pagehelper.Page;
  3. import com.nuliji.tools.AbstractService;
  4. import com.nuliji.tools.PageResult;
  5. import com.nuliji.tools.Transform;
  6. import com.nuliji.tools.exception.ParameterException;
  7. import com.nuliji.tools.exception.SystemException;
  8. import com.qxgmat.data.constants.enums.status.DirectionStatus;
  9. import com.qxgmat.data.dao.ExercisePaperQuestionMapper;
  10. import com.qxgmat.data.dao.entity.ExercisePaperQuestion;
  11. import com.qxgmat.data.dao.entity.QuestionNo;
  12. import com.qxgmat.data.relation.ExerciseQuestionRelationMapper;
  13. import com.qxgmat.data.relation.QuestionNoRelationMapper;
  14. import org.slf4j.Logger;
  15. import org.slf4j.LoggerFactory;
  16. import org.springframework.stereotype.Service;
  17. import javax.annotation.Resource;
  18. import java.util.Collection;
  19. import java.util.List;
  20. @Service
  21. public class ExerciseQuestionService extends AbstractService {
  22. private static final Logger logger = LoggerFactory.getLogger(ExerciseQuestionService.class);
  23. @Resource
  24. private ExercisePaperQuestionMapper exerciseQuestionMapper;
  25. @Resource
  26. private ExerciseQuestionRelationMapper exerciseQuestionRelationMapper;
  27. @Resource
  28. private QuestionNoRelationMapper questionNoRelationMapper;
  29. @Resource
  30. private QuestionNoService questionNoService;
  31. public Page<ExercisePaperQuestion> listAdmin(int page, int pageSize, String type, Number structId, Number questionNo, Number paperId, String place, String difficult, String startTime, String endTime, String order, DirectionStatus direction){
  32. if(order.isEmpty()) order = "id";
  33. if (direction == null){
  34. direction = DirectionStatus.DESC;
  35. }
  36. String finalOrder = order;
  37. DirectionStatus finalDirection = direction;
  38. Page<ExercisePaperQuestion> p = page(() -> {
  39. exerciseQuestionRelationMapper.listAdmin(type, structId, questionNo, paperId, place, difficult, startTime, endTime, finalOrder, finalDirection.key);
  40. }, page, pageSize);
  41. Collection ids = Transform.getIds(p, ExercisePaperQuestion.class, "id");
  42. // 获取详细数据
  43. List<ExercisePaperQuestion> list = select(ids);
  44. Transform.replace(p, list, ExercisePaperQuestion.class, "id");
  45. return p;
  46. }
  47. public ExercisePaperQuestion add(ExercisePaperQuestion question){
  48. int result = insert(exerciseQuestionMapper, question);
  49. question = one(exerciseQuestionMapper, question.getId());
  50. if(question == null){
  51. throw new SystemException("题目添加失败");
  52. }
  53. return question;
  54. }
  55. public ExercisePaperQuestion edit(ExercisePaperQuestion question){
  56. ExercisePaperQuestion in = one(exerciseQuestionMapper, question.getId());
  57. if(in == null){
  58. throw new ParameterException("题目不存在");
  59. }
  60. int result = update(exerciseQuestionMapper, question);
  61. return question;
  62. }
  63. public boolean delete(Number id){
  64. ExercisePaperQuestion in = one(exerciseQuestionMapper, id);
  65. if(in == null){
  66. throw new ParameterException("题目不存在");
  67. }
  68. int result = delete(exerciseQuestionMapper, id);
  69. return result > 0;
  70. }
  71. public ExercisePaperQuestion get(Number id){
  72. ExercisePaperQuestion in = one(exerciseQuestionMapper, id);
  73. if(in == null){
  74. throw new ParameterException("题目不存在");
  75. }
  76. return in;
  77. }
  78. public Page<ExercisePaperQuestion> select(int page, int pageSize){
  79. return select(exerciseQuestionMapper, page, pageSize);
  80. }
  81. public List<ExercisePaperQuestion> select(Collection ids){
  82. return select(exerciseQuestionMapper, ids);
  83. }
  84. }