RankService.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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.RankMapper;
  8. import com.qxgmat.data.dao.entity.Rank;
  9. import org.slf4j.Logger;
  10. import org.slf4j.LoggerFactory;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import javax.annotation.Resource;
  14. import java.util.Collection;
  15. import java.util.List;
  16. @Service
  17. public class RankService extends AbstractService {
  18. private static final Logger logger = LoggerFactory.getLogger(RankService.class);
  19. @Resource
  20. private RankMapper rankMapper;
  21. /**
  22. * 获取所有rank数据
  23. * @return
  24. */
  25. public List<Rank> all(){
  26. return select(rankMapper);
  27. }
  28. /**
  29. * 替换所有rank数据
  30. */
  31. @Transactional
  32. public void replaceAll(List<Rank> rankList){
  33. Example example = new Example(Rank.class);
  34. delete(rankMapper, example);
  35. for(Rank rank : rankList){
  36. add(rank);
  37. }
  38. }
  39. /**
  40. * 计算考分:通过总分Q分
  41. * @param totalScore
  42. * @param quantScore
  43. * @return
  44. */
  45. public Rank compute(Number totalScore, Number quantScore){
  46. Example example = new Example(Rank.class);
  47. example.and(
  48. example.createCriteria()
  49. .andEqualTo("totalScore", totalScore)
  50. .andEqualTo("quantScore", quantScore)
  51. );
  52. return one(rankMapper, example);
  53. }
  54. /**
  55. * 计算考分:通过Q分V分
  56. * @param quantScore
  57. * @param verbalScore
  58. * @return
  59. */
  60. public Rank search(Number quantScore, Number verbalScore){
  61. Example example = new Example(Rank.class);
  62. example.and(
  63. example.createCriteria()
  64. .andEqualTo("verbalScore", verbalScore)
  65. .andEqualTo("quantScore", quantScore)
  66. );
  67. return one(rankMapper, example);
  68. }
  69. public Rank add(Rank rank){
  70. int result = insert(rankMapper, rank);
  71. rank = one(rankMapper, rank.getId());
  72. if(rank == null){
  73. throw new SystemException("添加失败");
  74. }
  75. return rank;
  76. }
  77. public Rank edit(Rank rank){
  78. Rank in = one(rankMapper, rank.getId());
  79. if(in == null){
  80. throw new ParameterException("排名不存在");
  81. }
  82. int result = update(rankMapper, rank);
  83. return rank;
  84. }
  85. public boolean delete(Number id){
  86. Rank in = one(rankMapper, id);
  87. if(in == null){
  88. throw new ParameterException("排名不存在");
  89. }
  90. int result = delete(rankMapper, id);
  91. return result > 0;
  92. }
  93. public Rank get(Number id){
  94. Rank in = one(rankMapper, id);
  95. if(in == null){
  96. throw new ParameterException("排名不存在");
  97. }
  98. return in;
  99. }
  100. public Page<Rank> select(int page, int pageSize){
  101. return select(rankMapper, page, pageSize);
  102. }
  103. public Page<Rank> select(Integer[] ids){
  104. return page(()->select(rankMapper, ids), 1, ids.length);
  105. }
  106. public List<Rank> select(Collection ids){
  107. return select(rankMapper, ids);
  108. }
  109. }