package com.doumee.service.business.third; import cn.emay.sdk.client.SmsSDKClient; import cn.emay.sdk.core.dto.sms.common.CustomSmsIdAndMobile; import cn.emay.sdk.core.dto.sms.common.CustomSmsIdAndMobileAndContent; import cn.emay.sdk.core.dto.sms.common.PersonalityParams; import cn.emay.sdk.core.dto.sms.common.ResultModel; import cn.emay.sdk.core.dto.sms.request.*; import cn.emay.sdk.core.dto.sms.response.*; import cn.emay.sdk.util.exception.SDKParamsException; import com.alibaba.fastjson.JSONObject; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.utils.Constants; import com.doumee.dao.business.model.InterfaceLog; import com.doumee.service.business.InterfaceLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import java.io.IOException; import java.util.Date; @Service public class EmayService { private static SmsSDKClient client ; public SmsSDKClient getClient() { return client; } public void setClient(SmsSDKClient client) { this.client = client; } @Autowired private InterfaceLogService interfaceLogService ; @Autowired private SystemDictDataBiz systemDictDataBiz; private void saveInterfaceLog(String path,String name,String req ,String res) { if(interfaceLogService !=null){ InterfaceLog hkMonitoryLogDO=new InterfaceLog(); hkMonitoryLogDO.setType(0); hkMonitoryLogDO.setCreateDate(new Date()); hkMonitoryLogDO.setIsdeleted(0); hkMonitoryLogDO.setRequest(req); hkMonitoryLogDO.setRepose(res); hkMonitoryLogDO.setName(name); hkMonitoryLogDO.setUrl(path); interfaceLogService.create(hkMonitoryLogDO); } } private static String ip; private static int port; private static String appSecret; private static String appKey; @PostConstruct//启动初始化 public int initClient(){ ip = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_IP).getCode(); port = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_PORT).getCode()); appKey = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_APPKEY).getCode(); appSecret = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_APPSECRET).getCode(); return 0; } public boolean sendSingleSms(String mobile,String content) { try { client = new SmsSDKClient(ip,port,appKey,appSecret); if(client == null){ return false; } String customSmsId = "1"; String extendedCode = "01"; SmsSingleRequest request = new SmsSingleRequest(mobile, content, customSmsId, extendedCode, ""); ResultModel result = client.sendSingleSms(request); saveInterfaceLog(ip+"/"+port,"【短信】发送", JSONObject.toJSONString(result),JSONObject.toJSONString(result)); if (result.getCode().equals("SUCCESS")) { System.out.println("请求成功"); SmsResponse response = result.getResult(); System.out.println("sendSingleSms:" + response.toString()); return true; } else { System.out.println("请求失败"); return false; } } catch (Exception e) { } return false; } }