package com.jeesharp.business.modules.pay.paysubmerchantapplyment.service;

import com.jeesharp.business.modules.pay.paysubmerchantapplyment.entity.PaySubMerchantSettlementModify;
import com.jeesharp.business.modules.pay.paysubmerchantapplyment.vo.PaySubMerchantSettlementModifyQueryVO;
import com.jeesharp.framework.mybatis.core.service.BaseInterface;

import java.util.List;

/**
 * 修改结算账户领域服务接口。
 *
 * @author jeesharp
 * @since 2026-06-12
 */
public interface PaySubMerchantSettlementModifyService extends BaseInterface<PaySubMerchantSettlementModify, PaySubMerchantSettlementModifyQueryVO> {

    /**
     * 新增修改结算账户申请记录。
     */
    PaySubMerchantSettlementModify createSettlementModify(PaySubMerchantSettlementModify entity);

    /**
     * 更新审核状态等字段。
     */
    void updateSettlementModify(PaySubMerchantSettlementModify entity);

    /**
     * 按进件 ID 查询是否存在审核中的申请。
     */
    PaySubMerchantSettlementModify findAuditingByApplymentId(String applymentId);

    /**
     * 统计今日已提交次数（每日限额校验）。
     */
    long countTodaySubmitByApplymentId(String applymentId);

    /**
     * 按进件 ID 查询历史记录（按提交时间倒序）。
     */
    List<PaySubMerchantSettlementModify> listByApplymentId(String applymentId);
}
