消息修改

This commit is contained in:
梁琦涛
2021-09-24 13:53:36 +08:00
parent 396e7079f1
commit 15081d4dbb
15 changed files with 332 additions and 25 deletions
@@ -94,4 +94,40 @@ public class ProjectCommon {
* 邮寄状态(0:未邮寄,1:已邮寄)
*/
public final static Integer POST_STATUS1 = 1;
/**
* 收入合同处新增标识 flag = 1
*/
public final static String FLAG = "1";
/**
* 项目提醒
*/
public final static String ALERT1 = "1";
/**
* 合同提醒
*/
public final static String ALERT2 = "2";
/**
* 会议提醒
*/
public final static String ALERT3 = "3";
/**
* 打包提醒
*/
public final static String ALERT4 = "4";
/**
* 企业提醒
*/
public final static String ALERT5 = "5";
/**
* 文件提醒
*/
public final static String ALERT6 = "6";
/**
* 邮寄提醒
*/
public final static String ALERT7 = "7";
/**
* 催款提醒
*/
public final static String ALERT8 = "8";
}
@@ -0,0 +1,9 @@
package com.jero.common.common;
public class RoleCommon {
/**
* 项目负责人
*/
public final static String XMFZR = "xmfzr";
}
@@ -0,0 +1,63 @@
package com.jero.common.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.HashMap;
/**
* @Description 发送短信,消息,邮件
* @Author lqt
* @Date 2021/9/24
*/
@Data
public class SendMessageDTO implements Serializable {
/**
* 发送短信设置true
*/
private boolean sendSMS;
/**
* 发送消息设置true
*/
private boolean sendMessage;
/**
* 发送email设置true
*/
private boolean sendEmail;
/**
* 发送人(用户登录账户)
*/
private String fromUser;
/**
* 发送给(用户登录账户)
*/
private String toUser;
/**
* 手机号(发送短信必传)
*/
private String phone;
/**
* 邮箱地址(发送邮箱必传)
*/
private String email;
/**
* 消息主题
*/
private String title;
/**
* 业务类型
*/
private String busType;
/**
* 业务id
*/
private String busId;
/**
* 模板编码
*/
private String templateCode;
/**
* 模板参数
*/
private HashMap<String, String> templateParam;
}
@@ -0,0 +1,15 @@
package com.jero.common.service;
import com.jero.common.dto.SendMessageDTO;
public interface SendMessageService {
/**
* @Description 发送短信,消息,邮件
* @Author lqt
* @Date 2021/9/24
* @Param sendMessageDTO
* @Return
* @Exception
*/
void SendMessageService(SendMessageDTO sendMessageDTO);
}
@@ -0,0 +1,53 @@
package com.jero.common.service.impl;
import com.jero.common.api.dto.message.BusTemplateMessageDTO;
import com.jero.common.dto.SendMessageDTO;
import com.jero.common.enums.CompanyMessageEnums;
import com.jero.common.service.SendMessageService;
import com.jero.common.system.api.ISysBaseAPI;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Service;
import java.util.Objects;
@Service
public class SendMessageServiceImpl implements SendMessageService {
@Autowired
private ISysBaseAPI sysBaseAPI;
@Autowired
private Environment env;
/**
* 超时时间
*/
private String time = "60";
/**
* 短信类型
*/
private String type = "5";
@Override
public void SendMessageService(SendMessageDTO sendMessageDTO) {
// 发送邮件 true
if(sendMessageDTO.isSendEmail()){
sysBaseAPI.sendEmailTemplateMsg(sendMessageDTO.getEmail(), sendMessageDTO.getTitle(), sendMessageDTO.getTemplateCode(),sendMessageDTO.getTemplateParam());
}
// 发送消息
if(sendMessageDTO.isSendMessage()){
BusTemplateMessageDTO busTemplateMessageDTO = new BusTemplateMessageDTO();
busTemplateMessageDTO.setTitle(sendMessageDTO.getTitle());
busTemplateMessageDTO.setFromUser(sendMessageDTO.getFromUser());
busTemplateMessageDTO.setToUser(sendMessageDTO.getToUser());
busTemplateMessageDTO.setTemplateCode(sendMessageDTO.getTemplateCode());
busTemplateMessageDTO.setTemplateParam(sendMessageDTO.getTemplateParam());
busTemplateMessageDTO.setBusType(sendMessageDTO.getBusType());
busTemplateMessageDTO.setBusId(sendMessageDTO.getBusId());
// 发送消息
sysBaseAPI.sendBusTemplateAnnouncement(busTemplateMessageDTO);
}
// todo 发送短信 待完成
if(Objects.equals(env.getProperty("huaWeiSms.open"),true) && sendMessageDTO.isSendSMS()){
sysBaseAPI.sendSMS(sendMessageDTO.getPhone(),type,time,sendMessageDTO.getTemplateCode(),sendMessageDTO.getTemplateParam());
}
}
}
@@ -13,6 +13,7 @@ import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.jero.common.api.vo.Result;
import com.jero.common.common.ProjectCommon;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ProjectDetailService;
import com.jero.common.system.api.ISysBaseAPI;
@@ -6,8 +6,11 @@ import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.dto.message.BusTemplateMessageDTO;
import com.jero.common.api.vo.Result;
import com.jero.common.common.ProjectCommon;
import com.jero.common.dto.SendMessageDTO;
import com.jero.common.enums.CompanyMessageEnums;
import com.jero.common.service.ProjectDetailService;
import com.jero.common.service.SendMessageService;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.vo.LoginUser;
@@ -53,6 +56,8 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
private IPayWorkingGroupService payWorkingGroupService;
@Autowired
private ISysBaseAPI sysBaseAPI;
@Autowired
private SendMessageService sendMessageService;
/**
* 分页列表查询
@@ -147,29 +152,32 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
if(CollectionUtils.isEmpty(listPayContactsManagementTemporary)){
return Result.error("联系人不存在!");
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
listPayWorkingGroupSubItem.forEach(p->{
List<PayContactsManagementTemporary> listContactsEmail = listPayContactsManagementTemporary.stream().filter(item->Objects.equals(p.getContactsTemporaryIdOne(),item.getId())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(listContactsEmail)){
List<PayContactsManagementTemporary> listContactsInfo = listPayContactsManagementTemporary.stream().filter(item->Objects.equals(p.getContactsTemporaryIdOne(),item.getId())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(listContactsInfo)){
return;
}
if(StringUtils.isBlank(listContactsEmail.get(0).getEmail())){
if(StringUtils.isBlank(listContactsInfo.get(0).getEmail()) || StringUtils.isBlank(listContactsInfo.get(0).getPhone())){
return;
}
HashMap<String,String> map = new HashMap<>();
map.put("projectName",payWorkingGroup.getWorkingGroupProject());
// 发送邮件
sysBaseAPI.sendEmailTemplateMsg(PasswordUtil.decrypt(listContactsEmail.get(0).getEmail()), CompanyMessageEnums.MSG11.getValue(), CompanyMessageEnums.MSG11.getCode(),map);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
BusTemplateMessageDTO busTemplateMessageDTO = new BusTemplateMessageDTO();
busTemplateMessageDTO.setTitle(CompanyMessageEnums.MSG11.getValue());
busTemplateMessageDTO.setFromUser(sysUser.getId());
busTemplateMessageDTO.setToUser(sysUser.getUsername());
busTemplateMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode());
busTemplateMessageDTO.setTemplateParam(map);
busTemplateMessageDTO.setBusType("email");
busTemplateMessageDTO.setBusId(p.getId());
// 发送消息
sysBaseAPI.sendBusTemplateAnnouncement(busTemplateMessageDTO);
SendMessageDTO sendMessageDTO = new SendMessageDTO();
sendMessageDTO.setSendEmail(true);
sendMessageDTO.setSendMessage(true);
sendMessageDTO.setSendSMS(true);
sendMessageDTO.setTitle(ProjectCommon.ALERT8);
sendMessageDTO.setFromUser(sysUser.getId());
sendMessageDTO.setToUser(sysUser.getUsername());// PasswordUtil.decrypt(listContactsInfo.get(0).getPhone())
sendMessageDTO.setPhone(PasswordUtil.decrypt(listContactsInfo.get(0).getPhone()));
sendMessageDTO.setEmail(PasswordUtil.decrypt(listContactsInfo.get(0).getEmail()));
sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("email");
sendMessageDTO.setBusId(p.getId());
sendMessageService.SendMessageService(sendMessageDTO);
});
return Result.OK("添加成功!");
}
@@ -199,4 +199,10 @@ public class PayCommonProject implements Serializable {
@TableField(exist = false)
@ApiModelProperty(value = "联系人邮箱")
private String email;
/**
* 收入合同处新增标识 flag = 1
*/
@TableField(exist = false)
@ApiModelProperty(value = "收入合同处新增标识 flag = 1")
private String flag;
}
@@ -5,15 +5,25 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.common.ProjectCommon;
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.ProjectDetailService;
import com.jero.common.service.SendMessageService;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.common.vo.ProjectStatusVO;
import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.modules.system.entity.SysRole;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysRoleService;
import com.jero.modules.system.service.ISysUserService;
import com.jero.pack.entity.PayPackCompany;
import com.jero.pack.entity.PayPackCompanyProject;
@@ -34,6 +44,7 @@ import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -43,10 +54,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.*;
/**
* @Description: pay_common_project
@@ -74,6 +82,9 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
private IPayPackCompanyProjectService payPackCompanyProjectService;
@Autowired
private ProjectDetailService projectDetailService;
@Autowired
private SendMessageService sendMessageService;
@Override
@@ -120,6 +131,37 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
}
}
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(Objects.equals(ProjectCommon.FLAG,payCommonProject.getFlag())){
// 获取项目负责人,发送消息
List<SysUser> list = sysUserService.getRolesUser(Arrays.asList(RoleCommon.XMFZR));
if(!CollectionUtils.isEmpty(list)){
list.forEach(p->{
if(StringUtils.isBlank(p.getEmail())){
return;
}
HashMap<String,String> map = new HashMap<>();
map.put("projectName",payCommonProject.getChargeProject());
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
sendMessageDTO.setSendEmail(true);
sendMessageDTO.setSendMessage(true);
sendMessageDTO.setSendSMS(true);
sendMessageDTO.setTitle(ProjectCommon.ALERT1);
sendMessageDTO.setFromUser(sysUser.getId());
sendMessageDTO.setToUser(p.getUsername());
sendMessageDTO.setPhone(PasswordUtil.decrypt(p.getPhone()));
sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail()));
sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG11.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("email");
sendMessageDTO.setBusId(p.getId());
sendMessageService.SendMessageService(sendMessageDTO);
});
}
}
}
@Override