25ceec8f55dafef552f680da50c3d4937b2152b7.svn-base 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package com.chinacreator.videoalliance.smc.util;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.chinacreator.common.exception.BusinessException;
  5. import com.chinacreator.common.util.DESUtil;
  6. import com.chinacreator.videoalliance.common.dao.DictionaryDao;
  7. import com.chinacreator.videoalliance.order.util.URLUtil;
  8. import org.jboss.logging.Logger;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Component;
  11. import javax.annotation.PostConstruct;
  12. import java.net.URLEncoder;
  13. import java.util.HashMap;
  14. import java.util.Map;
  15. @Component
  16. public class SendSmsUtil {
  17. public static Logger logger = Logger.getLogger(SendSmsUtil.class);
  18. public static SendSmsUtil sendSmsUtil;
  19. public static final String urlbase = "https://cctv2.mige.tv/smsbusi/sms/send";
  20. @Autowired
  21. private DictionaryDao dictionaryDao;
  22. @PostConstruct
  23. public void init(){
  24. System.out.println("PostConstruct接口的innit()执行");
  25. sendSmsUtil =this;
  26. sendSmsUtil.dictionaryDao = this.dictionaryDao;
  27. }
  28. public static String send(String userid,String content) throws Exception {
  29. if(sendSmsUtil.dictionaryDao==null){
  30. throw new BusinessException("500","dictionaryDao空指针");
  31. }
  32. String url = sendSmsUtil.dictionaryDao.getValue("newSmsSendUrl");
  33. if(url==null || "".equals(url)){
  34. throw new BusinessException("404","数据库中获取的url为null");
  35. }
  36. System.out.println("newSmsSendUrl对应的url是:"+url);
  37. String smsid = "10655117";
  38. String pwd = "wo6bslq2";
  39. userid = DESUtil.encode(userid,pwd);
  40. System.out.println(userid);
  41. String timestamp = System.currentTimeMillis()/1000+"";
  42. String sign = SHAUtil.shaEncode(smsid+userid+timestamp+content+pwd).toLowerCase();
  43. userid = URLEncoder.encode(userid,"utf-8");
  44. content = URLEncoder.encode(content,"utf-8");
  45. //String url = "http://111.206.133.54/smsbusi/sms/send?smsid="+smsid+"&userid="+userid+"&timestamp="+timestamp+"&sign="+sign+"&content="+content;
  46. // String url = "http://cctv2.mige.tv/smsbusi/sms/send?smsid="+smsid+"&userid="+userid+"&timestamp="+timestamp+"&sign="+sign+"&content="+content;
  47. // url = url+"/smsbusi/sms/send?smsid="+smsid+"&userid="+userid+"&timestamp="+timestamp+"&sign="+sign+"&content="+content;
  48. url = url+"?smsid="+smsid+"&userid="+userid+"&timestamp="+timestamp+"&sign="+sign+"&content="+content;
  49. System.out.println("url是"+url);
  50. String result = "";
  51. try {
  52. result = URLUtil.get(url);
  53. } catch (Exception e) {
  54. e.printStackTrace();
  55. }
  56. if(result!="" && result!=null){
  57. JSONObject obj = JSON.parseObject(result);
  58. String resultcode = obj.getString("resultcode");
  59. System.out.println(resultcode);
  60. return resultcode;
  61. }
  62. System.out.println(result);
  63. return null;
  64. }
  65. public static String send(String userid,long code) throws Exception {
  66. logger.info(">>>>>>>>>>>>>>>>>>>>>>>短信验证码走模板");
  67. String dbUrl = "";
  68. String nurl = "";
  69. try {
  70. //从数据字典表中查询地址,结果为:https://cctv2.mige.tv/smsbusi/sms/send
  71. dbUrl = sendSmsUtil.dictionaryDao.getValue("newSmsSendUrl");
  72. System.out.println("newSmsSendUrl对应的url是:" + dbUrl);
  73. } catch (Exception e) {
  74. logger.error("smsUtil、dictionaryDao、url存在空指针问题,使用静态地址");
  75. e.printStackTrace();
  76. } finally {
  77. if (dbUrl == null || "".equals(dbUrl)) {
  78. nurl = urlbase;
  79. System.out.println("500" + "::smsUtil、dictionaryDao、url存在空指针问题,使用静态地址");
  80. logger.info("使用静态地址发短信,地址是:"+nurl);
  81. } else {
  82. nurl = dbUrl;
  83. logger.info("发短信,地址是>>>>>>>>>>>>>>>>>:"+nurl);
  84. }
  85. }
  86. // String smsid = "10655117";//旧
  87. // String pwd = "wo6bslq2"; //10655117
  88. String smsid = "2022041516441";//2022041516441
  89. String pwd = "!qwcpbl@"; //
  90. userid = DESUtil.encode(userid,pwd);
  91. System.out.println(userid);
  92. String timestamp = System.currentTimeMillis()/1000+"";
  93. Map map=new HashMap();
  94. map.put("vcode",code);
  95. String vars= JSONObject.toJSONString(map);
  96. String contentid = "202204151711164419";
  97. String sign = SHAUtil.shaEncode(smsid+userid+timestamp+vars+contentid+pwd).toLowerCase();
  98. userid = URLEncoder.encode(userid,"utf-8");
  99. vars = URLEncoder.encode(vars,"utf-8");
  100. String url = nurl+"?smsid="+smsid+"&userid="+userid+"&timestamp="+timestamp+"&sign="+sign+"&vars="+vars+"&contentid="+contentid;
  101. String result = "";
  102. try {
  103. result = URLUtil.get(url);
  104. logger.info("result是:"+result);
  105. } catch (Exception e) {
  106. e.printStackTrace();
  107. }
  108. if(result!="" && result!=null){
  109. JSONObject obj = JSON.parseObject(result);
  110. String resultcode = obj.getString("resultcode");
  111. System.out.println(resultcode);
  112. return resultcode;
  113. }
  114. System.out.println(result);
  115. return null;
  116. }
  117. public static void main(String args[]) throws Exception {
  118. // SendSmsUtil s = new SendSmsUtil();
  119. try {
  120. SendSmsUtil.send("15581368293",9999999);
  121. } catch (Exception e) {
  122. e.printStackTrace();
  123. }
  124. // System.out.println("123");
  125. // Object result = URLUtil.get("http://111.206.133.54/smsbusi/sms/send?smsid=10655117&userid=TxyXhnLm1vfHKMMyMtvycg%3D%3D&timestamp=1583916754&sign=10908a56107fa3479a7225f39d7b66ae0fef5a6a&content=这是一条测试短信");
  126. // System.out.println(result);
  127. // String userid = "15581368293";
  128. // String content = "测试测试";
  129. //// String str = DESUtil.encode("15623055682","hjk!@#qw");
  130. // String str = DESUtil.encode("15581368293", "hjk!@#qw");
  131. // System.out.println(str);
  132. //
  133. // String smsid = "855472781058375680";
  134. // String pwd = "acvb!@qw";
  135. // userid = DESUtil.encode(userid, pwd);
  136. // System.out.println(userid);
  137. // String timestamp = System.currentTimeMillis() / 1000 + "";
  138. // String sign = SHAUtil.shaEncode(smsid + userid + timestamp + content + pwd).toLowerCase();
  139. // userid = URLEncoder.encode(userid, "utf-8");
  140. // content = URLEncoder.encode(content, "utf-8");
  141. //
  142. // String url1 = "http://111.206.133.54/smsbusi/sms/send";
  143. // //String url = "http://111.206.133.54/smsbusi/sms/send?smsid="+smsid+"&userid="+userid+"&timestamp="+timestamp+"&sign="+sign+"&content="+content;
  144. // String url = url1 + "?smsid=" + smsid + "&userid=" + userid + "&timestamp=" + timestamp + "&sign=" + sign + "&content=" + content;
  145. // System.out.println(url);
  146. // }
  147. }
  148. }