netty增加接口二维码通知接口
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
package com.sv.netty.config;
|
||||
|
||||
import io.netty.channel.Channel;
|
||||
import io.netty.util.internal.PlatformDependent;
|
||||
|
||||
import java.util.concurrent.ConcurrentMap;
|
||||
|
||||
public class ClientChannelCache {
|
||||
/**
|
||||
* 存储用户和通道类型
|
||||
* value: 1Tcp 2WebSocket
|
||||
*/
|
||||
public static final ConcurrentMap<String, Channel> channelTypes = PlatformDependent.newConcurrentHashMap();
|
||||
|
||||
/**
|
||||
* 缓存通道
|
||||
*/
|
||||
public static void putChannelType(String clientId, Channel channel) {
|
||||
channelTypes.put(clientId, channel);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取通道
|
||||
*/
|
||||
public static Channel getChannelType(String clientId) {
|
||||
return channelTypes.get(clientId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断通道是否存在
|
||||
*/
|
||||
public static boolean contains(Integer clientId) {
|
||||
return channelTypes.containsKey(clientId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 移除通道
|
||||
*/
|
||||
public static void removeChannelType(Integer clientId) {
|
||||
channelTypes.remove(clientId);
|
||||
}
|
||||
}
|
||||
31
netty-pad/src/main/java/com/sv/netty/config/ErrorCode.java
Normal file
31
netty-pad/src/main/java/com/sv/netty/config/ErrorCode.java
Normal file
@@ -0,0 +1,31 @@
|
||||
package com.sv.netty.config;
|
||||
|
||||
public enum ErrorCode {
|
||||
MEMBER_NOT_EXIST(10001,"用户校验失败"),
|
||||
NO_ENOUGH_AMOUNT(10002,"余额不足");
|
||||
|
||||
|
||||
private int code;
|
||||
private String msg;
|
||||
|
||||
ErrorCode(Integer code, String msg) {
|
||||
this.code = code;
|
||||
this.msg = msg;
|
||||
}
|
||||
|
||||
public int getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(int code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getMsg() {
|
||||
return msg;
|
||||
}
|
||||
|
||||
public void setMsg(String msg) {
|
||||
this.msg = msg;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.sv.netty.controller;
|
||||
|
||||
import com.sv.entity.face.FaceRecognizeResponse;
|
||||
import com.sv.netty.config.ErrorCode;
|
||||
import com.sv.netty.netty.ResponseDTO;
|
||||
import com.sv.netty.service.impl.TcpMessageHandlerAdapter;
|
||||
import com.sv.service.oms.DeviceService;
|
||||
import com.sv.service.oms.VenueService;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@RestController
|
||||
public class QRCodeControler {
|
||||
|
||||
/**
|
||||
* 微信小程序扫码之后,通知对应的线程进入加载界面,然后随即开始判断逻辑
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/scanQRCode")
|
||||
public ResponseDTO scanQRCode(@RequestParam String venueId,
|
||||
@RequestParam String cardType,@RequestParam String memberId) {
|
||||
// 1、获取到请求,说明扫码成功,预校验余额成功,通知客户端(Android)进行加载状态。
|
||||
|
||||
// 2、进行预校验,判断是否可以进行扫码通行 // TODO check余额方法
|
||||
boolean checkResult = true;
|
||||
|
||||
if(checkResult){
|
||||
// 如果是成功的 通知客户端(Android)进行开门
|
||||
return ResponseDTO.ok();
|
||||
}else {
|
||||
return new ResponseDTO(ErrorCode.MEMBER_NOT_EXIST.getCode(),
|
||||
ErrorCode.MEMBER_NOT_EXIST.getMsg(),System.currentTimeMillis());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user