Skip to content

隐私通话中心

该模块主要用于管理手机号隐私通话服务的绑定和解绑操作。通过调用bind和unbind方法,我们可以进行号码绑定和解绑。

使用时只需要在应用配置中指定平台类型,然后Spring Boot就会自动创建相应的私有调用服务实例,目前支持华为平台。

Maven坐标

xml
<dependency>
	<groupId>com.ikingtech.platform</groupId>
	<artifactId>sdk-private-call</artifactId>
</dependency>

主要方法说明

  1. 配置类 PrivateCallConfiguration

该类负责生成对应平台(这里是华为)的私有调用服务实例。通过@ConditionalOnProperty注解,当配置项private-call.platform值为"Huawei"时,Spring Boot会自动创建一个华为私有调用服务实例。

java
@Configuration
public class PrivateCallConfiguration {

    @Bean
    // 当 private-call.platform 的值为 Huawei 时,创建这个 Bean
    @ConditionalOnProperty(
        value="private-call.platform", 
        havingValue = "Huawei", 
        matchIfMissing = false)
    public PrivateCallService huaweiPrivateCallService() {
        return new HuaweiPrivateCallService();
    }
}
  1. 私有调用接口 PrivateCall 定义了两个方法:
  • bind(CallBindParam bindParam): 绑定手机号隐私通话服务,返回绑定后的唯一标识。
  • unbind(String relationNumber): 解除绑定。
  1. 华为私有调用实现 HuaweiPrivateCall 实现了PrivateCall接口。包含以下方法:
  • bind(CallBindParam bindParam): 发送POST请求进行号码绑定,并返回绑定的订阅ID。
  • unbind(String bindId): 发送DELETE请求进行号码解绑。
  1. 参数类 CallBindParam 定义了拨打方手机号、被拨打方手机号、隐私关系编号等属性。
  • Signature: 构造华为授权签名。

使用示例

在实际项目开发中,以下示例不代表所有用法;

java
// 创建配置实例
PrivateCallConfiguration configuration = new PrivateCallConfiguration();
// 设置平台类型为 "Huawei" 
configuration.setPlatform("Huawei");

// 获取私有调用服务实例
PrivateCall privateCallService = configuration.privateCallService();

// 定义绑定参数
CallBindParam bindParam = new CallBindParam();
bindParam.setOrigNum("123456789");  // 拨打方手机号
bindParam.setTermNum("987654321");  // 被拨打方手机号
bindParam.setPrivacyNumber("123***321");  // 隐私关系编号

// 绑定号码,返回唯一标识
String relationNumber = privateCallService.bind(bindParam);
System.out.println("Relation Number: " + relationNumber);

// 解绑号码
privateCallService.unbind(relationNumber);