package com.zcloud.fire.check.persistence.repository;

import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.fire.check.domain.model.FireCheckRecordHiddenE;
import com.zcloud.fire.check.persistence.dataobject.FireCheckRecordHiddenDO;
import com.zcloud.gbscommon.zcloudhidden.request.HiddenAddCmd;
import org.apache.commons.lang3.function.Failable;

import javax.validation.constraints.NotEmpty;
import java.util.List;
import java.util.Map;

/**
 * web-infrastructure
 *
 * @Author zhaokai
 * @Date 2025-12-12 11:11:16
 */
public interface FireCheckRecordHiddenRepository extends BaseRepository<FireCheckRecordHiddenDO> {
    PageResponse<FireCheckRecordHiddenDO> listPage(Map<String, Object> params);


    List<FireCheckRecordHiddenDO> getChecKRecordDeviceList(List<String> fireRecordDeviceIdList);

    List<FireCheckRecordHiddenDO> getChecKRecordHiddenList(String fireRecordId, Integer hiddenCheckType);

    FireCheckRecordHiddenDO listByFireCheckRecordDeviceId(String fireRecordDeviceId);

    void add(FireCheckRecordHiddenDO fireCheckRecordHiddenDO, HiddenAddCmd hiddenAddCmd);

    void updateHidden(FireCheckRecordHiddenDO d, HiddenAddCmd hiddenAddCmd);

    void deletedFireCheckRecordHiddenById(FireCheckRecordHiddenDO fireCheckRecordHiddenDO);

    void updateHiddenStatus(String fireRecordId, Boolean hiddenStatus);

    List<FireCheckRecordHiddenDO> getHiddenListByFireCheckId(@NotEmpty(message = "请选择消防点检") String fireCheckId, Integer code);

    List<FireCheckRecordHiddenDO> getHiddenList(@NotEmpty(message = "检查记录信息不能为空") String fireRecordId);

    List<FireCheckRecordHiddenDO> getByOtherCheckRecordId(@NotEmpty(message = "检查记录信息不能为空") String fireRecordId);

    List<FireCheckRecordHiddenDO> getChecKRecordHiddenListByRecordIdList(List<String> fireRecordIdList, Integer hiddenCheckType);
}

