添加审计

This commit is contained in:
copper 2021-05-17 21:26:30 +08:00
parent 35a16f6f49
commit 2198654c13
9 changed files with 35 additions and 22 deletions

View File

@ -18,13 +18,13 @@ import java.util.Calendar;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import org.springframework.context.annotation.Configuration;
/**
* @author Pope
* 权限过滤器
*/
@Log4j2
//@Configuration
@Configuration
public class AuthFilterConfig implements Filter {
@Autowired
@ -58,10 +58,10 @@ public class AuthFilterConfig implements Filter {
//生成审计记录
Audit audit = new Audit();
audit.setIp(ip);
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.HOUR_OF_DAY, 8);
audit.setTime(calendar.getTime());
// Calendar calendar = Calendar.getInstance();
// calendar.setTime(new Date());
// calendar.add(Calendar.HOUR_OF_DAY, 8);
audit.setTimestamp(System.currentTimeMillis());
audit.setUri(uri);
log.info(method + uri);
@ -76,7 +76,7 @@ public class AuthFilterConfig implements Filter {
}
String token = request.getHeader("Authorization");
if (uri.startsWith("/investigationRecord/record2word")) {
if (uri.startsWith("/record/record2word")) {
token = request.getParameter("token");
}
if (token == null) {

View File

@ -23,10 +23,10 @@ public class AuditController {
private AuditService auditService;
@GetMapping("/audit")
public ResultVO getAudit(@RequestParam(value = "beginTime",required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date beginTime,
@RequestParam(value = "endTime",required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime,
public ResultVO getAudit(@RequestParam(value = "beginTime",required = false, defaultValue = "0") long beginTime,
@RequestParam(value = "endTime",required = false, defaultValue = "0") long endTime,
@RequestParam(value = "uri",required = false) String uri,
@RequestParam("currentPage") int currentPage,
@RequestParam(value = "currentPage", defaultValue = "0") int currentPage,
@RequestParam(value = "pageSize", defaultValue = "30") int pageSize) {
ResultVO resultVO = new ResultVO(ResultEnum.SUCCESS);
resultVO.setData(auditService.listAuditLimit(beginTime, endTime, uri, currentPage, pageSize));

View File

@ -18,5 +18,5 @@ public interface AuditDao {
*/
void saveAudit(Audit audit);
List<Audit> listAuditLimit(Date beginTime, Date endTime, String uri, int offset, int pageSize);
List<Audit> listAuditLimit(long beginTime, long endTime, String uri, int offset, int pageSize);
}

View File

@ -26,16 +26,16 @@ public class AuditDaoImpl implements AuditDao {
}
@Override
public List<Audit> listAuditLimit(Date beginTime, Date endTime, String uri, int offset, int pageSize) {
public List<Audit> listAuditLimit(long beginTime, long endTime, String uri, int offset, int pageSize) {
Criteria criteria = new Criteria();
if (uri != null) {
criteria.and("uri").is(uri);
}
if (beginTime != null) {
criteria.and("time").gte(beginTime);
if (beginTime != 0) {
criteria.and("timestamp").gte(beginTime);
}
if (endTime != null) {
criteria.and("time").lte(endTime);
if (endTime != 0) {
criteria.and("timestamp").lte(endTime);
}
Query query = new Query(criteria).skip(offset).limit(pageSize);
return mongoTemplate.find(query, Audit.class);

View File

@ -22,7 +22,7 @@ public class Audit {
/**
* 请求时间 yyyy-MM-dd : HH:mm:ss
*/
private Date time;
private long timestamp;
/**
* 请求路由
*/

View File

@ -0,0 +1,13 @@
package com.example.survey.entity.inner;
import java.util.Map;
import lombok.*;
@Data
public class ReportMeta {
private String template;
private Map<String, Object> forms;
}

View File

@ -20,5 +20,5 @@ public interface AuditService {
* @param pageSize 页大小
* @return
*/
List<AuditVO> listAuditLimit(Date beginTime, Date endTime,String uri, int currentPage, int pageSize);
List<AuditVO> listAuditLimit(long beginTime, long endTime,String uri, int currentPage, int pageSize);
}

View File

@ -20,12 +20,12 @@ public class AuditServiceImpl implements AuditService {
AuditDao auditDao;
@Override
public List<AuditVO> listAuditLimit(Date beginTime, Date endTime, String uri, int currentPage, int pageSize) {
public List<AuditVO> listAuditLimit(long beginTime, long endTime, String uri, int currentPage, int pageSize) {
return auditDao.listAuditLimit(beginTime, endTime, uri, currentPage * pageSize, pageSize).stream()
.map(audit -> {
AuditVO auditVO = new AuditVO();
auditVO.setIp(audit.getIp());
auditVO.setTime(audit.getTime());
auditVO.setTimestamp(audit.getTimestamp());
auditVO.setUri(audit.getUri());
auditVO.setUserPhone(audit.getUserPhone());
return auditVO;

View File

@ -14,8 +14,8 @@ public class AuditVO {
private String ip;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date time;
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private long timestamp;
private String uri;
}