消息修改

This commit is contained in:
梁琦涛
2021-09-24 17:39:48 +08:00
parent 70e8935ffe
commit 5a263e0db9
6 changed files with 136 additions and 49 deletions
@@ -6,4 +6,8 @@ public class RoleCommon {
* 项目负责人
*/
public final static String XMFZR = "xmfzr";
/**
* 财务人员
*/
public final static String CWRY = "cwry";
}
@@ -1,5 +1,6 @@
package com.jero.common.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.common.RoleCommon;
import com.jero.common.dto.SendMessageDTO;
import com.jero.common.enums.CompanyMessageEnums;
@@ -46,8 +47,10 @@ public class ContractCreateProjectSendMessageServiceImpl implements ContractCrea
sendMessageDTO.setToUser(p.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG1.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("email");
sendMessageDTO.setBusId(p.getId());
sendMessageDTO.setBusType("M_OPEN_TYPE1");
JSONObject json = new JSONObject();
json.put("id",p.getId());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
});
}
@@ -20,6 +20,7 @@ import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysAnnouncementSendService;
import com.jero.modules.system.service.ISysAnnouncementService;
import com.jero.modules.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +29,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
@Slf4j
@Service
public class SendMessageServiceImpl implements SendMessageService {
@Autowired
@@ -82,59 +84,73 @@ public class SendMessageServiceImpl implements SendMessageService {
// 1短信 2邮件 3系统
// 发送邮件 true
if(templateType.contains(ProjectCommon.MESSAGE_TYPE2) && !StringUtils.isEmpty(sendMessageDTO.getEmail())){
EmailSendMsgHandle emailHandle = new EmailSendMsgHandle();
emailHandle.SendMsg(sendMessageDTO.getEmail(), title, content);
try {
EmailSendMsgHandle emailHandle = new EmailSendMsgHandle();
emailHandle.SendMsg(sendMessageDTO.getEmail(), title, content);
}catch (Exception e){
log.error("发送邮件异常",e);
}
}
// 发送消息
if(templateType.contains(ProjectCommon.MESSAGE_TYPE3) && !StringUtils.isEmpty(sendMessageDTO.getToUser())){
String fromUser = sendMessageDTO.getFromUser();
String toUser = sendMessageDTO.getToUser();
String busId = sendMessageDTO.getBusId();
String busType = sendMessageDTO.getBusType();
try {
String fromUser = sendMessageDTO.getFromUser();
String toUser = sendMessageDTO.getToUser();
String busId = sendMessageDTO.getBusId();
String busType = sendMessageDTO.getBusType();
SysAnnouncement announcement = new SysAnnouncement();
announcement.setTitile(sysSmsTemplate.getTemplateName());
announcement.setMsgContent(content);
announcement.setSender(fromUser);
announcement.setPriority(CommonConstant.PRIORITY_M);
announcement.setMsgType(CommonConstant.MSG_TYPE_UESR);
announcement.setSendStatus(CommonConstant.HAS_SEND);
announcement.setSendTime(new Date());
announcement.setMsgCategory(CommonConstant.MSG_CATEGORY_2);
announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0));
announcement.setBusId(busId);
announcement.setBusType(busType);
announcement.setOpenType(SysAnnmentTypeEnum.getByType(busType).getOpenType());
announcement.setOpenPage(SysAnnmentTypeEnum.getByType(busType).getOpenPage());
announcement.setTemplateCode(sendMessageDTO.getTemplateCode());
sysAnnouncementService.save(announcement);
// 2.插入用户通告阅读标记表记录
String userId = toUser;
String[] userIds = userId.split(",");
String anntId = announcement.getId();
for(int i=0;i<userIds.length;i++) {
if(oConvertUtils.isNotEmpty(userIds[i])) {
SysUser sysUser = sysUserService.getUserByName(userIds[i]);
if(Objects.isNull(sysUser)) {
continue;
}
SysAnnouncementSend announcementSend = new SysAnnouncementSend();
announcementSend.setAnntId(anntId);
announcementSend.setUserId(sysUser.getId());
announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG);
sysAnnouncementSendService.save(announcementSend);
JSONObject obj = new JSONObject();
obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER);
obj.put(WebsocketConst.MSG_USER_ID, sysUser.getId());
obj.put(WebsocketConst.MSG_ID, announcement.getId());
obj.put(WebsocketConst.MSG_TXT, title);
webSocket.sendMessage(sysUser.getId(), obj.toJSONString());
SysAnnouncement announcement = new SysAnnouncement();
announcement.setTitile(sysSmsTemplate.getTemplateName());
announcement.setMsgContent(content);
announcement.setSender(fromUser);
announcement.setPriority(CommonConstant.PRIORITY_M);
announcement.setMsgType(CommonConstant.MSG_TYPE_UESR);
announcement.setSendStatus(CommonConstant.HAS_SEND);
announcement.setSendTime(new Date());
announcement.setMsgCategory(CommonConstant.MSG_CATEGORY_2);
announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0));
announcement.setBusId(busId);
announcement.setBusType(busType);
if(!StringUtils.isEmpty(busType)){
announcement.setOpenType(SysAnnmentTypeEnum.getByType(busType).getOpenType());
announcement.setOpenPage(SysAnnmentTypeEnum.getByType(busType).getOpenPage());
}
announcement.setTemplateCode(sendMessageDTO.getTemplateCode());
sysAnnouncementService.save(announcement);
// 2.插入用户通告阅读标记表记录
String userId = toUser;
String[] userIds = userId.split(",");
String anntId = announcement.getId();
for(int i=0;i<userIds.length;i++) {
if(oConvertUtils.isNotEmpty(userIds[i])) {
SysUser sysUser = sysUserService.getUserByName(userIds[i]);
if(Objects.isNull(sysUser)) {
continue;
}
SysAnnouncementSend announcementSend = new SysAnnouncementSend();
announcementSend.setAnntId(anntId);
announcementSend.setUserId(sysUser.getId());
announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG);
sysAnnouncementSendService.save(announcementSend);
JSONObject obj = new JSONObject();
obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER);
obj.put(WebsocketConst.MSG_USER_ID, sysUser.getId());
obj.put(WebsocketConst.MSG_ID, announcement.getId());
obj.put(WebsocketConst.MSG_TXT, title);
webSocket.sendMessage(sysUser.getId(), obj.toJSONString());
}
}
}catch (Exception e){
log.error("发送消息异常",e);
}
}
// todo 发送短信 待完成
if(templateType.contains(ProjectCommon.MESSAGE_TYPE1) && !StringUtils.isEmpty(sendMessageDTO.getPhone())){
// sysBaseAPI.sendSMS(sendMessageDTO.getPhone(),type,time,sendMessageDTO.getTemplateCode(),sendMessageDTO.getTemplateParam());
try {
sysBaseAPI.sendSMS(sendMessageDTO.getPhone(),type,time,sendMessageDTO.getTemplateCode(),sendMessageDTO.getTemplateParam());
}catch (Exception e){
log.error("发送短信异常",e);
}
}
}
}