package com.fgkj.dao.impl;
|
|
import java.sql.Connection;
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import com.fgkj.actions.ActionUtil;
|
import com.fgkj.dao.BaseDAO;
|
import com.fgkj.dao.CallBack;
|
import com.fgkj.dao.DAOHelper;
|
import com.fgkj.dao.LimitNumberFactory;
|
import com.fgkj.dao.Page;
|
import com.fgkj.db.DBUtil;
|
import com.fgkj.db.IDatabaseName;
|
import com.fgkj.dto.User_inf;
|
import com.fgkj.dto.User_log;
|
|
public class User_logImpl implements BaseDAO, CallBack {
|
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
public List getResults(ResultSet rs) {
|
List list = new ArrayList();
|
try {
|
while (rs.next()) {
|
User_log ulog = new User_log();
|
ulog.setNum(rs.getInt("num"));
|
ulog.setuId(rs.getInt("uId"));
|
ulog.setuOprateType(rs.getInt("uOprateType"));
|
ulog.setuOprateDay(rs.getTimestamp("uOprateDay"));
|
ulog.setuTerminalIp(rs.getString("uTerminalIp"));
|
ulog.setuOprateMsg(rs.getString("uOprateMsg"));
|
list.add(ulog);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
//用户的操作记录下来
|
public boolean add(Object obj) {
|
User_log ulog=(User_log) obj;
|
String sql="insert into db_equip_user.tb_user_log(uId,uOprateType,uOprateDay,uTerminalIp,uOprateMsg) values(?,?,?,?,?)";
|
Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{ulog.getuId(),
|
ulog.getuOprateType(),ulog.getuOprateDay(),ulog.getuTerminalIp(),ulog.getuOprateMsg()});
|
return bl;
|
}
|
//用户的操作记录下来(记录多条)
|
public boolean addPro(Object obj) {
|
List<User_log> list=(List) obj;
|
ArrayList sql_strs=new ArrayList();
|
if(list!=null&&list.size()>0){
|
for (User_log ulog : list) {
|
String sql="insert into db_equip_user.tb_user_log(uId,uOprateType,uOprateDay,uTerminalIp,uOprateMsg) values("+ulog.getuId()+","+ulog.getuOprateType()+",'"+DAOHelper.sdf.format(ulog.getuOprateDay())+"','"+ulog.getuTerminalIp()+"','"+ulog.getuOprateMsg()+"')";
|
sql_strs.add(sql);
|
}
|
}
|
boolean bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_strs);
|
return bl;
|
}
|
|
public boolean update(Object obj) {
|
return false;
|
}
|
|
public boolean del(Object obj) {
|
User_log ulog=(User_log) obj;
|
String sql="delete from db_equip_user.tb_user_log where num=?";
|
Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{ulog.getNum()});
|
return bl;
|
}
|
|
public List searchAll() {
|
String sql = "select num,uId,uOprateType,uOprateDay,uTerminalIp,uOprateMsg from db_equip_user.tb_user_log order by (uOprateDay) desc";
|
List list = DAOHelper
|
.executeQuery(sql, DBUtil.getConn(), null,
|
new User_logImpl());
|
return list;
|
}
|
|
//5.4用户操作记录查询(根据用户名和操作类型)
|
public List serchByCondition(Object obj) {
|
User_log ulog=(User_log) obj;
|
String sql="";
|
String numberSql=" SELECT FOUND_ROWS() number";
|
Connection conn=DBUtil.getConn();
|
String baseSql = "select SQL_CALC_FOUND_ROWS tb_user_log.uId,uoprateType,uoprateDay,uterminalIp,uoprateMsg" +
|
",tb_user_inf.uName " +
|
"from db_equip_user.tb_user_inf,db_equip_user.tb_user_log " +
|
"where tb_user_inf.uId=tb_user_log.uId " +
|
"and tb_user_inf.uName like ?" +
|
"and (uoprateDay)>(?) " +
|
"and (uoprateDay)<(?) ";
|
String sqlT="and uoprateType=?";
|
String sqlF="and uoprateType!=?";
|
|
if(ulog.getuOprateType()==0){
|
sql=baseSql+sqlF;
|
}else{
|
sql=baseSql+sqlT;
|
}
|
String endsql = " ORDER BY uOprateDay DESC ";
|
sql= sql+endsql;
|
String limitSql=" limit ?,? ";
|
sql+=limitSql;
|
List<User_log> list = DAOHelper
|
.executeQueryLimit(sql, conn, new Object[]{"%"+ulog.getuName()+"%",ulog.getuOprateDay(),ulog.getuOprateDay1(),ulog.getuOprateType(),(ulog.getPage().getPageCurr() - 1)* ulog.getPage().getPageSize(),
|
ulog.getPage().getPageSize()
|
},new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
User_log ulog=new User_log();
|
ulog.setuId(rs.getInt("uId"));
|
ulog.setuName(rs.getString("uName"));
|
ulog.setuOprateType(rs.getInt("uOprateType"));
|
ulog.setuOprateDay(rs.getTimestamp("uOprateDay"));
|
ulog.setuTerminalIp(rs.getString("uTerminalIp"));
|
ulog.setuOprateMsg(rs.getString("uOprateMsg"));
|
|
Page page=new Page();
|
ulog.setPage(page);
|
list.add(ulog);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
|
//去掉limit条件后的总数
|
int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql);
|
//System.out.println("number: "+number);
|
if(list!=null&&list.size()>0){
|
list.get(list.size()-1).getPage().setPageAll(number);
|
}
|
return list;
|
}
|
|
|
|
public static void main(String[] args) throws ParseException {
|
User_logImpl uimpl=new User_logImpl();
|
SimpleDateFormat sdf = new SimpleDateFormat(ActionUtil.time_yyyyMMddHHmmss);
|
Date date1=sdf.parse("2020-01-01 00:00:00");
|
Date date2=sdf.parse("2030-01-01 00:00:00");
|
Page p=new Page();
|
p.setPageCurr(1);
|
p.setPageSize(10);
|
List list=new ArrayList();
|
User_log ulog=new User_log();
|
ulog.setuOprateDay(ActionUtil.getSimpDate(date1));
|
ulog.setuOprateDay1(ActionUtil.getSimpDate(date2));
|
ulog.setuId(1002);
|
ulog.setuOprateType(1);
|
ulog.setuName("");
|
ulog.setuOprateMsg("添加测试操作记录");
|
ulog.setuTerminalIp("127.0.0.1");
|
ulog.setPage(p);
|
list.add(ulog);
|
/*boolean bl=uimpl.addPro(list);
|
System.out.println(bl);*/
|
List<User_log> lu=uimpl.serchByCondition(ulog);
|
for (User_log u : lu) {
|
System.out.println(u);
|
}
|
}
|
@Override
|
public List serchByInfo(Object obj) {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
}
|