package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.system.mapper.TBigGiftPackageMapper;
import com.ruoyi.system.mapper.TCompanyMapper;
import com.ruoyi.system.model.TBigGiftPackage;
import com.ruoyi.system.model.TBigGiftPackageOrder;
import com.ruoyi.system.mapper.TBigGiftPackageOrderMapper;
import com.ruoyi.system.model.TCompany;
import com.ruoyi.system.query.BigGiftPackageOrderQuery;
import com.ruoyi.system.service.TBigGiftPackageOrderService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
*
* 大礼包订单 服务实现类
*
*
* @author xiaochen
* @since 2025-12-08
*/
@Service
public class TBigGiftPackageOrderServiceImpl extends ServiceImpl implements TBigGiftPackageOrderService {
@Resource
private TCompanyMapper companyMapper;
@Resource
private TBigGiftPackageMapper bigGiftPackageMapper;
@Override
public List pageList(Page tBigGiftPackageOrderPage, BigGiftPackageOrderQuery query) {
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 tBigGiftPackageOrders = this.baseMapper.pageList(tBigGiftPackageOrderPage, query, sTime, eTime);
if(!tBigGiftPackageOrders.isEmpty()){
List companyId = tBigGiftPackageOrders.stream().map(TBigGiftPackageOrder::getCompanyId).collect(Collectors.toList());
List tCompanies = companyMapper.selectBatchIds(companyId);
tBigGiftPackageOrders.forEach(tBigGiftPackageOrder -> {
tBigGiftPackageOrder.setCompanyName(tCompanies.stream().filter(tCompany -> tCompany.getId().equals(tBigGiftPackageOrder.getCompanyId())).findFirst().get().getName());
});
List goodsIds = tBigGiftPackageOrders.stream().map(TBigGiftPackageOrder::getBigGiftPackageId).collect(Collectors.toList());
List bigGiftPackages = bigGiftPackageMapper.selectBatchIds(goodsIds);
tBigGiftPackageOrders.forEach(tBigGiftPackageOrder -> {
tBigGiftPackageOrder.setBigGiftPackageName(bigGiftPackages.stream().filter(tBigGiftPackage -> tBigGiftPackage.getId().equals(tBigGiftPackageOrder.getBigGiftPackageId())).findFirst().get().getName());
});
}
return tBigGiftPackageOrders ;
}
@Override
public List export(BigGiftPackageOrderQuery query) {
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 tBigGiftPackageOrders = this.baseMapper.export(query, sTime, eTime);
if(!tBigGiftPackageOrders.isEmpty()){
List companyId = tBigGiftPackageOrders.stream().map(TBigGiftPackageOrder::getCompanyId).collect(Collectors.toList());
List tCompanies = companyMapper.selectBatchIds(companyId);
tBigGiftPackageOrders.forEach(tBigGiftPackageOrder -> {
tBigGiftPackageOrder.setCompanyName(tCompanies.stream().filter(tCompany -> tCompany.getId().equals(tBigGiftPackageOrder.getCompanyId())).findFirst().get().getName());
});
List goodsIds = tBigGiftPackageOrders.stream().map(TBigGiftPackageOrder::getBigGiftPackageId).collect(Collectors.toList());
List bigGiftPackages = bigGiftPackageMapper.selectBatchIds(goodsIds);
tBigGiftPackageOrders.forEach(tBigGiftPackageOrder -> {
tBigGiftPackageOrder.setBigGiftPackageName(bigGiftPackages.stream().filter(tBigGiftPackage -> tBigGiftPackage.getId().equals(tBigGiftPackageOrder.getBigGiftPackageId())).findFirst().get().getName());
});
}
return tBigGiftPackageOrders ;
}
}