From db15799440b8310e75694056ef2608f8cded695c Mon Sep 17 00:00:00 2001 From: caozehui <2427765068@qq.com> Date: Tue, 12 May 2026 08:42:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message/MessageRecordController.java | 42 ++++++++++++------- .../CredentialAuthenticationFilter.java | 4 +- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/msgpush-module-push/msgpush-module-push-server/src/main/java/com/njcn/msgpush/module/push/controller/admin/message/MessageRecordController.java b/msgpush-module-push/msgpush-module-push-server/src/main/java/com/njcn/msgpush/module/push/controller/admin/message/MessageRecordController.java index e9bb657..a9ad177 100644 --- a/msgpush-module-push/msgpush-module-push-server/src/main/java/com/njcn/msgpush/module/push/controller/admin/message/MessageRecordController.java +++ b/msgpush-module-push/msgpush-module-push-server/src/main/java/com/njcn/msgpush/module/push/controller/admin/message/MessageRecordController.java @@ -2,6 +2,7 @@ package com.njcn.msgpush.module.push.controller.admin.message; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.msgpush.framework.common.exception.enums.GlobalErrorCodeConstants; import com.njcn.msgpush.framework.common.pojo.CommonResult; import com.njcn.msgpush.framework.idempotent.core.annotation.Idempotent; import com.njcn.msgpush.module.push.controller.admin.message.vo.MessageRecordReqVO; @@ -19,7 +20,12 @@ import jakarta.validation.Valid; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import java.util.List; @@ -41,43 +47,47 @@ public class MessageRecordController { @Operation(summary = "短信推送") @Idempotent(timeout = 2) public CommonResult> sendSms(@Valid @RequestBody List reqVOList, - @RequestHeader(value = "X-Credential-Token", required = false) String credentialToken) { - CredentialServiceImpl.CredentialInfo credentialInfo = credentialService.verifyCredential(credentialToken); - String systemName = credentialInfo.getSystemName(); - return success(messageRecordService.send(reqVOList, ChannelTypeEnum.SMS, systemName)); + @RequestHeader(value = "X-Credential-Token", required = true) String credentialToken) { + return doSend(reqVOList, credentialToken, ChannelTypeEnum.SMS); } @PermitAll @PostMapping("/send/email") - @Operation(summary = "邮箱推送") + @Operation(summary = "邮件推送") @Idempotent(timeout = 2) public CommonResult> sendEmail(@Valid @RequestBody List reqVOList, - @RequestHeader(value = "X-Credential-Token", required = false) String credentialToken) { - CredentialServiceImpl.CredentialInfo credentialInfo = credentialService.verifyCredential(credentialToken); - String systemName = credentialInfo.getSystemName(); - return success(messageRecordService.send(reqVOList, ChannelTypeEnum.EMAIL, systemName)); + @RequestHeader(value = "X-Credential-Token", required = true) String credentialToken) { + return doSend(reqVOList, credentialToken, ChannelTypeEnum.EMAIL); } @PermitAll @PostMapping("/send/app") - @Operation(summary = "app推送") + @Operation(summary = "APP 推送") @Idempotent(timeout = 2) public CommonResult> sendApp(@Valid @RequestBody List reqVOList, - @RequestHeader(value = "X-Credential-Token", required = false) String credentialToken) { + @RequestHeader(value = "X-Credential-Token", required = true) String credentialToken) { + return doSend(reqVOList, credentialToken, ChannelTypeEnum.APP); + } + + private CommonResult> doSend(List reqVOList, + String credentialToken, + ChannelTypeEnum channelTypeEnum) { CredentialServiceImpl.CredentialInfo credentialInfo = credentialService.verifyCredential(credentialToken); - String systemName = credentialInfo.getSystemName(); - return success(messageRecordService.send(reqVOList, ChannelTypeEnum.APP, systemName)); + if (credentialInfo == null) { + return CommonResult.error(GlobalErrorCodeConstants.UNAUTHORIZED.getCode(), "凭证无效或已过期"); + } + return success(messageRecordService.send(reqVOList, channelTypeEnum, credentialInfo.getSystemName())); } @PostMapping("/page") - @Operation(summary = "分页查询渠道服务商列表") + @Operation(summary = "分页查询消息记录") @PreAuthorize("@ss.hasPermission('push:message:page')") public CommonResult> pageChannelProviderConfig(@Validated @RequestBody MessageRecordReqVO reqVO) { return success(messageRecordService.getPage(reqVO)); } @PostMapping("/add") - @Operation(summary = "添加消息记录") + @Operation(summary = "新增消息记录") @PreAuthorize("@ss.hasPermission('push:message:add')") public CommonResult add(@Validated @RequestBody MessageRecordReqVO reqVO) { return success(messageRecordService.add(reqVO)); diff --git a/msgpush-module-push/msgpush-module-push-server/src/main/java/com/njcn/msgpush/module/push/filter/CredentialAuthenticationFilter.java b/msgpush-module-push/msgpush-module-push-server/src/main/java/com/njcn/msgpush/module/push/filter/CredentialAuthenticationFilter.java index ebbdbf5..7680f58 100644 --- a/msgpush-module-push/msgpush-module-push-server/src/main/java/com/njcn/msgpush/module/push/filter/CredentialAuthenticationFilter.java +++ b/msgpush-module-push/msgpush-module-push-server/src/main/java/com/njcn/msgpush/module/push/filter/CredentialAuthenticationFilter.java @@ -91,7 +91,7 @@ public class CredentialAuthenticationFilter extends ApiRequestFilter implements // 2. 如果没有凭证,继续过滤链 if (StrUtil.isEmpty(credentialToken)) { - filterChain.doFilter(request, response); + ServletUtils.writeJSON(response, CommonResult.error(GlobalErrorCodeConstants.UNAUTHORIZED.getCode(), "缺少凭证")); return; } @@ -112,4 +112,4 @@ public class CredentialAuthenticationFilter extends ApiRequestFilter implements public int getOrder() { return 1000; } -} \ No newline at end of file +}