ProjectsServiceImpl.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package com.ruoyi.web.service.impl;
  2. import cn.hutool.core.collection.CollUtil;
  3. import cn.hutool.core.util.ObjectUtil;
  4. import cn.hutool.core.util.StrUtil;
  5. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  8. import com.ruoyi.common.utils.bean.BeanUtils;
  9. import com.ruoyi.web.domain.dto.projects.ProjectsQueryRequest;
  10. import com.ruoyi.web.domain.entity.Projects;
  11. import com.ruoyi.web.domain.vo.ProjectsVO;
  12. import com.ruoyi.web.mapper.ProjectsMapper;
  13. import com.ruoyi.web.service.ProjectsService;
  14. import org.apache.commons.lang3.StringUtils;
  15. import org.springframework.stereotype.Service;
  16. import java.util.Date;
  17. import java.util.List;
  18. import java.util.stream.Collectors;
  19. /**
  20. *
  21. */
  22. @Service
  23. public class ProjectsServiceImpl extends ServiceImpl<ProjectsMapper, Projects>
  24. implements ProjectsService {
  25. /**
  26. * 查询项目信息列表
  27. *
  28. * @param projectsQueryRequest
  29. * @return
  30. */
  31. @Override
  32. public List<ProjectsVO> getProjects(ProjectsQueryRequest projectsQueryRequest) {
  33. Projects projectsQuery = new Projects();
  34. if (projectsQueryRequest != null) {
  35. BeanUtils.copyProperties(projectsQueryRequest, projectsQuery);
  36. }
  37. QueryWrapper<Projects> queryWrapper = new QueryWrapper<>(projectsQuery);
  38. List<Projects> projectsList = this.list(queryWrapper);
  39. return projectsList.stream().map(projects -> {
  40. ProjectsVO projectsVO = new ProjectsVO();
  41. BeanUtils.copyProperties(projects, projectsVO);
  42. return projectsVO;
  43. }).collect(Collectors.toList());
  44. }
  45. /**
  46. * 分页获取项目列表
  47. *
  48. * @param projectsQueryRequest
  49. * @return
  50. */
  51. @Override
  52. public Page<Projects> getListProjectsByPage(ProjectsQueryRequest projectsQueryRequest) {
  53. long current = projectsQueryRequest.getCurrent();
  54. long size = projectsQueryRequest.getPageSize();
  55. return this.page(new Page<>(current, size),
  56. getQueryWrapper(projectsQueryRequest));
  57. }
  58. /**
  59. * 获取查询条件
  60. *
  61. * @param projectsQueryRequest
  62. * @return
  63. */
  64. @Override
  65. public QueryWrapper<Projects> getQueryWrapper(ProjectsQueryRequest projectsQueryRequest) {
  66. QueryWrapper<Projects> queryWrapper = new QueryWrapper<>();
  67. if (projectsQueryRequest == null) {
  68. return queryWrapper;
  69. }
  70. // 从对象中取值
  71. Integer id = projectsQueryRequest.getId();
  72. String projectName = projectsQueryRequest.getProjectName();
  73. String projectDescription = projectsQueryRequest.getProjectDescription();
  74. Integer progress = projectsQueryRequest.getProgress();
  75. String sortField = projectsQueryRequest.getSortField();
  76. String sortOrder = projectsQueryRequest.getSortOrder();
  77. // 项目名称、项目描述 项目进度
  78. queryWrapper.eq(ObjectUtil.isNotEmpty(id), "id", id);
  79. queryWrapper.eq(StrUtil.isNotBlank(projectName), "project_name", projectName);
  80. queryWrapper.like(StringUtils.isNotBlank(projectDescription), "project_description", projectDescription);
  81. queryWrapper.eq(ObjectUtil.isNotEmpty(progress), "progress", progress);
  82. // 排序
  83. queryWrapper.orderBy(StrUtil.isNotEmpty(sortField), sortOrder.equals("ascend"), sortField);
  84. return queryWrapper;
  85. }
  86. }