消息变更

This commit is contained in:
梁琦涛
2021-10-28 18:28:55 +08:00
parent 84789d348c
commit 6ebf03cc09
2 changed files with 136 additions and 11 deletions
@@ -9,8 +9,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
import com.jero.common.common.ProjectCommon;
import com.jero.common.dto.SendMessageDTO;
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.AuthenticationUtils;
import com.jero.common.util.PasswordUtil;
import com.jero.company.entity.PayCompanyManagement;
@@ -55,16 +59,15 @@ import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
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;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -104,13 +107,11 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
@Resource
private PayMailBillProjectMapper payMailBillProjectMapper;
@Resource
private ProjectDetailService projectDetailService;
@Resource
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
@Resource
private IPayCompanyManagementService payCompanyManagementService;
@Resource
private IPayPaymentRecordService payPaymentRecordService;
private SendMessageService sendMessageService;
@Resource
private ISysUserService sysUserService;
@@ -200,6 +201,39 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
//批量插入票据关联项目表
payMailBillProjectService.saveBatch(bmpList);
// 获取项目负责人,发送消息
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!StringUtils.isEmpty(principalId)){
SysUser sysUserInfo = sysUserService.getById(payMailBill.getPrincipalId());
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(sysUserInfo.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(sysUserInfo.getEmail()));
}
if(!StringUtils.isEmpty(sysUserInfo.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(sysUserInfo.getPhone()));
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
HashMap<String,String> map = new HashMap<>();
map.put("projectName", payMailBill.getProjectName());
map.put("time", sdf.format(payMailBill.getCreateTime()));
map.put("amount", String.valueOf(payMailBill.getInvoiceAmount()));
map.put("num", String.valueOf(payMailBill.getBillNo()));
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setToUser(sysUserInfo.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG12.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE12");
// JSONObject json = new JSONObject();
// if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){
// json.put("id",listStr.get(0).getSubId());
// }else if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE2){
// json.put("id",listStr.get(0).getProjectId());
// }
// sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
}
return Result.OK("添加成功!");
}
@@ -1,36 +1,54 @@
package com.jero.payment.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
import com.jero.common.common.RoleCommon;
import com.jero.common.dto.SendMessageDTO;
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;
import com.jero.common.util.oConvertUtils;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.mapper.PayMeetingSituationMapper;
import com.jero.meeting.service.IPayMeetingService;
import com.jero.member.entity.PayMemberProject;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
import com.jero.member.service.IPayMemberProjectService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.payment.entity.PayPaymentRecord;
import com.jero.payment.mapper.PayPaymentRecordMapper;
import com.jero.payment.service.IPayPaymentRecordService;
import com.jero.payment.vo.TbCheckVo;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.mapper.PayCommonProjectMapper;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import com.jero.common.util.AuthenticationUtils;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.vo.PayCommonProjectOutput;
import com.jero.standards.memberinfo.entity.MemberInfo;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
@@ -42,6 +60,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -72,6 +91,16 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
@Resource
private IPayCompanyManagementService payCompanyManagementService;
@Resource
private IPayWorkingGroupService payWorkingGroupService;
@Resource
private IPayMeetingService payMeetingService;
@Resource
private IPayMemberProjectService memberProjectService;
@Resource
private ISysUserService sysUserService;
@Resource
private SendMessageService sendMessageService;
@Value("${jero.path.upload}")
private String upLoadPath;
@@ -127,13 +156,19 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
BigDecimal newPaidAmount;
BigDecimal paidAmount;
Integer inAccount;
String principalId = "";
String project = "";
//累加主列表实收金额
switch (String.valueOf(payPaymentRecord.getProjectType())){
// 普通项目
case PayIncomeContractCommon.PROJECT_TYPE1:
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(payPaymentRecord.getProjectId());
if(Objects.isNull(payCommonProject)){
throw new JeroBootException("项目不存在,不可提交!");
}
principalId = payCommonProject.getPrincipalId();
project = payCommonProject.getChargeProject();
receivableAmount = payCommonProject.getReceivableAmount();//应收
paidAmount=payCommonProject.getPaidAmount();//实收
//是否还能再添加来款
@@ -157,7 +192,15 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
// 工作组项目
case PayIncomeContractCommon.PROJECT_TYPE2:
PayWorkingGroupSubItem payWorking = payWorkingGroupSubItemMapper.selectById(payPaymentRecord.getProjectId());
if(Objects.isNull(payWorking)){
throw new JeroBootException("项目不存在,不可提交!");
}
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorking.getWorkingGroupId());
if(Objects.isNull(payWorkingGroup)){
throw new JeroBootException("工作组不存在,不可提交!");
}
principalId = payWorkingGroup.getPrincipalIdA();
project = payWorkingGroup.getWorkingGroupProject();
receivableAmount = payWorking.getReceivableAmount();//应收
paidAmount=payWorking.getPaidAmount();//实收
@@ -182,7 +225,15 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
//会议项目
case PayIncomeContractCommon.PROJECT_TYPE3:
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(payPaymentRecord.getProjectId());
if(Objects.isNull(meeting)){
throw new JeroBootException("项目不存在,不可提交!");
}
PayMeeting payMeeting =payMeetingService.getById(meeting.getMeetingId());
if(Objects.isNull(payMeeting)){
throw new JeroBootException("会议不存在,不可提交!");
}
principalId = payMeeting.getDirectorId();
project = payMeeting.getMeetingName();
receivableAmount = meeting.getAmountReceivable();//应收
paidAmount=meeting.getPaidAmount();//实收
@@ -211,7 +262,15 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
//会员项目
case PayIncomeContractCommon.PROJECT_TYPE4:
PayMemberProjectSubitem member = payMemberProjectSubitemMapper.selectById(payPaymentRecord.getProjectId());
if(Objects.isNull(member)){
throw new JeroBootException("项目不存在,不可提交!");
}
PayMemberProject payMemberProject = memberProjectService.getById(member.getProjectId());
if(Objects.isNull(payMemberProject)){
throw new JeroBootException("会员项目不存在,不可提交!");
}
principalId = payMemberProject.getDirectorId();
project = payMemberProject.getProjectName();
receivableAmount = member.getAmountReceivable();//应收
paidAmount=member.getPaidAmount();//实收
@@ -272,6 +331,38 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
//插入来款记录表
payPaymentRecordMapper.insert(payPaymentRecord);
// return Result.OK("添加成功!");
// 发消息
// 获取项目负责人,发送消息
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!StringUtils.isEmpty(principalId)){
SysUser sysUserInfo = sysUserService.getById(principalId);
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(sysUserInfo.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(sysUserInfo.getEmail()));
}
if(!StringUtils.isEmpty(sysUserInfo.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(sysUserInfo.getPhone()));
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
HashMap<String,String> map = new HashMap<>();
map.put("projectName", project);
map.put("time", sdf.format(payPaymentRecord.getCreateTime()));
map.put("amount", String.valueOf(payPaymentRecord.getAmountReceived()));
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setToUser(sysUserInfo.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG11.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE11");
// JSONObject json = new JSONObject();
// if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){
// json.put("id",listStr.get(0).getSubId());
// }else if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE2){
// json.put("id",listStr.get(0).getProjectId());
// }
// sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
}
}
/**