通用发送消息集成飞书
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;
|
String finalOpenPage = openPage;
|
||||||
typeList.forEach(type -> {
|
typeList.forEach(type -> {
|
||||||
log.info("消息标题:{},消息内容:{},消息类型:{}", sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), type);
|
log.info("消息标题:{},消息内容:{},消息类型:{}", sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), type);
|
||||||
ISendMsgHandle sendMsgHandle;
|
|
||||||
// 普通系统消息
|
|
||||||
sendMsgHandle = new SmsSendMsgHandle();
|
|
||||||
if (isSend) {
|
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) {
|
} 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