fix:87840

This commit is contained in:
梁琦涛
2024-07-31 19:18:57 +08:00
parent 9f35804bdc
commit 1cf2ef281c
17 changed files with 58 additions and 21 deletions
@@ -23,4 +23,9 @@ public class SendMessageDTO {
* 对象例如 用户名:${username} map{"username":"张三"} 转换成 用户名:张三
*/
private Map<String, String> map;
/**
* 发送人
*/
private String sendUser;
}
@@ -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);
}
@@ -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;
@@ -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");
@@ -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("发微信消息模板");
}
@@ -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) {
@@ -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);
}
/**
@@ -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);
}
@@ -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();
@@ -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);
}
}
@@ -29,5 +29,5 @@ public interface IHiworkMsgService {
* title:消息标题
* content:消息内容
**/
void sendSystemMsg(List<String> receiverIdList, String messageType, String title, String content, String messageUrl);
void sendSystemMsg(List<String> receiverIdList, String messageType, String title, String content, String messageUrl, String sendUser);
}
@@ -96,7 +96,7 @@ public class HiworkMsgServiceImpl implements IHiworkMsgService {
* content:消息内容
**/
@Override
public void sendSystemMsg(List<String> receiverIdList, String messageType, String title, String content, String messageUrl) {
public void sendSystemMsg(List<String> receiverIdList, String messageType, String title, String content, String messageUrl,String sendUser) {
HiworkSystemMsg hiworkSystemMsg = new HiworkSystemMsg();
// 异步系统标识
@@ -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) {
@@ -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);
}
}
@@ -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<Process
private ProcessApprovalRecordService processApprovalRecordService;
@Resource
private SendMessageAPI sendMessageAPI;
@Resource
private ISysUserService sysUserService;
@Override
public void startProcess(ProcessInfoVO<ProcessMarketStandardRelease> processInfoVO) {
@@ -270,6 +274,12 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl<Process
SendMessageDTO sendMessageDTO = new SendMessageDTO();
sendMessageDTO.setTemplateCode(processDefinitionKey);
sendMessageDTO.setToUserId(copyUser);
LambdaQueryWrapper<SysUser> querySysUser = new LambdaQueryWrapper<>();
querySysUser.eq(SysUser::getUsername,processMarketStandardRelease.getCreateBy());
SysUser sysUser = sysUserService.getOne(querySysUser,false);
if(!Objects.isNull(sysUser)){
sendMessageDTO.setSendUser(sysUser.getId());
}
Map<String, String> sendMap = new HashMap<>();
sendMap.put("manifestName", processMarketStandardRelease.getManifestName());
sendMessageDTO.setMap(sendMap);
@@ -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<ProcessNewS
private TaskService taskService;
@Resource
private ProcessEngine processEngine;
@Resource
private ISysUserService sysUserService;
@Override
public void startProcess(ProcessInfoVO<ProcessNewStandardImport> processInfoVO) {
@@ -284,6 +288,12 @@ public class ProcessNewStandardImportServiceImpl extends ServiceImpl<ProcessNewS
SendMessageDTO sendMessageDTO = new SendMessageDTO();
sendMessageDTO.setTemplateCode(processDefinitionKey);
sendMessageDTO.setToUserId(copyUser);
LambdaQueryWrapper<SysUser> querySysUser = new LambdaQueryWrapper<>();
querySysUser.eq(SysUser::getUsername,processNewStandardImport.getCreateBy());
SysUser sysUser = sysUserService.getOne(querySysUser,false);
if(!Objects.isNull(sysUser)){
sendMessageDTO.setSendUser(sysUser.getId());
}
Map<String, String> sendMap = new HashMap<>();
sendMap.put("standardNumber", standardImport.getStandardNumber());
sendMap.put("standardName", standardImport.getStandardName());
@@ -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<String, String> map) {
if (!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))) {
return Result.error("请选择数据!");