增加二维码重复使用校验

This commit is contained in:
2023-09-18 17:31:32 +08:00
parent 52aa9659a2
commit 0930a8a48b
8 changed files with 130 additions and 11 deletions

View File

@@ -1,10 +1,8 @@
package com.sv.netty.netty.service.impl;
import com.enums.BarCodeStatusEnum;
import com.enums.EnterEnum;
import com.sv.entity.Member;
import com.sv.entity.MemberEnterVenueLog;
import com.sv.entity.MemberMoneyLog;
import com.sv.entity.Venue;
import com.sv.entity.*;
import com.sv.mapper.BarcodeMapper;
import com.sv.netty.config.*;
import com.sv.netty.netty.service.MessageService;
@@ -110,6 +108,9 @@ public class ServerMessageHandlerAdapter implements MessageService {
public void outVenue(String barcode) {
VenueBarCode venueBarCode = MakeCode.decodeCode(barcode);
barcode = MakeCode.reWriteBarcode(barcode);
if (!checkBarcode(barcode)){
throw new ServiceException("二维码已经使用");
}
Channel channel = getCurrentChannel(venueBarCode.getDeviceName(),venueBarCode.getVenueId());
Member member = memberService.findByMember(venueBarCode.getMemberId());
if (member != null) {
@@ -139,6 +140,9 @@ public class ServerMessageHandlerAdapter implements MessageService {
public void enterVenue(String barcode) {
VenueBarCode venueBarCode = MakeCode.decodeCode(barcode);
barcode = MakeCode.reWriteBarcode(barcode);
if (!checkBarcode(barcode)){
throw new ServiceException("二维码已经使用");
}
Channel channel = getCurrentChannel(venueBarCode.getDeviceName(), venueBarCode.getVenueId());
Member member = memberService.findByMember(venueBarCode.getMemberId());
if (member != null) {
@@ -155,6 +159,22 @@ public class ServerMessageHandlerAdapter implements MessageService {
}
}
/**
* 校验二维码是否已被使用
* @param barcode
* @return
*/
private boolean checkBarcode(String barcode) {
Barcode code = barcodeMapper.checkCodeStatus(barcode);
if (code == null) {
throw new ServiceException("二维码不存在或者已经被使用");
}
if (BarCodeStatusEnum.INIT.getValue()==code.getStatus()){
return true;
}
return false;
}
private void writeOffCode(String barcode) {
barcodeMapper.writeOffCode(barcode);
}