feat(REQ-2972): 支持通过id批量删除

This commit is contained in:
chenwenjian 2024-09-24 15:25:23 +08:00
parent 2af9ed3271
commit d31071aa84
6 changed files with 70 additions and 1 deletions

View File

@ -0,0 +1,23 @@
package cn.axzo.log.platform.client.model.req;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author chenwenjian
* @version 1.0
* @date 2024/9/24 14:37
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class LogBatchDeleteReq {
/**
* 待删除的日志id列表
*/
private List<String> ids;
}

View File

@ -2,6 +2,7 @@ package cn.axzo.log.platform.server.controller.web;
import cn.axzo.log.platform.client.model.req.LogAddReq;
import cn.axzo.log.platform.client.model.req.LogBatchAddReq;
import cn.axzo.log.platform.client.model.req.LogBatchDeleteReq;
import cn.axzo.log.platform.client.model.req.LogFindReq;
import cn.axzo.log.platform.client.model.resp.LogResp;
import cn.axzo.log.platform.server.service.LogService;
@ -77,4 +78,14 @@ public class WebLogController {
CommonResponse<List<String>> batchAddLogs(@RequestBody @Valid LogBatchAddReq req) {
return CommonResponse.success(logService.batchAddLogs(req));
}
/**
* 批量删除日志
*
* @param req 待删除日志id
*/
@PostMapping(value = "/delete/batch")
CommonResponse<Boolean> batchDeleteLogs(@RequestBody LogBatchDeleteReq req) {
return CommonResponse.success(logService.batchDeleteLogs(req));
}
}

View File

@ -2,6 +2,7 @@ package cn.axzo.log.platform.server.resolvers;
import cn.axzo.log.platform.client.model.req.LogAddReq;
import cn.axzo.log.platform.client.model.req.LogBatchAddReq;
import cn.axzo.log.platform.client.model.req.LogBatchDeleteReq;
import cn.axzo.log.platform.client.model.req.LogFindReq;
import cn.axzo.log.platform.client.model.resp.LogResp;
import cn.axzo.log.platform.server.service.LogService;
@ -65,4 +66,13 @@ public class LogResolver implements GraphQLQueryResolver, GraphQLMutationResolve
public List<String> batchAddLogs(LogBatchAddReq req) {
return logService.batchAddLogs(req);
}
/**
* 批量删除日志
*
* @param req 待删除日志id
*/
public Boolean batchDeleteLogs(LogBatchDeleteReq req) {
return logService.batchDeleteLogs(req);
}
}

View File

@ -2,6 +2,7 @@ package cn.axzo.log.platform.server.service;
import cn.axzo.log.platform.client.model.req.LogAddReq;
import cn.axzo.log.platform.client.model.req.LogBatchAddReq;
import cn.axzo.log.platform.client.model.req.LogBatchDeleteReq;
import cn.axzo.log.platform.client.model.req.LogFindReq;
import cn.axzo.log.platform.client.model.resp.LogResp;
@ -20,5 +21,7 @@ public interface LogService {
List<LogResp> findLogsWithExample(LogFindReq req);
List<String> batchAddLogs(LogBatchAddReq req);
List<String> batchAddLogs(LogBatchAddReq req);
Boolean batchDeleteLogs(LogBatchDeleteReq req);
}

View File

@ -5,6 +5,7 @@ import cn.axzo.framework.domain.ServiceException;
import cn.axzo.log.platform.client.model.Condition;
import cn.axzo.log.platform.client.model.req.LogAddReq;
import cn.axzo.log.platform.client.model.req.LogBatchAddReq;
import cn.axzo.log.platform.client.model.req.LogBatchDeleteReq;
import cn.axzo.log.platform.client.model.req.LogFindReq;
import cn.axzo.log.platform.client.model.resp.LogResp;
import cn.axzo.log.platform.server.entity.LogEntity;
@ -15,6 +16,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.mongodb.client.result.DeleteResult;
import lombok.RequiredArgsConstructor;
import org.bson.Document;
import org.bson.types.ObjectId;
@ -144,6 +146,20 @@ public class LogServiceImpl implements LogService {
.collect(Collectors.toList());
}
/**
* 批量删除日志
*
* @param req 待删除日志id
*/
@Override
public Boolean batchDeleteLogs(LogBatchDeleteReq req) {
if (Objects.isNull(req) || CollUtil.isEmpty(req.getIds())) {
return true;
}
DeleteResult result = mongoTemplate.remove(new Query(Criteria.where("_id").in(req.getIds())), LogEntity.class);
return result.wasAcknowledged();
}
/**
* 构建查询条件
*

View File

@ -6,6 +6,7 @@ type Query {
type Mutation {
addLog(logReq: LogAddReq): String!
batchAddLogs(logsReq: LogBatchAddReq): [String!]!
batchDeleteLogs(logsReq: LogBatchDeleteReq): Boolean
}
type LogResp {
@ -50,3 +51,8 @@ input LogBatchAddReq {
logs: [LogAddReq]!
}
# 批量删除日志入参
input LogBatchDeleteReq {
ids: [ID]!
}