SentenceArticleService.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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.dao.SentenceArticleMapper;
  8. import com.qxgmat.data.dao.entity.Manager;
  9. import com.qxgmat.data.dao.entity.SentenceArticle;
  10. import org.slf4j.Logger;
  11. import org.slf4j.LoggerFactory;
  12. import org.springframework.stereotype.Service;
  13. import javax.annotation.Resource;
  14. import java.util.Collection;
  15. import java.util.List;
  16. @Service
  17. public class SentenceArticleService extends AbstractService {
  18. private static final Logger logger = LoggerFactory.getLogger(SentenceArticleService.class);
  19. @Resource
  20. private SentenceArticleMapper sentenceArticleMapper;
  21. /**
  22. * 获取长难句单个章节所有文章
  23. * @param chapter
  24. * @return
  25. */
  26. public List<SentenceArticle> listByChapter(Number chapter){
  27. Example example = new Example(SentenceArticle.class);
  28. example.and(
  29. example.createCriteria()
  30. .andEqualTo("chapter", chapter)
  31. );
  32. example.orderBy("part").asc();
  33. return select(sentenceArticleMapper, example);
  34. }
  35. /**
  36. * 获取所有试用章节文章
  37. * @return
  38. */
  39. public List<SentenceArticle> listByTrail(){
  40. Example example = new Example(SentenceArticle.class);
  41. example.and(
  42. example.createCriteria()
  43. .andEqualTo("isTrail", 1)
  44. );
  45. example.setOrderByClause("chapter asc,part asc");
  46. return select(sentenceArticleMapper, example);
  47. }
  48. /**
  49. * 获取章节下最大
  50. * @param chapter
  51. * @return
  52. */
  53. public Integer maxPart(Integer chapter){
  54. Example example = new Example(SentenceArticle.class);
  55. example.and(
  56. example.createCriteria()
  57. .andEqualTo("chapter", chapter)
  58. );
  59. example.selectProperties("part");
  60. example.setOrderByClause("part desc");
  61. SentenceArticle entity = one(sentenceArticleMapper, example);
  62. return entity != null ? entity.getPart() : 0;
  63. }
  64. public SentenceArticle add(SentenceArticle article){
  65. int result = insert(sentenceArticleMapper, article);
  66. article = one(sentenceArticleMapper, article.getId());
  67. if(article == null){
  68. throw new SystemException("文章添加失败");
  69. }
  70. return article;
  71. }
  72. public SentenceArticle edit(SentenceArticle article){
  73. SentenceArticle in = one(sentenceArticleMapper, article.getId());
  74. if(in == null){
  75. throw new ParameterException("文章不存在");
  76. }
  77. int result = update(sentenceArticleMapper, article);
  78. return article;
  79. }
  80. public boolean delete(Number id){
  81. SentenceArticle in = one(sentenceArticleMapper, id);
  82. if(in == null){
  83. throw new ParameterException("文章不存在");
  84. }
  85. int result = delete(sentenceArticleMapper, id);
  86. return result > 0;
  87. }
  88. public SentenceArticle get(Number id){
  89. SentenceArticle in = one(sentenceArticleMapper, id);
  90. if(in == null){
  91. throw new ParameterException("文章不存在");
  92. }
  93. return in;
  94. }
  95. public Page<SentenceArticle> select(int page, int pageSize){
  96. return select(sentenceArticleMapper, page, pageSize);
  97. }
  98. public Page<SentenceArticle> select(int page, int pageSize, Number chapter, Number part){
  99. Example example = new Example(SentenceArticle.class);
  100. if (chapter!=null){
  101. example.and(
  102. example.createCriteria()
  103. .andEqualTo("chapter", chapter)
  104. );
  105. }
  106. if (part!=null){
  107. example.and(
  108. example.createCriteria()
  109. .andEqualTo("part", part)
  110. );
  111. }
  112. return select(sentenceArticleMapper, example, page, pageSize);
  113. }
  114. public List<SentenceArticle> select(Collection ids){
  115. return select(sentenceArticleMapper, ids);
  116. }
  117. }