update 需求变更 新增参会人时,选择打包后可以选择发票

This commit is contained in:
lijiarao
2021-11-03 10:17:03 +08:00
parent 792c76f061
commit 5d7fec3e64
@@ -990,83 +990,74 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
BeanUtils.copyProperties(payMeetingSituation, commonPeopleVO); BeanUtils.copyProperties(payMeetingSituation, commonPeopleVO);
Integer payMode = commonPeopleVO.getPayMode(); Integer payMode = commonPeopleVO.getPayMode();
payMeetingSituation1.setPayMode(payMode); payMeetingSituation1.setPayMode(payMode);
//缴费方式为打包时,不处理邮寄联系人和地址 //所有缴费方式,都有需要发票
if (Objects.equals(payMode, MeetingSubitemCommon.PAY_MODE_3)) { Integer needInvoice = commonPeopleVO.getNeedInvoice();
ValidUtil.validate(commonPeopleVO); //需要发票时校验邮寄
//存入打包字段 if (!needInvoice.equals(ProjectCommon.NEED_INVOICE0)){
//payMeetingSituation1.setPack(PayProjectCommon.PACKAGING1); ValidUtil.validate(commonPeopleVO, NotPack.class);
payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCosts()); }
//缴费方式为汇款或线上缴费 String paymentRecord = payMeetingSituation.getPaymentRecord();
} else if (Objects.equals(payMode, MeetingSubitemCommon.PAY_MODE_1) String orderCode = payMeetingSituation.getOrderCode();
|| Objects.equals(payMode, MeetingSubitemCommon.PAY_MODE_2)) { //优先判断合同 判断是否为合同添加的参会人
Integer needInvoice = commonPeopleVO.getNeedInvoice(); String contractId = payMeetingSituation.getContractId();
//需要发票时校验邮寄 if (StringUtils.isNotBlank(contractId)) {
if (!needInvoice.equals(ProjectCommon.NEED_INVOICE0)){ PayIncomeContract payIncomeContract = payIncomeContractService.getById(contractId);
ValidUtil.validate(commonPeopleVO, NotPack.class); if (Objects.isNull(payIncomeContract)) {
throw new JeroBootException("合同不存在!");
} }
String paymentRecord = payMeetingSituation.getPaymentRecord(); //合同添加的参会人,付款凭证和订单号后四位必填
String orderCode = payMeetingSituation.getOrderCode(); if (StringUtils.isBlank(paymentRecord)) {
//优先判断合同 判断是否为合同添加的参会人 throw new JeroBootException("付款凭证必填");
String contractId = payMeetingSituation.getContractId(); }
if (StringUtils.isNotBlank(contractId)) { if (payMode.equals(MeetingSubitemCommon.PAY_MODE_2) && StringUtils.isBlank(orderCode)) {
PayIncomeContract payIncomeContract = payIncomeContractService.getById(contractId); throw new JeroBootException("订单号后四位必填");
if (Objects.isNull(payIncomeContract)) { }
throw new JeroBootException("合同不存在!"); } else {
} //缴费方式为线上缴费时,判断是否为会议期间
//合同添加的参会人,付款凭证和订单号后四位必填 if (payMode.equals(MeetingSubitemCommon.PAY_MODE_2) && StringUtils.isNotBlank(paymentRecord)) {
if (StringUtils.isBlank(paymentRecord)) { Date startTime = payMeeting.getStartTime();
throw new JeroBootException("付款凭证必填"); Date endTime = payMeeting.getEndTime();
} //如果不在会议期间,不允许上传缴费凭证
if (payMode.equals(MeetingSubitemCommon.PAY_MODE_2) && StringUtils.isBlank(orderCode)) { if (!belongCalendar(new Date(), startTime, endTime)) {
throw new JeroBootException("订单号后四位必填"); throw new JeroBootException("线上缴费时,付款凭证只能在会议期间上传");
}
} else {
//缴费方式为线上缴费时,判断是否为会议期间
if (payMode.equals(MeetingSubitemCommon.PAY_MODE_2) && StringUtils.isNotBlank(paymentRecord)) {
Date startTime = payMeeting.getStartTime();
Date endTime = payMeeting.getEndTime();
//如果不在会议期间,不允许上传缴费凭证
if (!belongCalendar(new Date(), startTime, endTime)) {
throw new JeroBootException("线上缴费时,付款凭证只能在会议期间上传");
}
} }
} }
payMeetingSituation1.setPaymentRecord(paymentRecord); }
if (!Objects.equals(payMeetingSituation.getCheckResult(),MeetingSubitemCommon.SIGNUP_STATUS_1) payMeetingSituation1.setPaymentRecord(paymentRecord);
&&!Objects.equals(payMeetingSituation.getCheckResult(),MeetingSubitemCommon.SIGNUP_STATUS_2)) { if (!Objects.equals(payMeetingSituation.getCheckResult(),MeetingSubitemCommon.SIGNUP_STATUS_1)
payMeetingSituation1.setCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_0); &&!Objects.equals(payMeetingSituation.getCheckResult(),MeetingSubitemCommon.SIGNUP_STATUS_2)) {
} payMeetingSituation1.setCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_0);
payMeetingSituation1.setOrderCode(orderCode); }
payMeetingSituation1.setNeedInvoice(payMeetingSituation.getNeedInvoice()); payMeetingSituation1.setOrderCode(orderCode);
payMeetingSituation1.setNeedInvoice(payMeetingSituation.getNeedInvoice());
//如果是标协会议判断会员类型 //如果是标协会议判断会员类型
if (meetingType.equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) { if (meetingType.equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) {
//根据企业名称和会员类型不为null判断是否为标协会员 //根据企业名称和会员类型不为null判断是否为标协会员
//如果是标协会员就存入会议费用(标协会员) //如果是标协会员就存入会议费用(标协会员)
if (checkMember(payMeetingSituation1.getCompanyName())) { if (checkMember(payMeetingSituation1.getCompanyName())) {
payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCostsVip()); payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCostsVip());
} else {
payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCosts());
}
} else { } else {
payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCosts()); payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCosts());
} }
ValidUtil.validate(commonPeopleVO); } else {
//需要发票时校验邮寄 payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCosts());
if (!needInvoice.equals(ProjectCommon.NEED_INVOICE0)){ }
//校验邮寄联系人 ValidUtil.validate(commonPeopleVO);
String postContactId = commonPeopleVO.getPostContactId(); //需要发票时校验邮寄
PayContactsManagement postContact = contactsManagementService.getById(postContactId); if (!needInvoice.equals(ProjectCommon.NEED_INVOICE0)){
//校验是否是选择的企业的联系人 //校验邮寄联系人
String companyId2 = postContact.getCompanyId(); String postContactId = commonPeopleVO.getPostContactId();
if (companyId2.equals(companyId)) { PayContactsManagement postContact = contactsManagementService.getById(postContactId);
payMeetingSituation1.setPostContactId(postContact.getId()); //校验是否是选择的企业的联系人
payMeetingSituation1.setPostContactName(postContact.getName()); String companyId2 = postContact.getCompanyId();
payMeetingSituation1.setPostContactAddress(payMeetingSituation.getPostContactAddress()); if (companyId2.equals(companyId)) {
payMeetingSituation1.setPostCode(payMeetingSituation.getPostCode()); payMeetingSituation1.setPostContactId(postContact.getId());
} else { payMeetingSituation1.setPostContactName(postContact.getName());
throw new JeroBootException("邮寄联系人不是所选企业的企业联系人"); payMeetingSituation1.setPostContactAddress(payMeetingSituation.getPostContactAddress());
} payMeetingSituation1.setPostCode(payMeetingSituation.getPostCode());
} else {
throw new JeroBootException("邮寄联系人不是所选企业的企业联系人");
} }
} }
payMeetingSituation1.setCheckInHotel(payMeetingSituation.getCheckInHotel()); payMeetingSituation1.setCheckInHotel(payMeetingSituation.getCheckInHotel());