package com.ruoyi.ss.timeBill.service;

import com.ruoyi.common.core.domain.ValidateResult;
import com.ruoyi.ss.device.domain.vo.DeviceVO;
import com.ruoyi.ss.timeBill.domain.TimeBillVO;
import com.ruoyi.ss.timeBill.domain.dto.TimeBillAddOrderDTO;

/**
 * @author wjh
 * 2024/7/24
 */
public interface TimeBillValidator {
    /**
     * 校验信息是否准确
     */
    ValidateResult checkInfo(DeviceVO device, TimeBillAddOrderDTO dto);

    /**
     * 能不能结束订单
     */
    boolean canClose(TimeBillVO bill, Long userId);

    /**
     * 订单是否属于用户
     */
    boolean isBelong(TimeBillVO bill, Long userId);

    /**
     * 能不能支付订单
     */
    boolean canPay(TimeBillVO bill, Long userId);
}
