liusheng
2026-10-10 0afac42fb2e9d6e5291304dd0044ce3042b45d2b
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
package com.ruoyi.message.wechat;
 
import com.ruoyi.message.SendResult;
 
/**
 * 微信公众号发送方(一个渠道一个实现)。
 * <p>
 * 现状:市一(smsUtils.sendChat)和新华(getWXCode)走的是两套完全不同的第三方网关,
 * 返回体判定也不一样(市一看 {@code success==1},新华看 {@code succ==true}),因此分开实现。
 */
public interface WechatSender {
 
    /**
     * 发送方唯一 key
     */
    String key();
 
    /**
     * 发送公众号消息
     *
     * @param request 统一入参
     * @return 统一结果,不抛异常
     */
    SendResult send(WechatSendRequest request);
 
    /**
     * 发送方说明,用于日志与排查
     */
    default String description() {
        return key();
    }
}