yangys
2025-07-10 c9d8a42aedf6462611d38a40d34e6c2c5ebfabb2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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();
    }
}