diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java index 750dc527..b307a099 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/CompanyMessageEnums.java @@ -24,9 +24,10 @@ public enum CompanyMessageEnums { MSG10("QY_10_YJTZ_MAIL_CONTRACT","邮寄通知","contractName"),//查看该物流信息,contractName MSG11("QY_11_CKTZ_PAY","催款通知","projectName"),//弹窗:查看该项目详情 MSG12("QY_12_WJTZ_WORK_GROUP_SEND","文件通知","workGroupName,systemAddress,wxName"),//弹窗:查看该项目详情,workGroupName,systemUrl,wxName - MSG13("QY_13_JFTZ_DZ_CREATE","缴费通知","projectName,amount"),//弹窗:查看该项目详情,projectName,amount - MSG14("QY_14_KPTZ_KP_CREATE","开票通知","projectName"),//弹窗:查看该项目详情,projectName - MSG15("QY_15_HYTZ_NOT_AUDIT_CREATE","会议通知","");//弹窗:查看该会议详情 + MSG13("QY_13_HYTZ_FBW_CREATE","会议通知","meetingName,busId"),//点击跳转到报名页面,meetingName,busId + MSG14("QY_14_JFTZ_DZ_CREATE","缴费通知","projectName,amount"),//弹窗:查看该项目详情,projectName,amount + MSG15("QY_15_KPTZ_KP_CREATE","开票通知","projectName"),//弹窗:查看该项目详情,projectName + MSG16("QY_16_HYTZ_NOT_AUDIT_CREATE","会议通知","");//弹窗:查看该会议详情 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/MessageUrlEnums.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/MessageUrlEnums.java index 2cd1054b..efebe528 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/MessageUrlEnums.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/enums/MessageUrlEnums.java @@ -21,11 +21,11 @@ public enum MessageUrlEnums { 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"), - M_OPEN_TYPE10("M_OPEN_TYPE10","url","/businessManagement/BusinessManagement"),// todo 未改 - M_OPEN_TYPE11("M_OPEN_TYPE11","url","/businessManagement/BusinessManagement"),// todo 未改 - M_OPEN_TYPE12("M_OPEN_TYPE12","url","/businessManagement/BusinessManagement"),// todo 未改 - M_OPEN_TYPE13("M_OPEN_TYPE13","url","/businessManagement/BusinessManagement"),// todo 未改 - M_OPEN_TYPE14("M_OPEN_TYPE14","url","/businessManagement/BusinessManagement"),// todo 未改 + M_OPEN_TYPE10("M_OPEN_TYPE10","url","/incomePayments/meetManage/AttendanceInternalMeeting"), + M_OPEN_TYPE11("M_OPEN_TYPE11","component","@comp/ProjectDetailModal"), + M_OPEN_TYPE12("M_OPEN_TYPE12","component","@comp/ProjectDetailModal"), + M_OPEN_TYPE13("M_OPEN_TYPE13","component","@comp/ProjectDetailModal"), + M_OPEN_TYPE14("M_OPEN_TYPE14","url","/contractManagement/RevenueContractDetail"), // todo 待定企业端 C_OPEN_TYPE1("C_OPEN_TYPE1","href",""), C_OPEN_TYPE2("C_OPEN_TYPE2","component","MessagePage/MeetingDetailModal"), @@ -39,9 +39,10 @@ public enum MessageUrlEnums { C_OPEN_TYPE10("C_OPEN_TYPE10","href","https://www.kuaidi100.com/all/hhair56.shtml?mscomnu"), C_OPEN_TYPE11("C_OPEN_TYPE11","component","MessagePage/ProjectDetailModal"), C_OPEN_TYPE12("C_OPEN_TYPE12","component","MessagePage/ProjectDetailModal"), - C_OPEN_TYPE13("C_OPEN_TYPE13","href",""),// todo 未改 - C_OPEN_TYPE14("C_OPEN_TYPE14","href",""),// todo 未改 - C_OPEN_TYPE15("C_OPEN_TYPE15","href","");// todo 未改 + C_OPEN_TYPE13("C_OPEN_TYPE13","href",""), + C_OPEN_TYPE14("C_OPEN_TYPE14","component","MessagePage/ProjectDetailModal"), + C_OPEN_TYPE15("C_OPEN_TYPE15","component","MessagePage/ProjectDetailModal"), + C_OPEN_TYPE16("C_OPEN_TYPE16","component","MessagePage/ProjectDetailModal"); /** diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java index 560d8f98..7249940e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java @@ -32,7 +32,9 @@ import com.jero.payment.service.IPayPaymentRecordService; import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.PayCommonProject; import com.jero.project.entity.PayWorkingGroupDistributionRecord; +import com.jero.project.entity.PayWorkingGroupSubItem; import com.jero.project.service.IPayWorkingGroupDistributionRecordService; +import com.jero.project.service.IPayWorkingGroupSubItemService; import com.jero.temporary.entity.PayCompanyManagementTemporary; import com.jero.temporary.entity.PayContactsManagementTemporary; import com.jero.temporary.service.IPayCompanyManagementTemporaryService; @@ -76,6 +78,8 @@ public class ProjectDetailServiceImpl implements ProjectDetailService { private IPayWorkingGroupDistributionRecordService payWorkingGroupDistributionRecordService; @Resource private ISysUserService sysUserService; + @Resource + private IPayWorkingGroupSubItemService payWorkingGroupSubItemService; @Override public ProjectDetailVO getProjectDetail(String projectId) { @@ -226,6 +230,58 @@ public class ProjectDetailServiceImpl implements ProjectDetailService { } projectDetailVO.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode()); projectDetailVO.setContactAddress(payContactsManagementTemporary.getContactAddress()); + // 工作组 添加企业联系人2,联系人3 + if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE2)){ + PayWorkingGroupSubItem payWorkingGroupSubItem = payWorkingGroupSubItemService.getById(projectId); + if(Objects.isNull(payWorkingGroupSubItem)){ + throw new JeroBootException("项目不存在!"); + } + projectDetailVO.setRemarksOne(payWorkingGroupSubItem.getRemarksOne()); + + if(!StringUtils.isEmpty(payWorkingGroupSubItem.getContactsIdTwo())){ + projectDetailVO.setRemarksTwo(payWorkingGroupSubItem.getRemarksTwo()); + PayContactsManagementTemporary payContactsManagementTemporary2 = payContactsManagementTemporaryService.getById(payWorkingGroupSubItem.getContactsTemporaryIdTwo()); + if(Objects.isNull(payContactsManagementTemporary2)){ + throw new JeroBootException("联系人2不存在!"); + } + projectDetailVO.setNameTwo(payContactsManagementTemporary2.getName()); + projectDetailVO.setGenderTwo(payContactsManagementTemporary2.getGender()); + if(!Objects.isNull(payContactsManagementTemporary2.getGender())){ + projectDetailVO.setGenderTwo_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender()))); + } + projectDetailVO.setPostTwo(payContactsManagementTemporary2.getPost()); + if(!StringUtils.isBlank(payContactsManagementTemporary2.getPhone())){ + projectDetailVO.setPhoneTwo(PasswordUtil.decrypt(payContactsManagementTemporary2.getPhone())); + } + if(!StringUtils.isBlank(payContactsManagementTemporary2.getEmail())){ + projectDetailVO.setEmailTwo(PasswordUtil.decrypt(payContactsManagementTemporary2.getEmail())); + } + projectDetailVO.setPostalCodeContactsTwo(payContactsManagementTemporary2.getPostalCode()); + projectDetailVO.setContactAddressTwo(payContactsManagementTemporary2.getContactAddress()); + } + + if(!StringUtils.isEmpty(payWorkingGroupSubItem.getContactsIdThree())){ + projectDetailVO.setRemarksThree(payWorkingGroupSubItem.getRemarksThree()); + PayContactsManagementTemporary payContactsManagementTemporary3 = payContactsManagementTemporaryService.getById(payWorkingGroupSubItem.getContactsTemporaryIdThree()); + if(Objects.isNull(payContactsManagementTemporary3)){ + throw new JeroBootException("联系人3不存在!"); + } + projectDetailVO.setNameThree(payContactsManagementTemporary3.getName()); + projectDetailVO.setGenderThree(payContactsManagementTemporary3.getGender()); + if(!Objects.isNull(payContactsManagementTemporary3.getGender())){ + projectDetailVO.setGenderThree_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary3.getGender()))); + } + projectDetailVO.setPostThree(payContactsManagementTemporary3.getPost()); + if(!StringUtils.isBlank(payContactsManagementTemporary3.getPhone())){ + projectDetailVO.setPhoneThree(PasswordUtil.decrypt(payContactsManagementTemporary3.getPhone())); + } + if(!StringUtils.isBlank(payContactsManagementTemporary3.getEmail())){ + projectDetailVO.setEmailThree(PasswordUtil.decrypt(payContactsManagementTemporary3.getEmail())); + } + projectDetailVO.setPostalCodeContactsThree(payContactsManagementTemporary3.getPostalCode()); + projectDetailVO.setContactAddressThree(payContactsManagementTemporary3.getContactAddress()); + } + } } // 到账信息 LambdaQueryWrapper queryWrapperPayPaymentRecord = new LambdaQueryWrapper<>(); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java index 97ad8074..9c3e846e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java @@ -401,23 +401,29 @@ public class SendMessageServiceImpl implements SendMessageService { signature = "中汽中心标准所"; templateId = "e1a089109aaa4820927d488613171b54"; break; - case "QY_13_JFTZ_DZ_CREATE": + case "QY_13_HYTZ_FBW_CREATE": //中汽中心标准所-企业端-缴费通知-13 sender = "8821092414406"; signature = "中汽中心标准所"; - templateId = "8beb893a9ce64444a71019c9eec6e310"; + templateId = "926e49e09008438b88d80849fe9f5bbb"; break; - case "QY_14_KPTZ_KP_CREATE": - //中汽中心标准所-企业端-开票通知-14 + case "QY_14_JFTZ_DZ_CREATE": + //中汽中心标准所-企业端-缴费通知-14 sender = "8821092414406"; signature = "中汽中心标准所"; - templateId = "9895707d70584324b3ff398b362a83e6"; + templateId = "";// todo id break; - case "QY_15_HYTZ_NOT_AUDIT_CREATE": - //中汽中心标准所-企业端-会议通知-15 + case "QY_15_KPTZ_KP_CREATE": + //中汽中心标准所-企业端-开票通知-15 sender = "8821092414406"; signature = "中汽中心标准所"; - templateId = "5f438a655ed148c69f9d17e881112017"; + templateId = "";// todo id + break; + case "QY_16_HYTZ_NOT_AUDIT_CREATE": + //中汽中心标准所-企业端-会议通知-16 + sender = "8821092414406"; + signature = "中汽中心标准所"; + templateId = "";// todo id break; default: throw new JeroBootException("codeType flase."); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/vo/ProjectDetailVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/vo/ProjectDetailVO.java index 56a3cd5b..233feb03 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/vo/ProjectDetailVO.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/vo/ProjectDetailVO.java @@ -5,6 +5,7 @@ import com.jero.mail.entity.PayMailBill; import com.jero.payment.entity.PayPaymentRecord; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; import javax.validation.constraints.Size; import java.io.Serializable; @@ -89,6 +90,8 @@ public class ProjectDetailVO implements Serializable { */ @ApiModelProperty(value = "企业地址") private String companyAddress; + + /** * 企业联系人 */ @@ -129,6 +132,103 @@ public class ProjectDetailVO implements Serializable { */ @ApiModelProperty(value = "企业联系人地址") private String contactAddress; + /**联系人1备注*/ + @ApiModelProperty(value = "联系人1备注") + private String remarksOne; + + + + /** + * 企业联系人2 + */ + @ApiModelProperty(value = "企业联系人2") + private String nameTwo; + /** + * 企业联系人性别2 + */ + @ApiModelProperty(value = "企业联系人性别2") + private String genderTwo; + /** + * 企业联系人性别2 + */ + @ApiModelProperty(value = "企业联系人性别2") + private String genderTwo_dictText; + /** + * 企业联系人职务2 + */ + @ApiModelProperty(value = "企业联系人职务2") + private String postTwo; + /** + * 企业联系人电话2 + */ + @ApiModelProperty(value = "企业联系人电话2") + private String phoneTwo; + /** + * 企业联系人邮箱2 + */ + @ApiModelProperty(value = "企业联系人邮箱2") + private String emailTwo; + /** + * 企业联系人邮编2 + */ + @ApiModelProperty(value = "企业联系人邮编2") + private String postalCodeContactsTwo; + /** + * 企业联系人地址2 + */ + @ApiModelProperty(value = "企业联系人地址2") + private String contactAddressTwo; + /**联系人2备注*/ + @ApiModelProperty(value = "联系人2备注") + private String remarksTwo; + + + /** + * 企业联系人3 + */ + @ApiModelProperty(value = "企业联系人3") + private String nameThree; + /** + * 企业联系人性别3 + */ + @ApiModelProperty(value = "企业联系人性别3") + private String genderThree; + /** + * 企业联系人性别3 + */ + @ApiModelProperty(value = "企业联系人性别3") + private String genderThree_dictText; + /** + * 企业联系人职务3 + */ + @ApiModelProperty(value = "企业联系人职务3") + private String postThree; + /** + * 企业联系人电话3 + */ + @ApiModelProperty(value = "企业联系人电话3") + private String phoneThree; + /** + * 企业联系人邮箱3 + */ + @ApiModelProperty(value = "企业联系人邮箱3") + private String emailThree; + /** + * 企业联系人邮编3 + */ + @ApiModelProperty(value = "企业联系人邮编3") + private String postalCodeContactsThree; + /** + * 企业联系人地址3 + */ + @ApiModelProperty(value = "企业联系人地址3") + private String contactAddressThree; + /**联系人3备注*/ + @ApiModelProperty(value = "联系人3备注") + private String remarksThree; + + + /** 资料id,多个资料文件,逗号分隔 **/ @ApiModelProperty(value = "资料id,多个资料文件,逗号分隔") private String files; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java index 935a316a..88b0940a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java @@ -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 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 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 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 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 listId = new ArrayList<>(); //累加主列表实收金额 switch (String.valueOf(payPaymentRecord.getProjectType())){ @@ -171,6 +187,10 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl{ + // 发送消息 + SendMessageDTO sendMessageDTO = new SendMessageDTO(); + if(!StringUtils.isBlank(p.getEmail())){ + sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail())); + } + if(!StringUtils.isEmpty(p.getPhone())){ + sendMessageDTO.setPhone(PasswordUtil.decrypt(p.getPhone())); + sendMessageDTO.setToUser(PasswordUtil.decrypt(p.getPhone())); + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + HashMap map = new HashMap<>(); + map.put("projectName", finalProject); + map.put("amount", String.valueOf(payPaymentRecord.getAmountReceived())); + sendMessageDTO.setFromUser(sysUser.getUsername()); + sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG14.getCode()); + sendMessageDTO.setTemplateParam(map); + sendMessageDTO.setBusType("C_OPEN_TYPE14"); + JSONObject json = new JSONObject(); + json.put("id",payPaymentRecord.getProjectId()); + sendMessageDTO.setBusId(json.toJSONString()); + sendMessageService.SendMessageService(sendMessageDTO); + }); + } } /** diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java index 00f6bc9a..03894ea9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java @@ -69,17 +69,27 @@ public class PayWorkingGroupSubItem implements Serializable { @Excel(name = "企业联系人1", width = 15) @ApiModelProperty(value = "临时企业联系人1名称") private java.lang.String contactsTemporaryNameOne; + /**联系人1备注*/ + @Excel(name = "联系人1备注", width = 15) + @ApiModelProperty(value = "联系人1备注") + @Size(max = 50,message = "联系人1备注长度不能大于50个字符") + private java.lang.String remarksOne; /**企业联系人2id*/ @ApiModelProperty(value = "企业联系人2id") @Size(max = 32,message = "企业联系人2id长度不能大于32个字符") private java.lang.String contactsIdTwo; - /**临时企业联系人3id*/ - @ApiModelProperty(value = "临时企业联系人3id") + /**临时企业联系人2id*/ + @ApiModelProperty(value = "临时企业联系人2id") private java.lang.String contactsTemporaryIdTwo; /**临时企业联系人2名称*/ @Excel(name = "企业联系人2", width = 15) @ApiModelProperty(value = "临时企业联系人2名称") private java.lang.String contactsTemporaryNameTwo; + /**联系人2备注*/ + @Excel(name = "联系人2备注", width = 15) + @ApiModelProperty(value = "联系人2备注") + @Size(max = 50,message = "联系人2备注长度不能大于50个字符") + private java.lang.String remarksTwo; /**企业联系人3id*/ @ApiModelProperty(value = "企业联系人3id") @Size(max = 32,message = "企业联系人3id长度不能大于32个字符") @@ -91,6 +101,11 @@ public class PayWorkingGroupSubItem implements Serializable { @Excel(name = "企业联系人3", width = 15) @ApiModelProperty(value = "临时企业联系人3名称") private java.lang.String contactsTemporaryNameThree; + /**联系人3备注*/ + @Excel(name = "联系人3备注", width = 15) + @ApiModelProperty(value = "联系人3备注") + @Size(max = 50,message = "联系人3备注长度不能大于50个字符") + private java.lang.String remarksThree; /**临时邮寄联系人名称*/ @Excel(name = "邮寄联系人", width = 15) @ApiModelProperty(value = "临时邮寄联系人名称") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java index ca24f4f4..5c54b17f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java @@ -557,6 +557,9 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl{ PayIncomeContract payIncomeContract = p.getPayIncomeContract(); + if(Objects.isNull(payIncomeContract)){ + return; + } // 合同存在 && 合同状态不为草稿,不为未通过 关联合同 PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated(); payIncomeContractAssociated.setContractId(payIncomeContract.getId());