liujie
2 天以前 f7e3925846166283517af0575dee3fcaf79f25fd
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java
@@ -1,10 +1,22 @@
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.system.mapper.TSysOrderGoodsMapper;
import com.ruoyi.system.mapper.TSysOrderMapper;
import com.ruoyi.system.model.TSysOrder;
import com.ruoyi.system.model.TSysOrderGoods;
import com.ruoyi.system.query.TSysOrderQuery;
import com.ruoyi.system.service.TSysOrderService;
import com.ruoyi.system.vo.TSysOrderPageVo;
import com.ruoyi.system.vo.TSysOrderVO;
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>
@@ -17,4 +29,36 @@
@Service
public class TSysOrderServiceImpl extends ServiceImpl<TSysOrderMapper, TSysOrder> implements TSysOrderService {
    @Autowired
    private TSysOrderGoodsMapper sysOrderGoodsMapper;
    @Override
    public List<TSysOrderVO> queryListByAppUserId(String id) {
        List<TSysOrderVO> sysOrderVOS = this.baseMapper.queryListByAppUserId(id);
        if(CollectionUtils.isEmpty(sysOrderVOS)){
            return sysOrderVOS;
        }
        List<String> orderIds = sysOrderVOS.stream().map(TSysOrderVO::getId).collect(Collectors.toList());
        List<TSysOrderGoods> sysOrderGoodsList = sysOrderGoodsMapper.selectList(Wrappers.lambdaQuery(TSysOrderGoods.class)
                .in(TSysOrderGoods::getOrderId, orderIds));
        for (TSysOrderVO sysOrderVO : sysOrderVOS) {
            sysOrderVO.setSysOrderGoods(sysOrderGoodsList.stream().filter(sysOrderGoods -> sysOrderGoods.getOrderId().equals(sysOrderVO.getId())).collect(Collectors.toList()));
        }
        return this.baseMapper.queryListByAppUserId(id);
    }
    @Override
    public PageInfo<TSysOrderPageVo> pageList(TSysOrderQuery query) {
        PageInfo<TSysOrderPageVo> page = new PageInfo<>(query.getPageNum(), query.getPageSize());
        String sTime =null;
        String eTime = null;
        if(query.getTime() != null && !query.getTime().isEmpty()){
            String[] split = query.getTime().split(" - ");
            sTime = split[0] + " 00:00:00";
            eTime = split[1] + " 23:59:59";
        }
        List<TSysOrderPageVo> sysOrderPageVOS = this.baseMapper.pageList(page, query,sTime,eTime);
        page.setRecords(sysOrderPageVOS);
        return page;
    }
}