LargeIssueServiceImpl.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. package com.project.zcustom.service.unit.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.core.metadata.IPage;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  7. import com.project.zcustom.controller.core.PageParamVo;
  8. import com.project.zcustom.controller.core.StringUtils;
  9. import com.project.zcustom.domain.addional.LargeIssue;
  10. import com.project.zcustom.mapper.unit.LargeIssueMapper;
  11. import com.project.zcustom.service.unit.ILargeIssueService;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import java.util.List;
  15. /**
  16. * 上报问题Service业务层处理
  17. *
  18. * @author change
  19. * @date 2024-12-30
  20. */
  21. @Service
  22. public class LargeIssueServiceImpl extends ServiceImpl<LargeIssueMapper, LargeIssue> implements ILargeIssueService {
  23. @Autowired
  24. private LargeIssueMapper largeIssueMapper;
  25. /**
  26. * 组装查询条件
  27. */
  28. private LambdaQueryWrapper<LargeIssue> getLambdaQueryWrapper(LargeIssue largeIssue) {
  29. LambdaQueryWrapper<LargeIssue> lqw = new LambdaQueryWrapper<LargeIssue>();
  30. if (StringUtils.isNotBlank(largeIssue.getDescription())){
  31. lqw.eq(LargeIssue::getDescription ,largeIssue.getDescription());
  32. }
  33. if (StringUtils.isNotNull(largeIssue.getProjectId())){
  34. lqw.eq(LargeIssue::getProjectId ,largeIssue.getProjectId());
  35. }
  36. if (StringUtils.isNotBlank(largeIssue.getStatus())){
  37. lqw.eq(LargeIssue::getStatus ,largeIssue.getStatus());
  38. }
  39. return lqw;
  40. }
  41. /**
  42. * 分页查询上报问题列表
  43. *
  44. * @param largeIssue 上报问题
  45. * @return 上报问题集合
  46. */
  47. @Override
  48. public IPage<LargeIssue> pagingLargeIssueList(LargeIssue largeIssue) {
  49. IPage<LargeIssue> page = new Page<>(largeIssue.getPageNum(), largeIssue.getPageSize());
  50. LambdaQueryWrapper<LargeIssue> lqw = getLambdaQueryWrapper(largeIssue);
  51. // 排序 默认时间倒序
  52. lqw.orderByDesc(LargeIssue::getCreateTime);
  53. return baseMapper.selectPage(page, lqw);
  54. }
  55. /**
  56. * 分页查询上报问题列表
  57. *
  58. * @param lqw
  59. * @return 上报问题集合
  60. */
  61. @Override
  62. public IPage<LargeIssue> pagingLargeIssueList(PageParamVo pageParamVo, LambdaQueryWrapper<LargeIssue> lqw) {
  63. IPage<LargeIssue> page = new Page<>(pageParamVo.getPageNum(), pageParamVo.getPageSize());
  64. // 排序 默认时间倒序
  65. lqw.orderByDesc(LargeIssue::getCreateTime);
  66. return baseMapper.selectPage(page, lqw);
  67. }
  68. /**
  69. * 查询上报问题列表
  70. *
  71. * @param largeIssue 上报问题
  72. * @return 上报问题
  73. */
  74. @Override
  75. public List<LargeIssue> selectLargeIssueList(LargeIssue largeIssue) {
  76. LambdaQueryWrapper<LargeIssue> lqw = getLambdaQueryWrapper(largeIssue);
  77. // 排序 默认时间倒序
  78. lqw.orderByDesc(LargeIssue::getCreateTime);
  79. return baseMapper.selectList(lqw);
  80. }
  81. /**
  82. * 查询上报问题列表
  83. *
  84. * @param largeIssue 上报问题
  85. * @return 上报问题
  86. */
  87. @Override
  88. public List<LargeIssue> selectLargeIssueList(LargeIssue largeIssue,Long limitNum) {
  89. LambdaQueryWrapper<LargeIssue> lqw = getLambdaQueryWrapper(largeIssue);
  90. // 排序 默认时间倒序
  91. lqw.orderByDesc(LargeIssue::getCreateTime);
  92. lqw.last("limit "+limitNum);
  93. return baseMapper.selectList(lqw);
  94. }
  95. /**
  96. * 根据指定字段查询信息
  97. *
  98. * @param field 字段名称
  99. * @param filedValue 字段值
  100. * @return 上报问题
  101. */
  102. @Override
  103. public LargeIssue getLargeIssueByField(String field, String filedValue) {
  104. QueryWrapper<LargeIssue> lqw = new QueryWrapper<LargeIssue>();
  105. lqw.eq(field, filedValue);
  106. lqw.last("limit 1");
  107. return this.getOne(lqw, false);
  108. }
  109. /**
  110. * 根据指定字段查询信息列表
  111. *
  112. * @param field 字段名称
  113. * @param filedValue 字段值
  114. * @return 上报问题
  115. */
  116. @Override
  117. public List<LargeIssue> selectLargeIssueListByField(String field, String filedValue,Long limitNum) {
  118. QueryWrapper<LargeIssue> lqw = new QueryWrapper<LargeIssue>();
  119. lqw.eq(field, filedValue);
  120. lqw.last("limit "+limitNum);
  121. return this.list(lqw);
  122. }
  123. /**
  124. * 根据指定字段查询信息列表
  125. *
  126. * @param field 字段名称
  127. * @param filedValue 字段值
  128. * @return 上报问题
  129. */
  130. @Override
  131. public List<LargeIssue> selectLargeIssueListByField(String field, String filedValue) {
  132. QueryWrapper<LargeIssue> lqw = new QueryWrapper<LargeIssue>();
  133. lqw.eq(field, filedValue);
  134. return this.list(lqw);
  135. }
  136. /**
  137. * 判断指定字段值是否存在
  138. *
  139. * @param field 字段名称
  140. * @param filedValue 字段值
  141. */
  142. @Override
  143. public void checkFieldExist(String field, String filedValue,String tips, Long id){
  144. QueryWrapper<LargeIssue> lqw = new QueryWrapper<LargeIssue>();
  145. lqw.eq(field, filedValue);
  146. lqw.ne("id", id);
  147. if(this.getOne(lqw,false) != null){
  148. throw new RuntimeException(tips + "已存在");
  149. }
  150. }
  151. /**
  152. * 真删接口
  153. */
  154. @Override
  155. public void reallyDeleteLargeIssue(LambdaQueryWrapper<LargeIssue> lqw){
  156. baseMapper.reallyDeleteByWrapper(lqw);
  157. }
  158. public int getIssueNum(){
  159. return largeIssueMapper.getIssueNum();
  160. }
  161. public int getOverIssueNum(){
  162. return largeIssueMapper.getOverIssueNum();
  163. }
  164. public List<LargeIssue> getIssueListLastWeek(){
  165. return largeIssueMapper.getIssueListLastWeek();
  166. }
  167. public List<LargeIssue> selectList(LargeIssue largeIssue){
  168. return largeIssueMapper.selectLargeIssueList(largeIssue);
  169. }
  170. public LargeIssue selectLargeIssueById(Long id){
  171. return largeIssueMapper.selectLargeIssueById(id);
  172. }
  173. }