PassengerServiceImpl.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.sf.service.impl;
  2. import cn.hutool.core.collection.CollUtil;
  3. import com.alibaba.fastjson2.JSON;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  6. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  7. import com.sf.dto.resp.PassengerActualRespDTO;
  8. import com.sf.dto.resp.PassengerRespDTO;
  9. import com.sf.entity.PassengerDO;
  10. import com.sf.mapper.PassengerMapper;
  11. import com.sf.service.IPassengerService;
  12. import lombok.RequiredArgsConstructor;
  13. import org.opengoofy.index12306.framework.starter.common.toolkit.BeanUtil;
  14. import org.springframework.stereotype.Service;
  15. import java.util.List;
  16. import java.util.stream.Collectors;
  17. @Service
  18. @RequiredArgsConstructor
  19. public class PassengerServiceImpl extends ServiceImpl<PassengerMapper, PassengerDO>
  20. implements IPassengerService {
  21. private final PassengerMapper passengerMapper;
  22. @Override
  23. public List<PassengerRespDTO> listPassengerQueryByUsername(String username) {
  24. // 根据username查询数据
  25. LambdaQueryWrapper<PassengerDO> queryWrapper = new LambdaQueryWrapper<>();
  26. queryWrapper.eq(PassengerDO::getUsername, username);
  27. List<PassengerDO> passengerDOS = passengerMapper.selectList(queryWrapper);
  28. // 遍历查询出来的do 逐个转化为dto 然后放入list中
  29. List<PassengerRespDTO> passengerRespDTOS = passengerDOS.stream()
  30. .map(passengerDO -> BeanUtil.convert(passengerDO, PassengerRespDTO.class))
  31. .toList();
  32. return passengerRespDTOS;
  33. }
  34. @Override
  35. public List<PassengerActualRespDTO> listPassengerQueryByIds(String username, List<Long> ids) {
  36. LambdaQueryWrapper<PassengerDO> queryWrapper = Wrappers.lambdaQuery(PassengerDO.class)
  37. .eq(PassengerDO::getUsername, username);
  38. List<PassengerDO> passengerDOList = passengerMapper.selectList(queryWrapper);
  39. List<PassengerActualRespDTO> respDTOS =
  40. passengerDOList.stream().filter(passengerDO -> ids.contains(passengerDO.getId()))
  41. .map(each -> BeanUtil.convert(each, PassengerActualRespDTO.class))
  42. .collect(Collectors.toList());
  43. return respDTOS;
  44. }
  45. }