From 0de79f3b47bf1affba9f57bfb0c2441d8e15a582 Mon Sep 17 00:00:00 2001 From: Kurisu Date: Wed, 29 Sep 2021 11:04:19 +0800 Subject: [PATCH] :rocket: 优化批量发送接口 --- fw-hestia-sdk/src/main/java/cn/fw/hestia/sdk/api/IMessageCenterService.java | 3 +-- fw-hestia-server/src/main/java/cn/fw/hestia/server/controller/api/MessageCenterServiceImpl.java | 8 ++++++++ fw-hestia-server/src/main/resources/application.yml | 3 ++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/fw-hestia-sdk/src/main/java/cn/fw/hestia/sdk/api/IMessageCenterService.java b/fw-hestia-sdk/src/main/java/cn/fw/hestia/sdk/api/IMessageCenterService.java index 7b8992d..89fc75d 100644 --- a/fw-hestia-sdk/src/main/java/cn/fw/hestia/sdk/api/IMessageCenterService.java +++ b/fw-hestia-sdk/src/main/java/cn/fw/hestia/sdk/api/IMessageCenterService.java @@ -10,7 +10,6 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import javax.validation.Valid; -import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.List; @@ -39,7 +38,7 @@ public interface IMessageCenterService { * @return */ @PostMapping("/sendBatch") - Message> sendBatch(@RequestBody @NotEmpty(message = "消息列表不能为空") @Valid ValidList paramList); + Message> sendBatch(@RequestBody @Valid ValidList paramList); /** * 撤回消息 diff --git a/fw-hestia-server/src/main/java/cn/fw/hestia/server/controller/api/MessageCenterServiceImpl.java b/fw-hestia-server/src/main/java/cn/fw/hestia/server/controller/api/MessageCenterServiceImpl.java index 0d7fd2f..5ad1699 100644 --- a/fw-hestia-server/src/main/java/cn/fw/hestia/server/controller/api/MessageCenterServiceImpl.java +++ b/fw-hestia-server/src/main/java/cn/fw/hestia/server/controller/api/MessageCenterServiceImpl.java @@ -2,13 +2,16 @@ package cn.fw.hestia.server.controller.api; import cn.fw.common.web.annotation.ControllerMethod; import cn.fw.data.base.domain.common.Message; +import cn.fw.hestia.common.utils.MessageFormatUtil; import cn.fw.hestia.sdk.api.IMessageCenterService; import cn.fw.hestia.sdk.params.TemplateMessageParam; import cn.fw.hestia.sdk.params.ValidList; import cn.fw.hestia.sdk.result.SendResult; import cn.fw.hestia.service.buz.MessageCenterBizService; +import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -30,6 +33,10 @@ import static cn.fw.common.web.util.ResultBuilder.success; public class MessageCenterServiceImpl implements IMessageCenterService { private final MessageCenterBizService messageCenterBizService; + @Value("${task.max-size}") + @Getter + private int maxSize; + @Autowired public MessageCenterServiceImpl(final MessageCenterBizService messageCenterBizService) { this.messageCenterBizService = messageCenterBizService; @@ -47,6 +54,7 @@ public class MessageCenterServiceImpl implements IMessageCenterService { @ControllerMethod("批量发送模板消息") public Message> sendBatch(@RequestBody @Valid ValidList paramList) { BV.isNotEmpty(paramList, () -> "消息列表不能为空"); + BV.isTrue(paramList.size() <= getMaxSize(), () -> MessageFormatUtil.MessageFormatTransfer("最多支持一次性发送{0}条", getMaxSize())); return success(messageCenterBizService.saveBatchMessage(paramList)); } diff --git a/fw-hestia-server/src/main/resources/application.yml b/fw-hestia-server/src/main/resources/application.yml index a8157b1..42a3368 100644 --- a/fw-hestia-server/src/main/resources/application.yml +++ b/fw-hestia-server/src/main/resources/application.yml @@ -122,4 +122,5 @@ logbook: style: http task: - switch: 'on' \ No newline at end of file + switch: 'on' + max-size: 1000 \ No newline at end of file -- libgit2 0.22.2