package com.vincent.rsf.server.manager.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.server.common.domain.BaseParam; import com.vincent.rsf.server.common.domain.PageParam; import com.vincent.rsf.server.manager.entity.WkOrderItem; import com.vincent.rsf.server.manager.mapper.WaveOrderRelaMapper; import com.vincent.rsf.server.manager.entity.WaveOrderRela; import com.vincent.rsf.server.manager.service.AsnOrderItemService; import com.vincent.rsf.server.manager.service.WaveOrderRelaService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @Service("waveOrderRelaService") public class WaveOrderRelaServiceImpl extends ServiceImpl implements WaveOrderRelaService { @Autowired private AsnOrderItemService asnOrderItemService; @Override public R relaPage(BaseParam baseParam, Map params) { List orderRelas = this.baseMapper.selectList(new LambdaQueryWrapper() .eq(WaveOrderRela::getWaveId, Long.parseLong(params.get("waveId").toString()))); if (orderRelas.isEmpty()) { return R.ok(); } List orderIds = orderRelas.stream().map(WaveOrderRela::getOrderItemId).collect(Collectors.toList()); PageParam pageParam = new PageParam<>(baseParam, WkOrderItem.class); QueryWrapper wrapper = pageParam.buildWrapper(true); wrapper.in("id", orderIds); return R.ok().add(asnOrderItemService.page(pageParam, wrapper)); } }