package com.cari.voip.keyboard.soft.model;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.LinkedList;
import java.util.List;
import com.cari.voip.keyboard.soft.model.switchUsers.SwitchUsersSession;
public class smsFactory {
public static String getQuerryString(String start_time,String end_time,String id){
String sql = "SELECT * FROM sms_ok";
boolean firstWhere = true;
if(start_time != null){
String start_time_t = start_time.trim();
if(start_time_t != null && start_time_t.length() > 0){
if(firstWhere){
firstWhere = false;
sql = sql.concat(" WHERE");
} else {
sql = sql.concat(" AND");
}
sql = sql.concat(" start_stamp>='"+start_time_t+"'");
}
}
if(end_time != null){
String end_time_t = end_time.trim();
if(end_time_t != null && end_time_t.length() > 0){
if(firstWhere){
firstWhere = false;
sql = sql.concat(" WHERE");
} else {
sql = sql.concat(" AND");
}
sql = sql.concat(" start_stamp<='"+end_time_t+"'");
}
}
if(id != null){
String user = id.trim();
if(user != null && user.length() > 0){
if(firstWhere){
firstWhere = false;
sql = sql.concat(" WHERE");
} else {
sql = sql.concat(" AND");
}
sql = sql.concat(" (sms_to like '%/"+user+"' or sms_to like '"+user+"@%')");
}
}
sql = sql.concat(" order by sms_to,start_stamp");
return sql;
}
public static String getDeldeledString(String start_time,String end_time,String id){
String sql = "DELETE FROM sms_ok";
boolean firstWhere = true;
if(start_time != null){
String start_time_t = start_time.trim();
if(start_time_t != null && start_time_t.length() > 0){
if(firstWhere){
firstWhere = false;
sql = sql.concat(" WHERE");
} else {
sql = sql.concat(" AND");
}
sql = sql.concat(" start_stamp>='"+start_time_t+"'");
}
}
if(end_time != null){
String end_time_t = end_time.trim();
if(end_time_t != null && end_time_t.length() > 0){
if(firstWhere){
firstWhere = false;
sql = sql.concat(" WHERE");
} else {
sql = sql.concat(" AND");
}
sql = sql.concat(" start_stamp<='"+end_time_t+"'");
}
}
if(id != null){
String user = id.trim();
if(user != null && user.length() > 0){
if(firstWhere){
firstWhere = false;
sql = sql.concat(" WHERE");
} else {
sql = sql.concat(" AND");
}
sql = sql.concat(" (sms_to like '%/"+user+"' or sms_to like '"+user+"@%')");
}
}
return sql;
}
public static boolean deldeled(SwitchUsersSession session,String sql) throws Exception{
Connection con = session.getDBConnection();
Statement st = con.createStatement();
boolean ret = st.execute(sql);
st.close();
return ret;
}
public static List getSMS(SwitchUsersSession session,String sql) throws Exception{
List recordings = new LinkedList();
Connection con = session.getDBConnection();
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(sql);
while(rs.next()){
sms rec = new sms();
rec.chat = rs.getString("chat");
rec.sms_to = rs.getString("sms_to");
rec.proto = rs.getString("proto");
rec.sms_from = rs.getString("sms_from");
rec.body = rs.getString("body");
rec.sms_type = rs.getString("sms_type");
rec.start_stamp = rs.getString("start_stamp");
recordings.add(rec);
}
rs.close();
st.close();
return recordings;
}
}