01b10c520446fef2fcc294069693462d41e312da.svn-base 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package com.chinacreator.process.job;
  2. import com.chinacreator.process.dao.WotvAiqyDao;
  3. import com.chinacreator.process.util.DesUtil;
  4. import com.chinacreator.process.util.SHAUtil;
  5. import com.chinacreator.process.util.URLUtil;
  6. import org.apache.log4j.Logger;
  7. import org.quartz.DisallowConcurrentExecution;
  8. import org.quartz.PersistJobDataAfterExecution;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import java.net.URLEncoder;
  11. import java.text.SimpleDateFormat;
  12. import java.util.Arrays;
  13. import java.util.Calendar;
  14. @PersistJobDataAfterExecution
  15. @DisallowConcurrentExecution
  16. public class WotvAiqyJob {
  17. private static Logger logger = Logger.getLogger(WotvAiqyJob.class);
  18. @Autowired
  19. private WotvAiqyDao dao;
  20. // public String useridstr ="18672981516,15611520384,15611112361,15510291698";
  21. //public String useridstr ="18672981516,18673197465";
  22. public String useridstr ="18673197465,17673136322";
  23. public void doProcess() throws Exception {
  24. logger.info(">>>>>>>>>>>定时任务开始<<<<<<<<<<");
  25. Calendar cal = Calendar.getInstance();
  26. cal.add(Calendar.DAY_OF_MONTH, -1);
  27. String logdate = new SimpleDateFormat("yyyyMMdd").format(cal.getTime());
  28. if(dao.querySMS(logdate)>0) {
  29. logger.info(">>>>>>已经处理。");
  30. return;
  31. }
  32. int count = dao.queryData();
  33. if(count<=0) {
  34. logger.info(">>>>>>没有新增收货地址,不需要发送短信。");
  35. dao.insert(logdate, "无需短信提醒", "1");
  36. return;
  37. }
  38. String [] userids = useridstr.split(",");
  39. if(userids== null || userids.length<=0 || "".equals(useridstr.trim())) {
  40. //String [] useridsMR = {"18672981516","15611520384"};
  41. String [] useridsMR = {"18673197465","17673136322"};
  42. userids = useridsMR;
  43. }
  44. String content=new SimpleDateFormat("yyyy年MM月dd日").format(cal.getTime())+"有新增收货地址,详情登录后台查看。需及时处理。";
  45. if(userids.length>0) {
  46. for(String userid:userids) {
  47. String resp = null;
  48. try {
  49. resp = sendSMS(userid, content);
  50. } catch (Exception e) {
  51. e.printStackTrace();
  52. }finally {
  53. logger.info(userid +"," + content + ","+resp);
  54. }
  55. }
  56. }
  57. dao.insert(logdate, Arrays.toString(userids), "0");
  58. }
  59. private static String sendSMS (String userid,String content){
  60. try {
  61. String smsid="1907120";
  62. String key= "wd9sjdh2";
  63. String timestamp = System.currentTimeMillis()/1000+"";
  64. String usermob = DesUtil.encode(userid, key);
  65. String sign = SHAUtil.shaEncode(smsid+usermob+timestamp+content+key).toLowerCase();
  66. usermob = URLEncoder.encode(usermob,"utf-8");
  67. content = URLEncoder.encode(content,"utf-8");
  68. String url = "http://111.206.133.54/smsbusi/sms/send?userid="+usermob+"&smsid="+smsid+"&timestamp="+timestamp+"&sign="+sign+"&content="+content;
  69. String resp = URLUtil.get(url);
  70. System.out.println(url+","+resp);
  71. return resp;
  72. } catch (Exception e) {
  73. e.printStackTrace();
  74. }
  75. return null;
  76. }
  77. }