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