diff --git a/src/main/java/com/ycwl/basic/order/factory/DuplicatePurchaseCheckerFactory.java b/src/main/java/com/ycwl/basic/order/factory/DuplicatePurchaseCheckerFactory.java index fcf77045..78d3a31d 100644 --- a/src/main/java/com/ycwl/basic/order/factory/DuplicatePurchaseCheckerFactory.java +++ b/src/main/java/com/ycwl/basic/order/factory/DuplicatePurchaseCheckerFactory.java @@ -4,6 +4,7 @@ import com.ycwl.basic.order.strategy.IDuplicatePurchaseChecker; import com.ycwl.basic.product.capability.DuplicateCheckStrategy; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import java.util.HashMap; @@ -18,6 +19,7 @@ import java.util.Map; * 2. 类型安全:根据枚举类型查找策略 * 3. 失败快速:找不到策略时抛出异常 */ +@Lazy @Slf4j @Service public class DuplicatePurchaseCheckerFactory { diff --git a/src/main/java/com/ycwl/basic/order/strategy/impl/NoCheckDuplicateChecker.java b/src/main/java/com/ycwl/basic/order/strategy/impl/NoCheckDuplicateChecker.java index 56587199..6f9098b6 100644 --- a/src/main/java/com/ycwl/basic/order/strategy/impl/NoCheckDuplicateChecker.java +++ b/src/main/java/com/ycwl/basic/order/strategy/impl/NoCheckDuplicateChecker.java @@ -4,6 +4,7 @@ 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; /** @@ -13,6 +14,7 @@ import org.springframework.stereotype.Component; * 检查逻辑: * 不执行任何检查,直接通过 */ +@Lazy @Slf4j @Component public class NoCheckDuplicateChecker implements IDuplicatePurchaseChecker { diff --git a/src/main/java/com/ycwl/basic/order/strategy/impl/ParentResourceDuplicateChecker.java b/src/main/java/com/ycwl/basic/order/strategy/impl/ParentResourceDuplicateChecker.java index 63ef97e5..4f6b70de 100644 --- a/src/main/java/com/ycwl/basic/order/strategy/impl/ParentResourceDuplicateChecker.java +++ b/src/main/java/com/ycwl/basic/order/strategy/impl/ParentResourceDuplicateChecker.java @@ -14,6 +14,7 @@ import com.ycwl.basic.pricing.enums.ProductType; import com.ycwl.basic.product.capability.DuplicateCheckStrategy; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Component; import java.util.List; @@ -29,6 +30,7 @@ import java.util.List; * * SQL查询: WHERE order_id = ? AND product_type = ? */ +@Lazy @Slf4j @Component public class ParentResourceDuplicateChecker implements IDuplicatePurchaseChecker { diff --git a/src/main/java/com/ycwl/basic/order/strategy/impl/UniqueResourceDuplicateChecker.java b/src/main/java/com/ycwl/basic/order/strategy/impl/UniqueResourceDuplicateChecker.java index de6f0f66..9952af1d 100644 --- a/src/main/java/com/ycwl/basic/order/strategy/impl/UniqueResourceDuplicateChecker.java +++ b/src/main/java/com/ycwl/basic/order/strategy/impl/UniqueResourceDuplicateChecker.java @@ -14,6 +14,7 @@ import com.ycwl.basic.pricing.enums.ProductType; import com.ycwl.basic.product.capability.DuplicateCheckStrategy; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Component; import java.util.List; @@ -29,6 +30,7 @@ import java.util.List; * * SQL查询: WHERE order_id = ? AND product_type = ? AND product_id = ? */ +@Lazy @Slf4j @Component public class UniqueResourceDuplicateChecker implements IDuplicatePurchaseChecker {