From 1cf2ef281ce85d73b0191801c18c94d616f08f85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Wed, 31 Jul 2024 19:18:57 +0800 Subject: [PATCH] fix:87840 --- .../api/dto/message/SendMessageDTO.java | 5 ++++ .../message/handle/ISendMsgHandle.java | 2 +- .../handle/impl/EmailSendMsgHandle.java | 2 +- .../message/handle/impl/SmsSendMsgHandle.java | 24 ++++++++++++++----- .../message/handle/impl/WxSendMsgHandle.java | 2 +- .../system/controller/job/SendMsgJob.java | 2 +- .../system/service/impl/SysBaseApiImpl.java | 2 +- .../hiwork/handle/DingDingSendMsgHandle.java | 2 +- .../hiwork/handle/SendFeiShuHandle.java | 2 +- .../hiwork/handle/SystemSendMsgHandle.java | 4 ++-- .../hiwork/service/IHiworkMsgService.java | 2 +- .../service/impl/HiworkMsgServiceImpl.java | 2 +- .../service/impl/SendMessageServiceImpl.java | 2 +- .../hiwork/service/impl/SendMsgProcessor.java | 4 ++-- ...ocessMarketStandardReleaseServiceImpl.java | 10 ++++++++ .../ProcessNewStandardImportServiceImpl.java | 10 ++++++++ .../controller/MarketStandardController.java | 2 +- 17 files changed, 58 insertions(+), 21 deletions(-) diff --git a/laws-base/laws-base-core/src/main/java/com/jero/common/api/dto/message/SendMessageDTO.java b/laws-base/laws-base-core/src/main/java/com/jero/common/api/dto/message/SendMessageDTO.java index 206b8caf..a0e5e91e 100644 --- a/laws-base/laws-base-core/src/main/java/com/jero/common/api/dto/message/SendMessageDTO.java +++ b/laws-base/laws-base-core/src/main/java/com/jero/common/api/dto/message/SendMessageDTO.java @@ -23,4 +23,9 @@ public class SendMessageDTO { * 对象例如 用户名:${username} map:{"username":"张三"} 转换成 用户名:张三 */ private Map map; + + /** + * 发送人 + */ + private String sendUser; } diff --git a/laws-module-system/src/main/java/com/jero/modules/message/handle/ISendMsgHandle.java b/laws-module-system/src/main/java/com/jero/modules/message/handle/ISendMsgHandle.java index 364addf0..2d2bb10d 100644 --- a/laws-module-system/src/main/java/com/jero/modules/message/handle/ISendMsgHandle.java +++ b/laws-module-system/src/main/java/com/jero/modules/message/handle/ISendMsgHandle.java @@ -2,5 +2,5 @@ package com.jero.modules.message.handle; public interface ISendMsgHandle { - void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage); + void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage,String sendUser); } diff --git a/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/EmailSendMsgHandle.java b/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/EmailSendMsgHandle.java index 874d275b..3b11b6f8 100644 --- a/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/EmailSendMsgHandle.java +++ b/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/EmailSendMsgHandle.java @@ -18,7 +18,7 @@ public class EmailSendMsgHandle implements ISendMsgHandle { } @Override - public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage) { + public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage,String senUser) { JavaMailSender mailSender = (JavaMailSender) SpringContextUtils.getBean("mailSender"); MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = null; diff --git a/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/SmsSendMsgHandle.java b/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/SmsSendMsgHandle.java index c5af6f0a..8da062d7 100644 --- a/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/SmsSendMsgHandle.java +++ b/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/SmsSendMsgHandle.java @@ -5,18 +5,23 @@ import com.jero.common.system.vo.LoginUser; import com.jero.common.util.SpringContextUtils; import com.jero.common.util.UUIDUtils; import com.jero.modules.system.entity.SysAnnouncement; +import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysAnnouncementService; +import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import com.jero.modules.message.handle.ISendMsgHandle; +import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; +import javax.annotation.Resource; import java.util.Date; @Slf4j public class SmsSendMsgHandle implements ISendMsgHandle { + @Override - public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage) { + public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage,String sendUser) { ISysAnnouncementService bean = SpringContextUtils.getBean(ISysAnnouncementService.class); String id = UUIDUtils.randomUUID20(); SysAnnouncement sysAnnouncement = new SysAnnouncement(); @@ -24,13 +29,20 @@ public class SmsSendMsgHandle implements ISendMsgHandle { sysAnnouncement.setTitile(esTitle); sysAnnouncement.setMsgContent(esContent); - try { - LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - sysAnnouncement.setSender(loginUser.getRealname() + "(" + loginUser.getUsername() + ")"); - } catch (Exception e) { - sysAnnouncement.setSender(""); + if(StringUtils.isEmpty(sendUser)){ + try { + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + sysAnnouncement.setSender(loginUser.getRealname() + "(" + loginUser.getUsername() + ")"); + } catch (Exception e) { + sysAnnouncement.setSender(""); + } + }else{ + ISysUserService sysUserService = SpringContextUtils.getBean(ISysUserService.class); + SysUser sysUser = sysUserService.getById(sendUser); + sysAnnouncement.setSender(sysUser.getRealname() + "(" + sysUser.getUsername() + ")"); } + sysAnnouncement.setMsgCategory("2"); sysAnnouncement.setMsgType("USER"); sysAnnouncement.setSendStatus("1"); diff --git a/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/WxSendMsgHandle.java b/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/WxSendMsgHandle.java index 7dfdbe61..e5263a9a 100644 --- a/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/WxSendMsgHandle.java +++ b/laws-module-system/src/main/java/com/jero/modules/message/handle/impl/WxSendMsgHandle.java @@ -6,7 +6,7 @@ import com.jero.modules.message.handle.ISendMsgHandle; public class WxSendMsgHandle implements ISendMsgHandle { @Override - public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage) { + public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage,String sendUser) { // TODO Auto-generated method stub log.info("发微信消息模板"); } diff --git a/laws-module-system/src/main/java/com/jero/modules/system/controller/job/SendMsgJob.java b/laws-module-system/src/main/java/com/jero/modules/system/controller/job/SendMsgJob.java index 23d50453..7b5fc70c 100644 --- a/laws-module-system/src/main/java/com/jero/modules/system/controller/job/SendMsgJob.java +++ b/laws-module-system/src/main/java/com/jero/modules/system/controller/job/SendMsgJob.java @@ -58,7 +58,7 @@ public class SendMsgJob implements Job { throw new NullPointerException(); } sendMsgHandle.SendMsg(sysMessage.getEsReceiver(), sysMessage.getEsTitle(), - sysMessage.getEsContent(), null, null); + sysMessage.getEsContent(), null, null,null); // 发送消息成功 sysMessage.setEsSendStatus(SendMsgStatusEnum.SUCCESS.getCode()); } catch (Exception e) { diff --git a/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java b/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java index ff19972b..d7eb21a7 100644 --- a/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java +++ b/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java @@ -1050,7 +1050,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public void sendEmailMsg(String email, String title, String content) { EmailSendMsgHandle emailHandle=new EmailSendMsgHandle(); - emailHandle.SendMsg(email, title, content, null, null); + emailHandle.SendMsg(email, title, content, null, null,null); } /** 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 index 42234491..d801fe1f 100644 --- 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 @@ -21,7 +21,7 @@ public class DingDingSendMsgHandle implements ISendMsgHandle { * @Description: Hiwork钉钉消息 **/ @Override - public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String messageUrl) { + public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String messageUrl,String sendUser) { IHiworkMsgService hiworkMsgService = SpringContextUtils.getBean(IHiworkMsgService.class); hiworkMsgService.sendDingDingMsg(Arrays.asList(esReceiver.split(",")), esTitle, esContent, messageUrl); } 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 index f6e9a0b8..bd5187d4 100644 --- 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 @@ -23,7 +23,7 @@ import javax.annotation.Resource; public class SendFeiShuHandle implements ISendMsgHandle { @Override - public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage) { + public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage,String sendUser) { IFeiShuDockingService bean = SpringContextUtils.getBean(IFeiShuDockingService.class); Environment env = SpringContextUtils.getBean(Environment.class); BotMessageDto botMessageDto = new BotMessageDto(); 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 index 6671e307..7e601ca3 100644 --- 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 @@ -11,11 +11,11 @@ import java.util.Arrays; public class SystemSendMsgHandle implements ISendMsgHandle { @Override - public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage) { + public void SendMsg(String esReceiver, String esTitle, String esContent, String openType, String openPage,String sendUser) { IHiworkMsgService hiworkMsgService = SpringContextUtils.getBean(IHiworkMsgService.class); // TODO 先写死 01 消息类型(暂未确定) String messageType = "01"; - hiworkMsgService.sendSystemMsg(Arrays.asList(esReceiver.split(",")), messageType, esTitle, esContent, openPage); + hiworkMsgService.sendSystemMsg(Arrays.asList(esReceiver.split(",")), messageType, esTitle, esContent, openPage, sendUser); } } 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 990b7ffd..2ad31ad8 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(List receiverIdList, String messageType, String title, String content, String messageUrl); + void sendSystemMsg(List receiverIdList, String messageType, String title, String content, String messageUrl, String sendUser); } 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 6c946161..00455bf1 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 @@ -96,7 +96,7 @@ public class HiworkMsgServiceImpl implements IHiworkMsgService { * content:消息内容 **/ @Override - public void sendSystemMsg(List receiverIdList, String messageType, String title, String content, String messageUrl) { + public void sendSystemMsg(List receiverIdList, String messageType, String title, String content, String messageUrl,String sendUser) { HiworkSystemMsg hiworkSystemMsg = new HiworkSystemMsg(); // 异步系统标识 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 2898a80d..50ea1ea8 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 @@ -98,7 +98,7 @@ public class SendMessageServiceImpl implements SendMessageAPI { log.info("消息标题:{},消息内容:{},消息类型:{}", sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), type); if (isSend) { SendMsgProcessor sp = new SendMsgProcessor(); - sp.SendMsg(type, sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), finalOpenType, finalOpenPage); + sp.SendMsg(type, sendMessageDTO.getToUserId(), sysMessageTemplate.getTemplateName(), sysMessageTemplate.getTemplateContent(), finalOpenType, finalOpenPage,sendMessageDTO.getSendUser()); } }); } 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 index 61b5ca65..2a1bd47b 100644 --- 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 @@ -22,11 +22,11 @@ public class SendMsgProcessor { handlers.put("5", new SendFeiShuHandle()); } - public void SendMsg(String type, String esReceiver, String esTitle, String esContent, String openType, String openPage){ + public void SendMsg(String type, String esReceiver, String esTitle, String esContent, String openType, String openPage,String sendUser){ ISendMsgHandle handler = handlers.get(type); if (handler == null) { throw new IllegalArgumentException("消息处理异常"); } - handler.SendMsg(esReceiver, esTitle, esContent, openType, openPage); + handler.SendMsg(esReceiver, esTitle, esContent, openType, openPage,sendUser); } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/ms/service/impl/ProcessMarketStandardReleaseServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/ms/service/impl/ProcessMarketStandardReleaseServiceImpl.java index 76134ab1..3d712dec 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/ms/service/impl/ProcessMarketStandardReleaseServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/ms/service/impl/ProcessMarketStandardReleaseServiceImpl.java @@ -30,6 +30,8 @@ import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail; import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService; import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService; import com.jero.modules.sys.utils.UserUtils; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; @@ -78,6 +80,8 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl processInfoVO) { @@ -270,6 +274,12 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl querySysUser = new LambdaQueryWrapper<>(); + querySysUser.eq(SysUser::getUsername,processMarketStandardRelease.getCreateBy()); + SysUser sysUser = sysUserService.getOne(querySysUser,false); + if(!Objects.isNull(sysUser)){ + sendMessageDTO.setSendUser(sysUser.getId()); + } Map sendMap = new HashMap<>(); sendMap.put("manifestName", processMarketStandardRelease.getManifestName()); sendMessageDTO.setMap(sendMap); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/ni/service/impl/ProcessNewStandardImportServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/ni/service/impl/ProcessNewStandardImportServiceImpl.java index 6e442592..d73c4235 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/ni/service/impl/ProcessNewStandardImportServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/ni/service/impl/ProcessNewStandardImportServiceImpl.java @@ -25,6 +25,8 @@ import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.activiti.service.ProcessApprovalRecordService; import com.jero.modules.activiti.service.ProcessNodeLinkService; import com.jero.modules.sys.utils.UserUtils; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.ProcessEngine; import org.activiti.engine.RuntimeService; @@ -78,6 +80,8 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl processInfoVO) { @@ -284,6 +288,12 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl querySysUser = new LambdaQueryWrapper<>(); + querySysUser.eq(SysUser::getUsername,processNewStandardImport.getCreateBy()); + SysUser sysUser = sysUserService.getOne(querySysUser,false); + if(!Objects.isNull(sysUser)){ + sendMessageDTO.setSendUser(sysUser.getId()); + } Map sendMap = new HashMap<>(); sendMap.put("standardNumber", standardImport.getStandardNumber()); sendMap.put("standardName", standardImport.getStandardName()); diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java index eb1fe176..9390cc0d 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java @@ -200,7 +200,7 @@ public class MarketStandardController { @ApiOperation(value = "外部标准库-市场法规清单-发布", notes = "外部标准库-市场法规清单-发布") @ApiOperationSupport(order = 7) @PostMapping(value = "/publish") -// @RequiresPermissions("marketStandard:publish") + @RequiresPermissions("marketStandard:publish") public Result publish(@RequestBody Map map) { if (!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))) { return Result.error("请选择数据!");