| | |
| | | import com.whyc.mapper.CommonMapper; |
| | | import com.whyc.mapper.UserLogMapper; |
| | | import com.whyc.pojo.UserLog; |
| | | import com.whyc.util.ActionUtil; |
| | | import com.whyc.util.DateUtil; |
| | | import com.whyc.util.ExcelUtil; |
| | | import com.whyc.util.MathUtil; |
| | | import com.whyc.util.*; |
| | | import org.apache.poi.hssf.usermodel.HSSFWorkbook; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | |
| | | @Resource |
| | | private CommonMapper commonMapper; |
| | | |
| | | @Resource |
| | | private SubTablePageInfoUtils subTablePageInfoUtils; |
| | | |
| | | public PageInfo<UserLog>getPage(int pageNum, int pageSize, UserLog userLog) { |
| | | PageHelper.startPage(pageNum, pageSize, true); |
| | |
| | | } |
| | | |
| | | /**根据查询优化分页查询方式*/ |
| | | public PageInfo<UserLog>getPage2(int pageNum, int pageSize, UserLog userLog) throws ParseException { |
| | | public PageInfo<Object>getPage2(int pageNum, int pageSize, UserLog userLog) throws ParseException { |
| | | //PageHelper.startPage(pageNum,pageSize,true); |
| | | //根据传入的查询时间,获取分表及默认表的拆分查询 |
| | | Date startTime = userLog.getOperationTime(); |
| | | Date endTime = userLog.getOperationTime2(); |
| | | Map<String, List<Date>> queryTimeForSubTables = DateUtil.getQueryTimeForSubTablesDesc(startTime, endTime); |
| | | /*Map<String, List<Date>> queryTimeForSubTables = DateUtil.getQueryTimeForSubTablesDesc(startTime, endTime); |
| | | //查询分表是否存在,存在则查询结果 |
| | | Map<String,Integer> queryCountMap = new LinkedHashMap<>(); |
| | | Set<String> tableYearKeySet = queryTimeForSubTables.keySet(); |
| | |
| | | |
| | | //分页信息 |
| | | //确认总页数,总记录数 |
| | | PageInfo<UserLog> pageInfo = new PageInfo<>(); |
| | | PageInfo<Object> pageInfo = new PageInfo<>(); |
| | | |
| | | int total = 0; |
| | | Set<String> queryKeySet = queryCountMap.keySet(); |
| | |
| | | //格式:{表名,[limit 2,20]} |
| | | Map<String,List<Integer>> tableAndLimitMap = MathUtil.getQueryTableAndLimit(startNum,endNum,pageSize,queryCountMap); |
| | | Set<String> keySet = tableAndLimitMap.keySet(); |
| | | List<UserLog> userLogList = new LinkedList<>(); |
| | | List<Object> userLogList = new LinkedList<>(); |
| | | for (String key : keySet) { |
| | | List<Date> queryTime = queryTimeForSubTables.get(key); |
| | | userLog.setOperationTime(queryTime.get(0)); |
| | |
| | | userLog.setRecordYear(key.equals("default")?"tb_user_log":"tb_user_log_"+key); |
| | | List<UserLog> list = mapper.getList2(userLog); |
| | | userLogList.addAll(list); |
| | | } |
| | | }*/ |
| | | PageInfo<Object> pageInfo = subTablePageInfoUtils.getPageInfo(pageNum, pageSize, startTime, endTime, "db_user", "tb_user_log", userLog); |
| | | List<Object> userLogList = pageInfo.getList(); |
| | | |
| | | //这个接口要兼容新老审计日志记录的查询 |
| | | //List<UserLog> userLogList = mapper.getList(userLog); |
| | | userLogList.stream().forEach(userLog1 -> { |
| | | userLogList.stream().forEach(userLogTemp -> { |
| | | UserLog userLog1 = (UserLog)userLogTemp; |
| | | switch (userLog1.getOperationType()){ |
| | | case 1: userLog1.setOperationTypeStr(UserOperation.TYPE_LOGIN.getTypeName());break; |
| | | case 2: userLog1.setOperationTypeStr(UserOperation.TYPE_LOGOUT.getTypeName());break; |
| | |
| | | default:userLog1.setOperationTypeStr(UserOperation.TYPE_UNRECOGNIZED.getTypeName()); |
| | | } |
| | | }); |
| | | pageInfo.setList(userLogList); |
| | | //PageInfo<UserLog> pageInfo = new PageInfo<>(userLogList); |
| | | return pageInfo; |
| | | |