All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.yunpian.sdk.service.VoiceOperator Maven / Gradle / Ivy

package com.yunpian.sdk.service;

import java.io.UnsupportedEncodingException;
import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.google.gson.reflect.TypeToken;
import com.yunpian.sdk.constant.Config;
import com.yunpian.sdk.constant.YunpianConstant;
import com.yunpian.sdk.model.ResultDO;
import com.yunpian.sdk.model.VoiceSend;
import com.yunpian.sdk.model.VoiceStatus;
import com.yunpian.sdk.util.HttpUtil;
import com.yunpian.sdk.util.JsonUtil;
import com.yunpian.sdk.util.SignUtil;
import com.yunpian.sdk.util.StringUtil;
import com.yunpian.sdk.util.TeaUtil;

/**
 * Created by bingone on 16/1/18.
 */

/**
 * 语音操作类
 */
@Deprecated
public class VoiceOperator extends AbstractOperator {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String apikey;
	private String apiSecret;

	public VoiceOperator(String apikey, String apiSecret) {
		this.apikey = apikey;
		this.apiSecret = apiSecret;
	}

	public ResultDO send(String mobile, String code) {
		ResultDO result = new ResultDO();
		Type t = new TypeToken() {
		}.getType();
		Map parms = new HashMap();
		parms.put(YunpianConstant.APIKEY, apikey);
		if (StringUtil.isNullOrEmpty(apiSecret)) {
			parms.put(YunpianConstant.MOBILE, mobile);
			parms.put(YunpianConstant.CODE, code);
		} else {
			try {
				parms.put(YunpianConstant.MOBILE, TeaUtil.encryptForYunpianV2(mobile, apiSecret));
				parms.put(YunpianConstant.CODE, TeaUtil.encryptForYunpianV2(code, apiSecret));
				parms.put(YunpianConstant.SIGN, SignUtil.getSign(parms, apiSecret));
			} catch (UnsupportedEncodingException e) {
				result.setE(e);
				return result;
			}
		}
		try {
			String ret = HttpUtil.post(Config.URI_SEND_VOICE_SMS, parms);
			result.setData((VoiceSend) JsonUtil.fromJson(ret, t));
			result.setSuccess(true);
		} catch (Throwable e) {
			result.setE(e);
		}
		return result;
	}

	public ResultDO> pullStatus() {
		ResultDO> result = new ResultDO>();
		Type t = new TypeToken>() {
		}.getType();
		Map parms = new HashMap();
		parms.put(YunpianConstant.APIKEY, apikey);
		try {
			String ret = HttpUtil.post(Config.URI_PULL_VOICE_STATUS, parms);
			result.setData(JsonUtil.>fromJson(ret, t));
			result.setSuccess(true);
		} catch (Throwable e) {
			result.setE(e);
		}
		return result;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy