package com.gunshi.project.xyt.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gunshi.project.xyt.entity.vo.ProfilePressTreeVo; import com.gunshi.project.xyt.mapper.AttDamProfileMapper; import com.gunshi.project.xyt.model.AttDamProfile; import com.gunshi.project.xyt.model.OsmoticPressDevice; import com.gunshi.project.xyt.model.OsmoticPressDeviceAutoDao; import com.gunshi.project.xyt.util.MyBeanUtil; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.stream.Collectors; /** * 描述: 监测断面信息表 * author: xusan * date: 2024-07-08 17:30:37 */ @Service @Slf4j @Transactional(rollbackFor = Exception.class) public class AttDamProfileService extends ServiceImpl { @Resource private OsmoticPressDeviceAutoDao pressDeviceAutoDao; public List tree() { List list = this.list(); List res = MyBeanUtil.collectionCopy(list,ProfilePressTreeVo.class); for(ProfilePressTreeVo vo : res){ List pressList = pressDeviceAutoDao.list(new QueryWrapper().eq("profile_code", vo.getProfileCode())); vo.setChildren(pressList.stream().map(OsmoticPressDevice::getStationCode).sorted().collect(Collectors.toList())); } return res; } }