📄 importtorecording.java.svn-base
字号:
package com.xunlei.callcenter.util;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.*;
public class ImportToRecording {
private static String getConfigFilePath(String para) {
Properties props = new Properties();
InputStream infile = Thread.currentThread().getContextClassLoader().getResourceAsStream("fileconfig.properties");
try {
props.load(infile);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String uri = props.getProperty(para);
return uri;
}
private static void save() {
String recordingpath = getConfigFilePath("recording_path");
File file = new File(recordingpath);
if (file.isDirectory()) {
String datas[] = file.list(new java.io.FilenameFilter() {
public boolean accept(File dir, String name) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
java.util.Date d = new java.util.Date();
Calendar c = Calendar.getInstance();
c.setTime(d);
int td = c.get(Calendar.DAY_OF_YEAR);
c.set(Calendar.DAY_OF_YEAR,td-1);
java.util.Date ysd = c.getTime();
String filetername = sdf.format(ysd);
return name.indexOf(filetername) != -1;
}
});
insertRecording(datas);
insertUsertrafficstat(datas);
insertGrouptrafficstat(datas);
}
}
private static void insertGrouptrafficstat(String [] datas){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
java.util.Date d = new java.util.Date();
Calendar c = Calendar.getInstance();
c.setTime(d);
int td = c.get(Calendar.DAY_OF_YEAR);
c.set(Calendar.DAY_OF_YEAR,td-1);
java.util.Date ysd = c.getTime();
String filetername = sdf.format(ysd);
Map<String,Integer> hashMap = new HashMap<String,Integer>();
for(int i=0;datas!=null&&i<datas.length;i++){
String data[] = datas[i].split("-");
if(data==null||data.length!=5)continue;
String group = data[0];
if(hashMap.containsKey(group)){
Integer count = (Integer)hashMap.get(group);
count++;
hashMap.put(group, count);
}
else hashMap.put(group, new Integer(1));
}
Iterator iter = hashMap.keySet().iterator();
StringBuilder sql = new StringBuilder("insert into grouptrafficstat (groupid,balancedate,traffic)");
int len = sql.length();
while(iter.hasNext()){
String group = (String)iter.next();
Integer count = (Integer)hashMap.get(group);
sql.append(" values('"+group+"','"+filetername+"',"+count+")");
execute(sql.toString());
sql.setLength(len);
}
}
private static void insertUsertrafficstat(String [] datas){
class Temp{
private String group;
private int count;
private String date;
public Temp(String group, int count,String date) {
this.group = group;
this.count = count;
this.date = date;
}
}
Map<String,Temp> hashMap = new HashMap<String,Temp>();
for(int i=0;datas!=null&&i<datas.length;i++){
String data[] = datas[i].split("-");
if(data==null||data.length!=5)continue;
String logno = data[1];
if(hashMap.containsKey(logno)){
Temp temp = (Temp)hashMap.get(logno);
temp.count++;
hashMap.put(logno, temp);
}
else hashMap.put(logno, new Temp(data[0],1,data[2]));
}
Iterator iter = hashMap.keySet().iterator();
StringBuilder sql = new StringBuilder("insert into usertrafficstat (groupid,userlogno,balancedate,traffic)");
int len = sql.length();
while(iter.hasNext()){
String logno = (String)iter.next();
Temp temp = (Temp) hashMap.get(logno);
String group = temp.group;
int count =temp.count;
String balance = temp.date;
sql.append(" values('"+group+"','"+logno+"','"+balance+"',"+count+")");
execute(sql.toString());
sql.setLength(len);
}
}
private static void insertRecording(String []datas){
for(int i=0;datas!=null&&i<datas.length;i++){
String [] data = datas[i].split("-");
if(data==null||data.length!=5)continue;
StringBuilder sql = new StringBuilder("insert into recording (groupid,userlogno,fileUrl,inputTime)");
sql.append(" values('"+data[0]+"'"+",'"+data[1]+"','"+datas[i]+"','"+data[2]+data[3]+"')");
execute(sql.toString());
}
}
private static void execute(String sql){
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn =DriverManager.getConnection("jdbc:mysql://192.168.3.203:3306/xlcallcenter", "root", "sd-9898w");
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql.toString());
stmt.close();
conn.close();
stmt=null;
conn=null;
if(conn!=null){
try{
if(stmt!=null)stmt.close();
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}catch (Exception e){
e.printStackTrace();
}
}
public static void main(String args[]){
save();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -