package com.sf.service.impl; import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sf.dto.resp.PassengerActualRespDTO; import com.sf.dto.resp.PassengerRespDTO; import com.sf.entity.PassengerDO; import com.sf.mapper.PassengerMapper; import com.sf.service.IPassengerService; import lombok.RequiredArgsConstructor; import org.opengoofy.index12306.framework.starter.common.toolkit.BeanUtil; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; @Service @RequiredArgsConstructor public class PassengerServiceImpl extends ServiceImpl implements IPassengerService { private final PassengerMapper passengerMapper; @Override public List listPassengerQueryByUsername(String username) { // 根据username查询数据 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PassengerDO::getUsername, username); List passengerDOS = passengerMapper.selectList(queryWrapper); // 遍历查询出来的do 逐个转化为dto 然后放入list中 List passengerRespDTOS = passengerDOS.stream() .map(passengerDO -> BeanUtil.convert(passengerDO, PassengerRespDTO.class)) .toList(); return passengerRespDTOS; } @Override public List listPassengerQueryByIds(String username, List ids) { LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(PassengerDO.class) .eq(PassengerDO::getUsername, username); List passengerDOList = passengerMapper.selectList(queryWrapper); List respDTOS = passengerDOList.stream().filter(passengerDO -> ids.contains(passengerDO.getId())) .map(each -> BeanUtil.convert(each, PassengerActualRespDTO.class)) .collect(Collectors.toList()); return respDTOS; } }