📄 movieservice.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 + -