diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/PayRandomCodeService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/PayRandomCodeService.java index e97676a0..f31bb4db 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/PayRandomCodeService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/PayRandomCodeService.java @@ -3,9 +3,9 @@ package com.jero.meeting.service; import cn.hutool.core.util.RandomUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.constant.CommonConstant; +import com.jero.common.exception.JeroBootException; import com.jero.meeting.entity.PayRandomCodeLink; import com.jero.meeting.mapper.PayRandomCodeLinkMapper; -import net.sf.saxon.om.Item; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -30,17 +30,26 @@ public class PayRandomCodeService extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayRandomCode::getMeetingId,randomCode.getMeetingId()); + wrapper.eq(PayRandomCode::getGuestType,randomCode.getGuestType()); + Integer integer = randomCodeMapper.selectCount(wrapper); + if (integer > 0){ + throw new JeroBootException("已经有相同嘉宾类型"); + } + String randomCodeId = randomCode.getRandomCodeId(); List randomCodeLinkList = randomCode.getRandomCodeLinkList(); for (PayRandomCodeLink randomCodeLink : randomCodeLinkList) { randomCodeLink.setRandomCodeId(randomCodeId); } + randomCode.setRandomCodeCount(randomCodeLinkList.size()); + randomCodeMapper.insert(randomCode); randomCodeLinkMapper.insertList(randomCodeLinkList); } public void editById(PayRandomCode randomCode) { - randomCodeMapper.updateById(randomCode); + String randomCodeId = randomCode.getRandomCodeId(); //先删除未使用的 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); @@ -71,6 +80,9 @@ public class PayRandomCodeService extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayRandomCode::getMeetingId,meetingId); + wrapper.eq(PayRandomCode::getGuestType,guestType); + PayRandomCode payRandomCode = randomCodeMapper.selectOne(wrapper); + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(PayRandomCodeLink::getRandomCodeId,payRandomCode.getRandomCodeId()); + wrapper1.eq(PayRandomCodeLink::getUseFlag, CommonConstant.DEL_FLAG_0); + wrapper1.eq(PayRandomCodeLink::getRandomCode,randomCode); + Integer integer = randomCodeLinkMapper.selectCount(wrapper1); + if (integer == 0){ + throw new JeroBootException("邀请码无效"); + }else { + return guestType; + } + + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index e6442e4e..998208fd 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -51,6 +51,7 @@ import com.jero.meeting.mapper.PayMeetingSituationMapper; import com.jero.meeting.service.IPayMeetingContactsService; import com.jero.meeting.service.IPayMeetingService; import com.jero.meeting.service.IPayMeetingSituationService; +import com.jero.meeting.service.PayRandomCodeService; import com.jero.meeting.valid.group.*; import com.jero.meeting.vo.*; import com.jero.meeting.vo.excel.*; @@ -141,6 +142,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl