密码键盘调用操作日志记录格式调整

This commit is contained in:
王志成 2025-02-27 16:09:04 +08:00
parent f088a42aff
commit 5c34a03e7f
1 changed files with 33 additions and 29 deletions

View File

@ -47,9 +47,9 @@ public class KeypadServiceImpl implements KeypadService {
status.setActionName(MiddlewareFunctionsConst.GET_STATUS_SYNC);
JSONObject statusParam = new JSONObject();
statusParam.put("timeout", 0);
log.info("获取设备状态,参数: {}", status);
log.info("[KeypadServiceImpl][inputData][50]: 获取设备状态,参数: {}", status);
IDCardReadResultVO statusResult = thirdServiceUtil.callDevice(status, IDCardReadResultVO.class);
log.info("获取设备状态结果: {}", statusResult);
log.info("[KeypadServiceImpl][inputData][52]: 获取设备状态结果: {}", statusResult);
if (statusResult.getResult() == 0) {
// 连接状态初始化
LexMarkDTO reset = new LexMarkDTO();
@ -58,29 +58,30 @@ public class KeypadServiceImpl implements KeypadService {
reset.setActionName(MiddlewareFunctionsConst.RESET);
JSONObject resetParam = new JSONObject();
resetParam.put("ResetAction", 1);
log.info("调用复位(初始化)方法,参数: {}", reset);
log.info("[KeypadServiceImpl][inputData][61]: 调用复位(初始化)方法,参数: {}", reset);
IDCardReadResultVO resetResult = thirdServiceUtil.callDevice(reset, IDCardReadResultVO.class);
log.info("设备复位(初始化)结果: {}", resetResult);
log.info("[KeypadServiceImpl][inputData][63]: 设备复位(初始化)结果: {}", resetResult);
if (resetResult.getResult() == 0) {
// 复位成功
result = connectAndInputData(result);
} else {
result = Result.error("密码键盘(初始化)异常,详情:" + ErrorCodeConstants.COMMON_ERROR_CODE.get(resetResult.getResult()));
log.info("密码键盘(初始化)异常,详情:{}", ErrorCodeConstants.COMMON_ERROR_CODE.get(resetResult.getResult()));
result = Result.error(ErrorCodeConstants.COMMON_ERROR_CODE.get(resetResult.getResult()));
log.info("[KeypadServiceImpl][inputData][69]: 密码键盘(初始化)异常,详情:{}",
ErrorCodeConstants.COMMON_ERROR_CODE.get(resetResult.getResult()));
}
} else {
// 设备未连接无需复位初始化
result = connectAndInputData(result);
}
log.info("密码输入流程结束,最终返回结果: {}", result);
log.info("[KeypadServiceImpl][inputData][76]: 密码输入流程结束,最终返回结果: {}", result);
return result;
}
public Result connectAndInputData(Result result){
log.info("开始执行密码输入流程");
log.info("[KeypadServiceImpl][connectAndInputData][81]: {}", "开始执行密码输入流程");
// 连接数字键盘
log.info("准备连接数字键盘设备");
log.info("[KeypadServiceImpl][connectAndInputData][84]: {}", "准备连接数字键盘设备");
LexMarkDTO connect = new LexMarkDTO();
connect.setDevName(LexMarkConst.ENCRYPTOR);
connect.setActionName(MiddlewareFunctionsConst.OPEN_CONNECTION);
@ -89,14 +90,14 @@ public class KeypadServiceImpl implements KeypadService {
connectParam.put("TimeOut", 30000);
connectParam.put("ServiceName", LexMarkConst.ENCRYPTOR);
connect.setParam(connectParam.toJSONString());
log.info("调用设备连接方法,参数: {}", connect);
log.info("[KeypadServiceImpl][connectAndInputData][93]: {}", "调用设备连接方法,参数: {}", connect);
IDCardReadResultVO connectResult = thirdServiceUtil.callDevice(connect, IDCardReadResultVO.class);
log.info("设备连接结果: {}", connectResult);
log.info("[KeypadServiceImpl][connectAndInputData][95]: 设备连接结果: {}", connectResult);
WebSocketClient webSocketClient = null;
try {
if (connectResult.getResult() == 0) {
log.info("数字键盘设备连接成功,准备进行明文输入");
log.info("[KeypadServiceImpl][connectAndInputData][100]: {}", "数字键盘设备连接成功,准备进行明文输入");
// 明文输入
LexMarkDTO plaintext = new LexMarkDTO();
@ -116,58 +117,61 @@ public class KeypadServiceImpl implements KeypadService {
plaintextParam.put("ActiveKeys", 81919);
plaintextParam.put("TerminateKeys", 1024);
plaintext.setParam(plaintextParam.toJSONString());
log.info("调用明文输入方法,参数: {}", plaintext);
log.info("[KeypadServiceImpl][connectAndInputData][120]: 调用明文输入方法,参数: {}", plaintext);
// 创建 WebSocket 客户端
log.info("创建 WebSocket 客户端,连接地址: ws://127.0.0.1:12347");
log.info("[KeypadServiceImpl][connectAndInputData][123]: {}", "创建 WebSocket 客户端,连接地址: ws://127.0.0.1:12347");
webSocketClient = new WebSocketClient("ws://127.0.0.1:12347");
IDCardReadResultVO plaintextResult = thirdServiceUtil.callDevice(plaintext, IDCardReadResultVO.class);
log.info("明文输入操作结果: {}", plaintextResult);
log.info("[KeypadServiceImpl][connectAndInputData][127]: 明文输入操作结果: {}", plaintextResult);
if (plaintextResult.getResult() == 0) {
log.info("明文输入成功,开始等待确认");
log.info("[KeypadServiceImpl][connectAndInputData][130]: {}", "明文输入成功,开始等待确认");
try {
// 适当延长等待时间
while (true) {
TimeUnit.SECONDS.sleep(1);
Boolean confirm = webSocketClient.getConfirm();
if (confirm) {
log.info("收到确认信息,结束等待");
log.info("[KeypadServiceImpl][connectAndInputData][137]: {}", "收到确认信息,结束等待");
break;
}
}
} catch (InterruptedException e) {
log.error("等待确认信息时被中断", e);
log.info("[KeypadServiceImpl][connectAndInputData][142]: 等待确认信息时被中断{}", e);
e.printStackTrace();
}
String password = webSocketClient.getPassword();
log.info("密码输入完成,密码为: {}", password);
log.info("[KeypadServiceImpl][connectAndInputData][146]: 密码输入完成,密码为: {}", password);
result = Result.ok("密码输入完成!", password);
} else {
log.error("密码输入异常!详情:{}", ErrorCodeConstants.COMMON_ERROR_CODE.get(plaintextResult.getResult()));
result = Result.error("密码输入异常!详情:" + ErrorCodeConstants.COMMON_ERROR_CODE.get(plaintextResult.getResult()));
log.info("[KeypadServiceImpl][connectAndInputData][149]: 密码输入异常!详情:{}",
ErrorCodeConstants.COMMON_ERROR_CODE.get(plaintextResult.getResult()));
result = Result.error(ErrorCodeConstants.COMMON_ERROR_CODE.get(plaintextResult.getResult()));
}
} else {
log.error("数字键盘设备连接失败!详情:{}", ErrorCodeConstants.COMMON_ERROR_CODE.get(connectResult.getResult()));
result = Result.error("数字键盘设备连接失败!详情:" + ErrorCodeConstants.COMMON_ERROR_CODE.get(connectResult.getResult()));
log.info("[KeypadServiceImpl][connectAndInputData][154]: 数字键盘设备连接失败!详情:{}",
ErrorCodeConstants.COMMON_ERROR_CODE.get(connectResult.getResult()));
result = Result.error(ErrorCodeConstants.COMMON_ERROR_CODE.get(connectResult.getResult()));
}
} finally {
if (webSocketClient != null) {
log.info("关闭 WebSocket 客户端");
log.info("[KeypadServiceImpl][connectAndInputData][160]: {}", "关闭 WebSocket 客户端");
webSocketClient.close();
}
// 关闭身份证读卡设备
log.info("准备关闭数字键盘设备");
log.info("[KeypadServiceImpl][connectAndInputData][164]: {}", "准备关闭数字键盘设备");
LexMarkDTO close = new LexMarkDTO();
close.setDevName(LexMarkConst.ENCRYPTOR);
close.setCallID(0);
close.setActionName(MiddlewareFunctionsConst.CLOSE_CONNECTION);
log.info("调用设备关闭方法,参数: {}", close);
log.info("[KeypadServiceImpl][connectAndInputData][169]: 调用设备关闭方法,参数: {}", close);
IDCardReadResultVO closeResult = thirdServiceUtil.callDevice(close, IDCardReadResultVO.class);
log.info("设备关闭结果: {}", closeResult);
log.info("[KeypadServiceImpl][connectAndInputData][171]: 设备关闭结果: {}", closeResult);
if (closeResult.getResult() != 0) {
log.error("数字键盘设备关闭异常!详情:{}", ErrorCodeConstants.COMMON_ERROR_CODE.get(closeResult.getResult()));
log.info("[KeypadServiceImpl][connectAndInputData][173]: 数字键盘设备关闭异常!详情:{}",
ErrorCodeConstants.COMMON_ERROR_CODE.get(closeResult.getResult()));
}
}
return result;
@ -188,7 +192,7 @@ public class KeypadServiceImpl implements KeypadService {
if (connectResult.getResult() == 0) {
return Result.ok("取消输入 (明文或者密文)完成!");
} else {
return Result.error("取消输入 (明文或者密文)异常!详情:" + connectResult.getDesc());
return Result.error(connectResult.getDesc());
}
}