⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sendmanager.java

📁 短信定制软件
💻 JAVA
字号:
package smstimer;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: </p> * @author unascribed * @version 1.0 */import java.util.*;public class SendManager extends Engine {    public static DBConnection db =  null;//new DBConnection();    public SendManager(DBConnection d) {        super("SendManager");        setDaemon(true);        this.db = d;    }    public void run(){        String getUndoTimeUserSql24 = "select * from sms_forecast_time where TO_DAYS(done_time_24)<TO_DAYS(NOW()) "+                                      "and (period = 24 or period = 48) and status = 1 and deal_result = 0";        String getUndoTimeUserSql48 = "select * from sms_forecast_time where TO_DAYS(done_time_48)<TO_DAYS(NOW()) "+                                      " and  period = 48 and status = 1 and deal_result = 0";        while(true){            Vector v24 = new Vector();            //24用户 发送一个24时预报的数据 包括48小时用户            v24 = (Vector)db.execute(getUndoTimeUserSql24);            System.out.println("24 : "+v24);            for(int i = 0;i<v24.size() ;i++){                String period = "24";                String b = "0",e = "1";                String cityName = "";                String forWho = "";                TimeUser timeUser = new TimeUser((String)((Vector)v24.get(i)).get(0),                                                 (String)((Vector)v24.get(i)).get(1),                                                 (String)((Vector)v24.get(i)).get(2),                                                 (String)((Vector)v24.get(i)).get(3),                                                 (String)((Vector)v24.get(i)).get(4),                                                 (String)((Vector)v24.get(i)).get(5),                                                 (String)((Vector)v24.get(i)).get(6),                                                 (String)((Vector)v24.get(i)).get(7),                                                 (String)((Vector)v24.get(i)).get(8));                cityName = timeUser.city_name ;                forWho = timeUser.dest_terminal_id ;                FcstContent fcstContent = getFcstContent(cityName,b,e);                if(fcstContent != null && !fcstContent.weather_content.equals("") &&                   fcstContent.weather_content != null && fcstContent.weather_content.length() != 0){//邦定submit包                        String service_id = "",fee_user_type="",fee_terminal_id="",                               msg_fmt = "",fee_type ="",fee_code = "",src_terminal_id ="",                               dest_terminal_id="",msg_content = "";                        String service_code = Config.order_text+period ;                        Fee fee = getFee(service_code); //获取tq24 的fee                        service_id = fee.service_id;                        fee_user_type = "3";//对fee_terminal_id收费                        fee_terminal_id = timeUser.fee_terminal_id ;                        msg_fmt = "15";                        fee_type = fee.fee_type;                        fee_code = fee.fee_code;                        src_terminal_id = Config.sp_id ;                        msg_content = fcstContent.weather_content ;                        System.out.println("定制 : "+msg_content);                        dest_terminal_id = timeUser.dest_terminal_id ;                        System.out.println(fee.fee_code+fee.service_code );                        //邦定                        SubmitPackage submitPackage = new SubmitPackage(service_id,                                                                        fee_user_type,                                                                        fee_terminal_id,                                                                        msg_fmt,                                                                        fee_type,                                                                        fee_code,                                                                        src_terminal_id,                                                                        dest_terminal_id,                                                                        msg_content,                                                                        timeUser.id,                                                                        period);                        boolean  dealOk = Config.SubmitV.push(submitPackage);                                  if(dealOk){                                      System.out.println("____________________send 24"+submitPackage.forecast_weather_time_id);                                      setDealing(timeUser.id);                                  }                }else{                    //没有气象数据                    System.out.println("现在没有数据24");                }//邦定submit包            }            //48 的用户发送48小时的1个预报数据            Vector v48 = new Vector();                      //24用户 发送一个24时预报的数据 包括48小时用户                      v48 = (Vector)db.execute(getUndoTimeUserSql48);                      System.out.println("v48 : "+v48);                      for(int i = 0;i<v48.size() ;i++){                          String period = "48";                          String b = "1",e = "2";                          String cityName = "";                          String forWho = "";                          TimeUser timeUser = new TimeUser((String)((Vector)v48.get(i)).get(0),                                                           (String)((Vector)v48.get(i)).get(1),                                                           (String)((Vector)v48.get(i)).get(2),                                                           (String)((Vector)v48.get(i)).get(3),                                                           (String)((Vector)v48.get(i)).get(4),                                                           (String)((Vector)v48.get(i)).get(5),                                                           (String)((Vector)v48.get(i)).get(6),                                                           (String)((Vector)v48.get(i)).get(7),                                                           (String)((Vector)v48.get(i)).get(8));                          cityName = timeUser.city_name ;                          forWho = timeUser.dest_terminal_id ;                          FcstContent fcstContent = getFcstContent(cityName,b,e);                          if(fcstContent != null && !fcstContent.weather_content.equals("") &&                             fcstContent.weather_content != null && fcstContent.weather_content.length() != 0){//邦定submit包                                  String service_id = "",fee_user_type="",fee_terminal_id="",                                         msg_fmt = "",fee_type ="",fee_code = "",src_terminal_id ="",                                         dest_terminal_id="",msg_content = "";                                  String service_code = Config.order_text+period ;                                  Fee fee = getFee(service_code); //获取tq24 的fee                                  service_id = fee.service_id;                                  fee_user_type = "3";//对fee_terminal_id收费                                  fee_terminal_id = timeUser.fee_terminal_id ;                                  msg_fmt = "15";                                  fee_type = fee.fee_type;                                  fee_code = fee.fee_code;                                  src_terminal_id = Config.sp_id ;                                  msg_content = fcstContent.weather_content ;                                  System.out.println("定制 : "+msg_content);                                  dest_terminal_id = timeUser.dest_terminal_id ;                                  System.out.println(fee.fee_code+fee.service_code );                                  //邦定                                  SubmitPackage submitPackage = new SubmitPackage(service_id,                                                                                  fee_user_type,                                                                                  fee_terminal_id,                                                                                  msg_fmt,                                                                                  fee_type,                                                                                  fee_code,                                                                                  src_terminal_id,                                                                                  dest_terminal_id,                                                                                  msg_content,                                                                                  timeUser.id,                                                                                  period);                                  boolean  dealOk = Config.SubmitV.push(submitPackage);                                  if(dealOk){                                      System.out.println("____________________send 48");                                      setDealing(timeUser.id);                                  }                          }else{                              //没有气象数据                              System.out.println("现在没有数据48");                          }//邦定submit包            }            try{                sleep(1000*10);            }catch(Exception e){                System.out.println("Exception In SendManager.run() : "+e.toString() );            }        }    }    public Fee getFee(String service_code){            Fee fee = null;            for(int i = 0;i<Config.service_list.size() ;i++){                if(((String)((Vector)Config.service_list.get(i)).get(0)).equals(service_code) ){                    fee = new Fee((String)((Vector)Config.service_list.get(i)).get(1),                                   (String)((Vector)Config.service_list.get(i)).get(0),                                   (String)((Vector)Config.service_list.get(i)).get(2),                                   (String)((Vector)Config.service_list.get(i)).get(3));                    break;                }            }            return fee;    }    public FcstContent getFcstContent(String cityCode,String b,String e){        FcstContent fcstContent = null;        String getWeatherData = "select * from weather_data where create_time = '"+Utility.getDateString()+"' and content_type = 1 and "+                                            "(city_name = '"+cityCode+"' or city_sta = '"+cityCode+"' or city_tel = '"+cityCode+"') "+                                            " and TO_DAYS(weather_date_b)=TO_DAYS(sysdate() + INTERVAL "+b+" DAY) and "+                                            "TO_DAYS(weather_date_e) = TO_DAYS(sysdate() + INTERVAL " +e+ " DAY)  order by hour_b_e desc";//逆序找到最近一个时次                    System.out.println(getWeatherData);                    Vector contentV = new Vector();                    contentV = (Vector)db.execute(getWeatherData);                    System.out.println("get the weather data : "+contentV);                    if(contentV.size() >0){                        //发送MT                        Vector content = new Vector();                        content = (Vector)contentV.get(0);                        fcstContent = new FcstContent((String)content.get(7),                                                                  (String)content.get(1),                                                                  (String)content.get(2),                                                                  (String)content.get(3),                                                                  (String)content.get(4),                                                                  (String)content.get(6),                                                                  (String)content.get(5),                                                                  (String)content.get(7),                                                                  (String)content.get(8)                                                                  );                    }        return fcstContent;    }    public void setDealing(String id){        String updateSql = "update sms_forecast_time  set deal_result = 2 where id = "+id;        db.executeUpdate(updateSql);    }    public static void main(String[] args) {        Config.ConnectDb() ;        SendManager sendManager1 = new SendManager(Config.db);        sendManager1.startup();        while(true){}    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -