添加审计

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

View File

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

View File

@ -18,5 +18,5 @@ public interface AuditDao {
*/ */
void saveAudit(Audit audit); 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 @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(); Criteria criteria = new Criteria();
if (uri != null) { if (uri != null) {
criteria.and("uri").is(uri); criteria.and("uri").is(uri);
} }
if (beginTime != null) { if (beginTime != 0) {
criteria.and("time").gte(beginTime); criteria.and("timestamp").gte(beginTime);
} }
if (endTime != null) { if (endTime != 0) {
criteria.and("time").lte(endTime); criteria.and("timestamp").lte(endTime);
} }
Query query = new Query(criteria).skip(offset).limit(pageSize); Query query = new Query(criteria).skip(offset).limit(pageSize);
return mongoTemplate.find(query, Audit.class); return mongoTemplate.find(query, Audit.class);

View File

@ -22,7 +22,7 @@ public class Audit {
/** /**
* 请求时间 yyyy-MM-dd : HH:mm:ss * 请求时间 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 页大小 * @param pageSize 页大小
* @return * @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; AuditDao auditDao;
@Override @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() return auditDao.listAuditLimit(beginTime, endTime, uri, currentPage * pageSize, pageSize).stream()
.map(audit -> { .map(audit -> {
AuditVO auditVO = new AuditVO(); AuditVO auditVO = new AuditVO();
auditVO.setIp(audit.getIp()); auditVO.setIp(audit.getIp());
auditVO.setTime(audit.getTime()); auditVO.setTimestamp(audit.getTimestamp());
auditVO.setUri(audit.getUri()); auditVO.setUri(audit.getUri());
auditVO.setUserPhone(audit.getUserPhone()); auditVO.setUserPhone(audit.getUserPhone());
return auditVO; return auditVO;

View File

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