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 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); } }