| package cn.emay.sdk.core.service.security; | 
|   | 
| import java.util.HashMap; | 
| import java.util.Map; | 
|   | 
| import cn.emay.sdk.core.dto.sms.common.ResultModel; | 
| import cn.emay.sdk.core.dto.sms.request.BalanceRequest; | 
| import cn.emay.sdk.core.dto.sms.request.MoRequest; | 
| import cn.emay.sdk.core.dto.sms.request.ReportRequest; | 
| import cn.emay.sdk.core.dto.sms.request.RetrieveReportRequest; | 
| import cn.emay.sdk.core.dto.sms.request.SmsBatchOnlyRequest; | 
| import cn.emay.sdk.core.dto.sms.request.SmsBatchRequest; | 
| import cn.emay.sdk.core.dto.sms.request.SmsPersonalityAllRequest; | 
| import cn.emay.sdk.core.dto.sms.request.SmsPersonalityRequest; | 
| import cn.emay.sdk.core.dto.sms.request.SmsSingleRequest; | 
| import cn.emay.sdk.core.dto.sms.response.BalanceResponse; | 
| import cn.emay.sdk.core.dto.sms.response.MoResponse; | 
| import cn.emay.sdk.core.dto.sms.response.ReportResponse; | 
| import cn.emay.sdk.core.dto.sms.response.RetrieveReportResponse; | 
| import cn.emay.sdk.core.dto.sms.response.SmsResponse; | 
| import cn.emay.sdk.core.service.SDKService; | 
| import cn.emay.sdk.util.HttpUtil; | 
| import cn.emay.sdk.util.exception.SDKParamsException; | 
|   | 
| public class SDKSecurityServiceImpl implements SDKService { | 
|   | 
|     @Override | 
|     public ResultModel<SmsResponse> sendSingleSms(String appId, String secretKey, String host, SmsSingleRequest request) { | 
|         ResultModel<SmsResponse> result = HttpUtil.request(appId, secretKey, host + "/inter/sendSingleSMS", request, SmsResponse.class); | 
|         return result; | 
|     } | 
|   | 
|     @Override | 
|     public ResultModel<SmsResponse[]> sendBatchOnlySms(String appId, String secretKey, String host, SmsBatchOnlyRequest request) { | 
|         ResultModel<SmsResponse[]> result = HttpUtil.request(appId, secretKey, host + "/inter/sendBatchOnlySMS", request, SmsResponse[].class); | 
|         return result; | 
|     } | 
|   | 
|     @Override | 
|     public ResultModel<SmsResponse[]> sendBatchSms(String appId, String secretKey, String host, SmsBatchRequest request) throws SDKParamsException { | 
|         ResultModel<SmsResponse[]> result = HttpUtil.request(appId, secretKey, host + "/inter/sendBatchSMS", request, SmsResponse[].class); | 
|         return result; | 
|     } | 
|   | 
|     @Override | 
|     public ResultModel<SmsResponse[]> sendPersonalitySms(String appId, String secretKey, String host, SmsPersonalityRequest request) throws SDKParamsException { | 
|         ResultModel<SmsResponse[]> result = HttpUtil.request(appId, secretKey, host + "/inter/sendPersonalitySMS", request, SmsResponse[].class); | 
|         return result; | 
|     } | 
|   | 
|     @Override | 
|     public ResultModel<SmsResponse[]> sendPersonalityAllSms(String appId, String secretKey, String host, SmsPersonalityAllRequest request) throws SDKParamsException { | 
|         ResultModel<SmsResponse[]> result = HttpUtil.request(appId, secretKey, host + "/inter/sendPersonalityAllSMS", request, SmsResponse[].class); | 
|         return result; | 
|     } | 
|   | 
|     @Override | 
|     public ResultModel<BalanceResponse> getBalance(String appId, String secretKey, String host, BalanceRequest request) { | 
|         ResultModel<BalanceResponse> result = HttpUtil.request(appId, secretKey, host + "/inter/getBalance", request, BalanceResponse.class); | 
|         return result; | 
|     } | 
|   | 
|     @Override | 
|     public ResultModel<ReportResponse[]> getReport(String appId, String secretKey, String host, ReportRequest reportRequest) { | 
|         ResultModel<ReportResponse[]> result = HttpUtil.request(appId, secretKey, host + "/inter/getReport", reportRequest, ReportResponse[].class); | 
|         return result; | 
|     } | 
|   | 
|     @Override | 
|     public ResultModel<MoResponse[]> getMo(String appId, String secretKey, String host, MoRequest request) { | 
|         ResultModel<MoResponse[]> result = HttpUtil.request(appId, secretKey, host + "/inter/getMo", request, MoResponse[].class); | 
|         return result; | 
|     } | 
|   | 
|     @Override | 
|     public ResultModel<RetrieveReportResponse> retrieveReport(String appId, String timestamp, String sign, String host, RetrieveReportRequest reportRequest) { | 
|         Map<String, String> params = new HashMap<String, String>(); | 
|         params.put("appId", appId); | 
|         params.put("timestamp", timestamp); | 
|         params.put("sign", sign); | 
|         params.put("startTime", reportRequest.getStartTime()); | 
|         params.put("endTime", reportRequest.getEndTime()); | 
|         params.put("smsId", reportRequest.getSmsId()); | 
|         ResultModel<String> result = HttpUtil.request(params, host + "/report/retrieveReport", "UTF-8", String.class); | 
|         ResultModel<RetrieveReportResponse> resultModel = new ResultModel<RetrieveReportResponse>(result.getCode(), new RetrieveReportResponse(result.getCode())); | 
|         return resultModel; | 
|     } | 
|   | 
| } |