package com.ruoyi.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.domain.TravelDetail;
import com.ruoyi.mapper.TravelDetailMapper;
import com.ruoyi.service.TravelDetailDownlService;
import com.ruoyi.service.TravelDetailService;
import com.ruoyi.service.TravelDetailSharService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
*
* 服务实现类
*
*
* @author ojq
* @since 2023-10-06
*/
@Service
public class TravelDetailServiceImpl extends ServiceImpl implements TravelDetailService {
@Resource
private TravelDetailDownlService travelDetailDownlService;
@Resource
private TravelDetailSharService travelDetailSharService;
@Override
public List getDataByCid(Long cid,TravelDetail travelDetail) {
LambdaQueryWrapper lqw = new LambdaQueryWrapper<>();
lqw.eq(TravelDetail::getCid,cid);
if(travelDetail!=null){
lqw.like(travelDetail.getAddress()!=null,TravelDetail::getAddress,travelDetail.getAddress());
lqw.like(travelDetail.getScenic()!=null,TravelDetail::getScenic,travelDetail.getScenic());
lqw.like(travelDetail.getHotel()!=null,TravelDetail::getHotel,travelDetail.getHotel());
lqw.like(travelDetail.getTravelMode()!=null,TravelDetail::getTravelMode,travelDetail.getTravelMode());
lqw.like(travelDetail.getFlight()!=null,TravelDetail::getFlight,travelDetail.getFlight());
lqw.like(travelDetail.getDocument()!=null,TravelDetail::getDocument,travelDetail.getDocument());
lqw.between(travelDetail.getHappenStartTime() != null && travelDetail.getHappenEndTime() != null, TravelDetail::getHappenDate, travelDetail.getHappenStartTime(), travelDetail.getHappenEndTime());
}
lqw.orderBy(true,true,TravelDetail::getHappenDate);
return list(lqw);
}
@Override
public void removeBatchByCid(List cid) {
List lqw1 = new ArrayList<>();
for (Long c : cid) {
LambdaQueryWrapper lqw = new LambdaQueryWrapper<>();
lqw.eq(TravelDetail::getCid,c);
lqw1.addAll(list(lqw));
remove(lqw);
}
if (lqw1.size() == 0) return;
Long[] id = new Long[lqw1.size()];
for (int i = 0; i < lqw1.size(); i++) {
id[i] = lqw1.get(i).getId();
}
travelDetailDownlService.deleteData(id) ;
travelDetailSharService.deleteByContentId(id) ;
}
}