package com.kym.service;

import com.kym.entity.SettlementRecord;
import com.kym.entity.common.PageBean;
import com.kym.entity.queryParams.SettlementQueryParam;
import com.kym.entity.vo.SettlementRecordVo;
import com.kym.service.mybatisplus.MyBaseService;

/**
 * 结算服务
 *
 * @author skyline
 * @since 2026-05-14
 */
public interface SettlementService extends MyBaseService<SettlementRecord> {

    /**
     * 执行月度结算（每月15日触发）
     */
    void executeMonthlySettlement();

    /**
     * 结算记录列表
     */
    PageBean<SettlementRecordVo> listSettlementRecords(SettlementQueryParam params);

    /**
     * 确认结算 — 将待结算金额转入站点可提现余额，状态改为已结算
     */
    void confirmSettlement(Long recordId);
}
