678ab26b3a06105eb15aabd4ffc6ff47f6808fb4.svn-base 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package com.chinacreator.process.job;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.chinacreator.common.util.DESUtil;
  5. import com.chinacreator.common.util.URLUtil;
  6. import com.chinacreator.process.dao.DictionaryDao;
  7. import com.chinacreator.process.util.JsonUtil;
  8. import com.chinacreator.video.queue.MessageService;
  9. import com.chinacreator.video.queue.bean.MessagePipe;
  10. import org.apache.commons.lang.StringUtils;
  11. import org.apache.commons.lang.math.NumberUtils;
  12. import org.apache.log4j.Logger;
  13. import org.quartz.DisallowConcurrentExecution;
  14. import org.quartz.PersistJobDataAfterExecution;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import java.net.URLEncoder;
  17. import java.util.HashMap;
  18. import java.util.List;
  19. import java.util.Map;
  20. @PersistJobDataAfterExecution
  21. @DisallowConcurrentExecution
  22. public class CShandleSms5GJob {
  23. private Logger logger = Logger.getLogger("sms5g");
  24. private Logger log = Logger.getLogger(CShandleSms5GJob.class);
  25. @Autowired
  26. private DictionaryDao dictionaryDao;
  27. @Autowired
  28. private MessageService messageService;
  29. private final static String KEY = "22fdse33";
  30. public void doProcess() throws Exception {
  31. log.info("超时,生效短信job开始执行");
  32. if ("0".equals(dictionaryDao.getValue("recivemq"))) {
  33. List<MessagePipe> list = messageService.reciveBatchMessage("sms5g", 500);
  34. if(list != null && list.size()>0){
  35. log.info("超时,5g生效短信需要发送:"+list.size());
  36. log.info("5g号码");
  37. for (MessagePipe messagePipe : list) {
  38. String result ="";
  39. String resultcode =(String) messagePipe.getBody().get("result");
  40. String userid = (String) messagePipe.getBody().get("userid");
  41. String times = (String) messagePipe.getBody().get("times");
  42. String busiType = (String) messagePipe.getBody().get("busiType");
  43. int style = NumberUtils.toInt((String)messagePipe.getBody().get("style"));
  44. boolean bool=false;
  45. String content = "";
  46. logger.info(userid+"==="+busiType+"===="+style);
  47. try{
  48. if (busiType.contains("tran_succ")||style==7){
  49. String rspJson= URLUtil.get("http://10.199.99.51:809/caporder/qry5g?userid=" + userid);
  50. JSONObject jsondata = JSONObject.parseObject(rspJson);
  51. String code = jsondata.getString("resultcode");
  52. String errorinfo = jsondata.getString("errorinfo");
  53. if (!"0".equals(code)){
  54. log.error(userid+"===查询三户失败==="+errorinfo);
  55. }else{
  56. JSONObject jsonObj = jsondata.getJSONObject("data");
  57. if (jsonObj!=null){
  58. JSONObject bodyObj = (JSONObject)jsonObj.get("UNI_BSS_BODY");
  59. JSONObject osrspObj = (JSONObject)bodyObj.get("QRY_USER_SERVICE_RSP");
  60. JSONObject rspObj = (JSONObject)osrspObj.get("RSP");
  61. if(rspObj != null && rspObj.get("DATA") != null){
  62. JSONArray jsonArray = (JSONArray)rspObj.get("DATA");
  63. for(int i=0; i<jsonArray.size(); i++){
  64. JSONObject obj = (JSONObject)jsonArray.get(i);
  65. logger.info(userid+"=============="+obj.getString("BRAND_CODE"));
  66. if("5G00".equals(obj.getString("BRAND_CODE"))){
  67. bool=true;
  68. content="【中国联通】5G用户您好,XX、XX省的联通5G网络当前加速建设中,如您漫游到以上省分定向流量可能无法正常使用,给您带来的不便敬请谅解";
  69. break;
  70. }
  71. }
  72. }
  73. }
  74. }
  75. }
  76. if(StringUtils.isNotEmpty(content)&&bool){
  77. result = URLUtil.get("http://10.199.99.147:8092/videoif/channelSmsSend.do?userid="+URLEncoder.encode(DESUtil.encode(userid, KEY),"utf-8")+"&content="+URLEncoder.encode(content,"UTF-8")+"&channel=cssms", 2000);
  78. }
  79. }catch(Exception e){
  80. log.error(userid+"短信发送失败",e);
  81. }finally {
  82. Map<String,String> map = new HashMap<String, String>();
  83. map.put("userid", userid);
  84. map.put("style", style+"");
  85. map.put("result", result);
  86. map.put("times", times);
  87. map.put("busiType", busiType);
  88. logger.info(JsonUtil.objectToJson(map));
  89. }
  90. }
  91. }
  92. }
  93. }
  94. }