?? sendmonthmessage.java
字號(hào):
package com.sungoal.charge;
import java.sql.*;
import javax.sql.RowSet;
import com.sungoal.database.*;
import com.sungoal.sms.message.MTInfo;
import com.sungoal.sms.util.MySocket;
import com.sungoal.sms.message.MTAck;
/** 功能:月初運(yùn)行,包月用戶收費(fèi)*/
public class SendMonthMessage {
/*內(nèi)部類啟動(dòng)多線程,對(duì)相應(yīng)網(wǎng)關(guān)用戶收費(fèi)*/
class SendEachGateway
extends Thread {
int gateway = 0;
String strSQL = "";
public SendEachGateway(int gateway) { //構(gòu)造函數(shù)
this.gateway = gateway;
/*每月初對(duì)有效訂閱統(tǒng)一收費(fèi),條件:
1) 有效訂閱
2) FEEDATE<sysdate.
3) 一些免費(fèi)代碼.
*/
strSQL = "Select Subscription.ID As SUBID,Subscription.PRODUCTID,"
+ "Subscription.PHONENO,SMSUser.GATEWAYID"
+ " From Product, Subscription,SMSUser "
+ " Where Subscription.PHONENO = SMSUSER.PHONENO"
+ " And Subscription.PRODUCTID=Product.ID"
+
" And PRODUCTID!=226 And Subscription.Status=1 And FEEDATE<sysdate And PRODUCT.PAYWAY='03' "
// + " and (Subscription.PHONENO not in(select phoneno from FREENUMBER Where status =1))"
+ " and SMSUser.GATEWAYID=" + gateway
+ " Order by PRODUCTID,Subscription.PHONENO";
System.out.println("strSQL:" + strSQL);
}
public void run() {
String content = "";
try {
RowSet rs = DBManager.executeQuery(strSQL);
int gatewayID = 0;
while (rs.next()) {
gatewayID = rs.getInt("GATEWAYID");
MTInfo mtInfo = new MTInfo();
mtInfo.destPhone.add(rs.getString("phoneno"));
mtInfo.srcPhone = "";
mtInfo.gateway = gatewayID;
mtInfo.productID = rs.getInt("PRODUCTID");
mtInfo.content = "SMCSMC";
mtInfo.registededDelivery = 2;
Thread.sleep(20);
MTAck mtack = (MTAck) MySocket.sendMsg(mtInfo, 0);
System.out.println(gatewayID + "\t" + rs.getInt("PRODUCTID") + "\t"
+ rs.getInt("SUBID") + "\t" +
rs.getString("phoneno") + '\t'
//);
+ mtack.getStatus());
}
System.out.println("網(wǎng)關(guān)收費(fèi)總數(shù):\t" + gatewayID + "\t" + rs.getRow());
rs.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
/**依次對(duì)各網(wǎng)關(guān)啟動(dòng)線程*/
public void sendMain() {
SendEachGateway sendEachGateway = null;
// sendEachGateway = new SendEachGateway(7);
// sendEachGateway.start();
// sendEachGateway = new SendEachGateway(1);
// sendEachGateway.start();
/*
sendEachGateway = new SendEachGateway(4);
sendEachGateway.start();
sendEachGateway = new SendEachGateway(5);
sendEachGateway.start();
*/
for (int i = 1; i <=7 ; i++) {
//if (i != 3 && i != 6)
{
sendEachGateway = new SendEachGateway(i);
sendEachGateway.start();
}
}
}
public static void main(String[] args) {
SendMonthMessage sendMonthMessage = new SendMonthMessage();
sendMonthMessage.sendMain();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -