通用发送消息集成飞书
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
package com.jero.modules.docking.hiwork.handle;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.jero.common.util.SpringContextUtils;
|
||||
import com.jero.modules.docking.feishu.dto.BotMessageDto;
|
||||
import com.jero.modules.docking.feishu.service.IFeiShuDockingService;
|
||||
import com.jero.modules.docking.hiwork.entity.LawsUnifiedTodoLog;
|
||||
import com.jero.modules.docking.hiwork.service.LawsUnifiedTodoLogService;
|
||||
import com.jero.modules.message.handle.ISendMsgHandle;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/10/17 11:23
|
||||
* @Description: 发送消息
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class SendFeiShuHandle implements ISendMsgHandle {
|
||||
|
||||
@Override
|
||||
public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage) {
|
||||
IFeiShuDockingService bean = SpringContextUtils.getBean(IFeiShuDockingService.class);
|
||||
Environment env = SpringContextUtils.getBean(Environment.class);
|
||||
BotMessageDto botMessageDto = new BotMessageDto();
|
||||
botMessageDto.setHrefText(esContent);
|
||||
botMessageDto.setHrefUrl(env.getProperty("feishu.redirect_prefix") + openPage);
|
||||
botMessageDto.setTitle(esTitle);
|
||||
botMessageDto.setReceiveIds(esReceiver);
|
||||
log.info("飞书====================" + JSON.toJSONString(botMessageDto));
|
||||
bean.sendHrefMessageByBot(botMessageDto);
|
||||
}
|
||||
}
|
||||
+2
-4
@@ -96,11 +96,9 @@ public class SendMessageServiceImpl implements SendMessageAPI {
|
||||
String finalOpenPage = openPage;
|
||||
typeList.forEach(type -> {
|
||||
log.info("消息标题:{},消息内容:{},消息类型:{}", sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), type);
|
||||
ISendMsgHandle sendMsgHandle;
|
||||
// 普通系统消息
|
||||
sendMsgHandle = new SmsSendMsgHandle();
|
||||
if (isSend) {
|
||||
sendMsgHandle.SendMsg(sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), finalOpenType, finalOpenPage);
|
||||
SendMsgProcessor sp = new SendMsgProcessor();
|
||||
sp.SendMsg(type, sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), finalOpenType, finalOpenPage);
|
||||
}
|
||||
});
|
||||
} catch (Exception e) {
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package com.jero.modules.docking.hiwork.service.impl;
|
||||
|
||||
import com.jero.modules.docking.hiwork.handle.SendFeiShuHandle;
|
||||
import com.jero.modules.message.handle.ISendMsgHandle;
|
||||
import com.jero.modules.message.handle.impl.SmsSendMsgHandle;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author lqt
|
||||
* @version 1.0
|
||||
* @date 2024/7/25 14:40
|
||||
*/
|
||||
public class SendMsgProcessor {
|
||||
private Map<String, ISendMsgHandle> handlers = new HashMap<>();
|
||||
|
||||
public SendMsgProcessor() {
|
||||
// 系统消息
|
||||
handlers.put("4", new SmsSendMsgHandle());
|
||||
// 飞书消息
|
||||
handlers.put("5", new SendFeiShuHandle());
|
||||
}
|
||||
|
||||
public void SendMsg(String type, String esReceiver, String esTitle, String esContent, String openType, String openPage){
|
||||
ISendMsgHandle handler = handlers.get(type);
|
||||
if (handler == null) {
|
||||
throw new IllegalArgumentException("消息处理异常");
|
||||
}
|
||||
handler.SendMsg(esReceiver, esTitle, esContent, openType, openPage);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user