package com.ruoyi.ss.toilet.service;

import com.ruoyi.ss.toilet.domain.Toilet;
import com.ruoyi.ss.toilet.domain.ToiletQuery;
import com.ruoyi.ss.toilet.domain.ToiletVO;

import java.util.List;

/**
 * 卫生间Service接口
 *
 * @author qzz
 * @date 2025-01-07
 */
public interface IToiletService
{
    /**
     * 查询卫生间
     *
     * @param toiletId 卫生间主键
     * @return 卫生间
     */
    public ToiletVO selectToiletByToiletId(Long toiletId);

    /**
     * 查询卫生间列表
     *
     * @param toilet 卫生间
     * @return 卫生间集合
     */
    public List<ToiletVO> selectToiletList(ToiletQuery toilet);

    /**
     * 新增卫生间
     *
     * @param toilet 卫生间
     * @return 结果
     */
    public int insertToilet(Toilet toilet);

    /**
     * 修改卫生间
     *
     * @param toilet 卫生间
     * @return 结果
     */
    public int updateToilet(Toilet toilet);

    /**
     * 批量删除卫生间
     *
     * @param toiletIds 需要删除的卫生间主键集合
     * @return 结果
     */
    public int deleteToiletByToiletIds(Long[] toiletIds);

    /**
     * 删除卫生间信息
     *
     * @param toiletId 卫生间主键
     * @return 结果
     */
    public int deleteToiletByToiletId(Long toiletId);

    /**
     * 下架设备（根据设备id）
     * @param deviceId 设备id
     * @return String
     */
    int offlineDeviceByDeviceId(Long deviceId);

    /**
     * 查询数量
     * @param toilet 查询条件
     * @return String
     */
    int selectCount(ToiletQuery toilet);

    /**
     * 开卫生间门
     * @param toiletVO 卫生间对象
     * @return String
     */
    boolean openToilet(ToiletVO toiletVO,String reason, boolean returnMac);

    /**
     * 修改店铺名
     */
    int updateStoreName(Long storeId, String storeName);
}
