lxw
2020-06-27 8aee9dfec05e1a9333abf03f1bd35dd7cfa9d352
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
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;
    }
}