com.ksyun.pnp.sdk.PnPService Maven / Gradle / Ivy
package com.ksyun.pnp.sdk;
import com.fasterxml.jackson.core.type.TypeReference;
import com.ksyun.pnp.sdk.constant.Constants;
import com.ksyun.pnp.sdk.domain.request.QueryReq;
import com.ksyun.pnp.sdk.domain.request.UnbindReq;
import com.ksyun.pnp.sdk.domain.request.UpdateReq;
import com.ksyun.pnp.sdk.domain.request.axb.AxbBindReq;
import com.ksyun.pnp.sdk.domain.response.OpenApiResponseResult;
import com.ksyun.pnp.sdk.domain.response.http.BindResp;
import com.ksyun.pnp.sdk.domain.response.http.QueryResp;
import com.ksyun.pnp.sdk.util.http.HttpClientUtil;
import com.ksyun.pnp.sdk.util.http.SimpleHttpResponse;
import com.ksyun.pnp.sdk.util.sign.CommonSignParam;
import com.ksyun.pnp.sdk.util.sign.SignatureUtil;
import org.apache.commons.lang3.StringUtils;
import java.util.HashMap;
import java.util.Map;
public class PnPService {
public CommonSignParam signParam;
public PnPService(String ak, String sk) {
if (StringUtils.isEmpty(ak) || StringUtils.isEmpty(sk)) {
throw new IllegalArgumentException("ak或sk不能为空");
}
this.signParam = new CommonSignParam(ak, sk);
}
public PnPService(CommonSignParam signParam) {
if (signParam == null) {
throw new IllegalArgumentException("signParam 不能为null");
}
this.signParam = signParam;
}
/**
* AXB号码绑定
*
* @param bindReq 请求参数
*/
public OpenApiResponseResult axbBind(AxbBindReq bindReq) {
return handle(SignatureUtil.beanToMap(bindReq), Constants.AXB_BIND_ACTION);
}
/**
* 号码解绑
*
* @param axbUnbindReq 请求实体
* @return 返回结果
*/
public OpenApiResponseResult axbUnBind(UnbindReq axbUnbindReq) {
return handle(SignatureUtil.beanToMap(axbUnbindReq), Constants.AXB_UNBIND_ACTION);
}
/**
* 绑定关系修改
*
* @param axbUpdateReq 请求实体
* @return 返回结果
*/
public OpenApiResponseResult update(UpdateReq axbUpdateReq) {
return handle(SignatureUtil.beanToMap(axbUpdateReq), Constants.AXB_UPDATE_ACTION);
}
/**
* 查询绑定关系
*
* @param axbQueryReq 请求实体
* @return 返回结果
*/
public OpenApiResponseResult query(QueryReq axbQueryReq) {
return handle(SignatureUtil.beanToMap(axbQueryReq), Constants.AXB_QUERY_ACTION);
}
private OpenApiResponseResult handle(Map param, String action) {
Map reqParam = SignatureUtil.sign(signParam, action, param);
String reqBody = SignatureUtil.toJson(reqParam);
Map reqHeaders = new HashMap<>();
reqHeaders.put(HttpClientUtil.CONTENT_TYPE, HttpClientUtil.APPLICATION_JSON);
reqHeaders.put(HttpClientUtil.ACCEPT, HttpClientUtil.APPLICATION_JSON);
SimpleHttpResponse resp = HttpClientUtil.postRawBody(signParam.getReqUrl(), reqHeaders, reqBody);
return resp.toResponse(new TypeReference>() {
});
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy