消息修改
This commit is contained in:
+29
-1
@@ -11,7 +11,35 @@ public enum SysAnnmentTypeEnum {
|
||||
/**
|
||||
* 工作流跳转链接我的办公
|
||||
*/
|
||||
BPM("bpm", "url", "/bpm/task/MyTaskList");
|
||||
BPM("bpm", "url", "/bpm/task/MyTaskList"),
|
||||
|
||||
// 管理端
|
||||
M_OPEN_TYPE1("M_OPEN_TYPE1","component","@comp/ProjectDetailModal"),
|
||||
M_OPEN_TYPE2("M_OPEN_TYPE2","url","/contractManagement/RevenueContractDetail"),
|
||||
M_OPEN_TYPE3("M_OPEN_TYPE3","url","/contractManagement/RevenueContractDetail"),
|
||||
M_OPEN_TYPE4("M_OPEN_TYPE4","url","/contractManagement/RevenueContractDetail"),
|
||||
M_OPEN_TYPE5("M_OPEN_TYPE5","component","@views/incomePayments/meetManage/modules/AuditModal"),
|
||||
M_OPEN_TYPE6("M_OPEN_TYPE6","component","@comp/ProjectDetailModal"),
|
||||
M_OPEN_TYPE7("M_OPEN_TYPE7","component","@comp/ProjectDetailModal"),
|
||||
M_OPEN_TYPE8("M_OPEN_TYPE8","url","/incomePayments/meetManage/SignUpInfoDetail"),
|
||||
M_OPEN_TYPE9("M_OPEN_TYPE9","url","/businessManagement/BusinessManagement"),
|
||||
// todo 待定企业端
|
||||
C_OPEN_TYPE1("C_OPEN_TYPE1","url",""),
|
||||
C_OPEN_TYPE2("C_OPEN_TYPE2","component",""),
|
||||
C_OPEN_TYPE3("C_OPEN_TYPE3","component",""),
|
||||
C_OPEN_TYPE4("C_OPEN_TYPE4","component",""),
|
||||
C_OPEN_TYPE5("C_OPEN_TYPE5","component",""),
|
||||
C_OPEN_TYPE6("C_OPEN_TYPE6","component",""),
|
||||
C_OPEN_TYPE7("C_OPEN_TYPE7","component",""),
|
||||
C_OPEN_TYPE8("C_OPEN_TYPE8","none",""),
|
||||
C_OPEN_TYPE9("C_OPEN_TYPE9","",""),
|
||||
C_OPEN_TYPE10("C_OPEN_TYPE10","",""),
|
||||
C_OPEN_TYPE11("C_OPEN_TYPE11","component",""),
|
||||
C_OPEN_TYPE12("C_OPEN_TYPE12","component","");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 业务类型(email:邮件 bpm:流程)
|
||||
|
||||
@@ -6,4 +6,8 @@ public class RoleCommon {
|
||||
* 项目负责人
|
||||
*/
|
||||
public final static String XMFZR = "xmfzr";
|
||||
/**
|
||||
* 财务人员
|
||||
*/
|
||||
public final static String CWRY = "cwry";
|
||||
}
|
||||
|
||||
+5
-2
@@ -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);
|
||||
});
|
||||
}
|
||||
|
||||
+60
-44
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+27
-2
@@ -6,8 +6,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.dto.message.BusTemplateMessageDTO;
|
||||
import com.jero.common.common.RoleCommon;
|
||||
import com.jero.common.dto.SendMessageDTO;
|
||||
import com.jero.common.enums.CompanyMessageEnums;
|
||||
import com.jero.common.enums.ManagementMessageEnums;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.service.SendMessageService;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
@@ -101,8 +105,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
private IPayMemberProjectSubitemService memberProjectSubitemService;
|
||||
@Resource
|
||||
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||
@Autowired
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Resource
|
||||
private SendMessageService sendMessageService;
|
||||
|
||||
@Override
|
||||
public IPage<PayIncomeContract> queryPageList(Page<PayIncomeContract> page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime) {
|
||||
@@ -664,6 +668,27 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
updatePayIncomeContract.set(PayIncomeContract::getStatus,PayIncomeContractCommon.STATUS2);
|
||||
payIncomeContractService.update(updatePayIncomeContract);
|
||||
// todo 缺少发送消息
|
||||
// 获取项目负责人,发送消息
|
||||
List<SysUser> list = sysUserService.getRolesUser(Arrays.asList(RoleCommon.CWRY));
|
||||
if(!CollectionUtils.isEmpty(list)){
|
||||
list.forEach(p->{
|
||||
// 发送消息
|
||||
SendMessageDTO sendMessageDTO = new SendMessageDTO();
|
||||
if(!StringUtils.isBlank(p.getEmail())){
|
||||
sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail()));
|
||||
}
|
||||
HashMap<String,String> map = new HashMap<>();
|
||||
map.put("contractNum",payIncomeContractNew.getContractNum());
|
||||
map.put("contractName",payIncomeContractNew.getContractName());
|
||||
sendMessageDTO.setFromUser(sysUser.getId());
|
||||
sendMessageDTO.setToUser(p.getUsername());
|
||||
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG2.getCode());
|
||||
sendMessageDTO.setTemplateParam(map);
|
||||
sendMessageDTO.setBusType("email");
|
||||
sendMessageDTO.setBusId(p.getId());
|
||||
sendMessageService.SendMessageService(sendMessageDTO);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+11
@@ -11,6 +11,8 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import com.jero.common.api.vo.Result;
|
||||
@@ -67,6 +69,8 @@ public class SysAnnouncementController {
|
||||
private ISysAnnouncementSendService sysAnnouncementSendService;
|
||||
@Resource
|
||||
private WebSocket webSocket;
|
||||
@Autowired
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@@ -313,6 +317,13 @@ public class SysAnnouncementController {
|
||||
anntMsgList = sysAnnouncementService.querySysCementPageByUserId(anntMsgList,userId,"1");//通知公告消息
|
||||
Page<SysAnnouncement> sysMsgList = new Page<SysAnnouncement>(0,5);
|
||||
sysMsgList = sysAnnouncementService.querySysCementPageByUserId(sysMsgList,userId,"2");//系统消息
|
||||
if(!CollectionUtils.isEmpty(sysMsgList.getRecords())){
|
||||
List<SysAnnouncement> list = sysMsgList.getRecords();
|
||||
list.forEach(p->{
|
||||
p.setTitile(sysBaseAPI.translateDict("notice_type",p.getTitile()));
|
||||
});
|
||||
sysMsgList.setRecords(list);
|
||||
}
|
||||
Map<String,Object> sysMsgMap = new HashMap<String, Object>();
|
||||
sysMsgMap.put("sysMsgList", sysMsgList.getRecords());
|
||||
sysMsgMap.put("sysMsgTotal", sysMsgList.getTotal());
|
||||
|
||||
Reference in New Issue
Block a user