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

📄 alarmservice.java

📁 手机业务程序例子
💻 JAVA
字号:
/*
 * AlarmService.java
 *
 * Created on 2003年6月18日, 下午2:49
 */

package mobile.smsservice;
import gnu.getopt.*;
import java.util.*;
import java.util.regex.*;
import java.io.*;
import java.sql.*;
import mobile.smsserver.*;
import java.util.Date;
/**
 * This service is used to be an alarm which sends expired information to the freecard users
 * if the deadline is approaching
 * @author  Steven Liang
 */
public class AlarmService extends Service{
    
    public static final String defaultPropertyFile = "/opt/smsserver/conf/mobile/smsservice/alarmservice.properties";
    private ServletAPI client;
    private Vector operatorno;
    private Vector desterms;
    /** Creates a new instance of AlarmService */
    public AlarmService(String fileName) throws ServiceException {
           super(fileName);
           initLogger("AlarmService");
                                
           try {
              client= ServletAPI.getInstance();
           }catch(Exception e) {
              throw new ServiceException(e.getMessage());
           }
           log.info("AlarmService ready");  
    
    }
    
    public static void main(String[] args) {
        String propertyFileName = null;
        
        Getopt g= new Getopt( "AlarmService", args, "p:s:h");
        int c;
        while((c=g.getopt()) != -1) {
            switch (c) {
                case 'p':
                    propertyFileName= g.getOptarg();
                    break;
                    
                case '?':
                case 'h':
                    AlarmService.printHelpMessage();
                    System.exit(0);
                    break;
            }
        }
        
        AlarmService service = null;
        
        try {
            // System.out.println(defaultPropertyFile);
            if( propertyFileName == null) 
                service = new AlarmService(defaultPropertyFile);
            else 
                service = new AlarmService(propertyFileName);
            
            service.connectDatabase();
            System.out.println("Excuting AlarmService");
            service.execute();
            service.disconnectDatabase();
            
        } catch(ServiceException e) {
            e.printStackTrace();
            System.err.println("Service init error: " + e.getMessage());
            System.exit(-1);
        }
    }    
    
    /**
     * 获得过期免费卡用户号码并将其状态置为2 (1-valid, 2-expired, 0-invalid)
     * @param service 用户的类型
     * @param operator 号码段类型
     */
    private Vector getUser(String service, String expiredate, String operator) {
        desterms = new Vector();
        String sql = "SELECT * FROM smsgateway.smsservice WHERE enabled = 1 AND UPPER(service) = ? AND unsubscribetime = ? AND operator = ?";
        try {
            PreparedStatement pst = conn.prepareStatement(sql);
            pst.setString(1, service.toUpperCase());
            pst.setString(2,expiredate);
            pst.setString(3, operator);
            ResultSet rs = pst.executeQuery();
            while(rs.next()) {
                desterms.addElement(setSmsservice(rs));            
            }
            Statement st= conn.createStatement();
            st.executeUpdate("update smsservice set enabled=2 where UPPER(service) = 'xhcard' and enabled=1 AND unsubscribetime = '"+ expiredate + "' AND operator = '" + operator + "'");
         
        } catch(Exception e) {
            e.printStackTrace();
        }
        return desterms;
    }
    
    /**
     * 划分用户手机号码段
     * 
     */
    private void getGroup() {
        if(conn==null){
	     log.warn("No database connection");
             return;
        }try{   
             operatorno = new Vector();
             String sql = "select operator from operator group by operator";
             Statement st= conn.createStatement();
	     ResultSet rs=st.executeQuery(sql);
               while (rs.next()){
                  operatorno.addElement(rs.getString("operator"));                  
               }
             rs.close();
	     st.close();
             }catch(Exception e){
		e.printStackTrace();
	     }
    }
    
    public void execute() throws ServiceException {
           getGroup();
           String expiredate = null;
           Calendar rightNow = Calendar.getInstance();
           java.util.Date ExpiredDate = rightNow.getTime();
           expiredate = ExpiredDate.getYear()+1900+"-"+String.valueOf(ExpiredDate.getMonth()+1)+"-"+ExpiredDate.getDate();
           String message = serviceProperty.getProperty("message1"); 
           
           for (int kk = 0; kk < operatorno.size(); kk++) {
                getUser(serviceProperty.getProperty("alarm.service.xhcard"),expiredate,(String)operatorno.get(kk));
                String[] ArrayofDesterms = new String[desterms.size()];
                for(int i = 0; i < desterms.size(); i++) {
                         Smsservice temprs = (Smsservice)desterms.get(i);                        
                         ArrayofDesterms[i] = temprs.getSrcterm();
                }      
                try {         
                   // for (int k = 0; k < desterms.size(); k++) {
                    //     client.sendGBText(null, ArrayofDesterms[k], message,serviceProperty.getProperty("alarm.xhcard") ,null,(String)operatorno.get(kk),-1);                      
                    // }
                  client.sendGBTextMultiple(null,null, ArrayofDesterms,message,"free",(String)operatorno.get(kk));
                  log.debug("the message is"+ message);     
                } catch(Exception e) {
                 e.printStackTrace();
                }
           }
    }
    
    private Smsservice setSmsservice(ResultSet rs) throws Exception {
        Smsservice smsservice = new Smsservice();
        smsservice.setID(rs.getInt("serviceid"));
        smsservice.setSrcterm(rs.getString("srcterm"));
        smsservice.setService(rs.getString("service"));
        smsservice.setRegistertime(rs.getString("registertime"));
        smsservice.setUnsubscribetime(rs.getString("unsubscribetime"));
        smsservice.setEnabled(rs.getInt("enabled"));
        smsservice.setContent(rs.getString("content"));
        smsservice.setOperator(rs.getString("operator"));
        return smsservice;        
    } 
    
}

⌨️ 快捷键说明

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