微调
This commit is contained in:
@@ -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<List<MessageSendResultVO>> sendSms(@Valid @RequestBody List<MessageRecordReqVO> 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<List<MessageSendResultVO>> sendEmail(@Valid @RequestBody List<MessageRecordReqVO> 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<List<MessageSendResultVO>> sendApp(@Valid @RequestBody List<MessageRecordReqVO> 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<List<MessageSendResultVO>> doSend(List<MessageRecordReqVO> 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<Page<MessageRecordDO>> pageChannelProviderConfig(@Validated @RequestBody MessageRecordReqVO reqVO) {
|
||||
return success(messageRecordService.getPage(reqVO));
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@Operation(summary = "添加消息记录")
|
||||
@Operation(summary = "新增消息记录")
|
||||
@PreAuthorize("@ss.hasPermission('push:message:add')")
|
||||
public CommonResult<Boolean> add(@Validated @RequestBody MessageRecordReqVO reqVO) {
|
||||
return success(messageRecordService.add(reqVO));
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user