package com.jeesharp.business.modules.mall.service;

import com.jeesharp.business.modules.mall.entity.MallPayBatch;
import com.jeesharp.business.modules.mall.vo.MallPayBatchQueryVO;
import com.jeesharp.framework.mybatis.core.service.BaseInterface;

/**
 * 商城合并支付批次领域服务。
 *
 * @author jeesharp
 * @since 2026-06-10
 */
public interface MallPayBatchService extends BaseInterface<MallPayBatch, MallPayBatchQueryVO> {

    /**
     * 创建待支付批次（主键由框架生成）。
     */
    MallPayBatch createPayBatch(MallPayBatch batch);

    /**
     * 更新批次（须已存在）。
     */
    void updatePayBatch(MallPayBatch batch);

    /**
     * 校验合并支付批次是否可发起预支付。
     */
    void assertPayPreparable(MallPayBatch batch, String memberId);

    /**
     * 标记批次进入预支付准备中（写入支付渠道）。
     */
    void markPayPreparing(MallPayBatch batch, String payChannel);
}
