package com.red.circle.other.infra.database.mongo.service.bd;

import com.red.circle.other.infra.database.mongo.entity.bd.AdminSalarySettlementRecord;
import com.red.circle.other.infra.enums.BdSettlementStatus;

/**
 * 管理员工资结算记录服务.
 *
 * @author AI Assistant
 * @since 2025-12-13
 */
public interface AdminSalarySettlementRecordService {

    /**
     * 创建结算记录.
     */
    void create(AdminSalarySettlementRecord record);

    /**
     * 根据业务号查询.
     */
    AdminSalarySettlementRecord getByBizNo(String bizNo);

    /**
     * 根据业务号判断是否存在.
     */
    boolean existsByBizNo(String bizNo);

    /**
     * 根据用户ID和账期查询.
     */
    AdminSalarySettlementRecord getByUserIdAndBillBelong(Long adminUserId, Integer billBelong);

    /**
     * 更新状态.
     */
    void updateStatus(String id, BdSettlementStatus status, String failureReason);
}
