package com.yonge.cooleshow.biz.dal.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yonge.cooleshow.biz.dal.entity.TenantUnbindRecord;
import com.yonge.cooleshow.biz.dal.wrapper.TenantUnbindRecordWrapper;

/**
 * 机构解绑申请记录
 * 2023-07-21 17:32:49
 */
public interface TenantUnbindRecordService extends IService<TenantUnbindRecord> {

    /**
     * 查询详情
     *
     * @param id 详情ID
     * @return TenantUnbindRecord
     */
    TenantUnbindRecord detail(Long id);

    /**
     * 分页查询
     *
     * @param page  IPage<TenantUnbindRecord>
     * @param query TenantUnbindRecordWrapper.TenantUnbindRecordQuery
     * @return IPage<TenantUnbindRecord>
     */
    IPage<TenantUnbindRecordWrapper.TenantUnbindRecord> selectPage(IPage<TenantUnbindRecordWrapper.TenantUnbindRecord> page,
                                                                   TenantUnbindRecordWrapper.TenantUnbindRecordQuery query);

    /**
     * 添加
     *
     * @param tenantUnbindRecord TenantUnbindRecordWrapper.TenantUnbindRecord
     * @return Boolean
     */
    Boolean add(TenantUnbindRecordWrapper.TenantUnbindRecord tenantUnbindRecord);

    /**
     * 更新
     *
     * @param tenantUnbindRecord TenantUnbindRecordWrapper.TenantUnbindRecord
     * @return Boolean
     */
    Boolean update(TenantUnbindRecordWrapper.TenantUnbindRecord tenantUnbindRecord);

    /**
     * 审核
     *
     * @param audio        审核信息
     * @param verifyUserId 审核人
     * @param intervene    true：后台审核，false:机构管理员
     */
    void tenantUserUnbindAudit(TenantUnbindRecordWrapper.Audio audio, Long verifyUserId, Boolean intervene);

    /**
     * 解绑老师
     *
     * @param tenantId     机构
     * @param verityUserId 审核人
     * @param unbind       解绑信息
     */
    void unbindTenant(Long tenantId, Long verityUserId, TenantUnbindRecordWrapper.Unbind unbind);

    /**
     * 定时发送平台审核短信 下午5点
     */
    void sendPlatformAuditMessage();
}