消息变更
This commit is contained in:
+178
-28
@@ -1,6 +1,7 @@
|
||||
package com.jero.mail.service.impl;
|
||||
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -10,6 +11,7 @@ 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.CompanyMessageEnums;
|
||||
import com.jero.common.enums.ManagementMessageEnums;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.service.ProjectDetailService;
|
||||
@@ -37,6 +39,7 @@ import com.jero.meeting.entity.PayMeeting;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.mapper.PayMeetingMapper;
|
||||
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.TbMemberProject;
|
||||
@@ -45,18 +48,24 @@ import com.jero.member.mapper.PayMemberProjectMapper;
|
||||
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
|
||||
import com.jero.member.mapper.TbMemberProjectMapper;
|
||||
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
||||
import com.jero.member.service.IPayMemberProjectService;
|
||||
import com.jero.member.service.ITbMemberProjectService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.payment.entity.PayPaymentRecord;
|
||||
import com.jero.payment.service.IPayPaymentRecordService;
|
||||
import com.jero.payment.vo.TbCheckVo;
|
||||
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.PayWorkingGroupMapper;
|
||||
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
@@ -114,6 +123,18 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
private SendMessageService sendMessageService;
|
||||
@Resource
|
||||
private ISysUserService sysUserService;
|
||||
@Resource
|
||||
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
|
||||
@Resource
|
||||
private IPayContactsManagementService payContactsManagementService;
|
||||
@Resource
|
||||
private ITbMemberProjectService tbMemberProjectService;
|
||||
@Resource
|
||||
private IPayWorkingGroupService payWorkingGroupService;
|
||||
@Resource
|
||||
private IPayMeetingService payMeetingService;
|
||||
@Resource
|
||||
private IPayMemberProjectService memberProjectService;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -204,36 +225,165 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
// 获取项目负责人,发送消息
|
||||
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()));
|
||||
String[] str = principalId.toString().split(",");
|
||||
for (int i = 0; i < str.length; i++) {
|
||||
SysUser sysUserInfo = sysUserService.getById(str[i]);
|
||||
// 发送消息
|
||||
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();
|
||||
json.put("id",bmpList.get(0).getProjectId());
|
||||
sendMessageDTO.setBusId(json.toJSONString());
|
||||
sendMessageService.SendMessageService(sendMessageDTO);
|
||||
}
|
||||
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);
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(bmpList)){
|
||||
// 获取项目企业联系人 发消息
|
||||
bmpList.forEach(p->{
|
||||
String project = "";
|
||||
List<PayContactsManagementTemporary> listId = new ArrayList<>();
|
||||
//累加主列表实收金额
|
||||
switch (String.valueOf(p.getProjectType())){
|
||||
// 普通项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(p.getProjectId());
|
||||
if(Objects.isNull(payCommonProject)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
PayContactsManagementTemporary payCommonProjectTemporary = payContactsManagementTemporaryService.getById(payCommonProject.getContactsTemporaryId());
|
||||
if(!Objects.isNull(payCommonProjectTemporary)){
|
||||
listId.add(payCommonProjectTemporary);
|
||||
}
|
||||
project = payCommonProject.getChargeProject();
|
||||
break;
|
||||
// 工作组项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
PayWorkingGroupSubItem payWorking = payWorkingGroupSubItemMapper.selectById(p.getProjectId());
|
||||
if(Objects.isNull(payWorking)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorking.getWorkingGroupId());
|
||||
if(Objects.isNull(payWorkingGroup)){
|
||||
throw new JeroBootException("工作组不存在!");
|
||||
}
|
||||
PayContactsManagementTemporary payWorkingTemporaryOne = payContactsManagementTemporaryService.getById(payWorking.getContactsTemporaryIdOne());
|
||||
if(!Objects.isNull(payWorkingTemporaryOne)){
|
||||
listId.add(payWorkingTemporaryOne);
|
||||
}
|
||||
if(!StringUtils.isBlank(payWorking.getContactsTemporaryIdTwo())){
|
||||
PayContactsManagementTemporary payWorkingTemporaryTwo = payContactsManagementTemporaryService.getById(payWorking.getContactsTemporaryIdTwo());
|
||||
if(!Objects.isNull(payWorkingTemporaryTwo)){
|
||||
listId.add(payWorkingTemporaryTwo);
|
||||
}
|
||||
}
|
||||
if(!StringUtils.isBlank(payWorking.getContactsTemporaryIdThree())){
|
||||
PayContactsManagementTemporary payWorkingTemporaryThree = payContactsManagementTemporaryService.getById(payWorking.getContactsTemporaryIdThree());
|
||||
if(!Objects.isNull(payWorkingTemporaryThree)){
|
||||
listId.add(payWorkingTemporaryThree);
|
||||
}
|
||||
}
|
||||
project = payWorkingGroup.getWorkingGroupProject();
|
||||
break;
|
||||
//会议项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(p.getProjectId());
|
||||
if(Objects.isNull(meeting)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
PayMeeting payMeeting = payMeetingService.getById(meeting.getMeetingId());
|
||||
if(Objects.isNull(payMeeting)){
|
||||
throw new JeroBootException("会议不存在!");
|
||||
}
|
||||
PayContactsManagement meetingPayContactsManagement = payContactsManagementService.getById(meeting.getContractId());
|
||||
if(!Objects.isNull(meetingPayContactsManagement)){
|
||||
String str = JSON.toJSONString(meetingPayContactsManagement);
|
||||
PayContactsManagementTemporary meetingTemporary = JSONObject.parseObject(str,PayContactsManagementTemporary.class);
|
||||
listId.add(meetingTemporary);
|
||||
}
|
||||
project = payMeeting.getMeetingName();
|
||||
break;
|
||||
//会员项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
PayMemberProjectSubitem member = payMemberProjectSubitemMapper.selectById(p.getProjectId());
|
||||
if(Objects.isNull(member)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
PayMemberProject payMemberProject = memberProjectService.getById(member.getProjectId());
|
||||
if(Objects.isNull(payMemberProject)){
|
||||
throw new JeroBootException("会员项目不存在!");
|
||||
}
|
||||
PayContactsManagementTemporary memberTemporary = payContactsManagementTemporaryService.getById(member.getCompanyContactTemporaryId());
|
||||
if(!Objects.isNull(memberTemporary)){
|
||||
listId.add(memberTemporary);
|
||||
}
|
||||
project = payMemberProject.getProjectName();
|
||||
break;
|
||||
//标协会员
|
||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||
TbMemberProjectSubitem tbMember = tbMemberProjectSubitemMapper.selectById(p.getProjectId());
|
||||
if(Objects.isNull(tbMember)){
|
||||
throw new JeroBootException("标协会员成员不存在!");
|
||||
}
|
||||
TbMemberProject tbMemberProject = tbMemberProjectService.getById(tbMember.getProjectId());
|
||||
if(Objects.isNull(tbMemberProject)){
|
||||
throw new JeroBootException("标协会员不存在!");
|
||||
}
|
||||
project = tbMemberProject.getProjectName();
|
||||
PayContactsManagement tbMemberPayContactsManagement = payContactsManagementService.getById(tbMember.getLiaisonManId());
|
||||
if(!Objects.isNull(tbMemberPayContactsManagement)){
|
||||
String str = JSON.toJSONString(tbMemberPayContactsManagement);
|
||||
PayContactsManagementTemporary meetingTemporary = JSONObject.parseObject(str,PayContactsManagementTemporary.class);
|
||||
listId.add(meetingTemporary);
|
||||
}
|
||||
break;
|
||||
default:break;
|
||||
|
||||
}
|
||||
|
||||
// 发送给项目企业联系人
|
||||
if(!CollectionUtils.isEmpty(listId)){
|
||||
String finalProject = project;
|
||||
listId.forEach(p1->{
|
||||
// 发送消息
|
||||
SendMessageDTO sendMessageDTO = new SendMessageDTO();
|
||||
if(!StringUtils.isBlank(p1.getEmail())){
|
||||
sendMessageDTO.setEmail(PasswordUtil.decrypt(p1.getEmail()));
|
||||
}
|
||||
if(!StringUtils.isEmpty(p1.getPhone())){
|
||||
sendMessageDTO.setPhone(PasswordUtil.decrypt(p1.getPhone()));
|
||||
sendMessageDTO.setToUser(PasswordUtil.decrypt(p1.getPhone()));
|
||||
}
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
HashMap<String,String> map = new HashMap<>();
|
||||
map.put("projectName", finalProject);
|
||||
sendMessageDTO.setFromUser(sysUser.getUsername());
|
||||
sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG15.getCode());
|
||||
sendMessageDTO.setTemplateParam(map);
|
||||
sendMessageDTO.setBusType("C_OPEN_TYPE15");
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("id",p.getProjectId());
|
||||
sendMessageDTO.setBusId(json.toJSONString());
|
||||
sendMessageService.SendMessageService(sendMessageDTO);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
@@ -353,7 +503,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
return "打包开票只能是同一个企业";
|
||||
}
|
||||
oldInvoiceAmount = payCommonProject.getInvoiceAmount();
|
||||
if(oldInvoiceAmount==null){
|
||||
if(oldInvoiceAmount == null){
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//之前开票总额+本次开票金额
|
||||
|
||||
Reference in New Issue
Block a user