package org.springblade.resource.rule.builder; import org.springblade.core.literule.annotation.RuleEngineComponent; import org.springblade.core.literule.builder.LiteRule; import org.springblade.core.literule.builder.RuleBuilder; import org.springblade.core.literule.builder.chain.RuleChain; import static org.springblade.resource.rule.constant.SmsRuleConstant.*; /** * Sms规则链构建器 * * @author BladeX */ @RuleEngineComponent(id = SMS_CHAIN_ID) public class SmsRuleBuilder implements RuleBuilder { @Override public RuleChain build() { // 创建SMS构建条件判断规则链 RuleChain smsBuildRuleChain = LiteRule.SWITCH(SMS_BUILD_RULE).TO( ALI_SMS_RULE, QINIU_SMS_RULE, TENCENT_SMS_RULE, YUNPIAN_SMS_RULE, CACHE_SMS_RULE ).build(); // 创建完整规则链 return LiteRule.THEN(PRE_SMS_RULE) .THEN(smsBuildRuleChain) .THEN(FINALLY_SMS_RULE) .build(); } }