REQ-2481: 设置模版中IM的发送优先级
This commit is contained in:
parent
449c88037e
commit
62190cf4f4
@ -113,6 +113,7 @@ public class TemplateMessage {
|
||||
|
||||
SendTemplateMessageParam imReq = new SendTemplateMessageParam();
|
||||
imReq.setBizId(String.format("%s:%s:%s", BIZ_ID_PREFIX, template.getCode(), req.determineBizCode()));
|
||||
imReq.setSendPriority(template.determineImSendPriority());
|
||||
imReq.setMsgHeader(parseTitle());
|
||||
imReq.setMsgContent(parseContent());
|
||||
imReq.setMsgTemplateId(template.getCode());
|
||||
|
||||
@ -5,6 +5,10 @@ import cn.axzo.msg.center.api.request.v3.MessageSendReqV3;
|
||||
import cn.axzo.msg.center.api.request.v3.SearchMessageReqV3;
|
||||
import cn.axzo.msg.center.api.request.v3.SearchPendingMessageReq;
|
||||
import cn.axzo.msg.center.api.request.v3.SearchTodoLogReq;
|
||||
import cn.axzo.msg.center.api.request.v3.SetImSendPriorityRequest;
|
||||
import cn.axzo.msg.center.common.utils.BizAssertions;
|
||||
import cn.axzo.msg.center.dal.MessageBaseTemplateDao;
|
||||
import cn.axzo.msg.center.domain.entity.MessageBaseTemplate;
|
||||
import cn.axzo.msg.center.inside.notices.service.impl.TodoSearchService;
|
||||
import cn.axzo.msg.center.inside.notices.service.impl.v3.MessageRecordServiceV3;
|
||||
import cn.axzo.msg.center.message.domain.param.PendingMessagePushParam;
|
||||
@ -49,6 +53,7 @@ public class PrivateMessageController {
|
||||
private final OldMsgStatCache oldMsgStatCache;
|
||||
private final NacosConfigManager nacosConfigManager;
|
||||
private final MigrateOldMsgHotDataJob migrateOldMsgHotDataJob;
|
||||
private final MessageBaseTemplateDao messageBaseTemplateDao;
|
||||
|
||||
@PostMapping("/sendPendingMessage")
|
||||
public Object sendPendingMessage(@RequestBody @Valid PendingMessagePushParam request) {
|
||||
@ -126,4 +131,17 @@ public class PrivateMessageController {
|
||||
return CommonResponse.success("submitted");
|
||||
}
|
||||
|
||||
@PostMapping("/setImSendPriority")
|
||||
public Object setImSendPriority(SetImSendPriorityRequest request) {
|
||||
BizAssertions.assertNotNull(request.getTemplateCode(), "templateCode can't be blank");
|
||||
BizAssertions.assertNotNull(request.getSendPriority(), "sendPriority can't be null");
|
||||
BizAssertions.assertTrue(request.getSendPriority() > 0, "sendPriority must be greater than 0");
|
||||
boolean updated = messageBaseTemplateDao.lambdaUpdate()
|
||||
.eq(MessageBaseTemplate::getCode, request.getTemplateCode())
|
||||
.set(MessageBaseTemplate::getImSendPriority, request.getSendPriority())
|
||||
.update();
|
||||
BizAssertions.assertTrue(updated, "未找到对应的模版或者模版已经删除");
|
||||
return updated;
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,5 +1,6 @@
|
||||
package cn.axzo.msg.center.message.domain.dto;
|
||||
|
||||
import cn.axzo.im.center.api.feign.SendPriority;
|
||||
import cn.axzo.msg.center.domain.entity.MessageBaseTemplate;
|
||||
import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO;
|
||||
import cn.axzo.msg.center.service.enums.BizDetailJumpStrategyEnum;
|
||||
@ -97,6 +98,15 @@ public class MessageTemplateDTO implements Serializable {
|
||||
|
||||
private JSONObject pushData;
|
||||
|
||||
/**
|
||||
* IM发送优先级
|
||||
*/
|
||||
private Integer imSendPriority;
|
||||
|
||||
public Integer determineImSendPriority() {
|
||||
return imSendPriority == null ? SendPriority.TEMPLATE_MESSAGE.getPriority() : imSendPriority;
|
||||
}
|
||||
|
||||
public boolean isCardJumpToBiz() {
|
||||
if (msgTemplateRouter == null) {
|
||||
return false;
|
||||
@ -128,6 +138,7 @@ public class MessageTemplateDTO implements Serializable {
|
||||
.updatePersonId(baseTemplate.getUpdatePersonId())
|
||||
.updatePersonName(baseTemplate.getUpdatePersonName())
|
||||
.pushData(baseTemplate.getPushData())
|
||||
.imSendPriority(baseTemplate.getImSendPriority())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,17 @@
|
||||
package cn.axzo.msg.center.api.request.v3;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Data
|
||||
public class SetImSendPriorityRequest {
|
||||
@NotBlank(message = "templateCode can't be blank")
|
||||
private String templateCode;
|
||||
@NotNull(message = "sendPriority can't be null")
|
||||
private Long sendPriority;
|
||||
}
|
||||
@ -104,6 +104,11 @@ public class MessageBaseTemplate extends BaseEntityExt<MessageBaseTemplate> impl
|
||||
*/
|
||||
private String updatePersonName;
|
||||
|
||||
/**
|
||||
* IM发送优先级
|
||||
*/
|
||||
private Integer imSendPriority;
|
||||
|
||||
@TableField(typeHandler = FastjsonTypeHandler.class)
|
||||
private JSONObject pushData;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user