package com.mossle.internal.sendsms.client;
import java.io.*;
import java.net.*;
import java.util.*;
import com.mossle.core.mapper.JsonMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
public class HttpSmsClient implements SmsClient {
private static Logger logger = LoggerFactory.getLogger(HttpSmsClient.class);
private String baseUrl;
private String configCode;
private JsonMapper jsonMapper = new JsonMapper();
public void sendSms(String mobile, String message) throws Exception {
HttpURLConnection conn = (HttpURLConnection) new URL(baseUrl)
.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
String queryString = "mobile=" + mobile + "&message=" + message
+ "&configCode=" + configCode;
conn.getOutputStream().write(queryString.getBytes("UTF-8"));
conn.getOutputStream().flush();
InputStream is = conn.getInputStream();
int len = -1;
byte[] b = new byte[1024];
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while ((len = is.read(b, 0, 1024)) != -1) {
baos.write(b, 0, len);
}
is.close();
String text = new String(baos.toByteArray(), "UTF-8");
logger.info("sms result : {}", text);
}
@Value("${sms.baseUrl}")
public void setBaseUrl(String baseUrl) {
this.baseUrl = baseUrl;
}
@Value("${sms.configCode}")
public void setConfigCode(String configCode) {
this.configCode = configCode;
}
}