package com.jeesharp.business.modules.member.application.support;

import com.jeesharp.business.modules.member.entity.Member;
import com.jeesharp.business.modules.member.entity.MemberPointsRule;
import com.jeesharp.business.modules.member.entity.MemberPointsRuleLevel;

import java.util.Map;

/**
 * 复杂积分场景自定义计算器 SPI（如连签奖励）。
 *
 * @author jeesharp
 * @since 2026-06-23
 */
public interface MemberPointsSceneHandler {

    /**
     * 支持的场景编码。
     */
    String sceneCode();

    /**
     * 计算应发积分。
     */
    int calculate(Member member, MemberPointsRule rule, MemberPointsRuleLevel levelDetail, Map<String, Object> context);
}
