From 15e3b7925f9d94d44bd2712e244d3a854bc6834a Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 20 五月 2025 18:52:39 +0800 Subject: [PATCH] 项目总积分 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentSchemeServiceImpl.java | 65 ++++++++++++++++++++++++++++++++ 1 files changed, 65 insertions(+), 0 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentSchemeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentSchemeServiceImpl.java index 7c03e59..5b3c6ae 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentSchemeServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentSchemeServiceImpl.java @@ -1,10 +1,23 @@ package com.ruoyi.system.service.impl; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.TExperimentSchemeMapper; +import com.ruoyi.system.mapper.TExperimentSchemePersonMapper; import com.ruoyi.system.model.TExperimentScheme; +import com.ruoyi.system.model.TExperimentSchemePerson; +import com.ruoyi.system.query.TExperimentSchemeQuery; import com.ruoyi.system.service.TExperimentSchemeService; +import com.ruoyi.system.vo.TExperimentSchemeVO; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -17,4 +30,56 @@ @Service public class TExperimentSchemeServiceImpl extends ServiceImpl<TExperimentSchemeMapper, TExperimentScheme> implements TExperimentSchemeService { + @Autowired + private TExperimentSchemePersonMapper experimentSchemePersonMapper; + @Autowired + private SysUserMapper sysUserMapper; + + @Override + public PageInfo<TExperimentSchemeVO> pageList(TExperimentSchemeQuery query) { + PageInfo<TExperimentSchemeVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); + List<TExperimentSchemeVO> list = this.baseMapper.pageList(query,pageInfo); + List<String> schemeIds = list.stream().map(TExperimentSchemeVO::getId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(schemeIds)){ + return pageInfo; + } + List<TExperimentSchemePerson> experimentSchemePersonList = experimentSchemePersonMapper.selectList(Wrappers.lambdaQuery(TExperimentSchemePerson.class).in(TExperimentSchemePerson::getSchemeId, schemeIds)); + List<Long> userIds = experimentSchemePersonList.stream().map(TExperimentSchemePerson::getUserId).collect(Collectors.toList()); + List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds); + sysUsers.forEach(sysUser -> { + experimentSchemePersonList.stream().filter(experimentSchemePerson -> experimentSchemePerson.getUserId().equals(sysUser.getUserId())).forEach(experimentSchemePerson -> experimentSchemePerson.setNickName(sysUser.getNickName())); + }); + for (TExperimentSchemeVO experimentSchemeVO : list) { + List<TExperimentSchemePerson> personList = experimentSchemePersonList.stream().filter(experimentSchemePerson -> experimentSchemePerson.getSchemeId().equals(experimentSchemeVO.getId())).collect(Collectors.toList()); + experimentSchemeVO.setExperimentSchemePersons(personList); + // 写入名称 + experimentSchemeVO.setSchemePersonName(personList.stream().map(TExperimentSchemePerson::getNickName).collect(Collectors.joining(","))); + } + pageInfo.setRecords(list); + return pageInfo; + } + + @Override + public PageInfo<TExperimentSchemeVO> auditPageList(TExperimentSchemeQuery query) { + PageInfo<TExperimentSchemeVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); + List<TExperimentSchemeVO> list = this.baseMapper.auditPageList(query,pageInfo); + List<String> schemeIds = list.stream().map(TExperimentSchemeVO::getId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(schemeIds)){ + return pageInfo; + } + List<TExperimentSchemePerson> experimentSchemePersonList = experimentSchemePersonMapper.selectList(Wrappers.lambdaQuery(TExperimentSchemePerson.class).in(TExperimentSchemePerson::getSchemeId, schemeIds)); + List<Long> userIds = experimentSchemePersonList.stream().map(TExperimentSchemePerson::getUserId).collect(Collectors.toList()); + List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds); + sysUsers.forEach(sysUser -> { + experimentSchemePersonList.stream().filter(experimentSchemePerson -> experimentSchemePerson.getUserId().equals(sysUser.getUserId())).forEach(experimentSchemePerson -> experimentSchemePerson.setNickName(sysUser.getNickName())); + }); + for (TExperimentSchemeVO experimentSchemeVO : list) { + List<TExperimentSchemePerson> personList = experimentSchemePersonList.stream().filter(experimentSchemePerson -> experimentSchemePerson.getSchemeId().equals(experimentSchemeVO.getId())).collect(Collectors.toList()); + experimentSchemeVO.setExperimentSchemePersons(personList); + // 写入名称 + experimentSchemeVO.setSchemePersonName(personList.stream().map(TExperimentSchemePerson::getNickName).collect(Collectors.joining(","))); + } + pageInfo.setRecords(list); + return pageInfo; + } } -- Gitblit v1.7.1