zhanghua
2025-04-14 1cad14bca191807e18705c3a5526eda8151be439
ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsInTimeServiceImpl.java
@@ -5,11 +5,16 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.dto.smoker.InTimeCountDto;
import com.ycl.entity.smoke.OdsCustomer;
import com.ycl.entity.smoke.OdsInTime;
import com.ycl.mapper.smoke.OdsInTimeMapper;
import com.ycl.service.smoke.IOdsInTimeService;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * <p>
@@ -27,11 +32,40 @@
        Page<OdsInTime> page = new Page<>(pageNum, pageSize);
        QueryWrapper<OdsInTime> wrapper = new QueryWrapper<>();
        LambdaQueryWrapper<OdsInTime> lambda = wrapper.lambda();
        if (StrUtil.isNotEmpty(keyword)) {
            lambda.like(OdsInTime::getName, keyword);
        if (StrUtil.isNotEmpty(owner)) {
            lambda.like(OdsInTime::getOwner, owner);
        }
        if (StrUtil.isNotEmpty(onlineStatus)) {
            lambda.eq(OdsInTime::getOnlineStatus, onlineStatus);
        }
        if (StrUtil.isNotEmpty(startTime)) {
            try {
                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                Date startdate = format.parse(startTime);
                Long startTimestamp = startdate.getTime() / 1000;
                Date enddate = format.parse(endTime);
                Long endTimestamp = enddate.getTime() / 1000;
                lambda.between(OdsInTime::getLastAt, startTimestamp, endTimestamp);
            } catch (ParseException e) {
                throw new RuntimeException(e);
            }
        }
        if (StrUtil.isNotEmpty(type)) {
            lambda.eq(OdsInTime::getTyp, type);
        }
        if (StrUtil.isNotEmpty(status)) {
            lambda.eq(OdsInTime::getStatus, status);
        }
        wrapper.orderByDesc("id");
        return this.page(page, wrapper);
    }
    @Override
    public InTimeCountDto getInTimeCount() {
        return baseMapper.getInTimeCount();
    }
}