🔨 数据清理时添加条数限制.

This commit is contained in:
lijiahang
2024-08-26 17:10:40 +08:00
parent 6c60756e54
commit a0adb415fa
41 changed files with 295 additions and 51 deletions

View File

@@ -2,6 +2,7 @@ package com.orion.visor.module.infra.controller;
import com.orion.lang.define.wrapper.DataGrid;
import com.orion.visor.framework.biz.operator.log.core.annotation.OperatorLog;
import com.orion.visor.framework.common.validator.group.Clear;
import com.orion.visor.framework.common.validator.group.Page;
import com.orion.visor.framework.log.core.annotation.IgnoreLog;
import com.orion.visor.framework.log.core.enums.IgnoreLogMode;
@@ -67,7 +68,7 @@ public class OperatorLogController {
@PostMapping("/clear")
@Operation(summary = "清空操作日志")
@PreAuthorize("@ss.hasPermission('infra:operator-log:management:clear')")
public Integer clearOperatorLog(@RequestBody OperatorLogQueryRequest request) {
public Integer clearOperatorLog(@Validated(Clear.class) @RequestBody OperatorLogQueryRequest request) {
return operatorLogService.clearOperatorLog(request);
}

View File

@@ -5,8 +5,9 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@@ -30,7 +31,8 @@ public class CronNextRequest implements Serializable {
private String expression;
@NotNull
@Range(min = 1, max = 100)
@Min(value = 1)
@Max(value = 100)
@Schema(description = "次数")
private Integer times;

View File

@@ -1,10 +1,15 @@
package com.orion.visor.module.infra.entity.request.operator;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.orion.visor.framework.common.constant.Const;
import com.orion.visor.framework.common.entity.PageRequest;
import com.orion.visor.framework.common.validator.group.Clear;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;
@@ -48,4 +53,16 @@ public class OperatorLogQueryRequest extends PageRequest {
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date[] startTimeRange;
@NotNull(groups = Clear.class)
@Min(value = 1, groups = Clear.class)
@Max(value = 2000, groups = Clear.class)
@Schema(description = "清理数量限制")
private Integer clearLimit;
public void setClearLimit(Integer clearLimit) {
this.clearLimit = clearLimit;
this.setPage(Const.N_1);
this.setLimit(clearLimit);
}
}

View File

@@ -8,6 +8,7 @@ import com.orion.lang.utils.Valid;
import com.orion.visor.framework.biz.operator.log.core.model.OperatorLogModel;
import com.orion.visor.framework.biz.operator.log.core.utils.OperatorLogs;
import com.orion.visor.framework.common.constant.ErrorMessage;
import com.orion.visor.framework.common.utils.SqlUtils;
import com.orion.visor.module.infra.convert.OperatorLogConvert;
import com.orion.visor.module.infra.dao.OperatorLogDAO;
import com.orion.visor.module.infra.define.operator.AuthenticationOperatorType;
@@ -72,8 +73,10 @@ public class OperatorLogServiceImpl implements OperatorLogService {
@Override
public Integer clearOperatorLog(OperatorLogQueryRequest request) {
log.info("OperatorLogService.clearOperatorLog start {}", JSON.toJSONString(request));
// 删除
// 删除参数
LambdaQueryWrapper<OperatorLogDO> wrapper = this.buildQueryWrapper(request);
wrapper.last(SqlUtils.limit(request.getClearLimit()));
// 删除
int effect = operatorLogDAO.delete(wrapper);
log.info("OperatorLogService.clearOperatorLog finish {}", effect);
// 设置日志参数