微调
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 cn.hutool.core.bean.BeanUtil;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
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.common.pojo.CommonResult;
|
||||||
import com.njcn.msgpush.framework.idempotent.core.annotation.Idempotent;
|
import com.njcn.msgpush.framework.idempotent.core.annotation.Idempotent;
|
||||||
import com.njcn.msgpush.module.push.controller.admin.message.vo.MessageRecordReqVO;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
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;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -41,43 +47,47 @@ public class MessageRecordController {
|
|||||||
@Operation(summary = "短信推送")
|
@Operation(summary = "短信推送")
|
||||||
@Idempotent(timeout = 2)
|
@Idempotent(timeout = 2)
|
||||||
public CommonResult<List<MessageSendResultVO>> sendSms(@Valid @RequestBody List<MessageRecordReqVO> reqVOList,
|
public CommonResult<List<MessageSendResultVO>> sendSms(@Valid @RequestBody List<MessageRecordReqVO> reqVOList,
|
||||||
@RequestHeader(value = "X-Credential-Token", required = false) String credentialToken) {
|
@RequestHeader(value = "X-Credential-Token", required = true) String credentialToken) {
|
||||||
CredentialServiceImpl.CredentialInfo credentialInfo = credentialService.verifyCredential(credentialToken);
|
return doSend(reqVOList, credentialToken, ChannelTypeEnum.SMS);
|
||||||
String systemName = credentialInfo.getSystemName();
|
|
||||||
return success(messageRecordService.send(reqVOList, ChannelTypeEnum.SMS, systemName));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@PermitAll
|
@PermitAll
|
||||||
@PostMapping("/send/email")
|
@PostMapping("/send/email")
|
||||||
@Operation(summary = "邮箱推送")
|
@Operation(summary = "邮件推送")
|
||||||
@Idempotent(timeout = 2)
|
@Idempotent(timeout = 2)
|
||||||
public CommonResult<List<MessageSendResultVO>> sendEmail(@Valid @RequestBody List<MessageRecordReqVO> reqVOList,
|
public CommonResult<List<MessageSendResultVO>> sendEmail(@Valid @RequestBody List<MessageRecordReqVO> reqVOList,
|
||||||
@RequestHeader(value = "X-Credential-Token", required = false) String credentialToken) {
|
@RequestHeader(value = "X-Credential-Token", required = true) String credentialToken) {
|
||||||
CredentialServiceImpl.CredentialInfo credentialInfo = credentialService.verifyCredential(credentialToken);
|
return doSend(reqVOList, credentialToken, ChannelTypeEnum.EMAIL);
|
||||||
String systemName = credentialInfo.getSystemName();
|
|
||||||
return success(messageRecordService.send(reqVOList, ChannelTypeEnum.EMAIL, systemName));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@PermitAll
|
@PermitAll
|
||||||
@PostMapping("/send/app")
|
@PostMapping("/send/app")
|
||||||
@Operation(summary = "app推送")
|
@Operation(summary = "APP 推送")
|
||||||
@Idempotent(timeout = 2)
|
@Idempotent(timeout = 2)
|
||||||
public CommonResult<List<MessageSendResultVO>> sendApp(@Valid @RequestBody List<MessageRecordReqVO> reqVOList,
|
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);
|
CredentialServiceImpl.CredentialInfo credentialInfo = credentialService.verifyCredential(credentialToken);
|
||||||
String systemName = credentialInfo.getSystemName();
|
if (credentialInfo == null) {
|
||||||
return success(messageRecordService.send(reqVOList, ChannelTypeEnum.APP, systemName));
|
return CommonResult.error(GlobalErrorCodeConstants.UNAUTHORIZED.getCode(), "凭证无效或已过期");
|
||||||
|
}
|
||||||
|
return success(messageRecordService.send(reqVOList, channelTypeEnum, credentialInfo.getSystemName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/page")
|
@PostMapping("/page")
|
||||||
@Operation(summary = "分页查询渠道服务商列表")
|
@Operation(summary = "分页查询消息记录")
|
||||||
@PreAuthorize("@ss.hasPermission('push:message:page')")
|
@PreAuthorize("@ss.hasPermission('push:message:page')")
|
||||||
public CommonResult<Page<MessageRecordDO>> pageChannelProviderConfig(@Validated @RequestBody MessageRecordReqVO reqVO) {
|
public CommonResult<Page<MessageRecordDO>> pageChannelProviderConfig(@Validated @RequestBody MessageRecordReqVO reqVO) {
|
||||||
return success(messageRecordService.getPage(reqVO));
|
return success(messageRecordService.getPage(reqVO));
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/add")
|
@PostMapping("/add")
|
||||||
@Operation(summary = "添加消息记录")
|
@Operation(summary = "新增消息记录")
|
||||||
@PreAuthorize("@ss.hasPermission('push:message:add')")
|
@PreAuthorize("@ss.hasPermission('push:message:add')")
|
||||||
public CommonResult<Boolean> add(@Validated @RequestBody MessageRecordReqVO reqVO) {
|
public CommonResult<Boolean> add(@Validated @RequestBody MessageRecordReqVO reqVO) {
|
||||||
return success(messageRecordService.add(reqVO));
|
return success(messageRecordService.add(reqVO));
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ public class CredentialAuthenticationFilter extends ApiRequestFilter implements
|
|||||||
|
|
||||||
// 2. 如果没有凭证,继续过滤链
|
// 2. 如果没有凭证,继续过滤链
|
||||||
if (StrUtil.isEmpty(credentialToken)) {
|
if (StrUtil.isEmpty(credentialToken)) {
|
||||||
filterChain.doFilter(request, response);
|
ServletUtils.writeJSON(response, CommonResult.error(GlobalErrorCodeConstants.UNAUTHORIZED.getCode(), "缺少凭证"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -112,4 +112,4 @@ public class CredentialAuthenticationFilter extends ApiRequestFilter implements
|
|||||||
public int getOrder() {
|
public int getOrder() {
|
||||||
return 1000;
|
return 1000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user