MessageCenterServiceImpl.java
2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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.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.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;
import static cn.fw.common.businessvalidator.Validator.BV;
import static cn.fw.common.web.util.ResultBuilder.success;
/**
* @author : kurisu
* @className : MessageCenterServiceImpl
* @description :
* @date: 2021-09-23 15:39
*/
@Slf4j
@RestController
@RequestMapping("/api/hestia/mc")
public class MessageCenterServiceImpl implements IMessageCenterService {
private final MessageCenterBizService messageCenterBizService;
@Autowired
public MessageCenterServiceImpl(final MessageCenterBizService messageCenterBizService) {
this.messageCenterBizService = messageCenterBizService;
}
@PostMapping("/send")
@Override
@ControllerMethod("发送模板消息")
public Message<SendResult> send(@Valid @RequestBody TemplateMessageParam templateMessageParam) {
return success(messageCenterBizService.saveMessage(templateMessageParam));
}
@PostMapping("/sendBatch")
@Override
@ControllerMethod("批量发送模板消息")
public Message<List<SendResult>> sendBatch(@RequestBody @Valid ValidList<TemplateMessageParam> paramList) {
BV.isNotEmpty(paramList, () -> "消息列表不能为空");
return success(messageCenterBizService.saveBatchMessage(paramList));
}
@Override
@DeleteMapping("/revoke")
@ControllerMethod("撤回消息")
public Message<Boolean> revokeMessage(@NotNull(message = "Token不能为空") Long sceneToken) {
return success(messageCenterBizService.revokeMessage(sceneToken));
}
}