TextbookLibraryHistoryService.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package com.qxgmat.service.inline;
  2. import com.github.pagehelper.Page;
  3. import com.nuliji.tools.AbstractService;
  4. import com.nuliji.tools.exception.ParameterException;
  5. import com.nuliji.tools.exception.SystemException;
  6. import com.nuliji.tools.mybatis.Example;
  7. import com.qxgmat.data.constants.enums.QuestionSubject;
  8. import com.qxgmat.data.dao.TextbookLibraryHistoryMapper;
  9. import com.qxgmat.data.dao.TextbookLibraryMapper;
  10. import com.qxgmat.data.dao.entity.TextbookLibrary;
  11. import com.qxgmat.data.dao.entity.TextbookLibraryHistory;
  12. import org.slf4j.Logger;
  13. import org.slf4j.LoggerFactory;
  14. import org.springframework.stereotype.Service;
  15. import javax.annotation.Resource;
  16. import java.util.Collection;
  17. import java.util.List;
  18. @Service
  19. public class TextbookLibraryHistoryService extends AbstractService {
  20. private static final Logger logger = LoggerFactory.getLogger(TextbookLibraryHistoryService.class);
  21. @Resource
  22. private TextbookLibraryHistoryMapper textbookLibraryHistoryMapper;
  23. /**
  24. * 获取换库历史
  25. * @param page
  26. * @param size
  27. * @param libraryId
  28. * @return
  29. */
  30. public Page<TextbookLibraryHistory> listByLibrary(int page, int size, Integer libraryId){
  31. Example example = new Example(TextbookLibraryHistory.class);
  32. example.and(
  33. example.createCriteria()
  34. .andEqualTo("libraryId", libraryId)
  35. );
  36. example.orderBy("id").desc();
  37. return page(()->select(textbookLibraryHistoryMapper, example), page, size);
  38. }
  39. public List<TextbookLibraryHistory> allByLibraryAndSubject(Integer libraryId, QuestionSubject subject){
  40. Example example = new Example(TextbookLibraryHistory.class);
  41. example.and(
  42. example.createCriteria()
  43. .andEqualTo("libraryId", libraryId)
  44. .andGreaterThan(String.format("%sVersion", subject.key), 0)
  45. );
  46. example.orderBy("id").desc();
  47. return select(textbookLibraryHistoryMapper, example);
  48. }
  49. public TextbookLibraryHistory add(TextbookLibraryHistory ad){
  50. int result = insert(textbookLibraryHistoryMapper, ad);
  51. ad = one(textbookLibraryHistoryMapper, ad.getId());
  52. if(ad == null){
  53. throw new SystemException("记录添加失败");
  54. }
  55. return ad;
  56. }
  57. public TextbookLibraryHistory edit(TextbookLibraryHistory ad){
  58. TextbookLibraryHistory in = one(textbookLibraryHistoryMapper, ad.getId());
  59. if(in == null){
  60. throw new ParameterException("记录不存在");
  61. }
  62. int result = update(textbookLibraryHistoryMapper, ad);
  63. return ad;
  64. }
  65. public boolean delete(Number id){
  66. TextbookLibraryHistory in = one(textbookLibraryHistoryMapper, id);
  67. if(in == null){
  68. throw new ParameterException("记录不存在");
  69. }
  70. int result = delete(textbookLibraryHistoryMapper, id);
  71. return result > 0;
  72. }
  73. public TextbookLibraryHistory get(Number id){
  74. TextbookLibraryHistory in = one(textbookLibraryHistoryMapper, id);
  75. if(in == null){
  76. throw new ParameterException("记录不存在");
  77. }
  78. return in;
  79. }
  80. public Page<TextbookLibraryHistory> select(int page, int pageSize){
  81. return select(textbookLibraryHistoryMapper, page, pageSize);
  82. }
  83. public Page<TextbookLibraryHistory> select(Integer[] ids){
  84. return page(()->select(textbookLibraryHistoryMapper, ids), 1, ids.length);
  85. }
  86. public List<TextbookLibraryHistory> select(Collection ids){
  87. return select(textbookLibraryHistoryMapper, ids);
  88. }
  89. }