package com.ycwl.basic.order.strategy.impl;

import com.ycwl.basic.order.strategy.DuplicateCheckContext;
import com.ycwl.basic.order.strategy.IDuplicatePurchaseChecker;
import com.ycwl.basic.product.capability.DuplicateCheckStrategy;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;

/**
 * 不检查重复购买策略
 * 适用于：打印类商品等允许重复购买的商品类型
 *
 * 检查逻辑：
 * 不执行任何检查，直接通过
 */
@Lazy
@Slf4j
@Component
public class NoCheckDuplicateChecker implements IDuplicatePurchaseChecker {

    @Override
    public DuplicateCheckStrategy getStrategyType() {
        return DuplicateCheckStrategy.NO_CHECK;
    }

    @Override
    public void check(DuplicateCheckContext context) {
        // 不检查，直接通过
        log.debug("跳过重复购买检查: productType={}, productId={}",
                context.getProductType(), context.getProductId());
    }
}
