From 29626aea40f30483a40043a58efc5ea30a941ff5 Mon Sep 17 00:00:00 2001 From: liao Date: Tue, 17 Oct 2023 14:47:00 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=A8=A1=E6=9D=BF=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hiwork/handle/DingDingSendMsgHandle.java | 30 +++++++++++++++++++ .../hiwork/handle/SystemSendMsgHandle.java | 21 +++++++++++++ .../hiwork/service/IHiworkMsgService.java | 2 +- .../service/impl/HiworkMsgServiceImpl.java | 14 ++++----- .../service/impl/SendMessageServiceImpl.java | 26 +++++++--------- 5 files changed, 68 insertions(+), 25 deletions(-) create mode 100644 laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/DingDingSendMsgHandle.java create mode 100644 laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SystemSendMsgHandle.java diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/DingDingSendMsgHandle.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/DingDingSendMsgHandle.java new file mode 100644 index 00000000..297ff3d1 --- /dev/null +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/DingDingSendMsgHandle.java @@ -0,0 +1,30 @@ +package com.jero.modules.docking.hiwork.handle; + +import com.jero.common.util.SpringContextUtils; +import com.jero.modules.docking.hiwork.service.IHiworkMsgService; +import com.jero.modules.message.handle.ISendMsgHandle; +import lombok.extern.slf4j.Slf4j; + +import java.util.Arrays; +import java.util.List; + +/** + * @Author: liao + * @Date: 2023/10/17 14:29 + * @Description: Hiwork钉钉消息 + **/ +@Slf4j +public class DingDingSendMsgHandle implements ISendMsgHandle { + + /** + * @Author: liao + * @Date: 2023/10/17 14:29 + * @Description: Hiwork钉钉消息 + **/ + @Override + public void SendMsg(String esReceiver, String esTitle, String esContent) { + IHiworkMsgService hiworkMsgService = SpringContextUtils.getBean(IHiworkMsgService.class); + hiworkMsgService.sendDingDingMsg(Arrays.asList(esReceiver.split(",")), esTitle, esContent); + } + +} diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SystemSendMsgHandle.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SystemSendMsgHandle.java new file mode 100644 index 00000000..831d84b7 --- /dev/null +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SystemSendMsgHandle.java @@ -0,0 +1,21 @@ +package com.jero.modules.docking.hiwork.handle; + +import com.jero.common.util.SpringContextUtils; +import com.jero.modules.docking.hiwork.service.IHiworkMsgService; +import com.jero.modules.message.handle.ISendMsgHandle; +import lombok.extern.slf4j.Slf4j; + +import java.util.Arrays; + +@Slf4j +public class SystemSendMsgHandle implements ISendMsgHandle { + + @Override + public void SendMsg(String esReceiver, String esTitle, String esContent) { + IHiworkMsgService hiworkMsgService = SpringContextUtils.getBean(IHiworkMsgService.class); + // 消息类型(暂未确定) + String messageType = ""; + hiworkMsgService.sendSystemMsg(Arrays.asList(esReceiver.split(",")), messageType, esTitle, esContent); + } + +} diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/IHiworkMsgService.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/IHiworkMsgService.java index 2307b592..a21fbca9 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/IHiworkMsgService.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/IHiworkMsgService.java @@ -29,5 +29,5 @@ public interface IHiworkMsgService { * title:消息标题 * content:消息内容 **/ - void sendSystemMsg(String senderId, List receiverIdList, String messageType, String title, String content); + void sendSystemMsg(List receiverIdList, String messageType, String title, String content); } diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/HiworkMsgServiceImpl.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/HiworkMsgServiceImpl.java index bd681771..af2a7215 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/HiworkMsgServiceImpl.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/service/impl/HiworkMsgServiceImpl.java @@ -3,6 +3,7 @@ package com.jero.modules.docking.hiwork.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.jero.common.exception.JeroBootException; +import com.jero.common.system.vo.LoginUser; import com.jero.modules.docking.hiwork.entity.HiworkDingDingMsg; import com.jero.modules.docking.hiwork.entity.HiworkSystemMsg; import com.jero.modules.docking.hiwork.service.IHiworkMsgService; @@ -12,6 +13,7 @@ import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -82,21 +84,17 @@ public class HiworkMsgServiceImpl implements IHiworkMsgService { * content:消息内容 **/ @Override - public void sendSystemMsg(String senderId, List receiverIdList, String messageType, String title, String content) { + public void sendSystemMsg(List receiverIdList, String messageType, String title, String content) { HiworkSystemMsg hiworkSystemMsg = new HiworkSystemMsg(); // 异步系统标识 hiworkSystemMsg.setSysCode(HiworkPostUtil.getSysCode()); - if (StringUtils.isBlank(senderId)) { - throw new JeroBootException(ResultCommon.EMPTY_COMMON, "senderId"); - } - - SysUser senderUser = sysUserService.getById(senderId); + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 发送人员编号 - hiworkSystemMsg.setSendCode(senderUser.getUsername()); + hiworkSystemMsg.setSendCode(loginUser.getUsername()); // 发送人员姓名 - hiworkSystemMsg.setSendName(senderUser.getRealname()); + hiworkSystemMsg.setSendName(loginUser.getRealname()); // 消息类型 hiworkSystemMsg.setMessageType(messageType); // 消息标题 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 00e255c4..74cf0918 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 @@ -2,21 +2,19 @@ package com.jero.modules.docking.hiwork.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.exception.JeroBootException; -import com.jero.common.system.vo.LoginUser; import com.jero.modules.docking.hiwork.dto.SendMessageDTO; -import com.jero.modules.docking.hiwork.service.IHiworkMsgService; +import com.jero.modules.docking.hiwork.handle.DingDingSendMsgHandle; +import com.jero.modules.docking.hiwork.handle.SystemSendMsgHandle; import com.jero.modules.docking.hiwork.service.ISendMessageService; import com.jero.modules.message.entity.SysMessageTemplate; +import com.jero.modules.message.handle.ISendMsgHandle; import com.jero.modules.message.service.ISysMessageTemplateService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; -import org.apache.shiro.SecurityUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Objects; @@ -32,8 +30,6 @@ public class SendMessageServiceImpl implements ISendMessageService { @Resource private ISysMessageTemplateService sysMessageTemplateService; - @Autowired - private IHiworkMsgService hiworkMsgService; /** * @Author: liao @@ -65,20 +61,18 @@ public class SendMessageServiceImpl implements ISendMessageService { sysMessageTemplate.getTemplateContent().replace("${" + k + "}", v))); } - List toUserIdList = Arrays.asList(sendMessageDTO.getToUserId().split(",")); + ISendMsgHandle sendMsgHandle; + if ("5".equals(sysMessageTemplate.getTemplateType())) { // Hiwork钉钉消息 - hiworkMsgService.sendDingDingMsg(toUserIdList, sysMessageTemplate.getTemplateName(), - sysMessageTemplate.getTemplateContent()); + sendMsgHandle = new DingDingSendMsgHandle(); } else if ("6".equals(sysMessageTemplate.getTemplateType())) { // Hiwork系统消息 - LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - // 消息类型(暂未确定) - String messageType = ""; - hiworkMsgService.sendSystemMsg(loginUser.getId(), toUserIdList,messageType, - sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent()); + sendMsgHandle = new SystemSendMsgHandle(); + } else { + return; } - + sendMsgHandle.SendMsg(sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent()); log.info(sysMessageTemplate.getTemplateContent()); } catch (Exception e){ log.error("发送消息异常",e);