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

📄 movieservice.java

📁 手机业务程序例子
💻 JAVA
字号:
/*
 * MovieService.java
 *
 * Created on 2003年4月15日, 上午9:50
 */

package mobile.smsservice;
import gnu.getopt.*;
import java.util.*;
import java.util.regex.*;
import java.io.*;
import java.sql.*;
import java.util.Date;
import mobile.smsserver.*;
/**
 *
 * @author  Steven
 */
public class MovieService extends Service{
     
    public static final String defaultPropertyFile = "/opt/smsserver/conf/mobile/smsservice/movie.properties";
    private ServletAPI client;
    private Vector operatorno;
    private Vector desterms;
    
    /** Creates a new instance of EntertainmentService */
    public MovieService(String fileName) throws ServiceException{
           super(fileName);
           initLogger("MovieService");
         //  initService();
         
           try {
              client= ServletAPI.getInstance();
           }catch(Exception e) {
              throw new ServiceException(e.getMessage());
           }
           log.info("MovieService ready");   
    }
    
    
     public static void main(String[] args) {
        String propertyFileName = null;
        
        Getopt g= new Getopt( "MovieService", args, "p:s:h");
        int c;
        while((c=g.getopt()) != -1) {
            switch (c) {
                case 'p':
                    propertyFileName= g.getOptarg();
                    break;
                    
                case '?':
                case 'h':
                    EntertainmentService.printHelpMessage();
                    System.exit(0);
                    break;
            }
        }
        
        MovieService service = null;
        
        try {
            // System.out.println(defaultPropertyFile);
            if( propertyFileName == null) 
                service = new MovieService(defaultPropertyFile);
            else 
                service = new MovieService(propertyFileName);
            
            service.connectDatabase();
            System.out.println("Excuting MovieService");
            service.execute();
            service.disconnectDatabase();
            
        } catch(ServiceException e) {
            e.printStackTrace();
            System.err.println("Service init error: " + e.getMessage());
            System.exit(-1);
        }
    }    
     
   /**
     * 获得用户号码
     * @param service 用户的类型
     * @param operator 号码段类型
     */
    private Vector getUser(String service, String operator) {
        desterms = new Vector();
        String sql = "SELECT * FROM smsgateway.smsservice WHERE enabled = 1 AND UPPER(service) = ? AND operator = ?";
        try {
            PreparedStatement pst = conn.prepareStatement(sql);
            pst.setString(1, service.toUpperCase());
            pst.setString(2, operator);
            ResultSet rs = pst.executeQuery();
            while(rs.next()) {
                desterms.addElement(setSmsservice(rs));            
            }
        } 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 String getMessage(){
        
        if(conn==null){
	   log.warn("Error occure, No DB connection");	   
	   return null;
        }
        
        Calendar rightNow = Calendar.getInstance();
        int amount = rightNow.get(Calendar.DAY_OF_YEAR);
        log.debug("day of year"+ amount);
        String dayandtime = rightNow.get(Calendar.YEAR)+ "-"+rightNow.get(Calendar.MONDAY)+"-1";
       
        try{
            ResultSet rs = null;              
            String sql = "select * from smsgateway.entertainment where dayinyear = ? and generatetime > ? and category='2'";
            String sContent = null;
            PreparedStatement pst = conn.prepareStatement(sql);      
            pst.setInt(1, amount);
            pst.setString(2, dayandtime);
            rs = pst.executeQuery();            
            if(rs.next()) {                
                     sContent= rs.getString("content").trim();
            }                  
            log.debug("the message is"+ sContent);   
            return sContent;
       }
         catch (Exception e) {
            e.printStackTrace();
            log.error(e);
            return null;
        }      
    }
         
    public void execute() throws ServiceException {
           getGroup();
           String message = getMessage(); 
           for (int kk = 0; kk < operatorno.size(); kk++) {// this loop for operator no
                getUser(serviceProperty.getProperty("dy.service.dydz"),(String)operatorno.get(kk));
                //Date[] ArrayofSubTime = new Date[desterms.size()];
                String[] ArrayofDesterms = new String[desterms.size()];
                for(int i = 0; i < desterms.size(); i++) {
                         Smsservice temprs = (Smsservice)desterms.get(i);                        
                         //ArrayofSubTime[i] = temprs.getRegistertime(); 
                         ArrayofDesterms[i] = temprs.getSrcterm();
                }      
                try {         
                    //for (int k = 0; k < desterms.size(); k++) {                         
                      //   client.sendGBText(null, ArrayofDesterms[k], message,serviceProperty.getProperty("yl.yldz") ,null,(String)operatorno.get(kk),-1);                      
                    //}  
                    client.sendGBTextMultiple(null,null, ArrayofDesterms,message,"free",(String)operatorno.get(kk));    
                } 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 + -