From 20739d95d85d5d6744690093a061292325ce4a9b Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 19 五月 2025 14:10:27 +0800 Subject: [PATCH] 项目总积分 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentSchemeServiceImpl.java | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 53 insertions(+), 1 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 725372e..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,16 +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.SysOperLogVO; 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> @@ -23,10 +30,55 @@ @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