diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SendFeiShuHandle.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SendFeiShuHandle.java new file mode 100644 index 00000000..f6e9a0b8 --- /dev/null +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SendFeiShuHandle.java @@ -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); + } +} diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendMessageServiceImpl.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendMessageServiceImpl.java index e1e8b44f..2898a80d 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendMessageServiceImpl.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendMessageServiceImpl.java @@ -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) { diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendMsgProcessor.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendMsgProcessor.java new file mode 100644 index 00000000..61b5ca65 --- /dev/null +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/SendMsgProcessor.java @@ -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 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); + } +}