Files
smart_venue/netty-client/src/main/java/com/sv/netty/MessageHandler.java
2023-11-24 22:37:12 +08:00

48 lines
1.6 KiB
Java

package com.sv.netty;
import com.sv.netty.config.*;
import com.sv.netty.utils.AesUtil;
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;
public class MessageHandler {
private static final Logger logger = LoggerFactory.getLogger(MessageHandler.class);
public static String sendHeartBeat() {
VenueMessage venueMessage = new VenueMessage();
venueMessage.setMessageType(MessageType.HB);
String clientSn = System.getProperty(NettyConstant.VENUE_CLIENT_SN);
String clientVid = System.getProperty(NettyConstant.VENUE_CLIENT_VID);
HeartBeat hb = new HeartBeat();
hb.setDeviceName(clientSn);
hb.setVenueId(Integer.parseInt(clientVid));
venueMessage.setMessage(JsonUtils.encode(hb));
return EncodeMsg.INSTANCE.encode(venueMessage);
}
/**
* 核销二维码
* @return
*/
public static String checkBarcode(String barcode) {
String decrypt = AesUtil.decrypt(barcode);
// 这个二维码是线下的二维码
if (!decrypt.startsWith("venue-")){
VenueBarCode venueBarCode = MakeCode.decodeCode(barcode);
if (venueBarCode == null) {
logger.error("二维码不合法" + barcode);
return null;
}
}
VenueMessage venueMessage = new VenueMessage();
venueMessage.setMessageType(MessageType.SCAN_CODE);
venueMessage.setMessage(barcode);
logger.info("核销二维码===" + barcode);
return EncodeMsg.INSTANCE.encode(venueMessage);
}
}