package com.doumee.biz.zbom.impl;
|
|
import com.doumee.biz.zbom.ZbomSMSService;
|
import com.doumee.core.utils.Constants;
|
import com.doumee.dao.business.CrmInterfaceLogMapper;
|
import com.doumee.dao.business.CustomerLogMapper;
|
import com.doumee.dao.business.model.CrmInterfaceLog;
|
import org.apache.commons.codec.digest.DigestUtils;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.stereotype.Service;
|
|
import java.io.BufferedReader;
|
import java.io.InputStreamReader;
|
import java.net.HttpURLConnection;
|
import java.net.URL;
|
import java.net.URLEncoder;
|
import java.util.Date;
|
|
/**
|
* 志邦CRM客户信息提交接口
|
* @author 江蹄蹄
|
* @date 2023/11/30 15:33
|
*/
|
@Service
|
public class ZbomSMSServiceImpl implements ZbomSMSService {
|
|
@Autowired
|
private CustomerLogMapper customerLogMapper;
|
@Autowired
|
private CrmInterfaceLogMapper crmInterfaceLogMapper;
|
|
@Autowired
|
private RedisTemplate<String, Object> redisTemplate;
|
|
public static void main(String[] args) {
|
ZbomSMSServiceImpl obj = new ZbomSMSServiceImpl();
|
obj.sendMessage("您的验证码是765412,此验证码用于重置密码。3分钟内有效。","18156091665");
|
}
|
/**
|
* 志邦客户信息提交接口
|
* @return
|
*/
|
@Override
|
public boolean sendMessage(String content,String phone) {
|
// TODO Auto-generated method stub
|
if(StringUtils.isBlank(content)){
|
return false;
|
}
|
// String appkey ="581ba98d70ae2b85c4ecb9c785";
|
// String urlStr = "http://wx.zhibang.com/api/QR/Face_UserSms?TenantId=2&smstype=6&" ;
|
String appkey = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.ZBOM_SMS_API_KEY);
|
String urlStr = (String)redisTemplate.opsForValue().get(Constants.RedisKeys.ZBOM_SMS_API_URL) ;
|
try {
|
StringBuffer sb = new StringBuffer(urlStr);
|
Integer _t = (int) System.currentTimeMillis();
|
// 向StringBuffer追加用户名
|
sb.append("_t=" + _t);
|
sb.append("&smsphone=" + phone);
|
sb.append("&smscode=10005");
|
// 向StringBuffer追加密码(登陆网页版,在管理中心--基本资料--接口密码,是28位的)
|
sb.append("&smsmsg=" + URLEncoder.encode(content.replace(" ", ""), "UTF-8"));
|
// 加密
|
// 497fbc01e744ef44001296b7466148e8
|
sb.append("&token=" + DigestUtils.md5Hex(phone + _t + appkey));
|
|
// 创建url对象
|
URL url = new URL(sb.toString());
|
// 打开url连接
|
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
|
// 设置url请求方式 ‘get’ 或者 ‘post’
|
connection.setRequestMethod("POST");
|
connection.setConnectTimeout(500);
|
connection.setReadTimeout(500);
|
// 发送
|
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
|
// 返回发送结果
|
String inputline = in.readLine();
|
// 返回结果为‘0,20140009090990,1,提交成功’ 发送成功 具体见说明文档
|
System.out.println(inputline);
|
saveInterfaceLog(urlStr,"志邦短信发送接口", sb.toString(), 0,inputline);
|
return true;//
|
}catch (Exception e){
|
e.printStackTrace();
|
return false;
|
}
|
|
}
|
public void saveInterfaceLog(String url,String name,String param,Integer success,String respone){
|
if(crmInterfaceLogMapper ==null){
|
return;
|
}
|
CrmInterfaceLog log = new CrmInterfaceLog();
|
log.setCreateDate(new Date());
|
log.setUrl(url);
|
log.setEditDate(log.getCreateDate());
|
log.setPlat(Constants.ONE);
|
log.setName(name);
|
log.setIsdeleted(Constants.ZERO);
|
log.setRequest(param);
|
log.setType(Constants.ONE);
|
log.setSuccess(success);
|
log.setRepose(respone);
|
crmInterfaceLogMapper.insert(log);
|
}
|
}
|