增加二维码重复使用校验
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user