|
|
@@ -143,6 +143,12 @@ public class OrderEngine {
|
|
|
throw new StakingException(StakingErrorCode.PRODUCT_NOT_FOUND, "产品不存在");
|
|
|
}
|
|
|
|
|
|
+ // 2.1 产品下架校验:产品已下架则拒绝下单(抛 40011)
|
|
|
+ if (product.getIsOnline() == null || !product.getIsOnline()) {
|
|
|
+ log.warn("确认质押失败:产品已下架, userId={}, productId={}", userId, req.getProductId());
|
|
|
+ throw new StakingException(StakingErrorCode.PRODUCT_OFFLINE, "产品已下架");
|
|
|
+ }
|
|
|
+
|
|
|
// 3. 额度校验(需求 5.2~5.5、12.1、12.2):最小 100 BEX + 固定档位/无限制区间,校验失败抛 40003
|
|
|
SubscriptionMode mode = SubscriptionMode.fromValue(product.getSubMode());
|
|
|
SubscriptionValidator.validate(
|