|
|
|
package com.system.log.controller;
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
import com.google.inject.Inject;
|
|
|
|
import com.google.inject.servlet.RequestScoped;
|
|
|
|
import com.hypaas.db.JpaSupport;
|
|
|
|
import com.hypaas.rpc.ActionRequest;
|
|
|
|
import com.hypaas.rpc.ActionResponse;
|
|
|
|
import com.system.log.core.FileUtils;
|
|
|
|
import com.system.log.service.LogService;
|
|
|
|
import java.io.File;
|
|
|
|
import java.io.IOException;
|
|
|
|
import javax.ws.rs.*;
|
|
|
|
import javax.ws.rs.core.MediaType;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author zhangqiyang
|
|
|
|
* @description LogManage
|
|
|
|
* @date 2024/3/12
|
|
|
|
*/
|
|
|
|
@RequestScoped
|
|
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
|
|
@Path("/log")
|
|
|
|
public class LogController extends JpaSupport {
|
|
|
|
|
|
|
|
@Inject LogService logService;
|
|
|
|
|
|
|
|
// 过滤查询日志接口
|
|
|
|
/*
|
|
|
|
* logType 日志类型
|
|
|
|
* startTime 需要过滤的日志的开始时间
|
|
|
|
* endTime 需要过滤的日志的结束时间
|
|
|
|
* keyWord 关键字
|
|
|
|
*/
|
|
|
|
@GET
|
|
|
|
@Path("/getDirContent")
|
|
|
|
public JSONObject getDirContent(
|
|
|
|
@QueryParam("logType") String logType,
|
|
|
|
@QueryParam("startTime") String startTime,
|
|
|
|
@QueryParam("endTime") String endTime,
|
|
|
|
@QueryParam("keyWord") String keyWord)
|
|
|
|
throws IOException {
|
|
|
|
return logService.getDirContent(logType, startTime, endTime, keyWord);
|
|
|
|
}
|
|
|
|
|
|
|
|
// 以zip形式导出日志文件,并设置解压密码
|
|
|
|
/*
|
|
|
|
* password 密码
|
|
|
|
* conditionPassword 确认密码
|
|
|
|
* logType 日志类型
|
|
|
|
* startTime 需要过滤的日志的开始时间
|
|
|
|
* endTime 需要过滤的日志的结束时间
|
|
|
|
* keyWord 关键字
|
|
|
|
*/
|
|
|
|
|
|
|
|
@POST
|
|
|
|
@Path("/getFileZip")
|
|
|
|
public void getFileZip(ActionRequest request, ActionResponse response) {
|
|
|
|
File file = logService.getFileZip(request, response);
|
|
|
|
FileUtils.downloadFile(response, file);
|
|
|
|
}
|
|
|
|
|
|
|
|
// 导出系统管理员操作日志
|
|
|
|
public void exportSystemManageUserLog(ActionRequest request, ActionResponse response)
|
|
|
|
throws IOException {
|
|
|
|
File file = logService.exportLog(request, response, "1");
|
|
|
|
FileUtils.downloadFile(response, file);
|
|
|
|
}
|
|
|
|
|
|
|
|
// 导出安全保密员操作日志
|
|
|
|
public void exportSecurityUserLog(ActionRequest request, ActionResponse response)
|
|
|
|
throws IOException {
|
|
|
|
File file = logService.exportLog(request, response, "2");
|
|
|
|
FileUtils.downloadFile(response, file);
|
|
|
|
}
|
|
|
|
|
|
|
|
// 导出安全审计员操作日志
|
|
|
|
public void exportSecurityAuditUserLog(ActionRequest request, ActionResponse response)
|
|
|
|
throws IOException {
|
|
|
|
File file = logService.exportLog(request, response, "3");
|
|
|
|
FileUtils.downloadFile(response, file);
|
|
|
|
}
|
|
|
|
|
|
|
|
// 导出业务用户操作日志
|
|
|
|
public void exportServiceUserLog(ActionRequest request, ActionResponse response)
|
|
|
|
throws IOException {
|
|
|
|
File file = logService.exportLog(request, response, "4");
|
|
|
|
FileUtils.downloadFile(response, file);
|
|
|
|
}
|
|
|
|
|
|
|
|
// 日志配置接口
|
|
|
|
/*
|
|
|
|
* threshold 在线日志存储阈值
|
|
|
|
* backupCycle 备份周期
|
|
|
|
* backupStartTime 备份开始日期
|
|
|
|
*/
|
|
|
|
@POST
|
|
|
|
@Path("/setLogConfig")
|
|
|
|
public JSONObject setLogConfig(JSONObject jsonObject) {
|
|
|
|
return logService.setLogConfig(
|
|
|
|
jsonObject.getInteger("threshold"),
|
|
|
|
jsonObject.getInteger("backupCycle"),
|
|
|
|
jsonObject.getString("backupStartTime"));
|
|
|
|
}
|
|
|
|
|
|
|
|
// 日志配置查询接口
|
|
|
|
@GET
|
|
|
|
@Path("/selectLogConfig")
|
|
|
|
public JSONObject selectLogConfig() {
|
|
|
|
return logService.selectLogConfig();
|
|
|
|
}
|
|
|
|
|
|
|
|
// 删除系统管理员操作日志备份
|
|
|
|
public void deleteSystemManageUserBackup(ActionRequest request, ActionResponse response) {
|
|
|
|
logService.deleteSystemManageUserBackup(request, response);
|
|
|
|
}
|
|
|
|
|
|
|
|
// 重新备份系统管理员操作日志
|
|
|
|
public void secondBackup(ActionRequest request, ActionResponse response) {
|
|
|
|
logService.secondBackup(request, response);
|
|
|
|
}
|
|
|
|
}
|