WebSiteServiceImpl.java 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. package com.zksy.base.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  4. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.zksy.base.domain.*;
  7. import com.zksy.base.domain.vo.ProductCenterVo;
  8. import com.zksy.base.mapper.*;
  9. import com.zksy.base.service.BasicInfoService;
  10. import com.zksy.base.service.MessageDataService;
  11. import com.zksy.base.service.QualificationCertificateService;
  12. import com.zksy.base.service.WebSiteService;
  13. import org.apache.poi.util.StringUtil;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import java.time.LocalDateTime;
  17. import java.util.List;
  18. import java.util.stream.Collectors;
  19. @Service
  20. public class WebSiteServiceImpl implements WebSiteService {
  21. @Autowired
  22. private SmartEmploymentMapper smartEmploymentMapper;
  23. @Autowired
  24. private AboutDevelopmentHistoryMapper aboutDevelopmentHistoryMapper;
  25. @Autowired
  26. private QualificationCertificateService qualificationCertificateService;
  27. @Autowired
  28. private BasicInfoService basicInfoService;
  29. @Autowired
  30. private NewsUpdatesMapper newsUpdatesMapper;
  31. @Autowired
  32. private SolutionMapper solutionMapper;
  33. @Autowired
  34. private ProductCenterMapper productCenterMapper;
  35. @Autowired
  36. private LocationInforMapper locationInforMapper;
  37. @Autowired
  38. private MessageDataService messageDataService;
  39. @Override
  40. public Page<SmartEmployment> getRecruitmentInfoByPage(Integer pageNum, Integer pageSize) {
  41. Page<SmartEmployment> page = new Page<>(pageNum, pageSize);
  42. return smartEmploymentMapper.selectPage(page, Wrappers.emptyWrapper());
  43. }
  44. @Override
  45. public SmartEmployment getRecruitmentInfoById(String id) {
  46. return smartEmploymentMapper.selectById(id);
  47. }
  48. @Override
  49. public List<AboutDevelopmentHistory> getDevelopmentHistory() {
  50. LambdaQueryWrapper<AboutDevelopmentHistory> wrapper = new LambdaQueryWrapper<>();
  51. wrapper.orderByAsc(AboutDevelopmentHistory::getYear);
  52. return aboutDevelopmentHistoryMapper.selectList(wrapper);
  53. }
  54. @Override
  55. public List<QualificationCertificate> getHoner() {
  56. return qualificationCertificateService.listQualificationCertificate();
  57. }
  58. @Override
  59. public List<BasicInfo> getBasicInfo() {
  60. return basicInfoService.list();
  61. }
  62. @Override
  63. public Page<NewsUpdates> getNewsUpdatesListWithoutSpecialNews(Integer pageNum, Integer pageSize, String newsCategory) {
  64. if(StringUtils.isNotBlank(newsCategory)){
  65. return newsUpdatesMapper.selectPage(new Page<>(pageNum, pageSize), Wrappers.lambdaQuery(NewsUpdates.class).eq(NewsUpdates::getNewsCategory, newsCategory).eq(NewsUpdates::getIsSpecial, false).orderByDesc(NewsUpdates::getCreateTime));
  66. }
  67. return newsUpdatesMapper.selectPage(new Page<>(pageNum, pageSize), Wrappers.lambdaQuery(NewsUpdates.class).eq(NewsUpdates::getIsSpecial, false).orderByDesc(NewsUpdates::getCreateTime));
  68. }
  69. @Override
  70. public Page<NewsUpdates> getSpecialNewsUpdatesList(Integer pageNum, Integer pageSize) {
  71. return newsUpdatesMapper.selectPage(new Page<>(pageNum, pageSize), Wrappers.lambdaQuery(NewsUpdates.class).eq(NewsUpdates::getIsSpecial, true).orderByDesc(NewsUpdates::getCreateTime));
  72. }
  73. @Override
  74. public NewsUpdates getNewsUpdatesById(String id) {
  75. return newsUpdatesMapper.selectById(id);
  76. }
  77. @Override
  78. public Solution getSolutionById(String id) {
  79. return solutionMapper.selectById(id);
  80. }
  81. @Override
  82. public Page<Solution> getSolution(Integer pageNum, Integer pageSize) {
  83. Page<Solution> page = new Page<>(pageNum, pageSize);
  84. LambdaQueryWrapper<Solution> queryWrapper = Wrappers.lambdaQuery();
  85. queryWrapper.orderByDesc(Solution::getReleaseTime);
  86. return solutionMapper.selectPage(page, queryWrapper);
  87. }
  88. @Override
  89. public List<ProductCenterVo> getProductCategoryAndType() {
  90. return productCenterMapper.selectList(Wrappers.emptyWrapper())
  91. .stream()
  92. .collect(
  93. Collectors.groupingBy(ProductCenter::getProductCategory)
  94. )
  95. .entrySet()
  96. .stream()
  97. .map(entry -> new ProductCenterVo(
  98. entry.getKey(),
  99. entry.getValue().stream().collect(
  100. Collectors.groupingBy(ProductCenter::getProductType)
  101. ).entrySet().stream().map(
  102. typeEntry -> new ProductCenterVo.ProductType(
  103. typeEntry.getKey(),
  104. typeEntry.getValue().stream().map(
  105. productCenter -> new ProductCenterVo.ProductItem(
  106. productCenter.getId(),
  107. productCenter.getProductCategory(),
  108. productCenter.getProductType(),
  109. productCenter.getProductName(),
  110. productCenter.getProductModel(),
  111. productCenter.getProductIntroduction(),
  112. productCenter.getProductScene(),
  113. productCenter.getProductUrl(),
  114. productCenter.getIsCore()
  115. )
  116. ).collect(Collectors.toList())
  117. )
  118. ).collect(Collectors.toList())
  119. )
  120. ).collect(Collectors.toList());
  121. }
  122. @Override
  123. public ProductCenter getProductById(String id) {
  124. return productCenterMapper.selectById(id);
  125. }
  126. @Override
  127. public Page<ProductCenter> getProductByPage(Integer pageNum, Integer pageSize) {
  128. Page<ProductCenter> page = new Page<>(pageNum, pageSize);
  129. LambdaQueryWrapper<ProductCenter> queryWrapper = Wrappers.lambdaQuery();
  130. queryWrapper.orderByDesc(ProductCenter::getCreateTime);
  131. return productCenterMapper.selectPage(page, queryWrapper);
  132. }
  133. @Override
  134. public List<LocationInfor> getLocationInforList() {
  135. LambdaQueryWrapper<LocationInfor> wrapper = new LambdaQueryWrapper<>();
  136. wrapper.orderByAsc(LocationInfor::getCreateTime);
  137. return locationInforMapper.selectList(wrapper);
  138. }
  139. @Override
  140. public Boolean saveMessage(MessageData messageData) {
  141. messageData.setCreateTime(LocalDateTime.now());
  142. messageData.setUpdateTime(LocalDateTime.now());
  143. return messageDataService.save(messageData);
  144. }
  145. }