fix - 篮球入场出场逻辑优化、丢弃二维码的逻辑
This commit is contained in:
@@ -3,7 +3,6 @@ package com.sv.barcode;
|
||||
import com.sv.barcode.button.EnterClick;
|
||||
import com.sv.barcode.button.OutClick;
|
||||
import com.sv.barcode.button.PlayerClick;
|
||||
import com.sv.barcode.button.TestCodeClick;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
@@ -26,15 +25,9 @@ public class ListenKeyFrame {
|
||||
buttonIn.addActionListener(new EnterClick());
|
||||
JButton buttonOut = new JButton("出场开门");
|
||||
buttonOut.addActionListener(new OutClick());
|
||||
JTextField jTextField = new JTextField(33);
|
||||
//设置输入框大小
|
||||
JButton buttonSubmit = new JButton("验证二维码(测试专用)");
|
||||
buttonSubmit.addActionListener(new TestCodeClick(jTextField));
|
||||
|
||||
JButton buttonPlay = new JButton("播放声音");
|
||||
buttonPlay.addActionListener(new PlayerClick());
|
||||
|
||||
frame.addKeyListener(new ScanBarCode());
|
||||
frame.add(label);
|
||||
frame.add(buttonIn);
|
||||
frame.add(buttonOut);
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
package com.sv.barcode;
|
||||
|
||||
import com.sv.netty.ClientHandler;
|
||||
import com.sv.netty.ClientThread;
|
||||
import com.sv.netty.config.NettyConstant;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.awt.event.KeyAdapter;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
public class ScanBarCode extends KeyAdapter {
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(ClientHandler.class);
|
||||
|
||||
private List<Character> barcode = new LinkedList<>();
|
||||
|
||||
@Override
|
||||
public void keyTyped(KeyEvent e) {
|
||||
if (barcode.size() > 200) {
|
||||
barcode.clear();
|
||||
}
|
||||
char keyChar = e.getKeyChar();
|
||||
logger.info("each time didi key【" + keyChar + "】");
|
||||
if (NettyConstant.BARCODE_END == keyChar) {
|
||||
String barStr = "";
|
||||
if (barcode.size() > 0 && barcode != null) {
|
||||
for (Character character : barcode) {
|
||||
barStr = barStr + character;
|
||||
}
|
||||
}
|
||||
logger.info(barStr);
|
||||
ClientThread.getInstance().checkBarcode(barStr);
|
||||
barcode.clear();
|
||||
}
|
||||
barcode.add(keyChar);
|
||||
if (NettyConstant.BARCODE_BEGIN == keyChar) {
|
||||
barcode.clear();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
package com.sv.barcode.button;
|
||||
|
||||
import com.sv.netty.ClientHandler;
|
||||
import com.sv.netty.ClientThread;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
public class TestCodeClick implements ActionListener {
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(TestCodeClick.class);
|
||||
|
||||
private JTextField barcode;
|
||||
|
||||
public TestCodeClick(JTextField barcode) {
|
||||
this.barcode = barcode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
String text = barcode.getText();
|
||||
text = text.substring(1,text.length() -1);
|
||||
logger.error("sending barcode msg to api !!!=========" + text);
|
||||
ClientThread.getInstance().checkBarcode(text);
|
||||
}
|
||||
}
|
||||
@@ -71,23 +71,6 @@ public class ClientThread extends Thread{
|
||||
doConnect();
|
||||
}
|
||||
|
||||
public void checkBarcode(String barcode) {
|
||||
try {
|
||||
if (future != null) {
|
||||
Channel channel = future.channel();
|
||||
if (channel != null) {
|
||||
String sendCode = MessageHandler.checkBarcode(barcode);
|
||||
if (StringUtil.isNullOrEmpty(sendCode)){
|
||||
return;
|
||||
}
|
||||
channel.writeAndFlush(sendCode);
|
||||
}
|
||||
}
|
||||
}catch (Exception e) {
|
||||
logger.error("link netty server fail ,send barcode fail",e);
|
||||
}
|
||||
}
|
||||
|
||||
public void clearFuture(){
|
||||
future = null;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
package com.sv.netty;
|
||||
|
||||
import com.sv.netty.config.*;
|
||||
import com.sv.netty.utils.AesUtil;
|
||||
import com.sv.netty.config.HeartBeat;
|
||||
import com.sv.netty.config.MessageType;
|
||||
import com.sv.netty.config.NettyConstant;
|
||||
import com.sv.netty.config.VenueMessage;
|
||||
import com.sv.netty.utils.EncodeMsg;
|
||||
import com.sv.netty.utils.JsonUtils;
|
||||
import com.sv.netty.utils.MakeCode;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@@ -23,29 +24,4 @@ public class MessageHandler {
|
||||
return EncodeMsg.INSTANCE.encode(venueMessage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 核销二维码
|
||||
* @return
|
||||
*/
|
||||
public static String checkBarcode(String barcode) {
|
||||
String decrypt = AesUtil.decrypt(barcode);
|
||||
if (decrypt == null) {
|
||||
logger.error("barcode unable to decrypt" + barcode);
|
||||
return null;
|
||||
}
|
||||
// 这个二维码是线下的二维码
|
||||
if (!decrypt.startsWith("venue-")){
|
||||
VenueBarCode venueBarCode = MakeCode.decodeCode(barcode);
|
||||
if (venueBarCode == null) {
|
||||
logger.error("user barcode can't not decodeCode" + barcode);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
VenueMessage venueMessage = new VenueMessage();
|
||||
venueMessage.setMessageType(MessageType.SCAN_CODE);
|
||||
venueMessage.setMessage(barcode);
|
||||
logger.info("use barcode to api ===" + barcode);
|
||||
return EncodeMsg.INSTANCE.encode(venueMessage);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user