diff --git a/eladmin/eladmin-system/pom.xml b/eladmin/eladmin-system/pom.xml index 451aae0..0ebd916 100644 --- a/eladmin/eladmin-system/pom.xml +++ b/eladmin/eladmin-system/pom.xml @@ -17,6 +17,20 @@ + + + ws.schild + jave-all-deps + 3.3.1 + + + + + org.bytedeco + javacv-platform + 1.5.6 + + me.zhengjie diff --git a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/CapabilitieEnum.java b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/CapabilitieEnum.java index dfbeafd..bf82bb2 100644 --- a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/CapabilitieEnum.java +++ b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/CapabilitieEnum.java @@ -3,8 +3,12 @@ package me.zhengjie.modules.security.config.enums; public enum CapabilitieEnum { - FILE_TRANSFER, // 支持文件传输 - PRINT_CONTROL, // 支持打印控制 - VIDEO_STREAM; // 支持视频流传输 + PAUSE, // 暂停 + CONTINUE, // 继续 + EXIT, // 退出 + IMAGE, // 图片 + OPEN_VIDEO, // 打开-视频 + CLOSE_VIDEO, // 关闭-视频 + ; } diff --git a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/MethodEnum.java b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/MethodEnum.java index ad80dbb..84d57b2 100644 --- a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/MethodEnum.java +++ b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/MethodEnum.java @@ -8,6 +8,9 @@ public enum MethodEnum { status, attributes, error, - notice; + notice, + close, + disconnect, + ; } diff --git a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/MsgEnum.java b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/MsgEnum.java index 2e59a0b..3ed1676 100644 --- a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/MsgEnum.java +++ b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/enums/MsgEnum.java @@ -25,5 +25,6 @@ public enum MsgEnum { /** 信息 */ INFO, /** 错误 */ - ERROR + ERROR, + ; } diff --git a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/WebSocketService.java b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/WebSocketService.java new file mode 100644 index 0000000..37cb548 --- /dev/null +++ b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/WebSocketService.java @@ -0,0 +1,59 @@ +package me.zhengjie.modules.system.service; + +import me.zhengjie.utils.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import javax.websocket.Session; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.concurrent.ConcurrentHashMap; + +@Component +public class WebSocketService { + + public static BusDeviceService myDeviceService; + @Autowired private BusDeviceService deviceService; + + // 初始化 + @PostConstruct + public void init() { + if (null == myDeviceService) { + myDeviceService = deviceService; + } + } + + // 存储设备号 + public static List deviceList = new ArrayList<>(); + + // 存储连接的客户端 + public String channel; + public Session session; + public static final ConcurrentHashMap clients = new ConcurrentHashMap<>(); + + public WebSocketService getSocket(String key) { + if (!StringUtils.isEmpty(key)) { + return clients.get(key); + } + for (WebSocketService socketServer : clients.values()) { + if (socketServer.equals(this)) { + return socketServer; + } + } + return null; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WebSocketService that = (WebSocketService) o; + return Objects.equals(session, that.session) && Objects.equals(channel, that.channel); + } +} \ No newline at end of file diff --git a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/WebSocketSdcpServiceImpl.java b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/WebSocketSdcpServiceImpl.java new file mode 100644 index 0000000..82063c9 --- /dev/null +++ b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/WebSocketSdcpServiceImpl.java @@ -0,0 +1,256 @@ +package me.zhengjie.modules.system.service.impl;//package me.zhengjie.modules.system.service.webstocket; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import me.zhengjie.modules.security.config.WebSocketConfig; +import me.zhengjie.modules.security.config.enums.*; +import me.zhengjie.modules.system.domain.BusDevice; +import me.zhengjie.modules.system.service.WebSocketService; +import me.zhengjie.modules.system.service.webstocket.SocketMsg; +import me.zhengjie.modules.system.service.webstocket.req.WebSocketReqDTO; +import me.zhengjie.modules.system.service.webstocket.req.WebSocketReqData; +import me.zhengjie.modules.system.service.webstocket.res.*; +import me.zhengjie.utils.StringUtils; +import org.springframework.stereotype.Component; + +import javax.websocket.*; +import javax.websocket.server.ServerEndpoint; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +@ServerEndpoint("/webSocket/sdcp") +@Slf4j +@Component +public class WebSocketSdcpServiceImpl extends WebSocketService { + + /** + * 连接调用方法 + * @param session + */ + @OnOpen + public void onOpen(Session session) { + this.session = session; + this.channel = WebSocketConfig.TOPIC_PREFIX; + log.info("【SDCP服务端】连接成功:channel={}", channel); + clients.put(channel, this); + openDeviceStatus(); + } + /** + * 连接关闭调用的方法 + * @param session + */ + @OnClose + public void onClose(Session session) { + WebSocketService collect = getSocket(WebSocketConfig.TOPIC_PREFIX); + if (null == collect) { return; } + log.info("【SDCP服务端】连接断开:channel={}", collect.channel); + closeDeviceStatus(); + } + + /** + * 连接异常时 + * @param session + * @param error + */ + @OnError + public void onError(Session session, Throwable error) { + WebSocketService collect = getSocket(WebSocketConfig.TOPIC_PREFIX); + if (null == collect) { return; } + log.info("【SDCP服务端】发现异常:channel={}", collect.channel); + error.printStackTrace(); + } + + /** + * 收到客户端消息后调用的方法 + * @param message 客户端发送过来的消息 + */ + @OnMessage + public void onMessage(Session session, String message) { + WebSocketService collect = getSocket(WebSocketConfig.TOPIC_PREFIX); + if (null == collect) { return; } + log.info("【SDCP服务端】收到消息:channel={},message={}", collect.channel, message); + serviceMessageHandle(session, message); + } + + // 连接关闭状态刷新 + private void closeDeviceStatus() { + for (String deviceSn : deviceList) { + WebSocketReqDTO reqDTO = new WebSocketReqDTO(); + reqDTO.setTopic(WebSocketConfig.TOPIC_PREFIX + "/" + MethodEnum.close.name() + "/" + deviceSn); + serviceMessageHandle(null, JSON.toJSONString(reqDTO)); + } + } + + // 初始状态刷新消息(Cmd:0) 指令 + private void openDeviceStatus() { + for (String deviceSn : deviceList) { + long currentTimeLong = System.currentTimeMillis(); + WebSocketReqDTO reqDTO = new WebSocketReqDTO(); + reqDTO.setTopic(WebSocketConfig.TOPIC_PREFIX + "/" + MethodEnum.request.name() + "/" + deviceSn); + WebSocketReqData data = new WebSocketReqData(); + data.setCmd(0); + data.setData(new Object()); + data.setRequestID(currentTimeLong + ""); + data.setMainboardID(deviceSn); + data.setTimeStamp(currentTimeLong); + data.setFrom(0); + reqDTO.setData(data); + serviceMessageHandle(null, JSON.toJSONString(reqDTO)); + } + } + + // 处理服务端接收到的消息 + private void serviceMessageHandle(Session session, String message) { + if (StringUtils.isEmpty(message)) { return; } + // 如果是第三方发来的[心跳]检测,返回 pong + if (WebSocketConfig.PING.equals(message)) { + log.info("<<< 心跳反馈"); + try { session.getBasicRemote().sendText(WebSocketConfig.PONG); + } catch (IOException e) { throw new RuntimeException(e); } + return; + } + message = message.replace("\\", ""); + WebSocketResDTO param = null; + MethodEnum method = null; + try { + param = JSON.parseObject(message, WebSocketResDTO.class); + method = param.getMethod(); + } catch (Exception e) { e.printStackTrace(); } + if (null == method) { + log.info("<<< 请求类型有误,忽略"); + return; + } + log.info(">>> 方式 {}", method); + String deviceSn = param.getMainboardID(); + // 只关心已有的设备 + if (!deviceList.contains(deviceSn)) { + log.info("<<< 设备【{}】在系统未找到,忽略", deviceSn); + return; + } + if (method == MethodEnum.request) { + try { + WebSocketService socket = getSocket(WebSocketConfig.TOPIC_PREFIX); + socket.session.getBasicRemote().sendText(message); + } catch (IOException e) { throw new RuntimeException(e); } + return; + } + WebSocketResDTO resDTO = JSON.parseObject(message, WebSocketResDTO.class); + if (method == MethodEnum.response) { + // 指令响应消息 + WebSocketResData data = param.getData(); + Integer cmd = data.getCmd(); + // 指令-获取图片 + if (cmd.equals(385)) { + JSONObject cData = JSON.parseObject(data.getData().toString()); + Map commandResult = new HashMap<>(); + int Ack = Integer.parseInt(cData.get("Ack").toString()); + if (Ack == 0) { + commandResult.put("deviceSn", deviceSn); + commandResult.put("imageType", cData.get("ImageType")); + commandResult.put("imageData", cData.get("ImageData")); + sendVueMessage(JSON.toJSONString(new SocketMsg(commandResult, "指令响应成功", MsgEnum.INFO))); + } else if (Ack == 1) { + commandResult.put("deviceSn", deviceSn); + sendVueMessage(JSON.toJSONString(new SocketMsg(commandResult, "图片获取失败", MsgEnum.ERROR))); + } else if (Ack == 2) { + commandResult.put("deviceSn", deviceSn); + sendVueMessage(JSON.toJSONString(new SocketMsg(commandResult, "不支持该类型图片", MsgEnum.ERROR))); + } else if (Ack == 3) { + commandResult.put("deviceSn", deviceSn); + sendVueMessage(JSON.toJSONString(new SocketMsg(commandResult, "未知错误", MsgEnum.ERROR))); + } + } + // 指令-打开/关闭视频 + else if (cmd.equals(386)) { + JSONObject cData = JSON.parseObject(data.getData().toString()); + int Ack = Integer.parseInt(cData.get("Ack").toString()); + Map commandResult = new HashMap<>(); + if (Ack == 0) { + commandResult.put("deviceSn", deviceSn); + commandResult.put("videoUrl", cData.get("VideoUrl")); + sendVueMessage(JSON.toJSONString(new SocketMsg(commandResult, "指令响应成功", MsgEnum.INFO))); + } else if (Ack == 1) { + commandResult.put("deviceSn", deviceSn); + sendVueMessage(JSON.toJSONString(new SocketMsg(commandResult, "超过最大同时拉流限制", MsgEnum.ERROR))); + } else if (Ack == 2) { + commandResult.put("deviceSn", deviceSn); + sendVueMessage(JSON.toJSONString(new SocketMsg(commandResult, "摄像头不存在", MsgEnum.ERROR))); + } else if (Ack == 3) { + commandResult.put("deviceSn", deviceSn); + sendVueMessage(JSON.toJSONString(new SocketMsg(commandResult, "未知错误", MsgEnum.ERROR))); + } + } + } else if (method == MethodEnum.status) { + WebSocketResStatus status = resDTO.getStatus(); + WebSocketResPrintInfo printInfo = status.getPrintInfo(); + myDeviceService.updateDeviceStatus( + deviceSn, + CurrentStatusEnum.getEnumByNum(status.getCurrentStatus()), + PrintInfoStatusEnum.getEnumByNum(printInfo.getStatus()), + ErrorStatusEnum.SDCP_PRINT_ERROR_NONE, + null + ); + sendVueMessage(JSON.toJSONString(new SocketMsg(deviceSn, MsgEnum.INFO))); + } else if (method == MethodEnum.attributes) { + WebSocketResAttributes attributes = resDTO.getAttributes(); + // String[] capabilities = attributes.getCapabilities(); + BusDevice entity = new BusDevice(); + entity.setDeviceSn(deviceSn); + entity.setName(attributes.getName()); + entity.setModel(attributes.getMachineName()); + entity.setFirmwareVersion(attributes.getFirmwareVersion()); + entity.setProtocolVersion(attributes.getProtocolVersion()); + // List commandList = new ArrayList<>(); + // for (String capability : capabilities) { + // BusDeviceCommand command = new BusDeviceCommand(); + // command.setCommandType(capability); + // commandList.add(command); + // } + // entity.setCommandList(commandList); + myDeviceService.updateOrAdd(entity); + } else if (method == MethodEnum.error) { + WebSocketResStatus status = resDTO.getStatus(); + WebSocketResPrintInfo printInfo = status.getPrintInfo(); + myDeviceService.updateDeviceStatus( + deviceSn, + CurrentStatusEnum.getEnumByNum(status.getCurrentStatus()), + PrintInfoStatusEnum.getEnumByNum(printInfo.getStatus()), + ErrorStatusEnum.SDCP_PRINT_ERROR_NONE, + null + ); + sendVueMessage(JSON.toJSONString(new SocketMsg(deviceSn, MsgEnum.ERROR))); + } else if (method == MethodEnum.notice) { + + } else if (method == MethodEnum.close || method == MethodEnum.disconnect) { + String msg = (method == MethodEnum.close ? "已关闭连接" : "已断开连接"); + MsgEnum en = (method == MethodEnum.close ? MsgEnum.CLOSE : MsgEnum.DISCONNECT); + myDeviceService.updateDeviceStatus( + null, + CurrentStatusEnum.SDCP_MACHINE_STATUS_DEFAULT, + PrintInfoStatusEnum.SDCP_PRINT_STATUS_DEFAULT, + ErrorStatusEnum.SDCP_PRINT_ERROR_DEFAULT, + msg + ); + sendVueMessage(JSON.toJSONString(new SocketMsg(msg, en))); + } + } + + // 发送消息给第三方 + private void sendVueMessage(String message) { + for (Map.Entry entry : clients.entrySet()) { + try { + WebSocketService server = entry.getValue(); + String channel = server.channel; + Session session = server.session; + if (channel.equals(WebSocketConfig.TOPIC_PREFIX) || null == session || !session.isOpen()) { continue; } + log.info(">>> 推送消息给VUE:channel={},message={}", channel, message); + session.getBasicRemote().sendText(message); + } catch (IOException e) { + e.printStackTrace(); + log.info("<<< 推送消息给VUE-异常 原因:", e); + } + } + } +} \ No newline at end of file diff --git a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/WebSocketVueServiceImpl.java b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/WebSocketVueServiceImpl.java new file mode 100644 index 0000000..3570fa4 --- /dev/null +++ b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/WebSocketVueServiceImpl.java @@ -0,0 +1,186 @@ +package me.zhengjie.modules.system.service.impl;//package me.zhengjie.modules.system.service.webstocket; + +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; +import me.zhengjie.modules.security.config.WebSocketConfig; +import me.zhengjie.modules.security.config.enums.CapabilitieEnum; +import me.zhengjie.modules.security.config.enums.MethodEnum; +import me.zhengjie.modules.system.domain.BusDevice; +import me.zhengjie.modules.system.domain.dto.BusDeviceQueryCriteria; +import me.zhengjie.modules.system.service.WebSocketService; +import me.zhengjie.modules.system.service.webstocket.req.WebSocketReqDTO; +import me.zhengjie.modules.system.service.webstocket.req.WebSocketReqData; +import me.zhengjie.utils.StringUtils; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import javax.websocket.*; +import javax.websocket.server.ServerEndpoint; +import java.io.IOException; +import java.util.*; + +@ServerEndpoint("/webSocket/vue") +@Slf4j +@Component +public class WebSocketVueServiceImpl extends WebSocketService { + + // 初始化 + @PostConstruct + public void init() { + log.info(">>> 设备初始化"); + refreshDeviceList(); + log.info("<<< 设备初始化"); + } + + @Scheduled(fixedRate = 60000) + public void refreshDeviceList() { + deviceList = new ArrayList<>(); + List devices = myDeviceService.queryAll(new BusDeviceQueryCriteria()); + for (BusDevice device : devices) { + deviceList.add(device.getDeviceSn()); + } + } + + /** + * 连接调用方法 + * @param session + */ + @OnOpen + public void onOpen(Session session) { + this.session = session; + this.channel = session.getId(); + log.info("【VUE服务端】连接成功:channel={}", channel); + clients.put(channel, this); + } + + /** + * 连接关闭调用的方法 + * @param session + */ + @OnClose + public void onClose(Session session) { + WebSocketService collect = getSocket(session.getId()); + if (null == collect) { return; } + log.info("【VUE服务端】连接断开:channel={}", collect.channel); + } + + /** + * 连接异常时 + * @param session + * @param error + */ + @OnError + public void onError(Session session, Throwable error) { + WebSocketService collect = getSocket(session.getId()); + if (null == collect) { return; } + log.info("【VUE服务端】发现异常:channel={}", collect.channel); + error.printStackTrace(); + } + + /** + * 收到客户端消息后调用的方法 + * @param message 客户端发送过来的消息 + */ + @OnMessage + public void onMessage(Session session, String message) { + WebSocketService collect = getSocket(session.getId()); + if (null == collect) { return; } + log.info("【VUE服务端】收到消息:channel={},message={}", collect.channel, message); + serviceMessageHandle(message); + } + + private void serviceMessageHandle(String message) { + if (StringUtils.isEmpty(message)) { return; } + // 发送的指令 + message = message.replace("\\", ""); + WebSocketReqDTO param = null; + MethodEnum method = null; + try { + param = JSON.parseObject(message, WebSocketReqDTO.class); + method = param.getMethod(); + } catch (Exception e) { e.printStackTrace(); } + if (null == method || method != MethodEnum.request) { + log.info("<<< 请求类型有误,忽略"); + return; + } + log.info(">>> 方式 {}", method); + String deviceSn = param.getMainboardID(); + // 只关心已有的设备 + if (!deviceList.contains(deviceSn)) { + log.info("<<< 设备【{}】在系统未找到,忽略", deviceSn); + return; + } + String command = param.getCommand(); + if (null == command) { + log.info("<<< 命令类型未找到,忽略"); + return; + } + String commandStr = null; + long sysTimeLong = System.currentTimeMillis(); + // 暂停 + if (command.equals(CapabilitieEnum.PAUSE.name())) { + + } + // 继续 + else if (command.equals(CapabilitieEnum.CONTINUE.name())) { + + } + // 退出 + else if (command.equals(CapabilitieEnum.EXIT.name())) { + + } + // 图片 + else if (command.equals(CapabilitieEnum.IMAGE.name())) { + Map dataParam = new HashMap<>(); + dataParam.put("Type", 0); + WebSocketReqData data = new WebSocketReqData(); + data.setCmd(385); + data.setData(dataParam); + data.setRequestID(sysTimeLong + ""); + data.setMainboardID(deviceSn); + data.setTimeStamp(sysTimeLong); + WebSocketReqDTO req = new WebSocketReqDTO(); + req.setTopic(WebSocketConfig.TOPIC_PREFIX + "/" + MethodEnum.request + "/" + deviceSn); + req.setData(data); + commandStr = JSON.toJSONString(req); + } + // 打开视频 + else if (command.equals(CapabilitieEnum.OPEN_VIDEO.name()) || command.equals(CapabilitieEnum.CLOSE_VIDEO.name())) { + Map dataParam = new HashMap<>(); + dataParam.put("Enable", command.equals(CapabilitieEnum.OPEN_VIDEO.name()) ? 1 : 0); + WebSocketReqData data = new WebSocketReqData(); + data.setCmd(386); + data.setData(dataParam); + data.setRequestID(sysTimeLong + ""); + data.setMainboardID(deviceSn); + data.setTimeStamp(sysTimeLong); + WebSocketReqDTO req = new WebSocketReqDTO(); + req.setTopic(WebSocketConfig.TOPIC_PREFIX + "/" + MethodEnum.request + "/" + deviceSn); + req.setData(data); + commandStr = JSON.toJSONString(req); + } + else { + log.info("<<< 命令类型未找到,忽略"); + return; + } + sendThirdPartyMessage(commandStr); + } + + // 发送消息给第三方 + private void sendThirdPartyMessage(String message) { + for (Map.Entry entry : clients.entrySet()) { + try { + WebSocketService server = entry.getValue(); + String channel = server.channel; + Session session = server.session; + if (!channel.equals(WebSocketConfig.TOPIC_PREFIX) || null == session || !session.isOpen()) { continue; } + log.info(">>> 发送指令消息给第三方:channel={},message={}", channel, message); + session.getBasicRemote().sendText(message); + } catch (IOException e) { + e.printStackTrace(); + log.info("<<< 发送指令消息给第三方-异常 原因:", e); + } + } + } +} \ No newline at end of file diff --git a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/SocketMsg.java b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/SocketMsg.java index 5a86cd2..70613fa 100644 --- a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/SocketMsg.java +++ b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/SocketMsg.java @@ -20,6 +20,8 @@ import me.zhengjie.modules.security.config.enums.MsgEnum; @Data public class SocketMsg { + + private Object data; private String msg; private MsgEnum msgType; @@ -27,4 +29,10 @@ public class SocketMsg { this.msg = msg; this.msgType = msgType; } + + public SocketMsg(Object data, String msg, MsgEnum msgType) { + this.data = data; + this.msg = msg; + this.msgType = msgType; + } } diff --git a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/WebSocketParam.java b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/WebSocketParam.java index f98fd6f..0c585e5 100644 --- a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/WebSocketParam.java +++ b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/WebSocketParam.java @@ -32,6 +32,7 @@ public class WebSocketParam { } public MethodEnum getMethod() { + if (StringUtil.isEmpty(getTopic())) { return null; } for (MethodEnum os : MethodEnum.values()) { if (getTopic().contains(os.name())) { return os; diff --git a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/WebSocketServer.java b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/WebSocketServer.java deleted file mode 100644 index 47a90c2..0000000 --- a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/WebSocketServer.java +++ /dev/null @@ -1,357 +0,0 @@ -package me.zhengjie.modules.system.service.webstocket; - -import com.alibaba.fastjson.JSON; -import lombok.extern.slf4j.Slf4j; -import me.zhengjie.modules.security.config.WebSocketConfig; -import me.zhengjie.modules.security.config.enums.*; -import me.zhengjie.modules.system.domain.BusDevice; -import me.zhengjie.modules.system.domain.BusDeviceCommand; -import me.zhengjie.modules.system.domain.dto.BusDeviceQueryCriteria; -import me.zhengjie.modules.system.service.BusDeviceService; -import me.zhengjie.modules.system.service.webstocket.req.WebSocketReqDTO; -import me.zhengjie.modules.system.service.webstocket.req.WebSocketReqData; -import me.zhengjie.modules.system.service.webstocket.res.WebSocketResAttributes; -import me.zhengjie.modules.system.service.webstocket.res.WebSocketResDTO; -import me.zhengjie.modules.system.service.webstocket.res.WebSocketResPrintInfo; -import me.zhengjie.modules.system.service.webstocket.res.WebSocketResStatus; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Lazy; -import org.springframework.stereotype.Component; - -import javax.annotation.PostConstruct; -import javax.websocket.*; -import javax.websocket.server.ServerEndpoint; -import java.io.IOException; -import java.net.URI; -import java.util.ArrayList; -import java.util.List; -import java.util.Timer; -import java.util.TimerTask; -import java.util.concurrent.*; - -@ServerEndpoint("/webSocket") -@Slf4j -@Component -public class WebSocketServer { - - @Autowired private BusDeviceService deviceService; - private static BusDeviceService myDeviceService; - - // 存储设备 - private static final CopyOnWriteArraySet deviceList = new CopyOnWriteArraySet<>(); - // 存储连接的前端客户端 - private static final ConcurrentHashMap vueClients = new ConcurrentHashMap<>(); - - // 第三方WebSocket连接 - @Value("${thirdParty.socket.init}") - private Boolean thirdPartyInit; - @Value("${thirdParty.socket.url}") - private String thirdPartyWsUrl; - private static Session thirdPartySession; - private static WebSocketContainer thirdPartyContainer; - // 重连机制 - private final ScheduledExecutorService reconnectExecutor = Executors.newSingleThreadScheduledExecutor(); - - // 初始化连接第三方WebSocket - @PostConstruct - public void initThirdPartyWebSocket() { - if (!thirdPartyInit) { return; } - if (null != thirdPartyContainer && null != thirdPartySession) { return; } - try { - thirdPartyContainer = ContainerProvider.getWebSocketContainer(); - thirdPartySession = thirdPartyContainer.connectToServer(ThirdPartyClient.class, URI.create(thirdPartyWsUrl)); - log.info("【客户端->第三方】连接成功"); - } catch (Exception e) { - e.printStackTrace(); - log.info("【客户端->第三方】连接失败,等待5秒重新连接"); - scheduleReconnect(); - } - if (null == myDeviceService) { - myDeviceService = deviceService; - } - } - - // 安排重连任务 - private void scheduleReconnect() { - reconnectExecutor.schedule(this::initThirdPartyWebSocket, 5, TimeUnit.SECONDS); - } - - /** - * 连接建立成功调用的方法 - */ - @OnOpen - public void onOpen(Session session) { - log.info("【VUE->服务端】连接成功:sessionId={}", session.getId()); - vueClients.put(session.getId(), session); - } - - /** - * 连接关闭调用的方法 - */ - @OnClose - public void onClose(Session session) { - log.info("【VUE->服务端】连接断开:sessionId={}", session.getId()); - vueClients.remove(session.getId()); - } - - /** - * 连接异常时 - * @param session - * @param error - */ - @OnError - public void onError(Session session, Throwable error) { - log.info("【VUE->服务端】发现异常:sessionId={}", session.getId()); - error.printStackTrace(); - } - - /** - * 收到客户端消息后调用的方法 - * @param message 客户端发送过来的消息 - */ - @OnMessage - public void onMessage(String message) { - log.info("WebSocketServer onMessage 收到消息={}", message); - sendMessage(message); - } - - /** - * 主推消息给客户端 - */ - private void sendMessage(String message) { - // 根据类型,操作不同的消息 - - // todo 如果是指令,则转发给第三方WebSocket - if (!(thirdPartySession != null && thirdPartySession.isOpen())) { - log.info("指令发送失败,原因: websocket未连接"); - return; - } - - - try { - thirdPartySession.getBasicRemote().sendText(message); - } catch (Exception e) { - e.printStackTrace(); - log.info("指令发送异常,原因:", e); - } - } - - - // 处理来自第三方WebSocket的消息并转发给Vue前端 - @ClientEndpoint - public static class ThirdPartyClient { - - private Timer timer; - private static final long HEARTBEAT_INTERVAL = 30000; // 30秒心跳间隔 - - @Autowired @Lazy - private WebSocketServer parentService; // 注入父类Bean - - public void callParentInitThirdPartyWebSocket() { - parentService.initThirdPartyWebSocket(); - } - - @OnOpen - public void onOpen(Session session) { - log.info("【第三方客户端】连接成功"); - initDevices(); - startHeartbeat(); - socketMsg(new SocketMsg("已连接", MsgEnum.CONNECT)); - } - - @OnMessage - public void onMessage(String message, Session session) { - log.info("【第三方客户端】收到消息:{}", message); - messageReceiveHandle(message); - } - - @OnClose - public void onClose(Session session) { - log.info("【第三方客户端】连接断开"); - socketMsg(new SocketMsg("连接断开", MsgEnum.DISCONNECT)); - try { - thirdPartySession.close(); - thirdPartySession = null; - thirdPartyContainer = null; - callParentInitThirdPartyWebSocket(); - startHeartbeat(); - } catch (Exception e) {} - } - - @OnError - public void onError(Session session, Throwable error) { - log.info("【第三方客户端】发现异常,原因:", error); - socketMsg(new SocketMsg("连接异常", MsgEnum.ERROR)); - } - - private void startHeartbeat() { - timer = new Timer(); - timer.scheduleAtFixedRate(new TimerTask() { - @Override - public void run() { - messageSendHandle(WebSocketConfig.PING); - } - }, 0, HEARTBEAT_INTERVAL); - } - - private void stopHeartbeat() { - if (timer != null) { - timer.cancel(); - timer = null; - } - } - - // 收到消息,解析,做响应的处理 - private void messageReceiveHandle(String message) { - // 如果是 [心跳] 检测,忽略 - if (WebSocketConfig.PONG.equals(message)) { - log.info("<<< 心跳反馈,忽略"); - return; - } - // 其余信息是第三方推送过来的消息 / 发送的指令 - message = message.replace("\\", ""); - WebSocketParam param = JSON.parseObject(message, WebSocketParam.class); - MethodEnum method = param.getMethod(); - String deviceSn = param.getMainboardID(); - log.info("<<< 方式 {}", method.name()); - // 只关心我已有的设备 - if (!deviceList.contains(deviceSn)) { - log.info("<<< 设备【{}】在系统未找到,忽略", deviceSn); - return; - } - BusDevice device = myDeviceService.getByDeviceSn(deviceSn); - // request 说明是vue要发送指令给第三方 - if (method == MethodEnum.request) { - WebSocketReqDTO requestReq = JSON.parseObject(message, WebSocketReqDTO.class); - if (null == requestReq.getCommand()) { - log.info("<<< 命令类型未找到"); - return; - } - // todo 发送指令给第三方 - // CapabilitieEnum command = requestReq.getCommand(); - // messageSendHandle(null); - } - // 其他,说明是第三方上推给我们客服端 - else { - WebSocketResDTO resDTO = JSON.parseObject(message, WebSocketResDTO.class); - if (method == MethodEnum.response) { - // List devices = new ArrayList<>(); - // BusDevice device = new BusDevice(); - // device.setId(); - // devices.add(device); - // pushVueClients(); - } else if (method == MethodEnum.status) { - WebSocketResStatus status = resDTO.getStatus(); - WebSocketResPrintInfo printInfo = status.getPrintInfo(); - myDeviceService.updateDeviceStatus( - deviceSn, - CurrentStatusEnum.getEnumByNum(status.getCurrentStatus()), - PrintInfoStatusEnum.getEnumByNum(printInfo.getStatus()), - ErrorStatusEnum.SDCP_PRINT_ERROR_NONE, - null - ); - BusDevice info = new BusDevice(); - info.setDeviceCode(device.getDeviceCode()); - info.setStatus(CurrentStatusEnum.getEnumByNum(status.getCurrentStatus()).getCode()); - info.setPrintStatus(PrintInfoStatusEnum.getEnumByNum(printInfo.getStatus()).getCode()); - info.setErrorStatus(ErrorStatusEnum.SDCP_PRINT_ERROR_NONE.getCode()); - socketMsg(new SocketMsg(JSON.toJSONString(info), MsgEnum.INFO)); - } else if (method == MethodEnum.attributes) { - WebSocketResAttributes attributes = resDTO.getAttributes(); - String[] capabilities = attributes.getCapabilities(); - BusDevice entity = new BusDevice(); - entity.setDeviceSn(deviceSn); - entity.setName(attributes.getName()); - entity.setModel(attributes.getMachineName()); - entity.setFirmwareVersion(attributes.getFirmwareVersion()); - entity.setProtocolVersion(attributes.getProtocolVersion()); - List commandList = new ArrayList<>(); - for (String capability : capabilities) { - BusDeviceCommand command = new BusDeviceCommand(); - command.setCommandType(capability); - commandList.add(command); - } - entity.setCommandList(commandList); - myDeviceService.updateOrAdd(entity); - } else if (method == MethodEnum.error) { - WebSocketResStatus status = resDTO.getStatus(); - WebSocketResPrintInfo printInfo = status.getPrintInfo(); - myDeviceService.updateDeviceStatus( - deviceSn, - CurrentStatusEnum.getEnumByNum(status.getCurrentStatus()), - PrintInfoStatusEnum.getEnumByNum(printInfo.getStatus()), - ErrorStatusEnum.SDCP_PRINT_ERROR_NONE, - null - ); - BusDevice info = new BusDevice(); - info.setDeviceCode(device.getDeviceCode()); - info.setStatus(CurrentStatusEnum.getEnumByNum(status.getCurrentStatus()).getCode()); - info.setPrintStatus(PrintInfoStatusEnum.getEnumByNum(printInfo.getStatus()).getCode()); - info.setErrorStatus(ErrorStatusEnum.SDCP_PRINT_ERROR_NONE.getCode()); - socketMsg(new SocketMsg(JSON.toJSONString(info), MsgEnum.ERROR)); - } else if (method == MethodEnum.notice) { - - } - } - } - - private void socketMsg(SocketMsg socketMsg) { - String message = JSON.toJSONString(socketMsg); - pushVueClients(message); - } - - // 将消息广播给所有前端客户端 - private void pushVueClients(String message) { - vueClients.forEach((id, clientSession) -> { - try { - clientSession.getBasicRemote().sendText(message); - } catch (IOException e) { - e.printStackTrace(); - } - }); - } - - // 发送消息给第三方 - private void messageSendHandle(String message) { - if (!(thirdPartySession != null && thirdPartySession.isOpen())) { - log.info("<<< 发送消息给第三方-失败 原因: websocket 已关闭"); - return; - } - try { - log.info(">>> 发送消息给第三方 {}", message); - thirdPartySession.getBasicRemote().sendText(message); - } catch (IOException e) { - e.printStackTrace(); - log.info("<<< 发送消息给第三方-异常 原因:", e); - } - } - - /** - * 初始化设备,并向第三方发指令,为了拿到设备的状态 - */ - private void initDevices() { - log.info(">>> 设备初始化"); - List devices = myDeviceService.queryAll(new BusDeviceQueryCriteria()); - for (BusDevice device : devices) { - String deviceSn = device.getDeviceSn(); - long currentTimeLong = System.currentTimeMillis(); - WebSocketReqDTO reqDTO = new WebSocketReqDTO(); - reqDTO.setTopic(WebSocketConfig.TOPIC_PREFIX + "/" + MethodEnum.request.name() + "/" + deviceSn); - WebSocketReqData data = new WebSocketReqData(); - data.setCmd(0); - data.setData(new Object()); - data.setRequestID(currentTimeLong + ""); - data.setMainboardID(device.getDeviceSn()); - data.setTimeStamp(currentTimeLong); - data.setFrom(0); - reqDTO.setData(data); - // 发送 状态刷新消息(Cmd:0) 指令 - messageSendHandle(JSON.toJSONString(reqDTO)); - // 订阅设备 - deviceList.add(deviceSn); - } - log.info("<<< 设备初始化"); - } - } -} diff --git a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/req/WebSocketReqDTO.java b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/req/WebSocketReqDTO.java index 86b600d..f6ff907 100644 --- a/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/req/WebSocketReqDTO.java +++ b/eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/webstocket/req/WebSocketReqDTO.java @@ -1,7 +1,6 @@ package me.zhengjie.modules.system.service.webstocket.req; import lombok.Data; -import me.zhengjie.modules.security.config.enums.CapabilitieEnum; import me.zhengjie.modules.system.service.webstocket.WebSocketParam; import java.io.Serializable; @@ -15,16 +14,7 @@ public class WebSocketReqDTO extends WebSocketParam implements Serializable { // 机器品牌标识,32位UUID private String Id; - // 指令类型 - private CapabilitieEnum command; - - public CapabilitieEnum getCommand() { - for (CapabilitieEnum os : CapabilitieEnum.values()) { - if (getTopic().contains(os.name())) { - return os; - } - } - return null; - } + // 指令类型 CapabilitieEnum + private String command; } diff --git a/eladmin/totus-nline.sql b/eladmin/totus-nline.sql index 55908bd..6ee6e2e 100644 --- a/eladmin/totus-nline.sql +++ b/eladmin/totus-nline.sql @@ -1,20 +1,292 @@ /* Navicat MySQL Data Transfer -Source Server : 闵-测服 -Source Server Version : 50744 -Source Host : xunyingcloud.cn:23306 +Source Server : 本地 +Source Server Version : 50740 +Source Host : localhost:3306 Source Database : totus-online Target Server Type : MYSQL -Target Server Version : 50744 +Target Server Version : 50740 File Encoding : 65001 -Date: 2025-05-15 19:46:49 +Date: 2025-06-07 13:39:25 */ SET FOREIGN_KEY_CHECKS=0; +-- ---------------------------- +-- Table structure for bus_command_log +-- ---------------------------- +DROP TABLE IF EXISTS `bus_command_log`; +CREATE TABLE `bus_command_log` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '操作记录唯一标识', + `user_id` bigint(20) NOT NULL COMMENT '用户ID(外键)', + `device_id` bigint(20) NOT NULL COMMENT '设备ID(外键)', + `command_id` bigint(20) NOT NULL COMMENT '指令ID(外键)', + `command_params` longtext COMMENT '指令参数(JSON格式)', + `execute_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '执行时间', + `status` int(1) NOT NULL DEFAULT '3' COMMENT '执行状态(1=成功,2=失败,3=处理中)', + `result` longtext COMMENT '执行结果(JSON格式)', + `result_code` varchar(255) DEFAULT NULL COMMENT '执行结果Code', + `result_msg` varchar(255) DEFAULT NULL COMMENT '执行结果', + `create_by` varchar(255) DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) DEFAULT NULL COMMENT '更新者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备执行记录表'; + +-- ---------------------------- +-- Records of bus_command_log +-- ---------------------------- + +-- ---------------------------- +-- Table structure for bus_device +-- ---------------------------- +DROP TABLE IF EXISTS `bus_device`; +CREATE TABLE `bus_device` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '设备唯一标识', + `device_code` varchar(32) DEFAULT NULL COMMENT '机器序号', + `device_sn` varchar(64) NOT NULL COMMENT '设备序列号(唯一)', + `model` varchar(64) DEFAULT NULL COMMENT '型号', + `brand` varchar(32) DEFAULT NULL COMMENT '品牌', + `name` varchar(32) DEFAULT NULL COMMENT '设备名称', + `firmware_version` varchar(32) DEFAULT NULL COMMENT '固件版本', + `protocol_version` varchar(32) DEFAULT NULL COMMENT '协议版本', + `location` varchar(128) DEFAULT NULL COMMENT '放置位置', + `status` int(1) DEFAULT '-1' COMMENT '设备状态(-1=默认/断开,0=空闲,1=任务中,2=准备中,3=铲件中)', + `print_status` int(1) DEFAULT '-1' COMMENT '打印状态(-1默认,0空闲,1归零中,2下降中,3曝光中,4抬升中,5正在执行暂停动作中,6已暂停,7正在执行停止动作中,8已停止,9打印完成,10文件检测中,11加液中,12铲件中)', + `error_status` int(1) DEFAULT '-1' COMMENT '异常状态(-1默认,0正常,1文件校验失败,2设备或加密错误,3打印准备过程出错,4打印出错,5加液失败,6铲件失败,7图片异物)', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + `type` int(1) DEFAULT '1' COMMENT '类型:1打印机', + `create_by` varchar(255) DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) DEFAULT NULL COMMENT '更新者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_device_sn` (`device_sn`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='设备表'; + +-- ---------------------------- +-- Records of bus_device +-- ---------------------------- +INSERT INTO `bus_device` VALUES ('1', '12345678', '12345678', '3DPLUS', '康佳', '4KL200URH300.4K', '3', null, '一楼走廊', '-1', '-1', '-1', '已关闭连接', '1', null, null, '2025-05-20 20:06:36', '2025-06-04 19:51:43'); + +-- ---------------------------- +-- Table structure for bus_device_command +-- ---------------------------- +DROP TABLE IF EXISTS `bus_device_command`; +CREATE TABLE `bus_device_command` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '指令唯一标识', + `device_id` bigint(20) NOT NULL COMMENT '指令代码(唯一)', + `command_name` varchar(64) DEFAULT NULL COMMENT '指令名称', + `command_type` varchar(64) DEFAULT NULL COMMENT '指令类型(FILE_TRANSFER=文件传输,PRINT_CONTROL=打印控制,VIDEO_STREAM=视频)', + `command_params` longtext COMMENT '指令参数(JSON格式)', + `description` varchar(255) DEFAULT NULL COMMENT '指令描述', + `status` int(1) DEFAULT '1' COMMENT '状态:1有效,0无效', + `create_by` varchar(255) DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) DEFAULT NULL COMMENT '更新者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备指令表'; + +-- ---------------------------- +-- Records of bus_device_command +-- ---------------------------- + +-- ---------------------------- +-- Table structure for bus_user +-- ---------------------------- +DROP TABLE IF EXISTS `bus_user`; +CREATE TABLE `bus_user` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户id', + `real_name` varchar(255) DEFAULT '' COMMENT '真实姓名', + `nickname` varchar(255) DEFAULT '' COMMENT '用户昵称', + `avatar` varchar(256) DEFAULT '' COMMENT '用户头像', + `phone` varchar(11) DEFAULT NULL COMMENT '手机号码', + `status` int(1) DEFAULT '1' COMMENT '1为正常,0为禁止', + `token` varchar(190) NOT NULL DEFAULT '' COMMENT 'openId', + `sex` int(1) DEFAULT '1' COMMENT '性别,0未知,1男,2女', + `create_by` varchar(255) DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) DEFAULT NULL COMMENT '更新者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `u_token` (`token`) USING BTREE, + KEY `i_status` (`status`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='用户表'; + +-- ---------------------------- +-- Records of bus_user +-- ---------------------------- +INSERT INTO `bus_user` VALUES ('1', '20250523210255533', '用户_123124', '/avatar/avatar.png', null, '1', '456789', '1', 'System', 'System', '2025-05-23 15:55:25', '2025-05-23 15:55:49'); +INSERT INTO `bus_user` VALUES ('2', '20250518210255533', '用户_126561', '/avatar/avatar.png', null, '1', '123456', '1', 'System', 'System', '2025-05-18 21:02:55', '2025-05-20 17:47:49'); + +-- ---------------------------- +-- Table structure for bus_user_device +-- ---------------------------- +DROP TABLE IF EXISTS `bus_user_device`; +CREATE TABLE `bus_user_device` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '绑定记录唯一标识', + `user_id` bigint(20) NOT NULL COMMENT '用户ID(外键)', + `device_id` bigint(20) NOT NULL COMMENT '设备ID(外键)', + `is_primary` int(1) NOT NULL DEFAULT '2' COMMENT '是否为主用户(1=是,2=否)', + `create_by` varchar(255) DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) DEFAULT NULL COMMENT '更新者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_user_printer` (`user_id`,`device_id`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COMMENT='用户绑定设备表'; + +-- ---------------------------- +-- Records of bus_user_device +-- ---------------------------- +INSERT INTO `bus_user_device` VALUES ('9', '2', '1', '2', null, null, '2025-06-03 10:55:34', '2025-06-03 10:55:34'); + +-- ---------------------------- +-- Table structure for bus_user_device_command +-- ---------------------------- +DROP TABLE IF EXISTS `bus_user_device_command`; +CREATE TABLE `bus_user_device_command` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '操作记录唯一标识', + `user_id` bigint(20) NOT NULL COMMENT '用户ID(外键)', + `device_id` bigint(20) NOT NULL COMMENT '设备ID(外键)', + `command_id` bigint(20) NOT NULL COMMENT '指令ID(外键)', + `create_by` varchar(255) DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) DEFAULT NULL COMMENT '更新者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户设备指令权限表'; + +-- ---------------------------- +-- Records of bus_user_device_command +-- ---------------------------- + +-- ---------------------------- +-- Table structure for code_column +-- ---------------------------- +DROP TABLE IF EXISTS `code_column`; +CREATE TABLE `code_column` ( + `column_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `table_name` varchar(180) DEFAULT NULL COMMENT '表名', + `column_name` varchar(255) DEFAULT NULL COMMENT '数据库字段名称', + `column_type` varchar(255) DEFAULT NULL COMMENT '数据库字段类型', + `dict_name` varchar(255) DEFAULT NULL COMMENT '字典名称', + `extra` varchar(255) DEFAULT NULL COMMENT '字段额外的参数', + `form_show` bit(1) DEFAULT NULL COMMENT '是否表单显示', + `form_type` varchar(255) DEFAULT NULL COMMENT '表单类型', + `key_type` varchar(255) DEFAULT NULL COMMENT '数据库字段键类型', + `list_show` bit(1) DEFAULT NULL COMMENT '是否在列表显示', + `not_null` bit(1) DEFAULT NULL COMMENT '是否为空', + `query_type` varchar(255) DEFAULT NULL COMMENT '查询类型', + `remark` varchar(255) DEFAULT NULL COMMENT '描述', + PRIMARY KEY (`column_id`) USING BTREE, + KEY `idx_table_name` (`table_name`) +) ENGINE=InnoDB AUTO_INCREMENT=290 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='代码生成字段信息存储'; + +-- ---------------------------- +-- Records of code_column +-- ---------------------------- +INSERT INTO `code_column` VALUES ('223', 'tool_local_storage', 'storage_id', 'bigint', null, 'auto_increment', '', null, 'PRI', '', '\0', null, 'ID'); +INSERT INTO `code_column` VALUES ('224', 'tool_local_storage', 'real_name', 'varchar', null, '', '', null, '', '', '\0', null, '文件真实的名称'); +INSERT INTO `code_column` VALUES ('225', 'tool_local_storage', 'name', 'varchar', null, '', '', null, '', '', '\0', null, '文件名'); +INSERT INTO `code_column` VALUES ('226', 'tool_local_storage', 'suffix', 'varchar', null, '', '', null, '', '', '\0', null, '后缀'); +INSERT INTO `code_column` VALUES ('227', 'tool_local_storage', 'path', 'varchar', null, '', '', null, '', '', '\0', null, '路径'); +INSERT INTO `code_column` VALUES ('228', 'tool_local_storage', 'type', 'varchar', null, '', '', null, '', '', '\0', null, '类型'); +INSERT INTO `code_column` VALUES ('229', 'tool_local_storage', 'size', 'varchar', null, '', '', null, '', '', '\0', null, '大小'); +INSERT INTO `code_column` VALUES ('230', 'tool_local_storage', 'create_by', 'varchar', null, '', '', null, '', '', '\0', null, '创建者'); +INSERT INTO `code_column` VALUES ('231', 'tool_local_storage', 'update_by', 'varchar', null, '', '', null, '', '', '\0', null, '更新者'); +INSERT INTO `code_column` VALUES ('232', 'tool_local_storage', 'create_time', 'datetime', null, '', '', null, '', '', '\0', null, '创建日期'); +INSERT INTO `code_column` VALUES ('233', 'tool_local_storage', 'update_time', 'datetime', null, '', '', null, '', '', '\0', null, '更新时间'); +INSERT INTO `code_column` VALUES ('234', 'bus_user', 'id', 'bigint', null, 'auto_increment', '', null, 'PRI', '', '\0', null, '用户id'); +INSERT INTO `code_column` VALUES ('235', 'bus_user', 'real_name', 'varchar', null, '', '', null, '', '', '\0', null, '真实姓名'); +INSERT INTO `code_column` VALUES ('236', 'bus_user', 'nickname', 'varchar', null, '', '', null, '', '', '\0', null, '用户昵称'); +INSERT INTO `code_column` VALUES ('237', 'bus_user', 'avatar', 'varchar', null, '', '', null, '', '', '\0', null, '用户头像'); +INSERT INTO `code_column` VALUES ('238', 'bus_user', 'phone', 'varchar', null, '', '', null, '', '', '\0', null, '手机号码'); +INSERT INTO `code_column` VALUES ('239', 'bus_user', 'status', 'int', null, '', '', null, 'MUL', '', '\0', null, '1为正常,0为禁止'); +INSERT INTO `code_column` VALUES ('240', 'bus_user', 'token', 'varchar', null, '', '', null, 'UNI', '', '', null, 'openId'); +INSERT INTO `code_column` VALUES ('241', 'bus_user', 'sex', 'int', null, '', '', null, '', '', '\0', null, '性别,0未知,1男,2女'); +INSERT INTO `code_column` VALUES ('242', 'bus_user', 'create_by', 'varchar', null, '', '', null, '', '', '\0', null, '创建者'); +INSERT INTO `code_column` VALUES ('243', 'bus_user', 'update_by', 'varchar', null, '', '', null, '', '', '\0', null, '更新者'); +INSERT INTO `code_column` VALUES ('244', 'bus_user', 'create_time', 'datetime', null, '', '', null, '', '', '', null, '创建时间'); +INSERT INTO `code_column` VALUES ('245', 'bus_user', 'update_time', 'datetime', null, 'on update CURRENT_TIMESTAMP', '', null, '', '', '', null, '更新时间'); +INSERT INTO `code_column` VALUES ('246', 'bus_user_device', 'id', 'bigint', null, 'auto_increment', '', null, 'PRI', '', '\0', null, '绑定记录唯一标识'); +INSERT INTO `code_column` VALUES ('247', 'bus_user_device', 'user_id', 'bigint', null, '', '', null, 'MUL', '', '', null, '用户ID(外键)'); +INSERT INTO `code_column` VALUES ('248', 'bus_user_device', 'device_id', 'bigint', null, '', '', null, '', '', '', null, '设备ID(外键)'); +INSERT INTO `code_column` VALUES ('249', 'bus_user_device', 'is_primary', 'int', null, '', '', null, '', '', '', null, '是否为主用户(1=是,2=否)'); +INSERT INTO `code_column` VALUES ('250', 'bus_user_device', 'status', 'int', null, '', '', null, '', '', '', null, '绑定状态(1=有效,2=失效)'); +INSERT INTO `code_column` VALUES ('251', 'bus_user_device', 'create_by', 'varchar', null, '', '', null, '', '', '\0', null, '创建者'); +INSERT INTO `code_column` VALUES ('252', 'bus_user_device', 'update_by', 'varchar', null, '', '', null, '', '', '\0', null, '更新者'); +INSERT INTO `code_column` VALUES ('253', 'bus_user_device', 'create_time', 'datetime', null, '', '', null, '', '', '', null, '创建时间'); +INSERT INTO `code_column` VALUES ('254', 'bus_user_device', 'update_time', 'datetime', null, 'on update CURRENT_TIMESTAMP', '', null, '', '', '', null, '更新时间'); +INSERT INTO `code_column` VALUES ('255', 'bus_device', 'id', 'bigint', null, 'auto_increment', '', null, 'PRI', '', '\0', null, '设备唯一标识'); +INSERT INTO `code_column` VALUES ('256', 'bus_device', 'device_sn', 'varchar', null, '', '', null, 'UNI', '', '', null, '设备序列号(唯一)'); +INSERT INTO `code_column` VALUES ('257', 'bus_device', 'model', 'varchar', null, '', '', null, '', '', '', null, '型号'); +INSERT INTO `code_column` VALUES ('258', 'bus_device', 'brand', 'varchar', null, '', '', null, '', '', '\0', null, '品牌'); +INSERT INTO `code_column` VALUES ('259', 'bus_device', 'firmware_version', 'varchar', null, '', '', null, '', '', '\0', null, '固件版本'); +INSERT INTO `code_column` VALUES ('260', 'bus_device', 'location', 'varchar', null, '', '', null, '', '', '\0', null, '放置位置'); +INSERT INTO `code_column` VALUES ('261', 'bus_device', 'status', 'int', null, '', '', null, '', '', '', null, '设备状态(1=在线,2=离线,3=故障)'); +INSERT INTO `code_column` VALUES ('262', 'bus_device', 'online_time', 'datetime', null, '', '', null, '', '', '\0', null, '最近上线时间'); +INSERT INTO `code_column` VALUES ('263', 'bus_device', 'offline_time', 'datetime', null, '', '', null, '', '', '\0', null, '最近下线时间'); +INSERT INTO `code_column` VALUES ('264', 'bus_device', 'total_print_time', 'int', null, '', '', null, '', '', '\0', null, '累计时长(分钟)'); +INSERT INTO `code_column` VALUES ('265', 'bus_device', 'remark', 'varchar', null, '', '', null, '', '', '\0', null, '备注'); +INSERT INTO `code_column` VALUES ('266', 'bus_device', 'type', 'int', null, '', '', null, '', '', '\0', null, '类型:1打印机,2摄像头'); +INSERT INTO `code_column` VALUES ('267', 'bus_device', 'create_by', 'varchar', null, '', '', null, '', '', '\0', null, '创建者'); +INSERT INTO `code_column` VALUES ('268', 'bus_device', 'update_by', 'varchar', null, '', '', null, '', '', '\0', null, '更新者'); +INSERT INTO `code_column` VALUES ('269', 'bus_device', 'create_time', 'datetime', null, '', '', null, '', '', '', null, '创建时间'); +INSERT INTO `code_column` VALUES ('270', 'bus_device', 'update_time', 'datetime', null, 'on update CURRENT_TIMESTAMP', '', null, '', '', '', null, '更新时间'); +INSERT INTO `code_column` VALUES ('271', 'bus_device_command', 'id', 'bigint', null, 'auto_increment', '', null, 'PRI', '', '\0', null, '指令唯一标识'); +INSERT INTO `code_column` VALUES ('272', 'bus_device_command', 'device_id', 'bigint', null, '', '', null, 'UNI', '', '', null, '指令代码(唯一)'); +INSERT INTO `code_column` VALUES ('273', 'bus_device_command', 'command_name', 'varchar', null, '', '', null, '', '', '', null, '指令名称'); +INSERT INTO `code_column` VALUES ('274', 'bus_device_command', 'command_type', 'int', null, '', '', null, '', '', '', null, '指令类型(1=控制,2=查询,3=校准)'); +INSERT INTO `code_column` VALUES ('275', 'bus_device_command', 'description', 'varchar', null, '', '', null, '', '', '\0', null, '指令描述'); +INSERT INTO `code_column` VALUES ('276', 'bus_device_command', 'is_system', 'int', null, '', '', null, '', '', '', null, '是否为系统指令(1=是,2=否)'); +INSERT INTO `code_column` VALUES ('277', 'bus_device_command', 'command_params', 'text', null, '', '', null, '', '', '\0', null, '指令参数(JSON格式)'); +INSERT INTO `code_column` VALUES ('278', 'bus_device_command', 'create_by', 'varchar', null, '', '', null, '', '', '\0', null, '创建者'); +INSERT INTO `code_column` VALUES ('279', 'bus_device_command', 'update_by', 'varchar', null, '', '', null, '', '', '\0', null, '更新者'); +INSERT INTO `code_column` VALUES ('280', 'bus_device_command', 'create_time', 'datetime', null, '', '', null, '', '', '', null, '创建时间'); +INSERT INTO `code_column` VALUES ('281', 'bus_device_command', 'update_time', 'datetime', null, 'on update CURRENT_TIMESTAMP', '', null, '', '', '', null, '更新时间'); +INSERT INTO `code_column` VALUES ('282', 'bus_user_device_command', 'id', 'bigint', null, 'auto_increment', '', null, 'PRI', '', '\0', null, '操作记录唯一标识'); +INSERT INTO `code_column` VALUES ('283', 'bus_user_device_command', 'user_id', 'bigint', null, '', '', null, '', '', '', null, '用户ID(外键)'); +INSERT INTO `code_column` VALUES ('284', 'bus_user_device_command', 'device_id', 'bigint', null, '', '', null, '', '', '', null, '设备ID(外键)'); +INSERT INTO `code_column` VALUES ('285', 'bus_user_device_command', 'command_id', 'bigint', null, '', '', null, '', '', '', null, '指令ID(外键)'); +INSERT INTO `code_column` VALUES ('286', 'bus_user_device_command', 'create_by', 'varchar', null, '', '', null, '', '', '\0', null, '创建者'); +INSERT INTO `code_column` VALUES ('287', 'bus_user_device_command', 'update_by', 'varchar', null, '', '', null, '', '', '\0', null, '更新者'); +INSERT INTO `code_column` VALUES ('288', 'bus_user_device_command', 'create_time', 'datetime', null, '', '', null, '', '', '', null, '创建时间'); +INSERT INTO `code_column` VALUES ('289', 'bus_user_device_command', 'update_time', 'datetime', null, 'on update CURRENT_TIMESTAMP', '', null, '', '', '', null, '更新时间'); + +-- ---------------------------- +-- Table structure for code_config +-- ---------------------------- +DROP TABLE IF EXISTS `code_config`; +CREATE TABLE `code_config` ( + `config_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `table_name` varchar(255) DEFAULT NULL COMMENT '表名', + `author` varchar(255) DEFAULT NULL COMMENT '作者', + `cover` bit(1) DEFAULT NULL COMMENT '是否覆盖', + `module_name` varchar(255) DEFAULT NULL COMMENT '模块名称', + `pack` varchar(255) DEFAULT NULL COMMENT '至于哪个包下', + `path` varchar(255) DEFAULT NULL COMMENT '前端代码生成的路径', + `api_path` varchar(255) DEFAULT NULL COMMENT '前端Api文件路径', + `prefix` varchar(255) DEFAULT NULL COMMENT '表前缀', + `api_alias` varchar(255) DEFAULT NULL COMMENT '接口名称', + PRIMARY KEY (`config_id`) USING BTREE, + KEY `idx_table_name` (`table_name`(100)) +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='代码生成器配置'; + +-- ---------------------------- +-- Records of code_config +-- ---------------------------- +INSERT INTO `code_config` VALUES ('8', 'bus_user', 'tz', '\0', 'eladmin-system', 'me.zhengjie', 'bususer', 'bususer\\', '', 'busUser'); +INSERT INTO `code_config` VALUES ('9', 'bus_device', 'tz', '\0', 'eladmin-system', 'me.zhengjie', 'bus/busDevice', 'bus/busDevice\\', null, 'busDevice'); +INSERT INTO `code_config` VALUES ('10', 'bus_device_command', 'tz', '\0', 'eladmin-system', 'me.zhengjie', 'busDevice', 'busDevice\\', null, 'busCommand'); +INSERT INTO `code_config` VALUES ('11', 'bus_user_device', 'tz', '\0', 'eladmin-system', 'me.zhengjie', 'BusUserDevice', 'BusUserDevice\\', null, 'userDevice'); +INSERT INTO `code_config` VALUES ('12', 'bus_user_device_command', 'tz', '\0', 'eladmin-system', 'me.zhengjie', 'BusUserCommand', 'BusUserCommand\\', null, 'userCommand'); + -- ---------------------------- -- Table structure for sys_dept -- ---------------------------- @@ -59,7 +331,7 @@ CREATE TABLE `sys_dict` ( `create_time` datetime DEFAULT NULL COMMENT '创建日期', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`dict_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='数据字典'; +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='数据字典'; -- ---------------------------- -- Records of sys_dict @@ -67,7 +339,6 @@ CREATE TABLE `sys_dict` ( INSERT INTO `sys_dict` VALUES ('1', 'user_status', '用户状态', null, null, '2019-10-27 20:31:36', null); INSERT INTO `sys_dict` VALUES ('4', 'dept_status', '部门状态', null, null, '2019-10-27 20:31:36', null); INSERT INTO `sys_dict` VALUES ('5', 'job_status', '岗位状态', null, null, '2019-10-27 20:31:36', null); -INSERT INTO `sys_dict` VALUES ('6', 'case_type', '案件类型', null, null, null, null); -- ---------------------------- -- Table structure for sys_dict_detail @@ -85,7 +356,7 @@ CREATE TABLE `sys_dict_detail` ( `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`detail_id`) USING BTREE, KEY `idx_dict_id` (`dict_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='数据字典详情'; +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='数据字典详情'; -- ---------------------------- -- Records of sys_dict_detail @@ -96,24 +367,6 @@ INSERT INTO `sys_dict_detail` VALUES ('3', '4', '启用', 'true', '1', null, nul INSERT INTO `sys_dict_detail` VALUES ('4', '4', '停用', 'false', '2', null, null, '2019-10-27 20:31:36', null); INSERT INTO `sys_dict_detail` VALUES ('5', '5', '启用', 'true', '1', null, null, null, null); INSERT INTO `sys_dict_detail` VALUES ('6', '5', '停用', 'false', '2', null, null, '2019-10-27 20:31:36', null); -INSERT INTO `sys_dict_detail` VALUES ('7', '6', '交通违规', '交通违规', '1', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('10', '6', '农业违规', '农业违规', '10', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('11', '6', '劳动纠纷', '劳动纠纷', '11', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('12', '6', '医疗违规', '医疗违规', '12', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('13', '6', '卫生违规', '卫生违规', '13', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('14', '6', '城建违规', '城建违规', '14', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('15', '6', '建设违规', '建设违规', '15', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('16', '6', '教育违规', '教育违规', '16', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('17', '6', '文化违规', '文化违规', '17', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('18', '6', '治安管理', '治安管理', '18', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('19', '6', '消费欺诈', '消费欺诈', '19', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('20', '6', '环保违规', '环保违规', '20', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('21', '6', '环境污染', '环境污染', '21', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('22', '6', '电商违规', '电商违规', '22', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('23', '6', '知识产权', '知识产权', '23', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('24', '6', '经济犯罪', '经济犯罪', '24', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('25', '6', '金融违规', '金融违规', '25', null, null, null, null); -INSERT INTO `sys_dict_detail` VALUES ('26', '6', '食品安全', '食品安全', '26', null, null, null, null); -- ---------------------------- -- Table structure for sys_job @@ -161,7 +414,7 @@ CREATE TABLE `sys_log` ( PRIMARY KEY (`log_id`) USING BTREE, KEY `idx_create_time_index` (`create_time`), KEY `idx_log_type` (`log_type`) -) ENGINE=InnoDB AUTO_INCREMENT=3654 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='系统日志'; +) ENGINE=InnoDB AUTO_INCREMENT=3780 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='系统日志'; -- ---------------------------- -- Records of sys_log @@ -227,6 +480,132 @@ INSERT INTO `sys_log` VALUES ('3650', '修改busLawEnforcement', 'INFO', 'me.zhe INSERT INTO `sys_log` VALUES ('3651', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"4\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:e155b63a5d1c4e54b9b3298d65fa40c0\"}', '192.168.2.4', '123', 'admin', '内网IP', 'MSEdge 131', null, '2025-05-09 21:32:12'); INSERT INTO `sys_log` VALUES ('3652', '新增busLawEnforcement', 'INFO', 'me.zhengjie.modules.system.rest.BusLawEnforcementController.createBusLawEnforcement()', '{\"caseAmount\":30000,\"caseDescription\":\"交通红灯\",\"caseLocation\":\"上海市浦东新区\",\"caseNumber\":\"1112134-123ADF\",\"caseStatus\":\"处理中\",\"caseTime\":\"2025-05-09 21:33:01\",\"caseTitle\":\"交通红灯\",\"caseType\":\"交通违规\",\"enforcementAction\":\"1112\",\"enforcementDepartment\":\"xx部门\",\"evidenceList\":\"xxx\",\"filingTime\":\"2025-05-09 21:33:49\",\"id\":36,\"involvedCompany\":\"某某滴滴公司\",\"involvedPerson\":\"唐某某\",\"lawEnforcementOfficer\":\"陈某某\",\"legalBasis\":\"xx\",\"punishmentAmount\":20000,\"punishmentType\":\"罚款\",\"remark\":\"aadf\"}', '192.168.2.4', '15', 'admin', '内网IP', 'MSEdge 131', null, '2025-05-09 21:33:56'); INSERT INTO `sys_log` VALUES ('3653', '修改busLawEnforcement', 'INFO', 'me.zhengjie.modules.system.rest.BusLawEnforcementController.updateBusLawEnforcement()', '{\"caseAmount\":30000,\"caseDescription\":\"交通红灯\",\"caseLocation\":\"上海市浦东新区\",\"caseNumber\":\"1112134-123ADF\",\"caseStatus\":\"处理中\",\"caseTime\":\"2025-05-09 21:33:01\",\"caseTitle\":\"交通红灯\",\"caseType\":\"交通违规\",\"createTime\":\"2025-05-09 21:33:55\",\"enforcementAction\":\"缴纳罚款\",\"enforcementDepartment\":\"交通执法部门\",\"evidenceList\":\"xxx\",\"filingTime\":\"2025-05-09 21:33:49\",\"hexId\":\"0xc9cb653d0ddb77218b717a2ccba6a0c98a7c453c76afaaed4b496d0533ec31e2\",\"id\":36,\"involvedCompany\":\"某某滴滴公司\",\"involvedPerson\":\"唐某某\",\"lawEnforcementOfficer\":\"陈某某\",\"legalBasis\":\"xx\",\"punishmentAmount\":20000,\"punishmentType\":\"罚款\",\"remark\":\"aadf\",\"updateTime\":\"2025-05-09 21:33:55\"}', '192.168.2.4', '83', 'admin', '内网IP', 'MSEdge 131', null, '2025-05-09 21:34:47'); +INSERT INTO `sys_log` VALUES ('3654', 'C端用户登录', 'ERROR', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123\"}', '0:0:0:0:0:0:0:1', '10', null, 'IANA保留地址', 'Chrome 101.0.4951.64', 'org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): me.zhengjie.modules.system.mapper.CusUserMapper.getUserByOpenId\r\n at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:235)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.(MybatisMapperMethod.java:50)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.lambda$cachedInvoker$0(MybatisMapperProxy.java:111)\r\n at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)\r\n at com.baomidou.mybatisplus.core.toolkit.CollectionUtils.computeIfAbsent(CollectionUtils.java:115)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.cachedInvoker(MybatisMapperProxy.java:98)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy136.getUserByOpenId(Unknown Source)\r\n at me.zhengjie.modules.front.service.impl.WeChatServiceImpl.authorizeLogin(WeChatServiceImpl.java:46)\r\n at me.zhengjie.modules.front.rest.WeChatController.authorizeLogin(WeChatController.java:31)\r\n at me.zhengjie.modules.front.rest.WeChatController$$FastClassBySpringCGLIB$$e99d974e.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.front.rest.WeChatController$$EnhancerBySpringCGLIB$$bacebc5c.authorizeLogin()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\n', '2025-05-18 16:54:28'); +INSERT INTO `sys_log` VALUES ('3655', 'C端用户登录', 'ERROR', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123\"}', '0:0:0:0:0:0:0:1', '12199', null, 'IANA保留地址', 'Chrome 101.0.4951.64', 'org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): me.zhengjie.modules.system.mapper.CusUserMapper.getUserByOpenId\r\n at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:235)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.(MybatisMapperMethod.java:50)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.lambda$cachedInvoker$0(MybatisMapperProxy.java:111)\r\n at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)\r\n at com.baomidou.mybatisplus.core.toolkit.CollectionUtils.computeIfAbsent(CollectionUtils.java:115)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.cachedInvoker(MybatisMapperProxy.java:98)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy136.getUserByOpenId(Unknown Source)\r\n at me.zhengjie.modules.front.service.impl.WeChatServiceImpl.authorizeLogin(WeChatServiceImpl.java:46)\r\n at me.zhengjie.modules.front.rest.WeChatController.authorizeLogin(WeChatController.java:31)\r\n at me.zhengjie.modules.front.rest.WeChatController$$FastClassBySpringCGLIB$$e99d974e.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.front.rest.WeChatController$$EnhancerBySpringCGLIB$$bacebc5c.authorizeLogin()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\n', '2025-05-18 16:54:56'); +INSERT INTO `sys_log` VALUES ('3656', 'C端用户登录', 'ERROR', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123\"}', '0:0:0:0:0:0:0:1', '228', null, 'IANA保留地址', 'Chrome 101.0.4951.64', 'org.springframework.jdbc.BadSqlGrammarException: \r\n### Error updating database. Cause: java.sql.SQLSyntaxErrorException: Unknown column \'create_by\' in \'field list\'\r\n### The error may exist in me/zhengjie/modules/system/mapper/CusUserMapper.java (best guess)\r\n### The error may involve me.zhengjie.modules.system.mapper.CusUserMapper.insert-Inline\r\n### The error occurred while setting parameters\r\n### SQL: INSERT INTO cus_user ( nickname, token, sex, create_by, update_by, update_time ) VALUES ( ?, ?, ?, ?, ?, ? )\r\n### Cause: java.sql.SQLSyntaxErrorException: Unknown column \'create_by\' in \'field list\'\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Unknown column \'create_by\' in \'field list\'\r\n at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:236)\r\n at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)\r\n at com.sun.proxy.$Proxy135.insert(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy136.insert(Unknown Source)\r\n at me.zhengjie.modules.front.service.impl.WeChatServiceImpl.authorizeLogin(WeChatServiceImpl.java:60)\r\n at me.zhengjie.modules.front.rest.WeChatController.authorizeLogin(WeChatController.java:31)\r\n at me.zhengjie.modules.front.rest.WeChatController$$FastClassBySpringCGLIB$$e99d974e.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.front.rest.WeChatController$$EnhancerBySpringCGLIB$$a3142327.authorizeLogin()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: java.sql.SQLSyntaxErrorException: Unknown column \'create_by\' in \'field list\'\r\n at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:112)\r\n at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:114)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:990)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:384)\r\n at com.p6spy.engine.wrapper.PreparedStatementWrapper.execute(PreparedStatementWrapper.java:362)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3446)\r\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:434)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3444)\r\n at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:158)\r\n at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483)\r\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47)\r\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64)\r\n at com.sun.proxy.$Proxy258.update(Unknown Source)\r\n at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)\r\n at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)\r\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)\r\n at com.sun.proxy.$Proxy257.update(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:181)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)\r\n ... 127 more\r\n', '2025-05-18 16:56:31'); +INSERT INTO `sys_log` VALUES ('3657', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123\"}', '0:0:0:0:0:0:0:1', '233', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 16:58:41'); +INSERT INTO `sys_log` VALUES ('3658', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"6\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:b8dc2d838b654f6fbfe5e972dbbb9462\"}', '192.168.5.100', '170', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-18 17:01:27'); +INSERT INTO `sys_log` VALUES ('3659', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '8881', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 17:06:17'); +INSERT INTO `sys_log` VALUES ('3660', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '270', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 17:07:48'); +INSERT INTO `sys_log` VALUES ('3661', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '24693', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 17:10:02'); +INSERT INTO `sys_log` VALUES ('3662', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '4321', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 17:12:00'); +INSERT INTO `sys_log` VALUES ('3663', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '280', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 17:12:43'); +INSERT INTO `sys_log` VALUES ('3664', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '373', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 20:52:33'); +INSERT INTO `sys_log` VALUES ('3665', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '350', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 21:02:56'); +INSERT INTO `sys_log` VALUES ('3666', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '313', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 21:05:33'); +INSERT INTO `sys_log` VALUES ('3667', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '45', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 21:11:55'); +INSERT INTO `sys_log` VALUES ('3668', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '7', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 21:12:29'); +INSERT INTO `sys_log` VALUES ('3669', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '5', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 21:26:49'); +INSERT INTO `sys_log` VALUES ('3670', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"15\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:d54adba664d444ec9707618fb511acb7\"}', '192.168.2.4', '11519', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-18 21:28:32'); +INSERT INTO `sys_log` VALUES ('3671', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '375', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 21:32:47'); +INSERT INTO `sys_log` VALUES ('3672', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '10076', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 21:34:15'); +INSERT INTO `sys_log` VALUES ('3673', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '26565', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 21:36:28'); +INSERT INTO `sys_log` VALUES ('3674', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '11682', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 21:37:27'); +INSERT INTO `sys_log` VALUES ('3675', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '15334', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 21:38:51'); +INSERT INTO `sys_log` VALUES ('3676', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '9603', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 21:41:15'); +INSERT INTO `sys_log` VALUES ('3677', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '10701', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 22:04:15'); +INSERT INTO `sys_log` VALUES ('3678', 'C端用户登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456789\"}', '0:0:0:0:0:0:0:1', '146', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-18 22:10:06'); +INSERT INTO `sys_log` VALUES ('3679', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"-3\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:adb87e5bcd754c71a3fce396f5cdcdac\"}', '192.168.2.4', '2976', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-18 23:02:03'); +INSERT INTO `sys_log` VALUES ('3680', '用户登录', 'ERROR', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"7\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:51386c6d25b9444ea7ac8349ed33c4de\"}', '192.168.5.104', '228', 'admin', '内网IP', 'Chrome 101.0.4951.64', 'me.zhengjie.exception.BadRequestException: 验证码不存在或已过期\r\n at me.zhengjie.modules.security.rest.AuthController.login(AuthController.java:89)\r\n at me.zhengjie.modules.security.rest.AuthController$$FastClassBySpringCGLIB$$7f997139.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.security.rest.AuthController$$EnhancerBySpringCGLIB$$56e0f2fc.login()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\n', '2025-05-19 10:15:17'); +INSERT INTO `sys_log` VALUES ('3681', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"4\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:c3f46ef33cd74b4d990b4d1380a4320d\"}', '192.168.5.104', '234', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-19 10:15:22'); +INSERT INTO `sys_log` VALUES ('3682', '用户授权登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"111111\"}', '0:0:0:0:0:0:0:1', '321', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-19 10:42:35'); +INSERT INTO `sys_log` VALUES ('3683', '用户信息', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.getLoginInfo()', '{}', '0:0:0:0:0:0:0:1', '41', '123456', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-19 10:42:48'); +INSERT INTO `sys_log` VALUES ('3684', '用户授权登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"111111\"}', '0:0:0:0:0:0:0:1', '322', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-19 10:47:42'); +INSERT INTO `sys_log` VALUES ('3685', '用户信息', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.getLoginInfo()', '{}', '0:0:0:0:0:0:0:1', '35', '123456', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-19 10:48:13'); +INSERT INTO `sys_log` VALUES ('3686', '修改角色菜单', 'INFO', 'me.zhengjie.modules.system.rest.RoleController.updateRoleMenu()', '{\"dataScope\":\"本级\",\"id\":1,\"level\":3,\"menus\":[{\"hasChildren\":false,\"id\":97,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":98,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":102,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":103,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":104,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":105,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":106,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":107,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":108,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":109,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":110,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":111,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":116,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":1,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":2,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":3,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":5,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":6,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":7,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":9,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":10,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":11,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":14,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":18,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":19,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":21,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":22,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":23,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":24,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":27,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":28,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":30,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":32,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":35,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":36,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":37,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":39,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":41,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":44,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":45,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":46,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":48,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":49,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":50,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":52,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":53,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":54,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":56,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":57,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":58,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":60,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":61,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":62,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":64,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":65,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":66,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":73,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":74,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":75,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":77,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":78,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":79,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":80,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":82,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":90,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":92,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":93,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":94,\"leaf\":true,\"menuSort\":999,\"subCount\":0}]}', '192.168.5.104', '31', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-19 11:11:57'); +INSERT INTO `sys_log` VALUES ('3687', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"4\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:f800eb9ead1b48a8937ed7947b0a8b25\"}', '192.168.5.104', '108', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-19 11:50:20'); +INSERT INTO `sys_log` VALUES ('3688', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"10\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:56760f27405b44cf817e3f1b4687dc64\"}', '192.168.5.108', '511', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 14:14:21'); +INSERT INTO `sys_log` VALUES ('3689', '修改角色菜单', 'INFO', 'me.zhengjie.modules.system.rest.RoleController.updateRoleMenu()', '{\"dataScope\":\"本级\",\"id\":1,\"level\":3,\"menus\":[{\"hasChildren\":false,\"id\":102,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":103,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":104,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":105,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":106,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":107,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":108,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":109,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":110,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":111,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":116,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":1,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":2,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":3,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":5,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":6,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":7,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":10,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":11,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":15,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":18,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":28,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":30,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":32,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":33,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":34,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":35,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":36,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":37,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":39,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":41,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":44,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":45,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":46,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":48,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":49,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":50,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":52,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":53,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":54,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":56,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":57,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":58,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":60,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":61,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":62,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":64,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":65,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":66,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":73,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":74,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":75,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":77,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":78,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":79,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":82,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":83,\"leaf\":true,\"menuSort\":999,\"subCount\":0}]}', '192.168.5.108', '35', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 15:35:15'); +INSERT INTO `sys_log` VALUES ('3690', '新增菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.createMenu()', '{\"IFrame\":false,\"cache\":false,\"createBy\":\"admin\",\"createTime\":\"2025-05-20 15:57:56.923\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"app\",\"id\":117,\"label\":\"设备管理\",\"leaf\":true,\"menuSort\":999,\"path\":\"1\",\"subCount\":0,\"title\":\"设备管理\",\"type\":0,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 15:57:56.924\"}', '192.168.5.108', '15', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 15:57:57'); +INSERT INTO `sys_log` VALUES ('3691', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":true,\"component\":\"components/Echarts\",\"componentName\":\"Echarts\",\"createTime\":\"2019-11-21 09:04:32\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"chart\",\"id\":83,\"label\":\"图表库\",\"leaf\":true,\"menuSort\":50,\"path\":\"echarts\",\"permission\":\"\",\"pid\":10,\"subCount\":0,\"title\":\"图表库\",\"type\":1},{\"IFrame\":false,\"cache\":false,\"component\":\"components/icons/index\",\"componentName\":\"Icons\",\"createTime\":\"2018-12-19 13:38:49\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"icon\",\"id\":11,\"label\":\"图标库\",\"leaf\":true,\"menuSort\":51,\"path\":\"icon\",\"pid\":10,\"subCount\":0,\"title\":\"图标库\",\"type\":1},{\"IFrame\":false,\"cache\":false,\"component\":\"components/Editor\",\"componentName\":\"Editor\",\"createTime\":\"2018-12-27 11:58:25\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"fwb\",\"id\":15,\"label\":\"富文本\",\"leaf\":true,\"menuSort\":52,\"path\":\"tinymce\",\"pid\":10,\"subCount\":0,\"title\":\"富文本\",\"type\":1},{\"IFrame\":false,\"cache\":false,\"component\":\"components/MarkDown\",\"componentName\":\"Markdown\",\"createTime\":\"2019-03-08 13:46:44\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"markdown\",\"id\":33,\"label\":\"Markdown\",\"leaf\":true,\"menuSort\":53,\"path\":\"markdown\",\"pid\":10,\"subCount\":0,\"title\":\"Markdown\",\"type\":1}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 15:57:57\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"app\",\"id\":117,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"subCount\":7,\"title\":\"设备管理\",\"type\":0,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 15:57:57\"}', '192.168.5.108', '30', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 15:58:24'); +INSERT INTO `sys_log` VALUES ('3692', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":true,\"component\":\"components/Echarts\",\"componentName\":\"Echarts\",\"createTime\":\"2019-11-21 09:04:32\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"chart\",\"id\":83,\"label\":\"图表库\",\"leaf\":true,\"menuSort\":50,\"path\":\"echarts\",\"permission\":\"\",\"pid\":10,\"subCount\":0,\"title\":\"图表库\",\"type\":1},{\"IFrame\":false,\"cache\":false,\"component\":\"components/icons/index\",\"componentName\":\"Icons\",\"createTime\":\"2018-12-19 13:38:49\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"icon\",\"id\":11,\"label\":\"图标库\",\"leaf\":true,\"menuSort\":51,\"path\":\"icon\",\"pid\":10,\"subCount\":0,\"title\":\"图标库\",\"type\":1},{\"IFrame\":false,\"cache\":false,\"component\":\"components/Editor\",\"componentName\":\"Editor\",\"createTime\":\"2018-12-27 11:58:25\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"fwb\",\"id\":15,\"label\":\"富文本\",\"leaf\":true,\"menuSort\":52,\"path\":\"tinymce\",\"pid\":10,\"subCount\":0,\"title\":\"富文本\",\"type\":1},{\"IFrame\":false,\"cache\":false,\"component\":\"components/MarkDown\",\"componentName\":\"Markdown\",\"createTime\":\"2019-03-08 13:46:44\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"markdown\",\"id\":33,\"label\":\"Markdown\",\"leaf\":true,\"menuSort\":53,\"path\":\"markdown\",\"pid\":10,\"subCount\":0,\"title\":\"Markdown\",\"type\":1}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 15:57:57\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"app\",\"id\":117,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"bus\",\"subCount\":7,\"title\":\"设备管理\",\"type\":0,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 15:57:57\"}', '192.168.5.108', '11', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 15:58:49'); +INSERT INTO `sys_log` VALUES ('3693', '新增菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.createMenu()', '{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"busUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45.177\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":true,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser\",\"pid\":117,\"subCount\":0,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45.177\"}', '192.168.5.108', '12', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:00:45'); +INSERT INTO `sys_log` VALUES ('3694', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":true,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser\",\"pid\":117,\"subCount\":0,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"}', '192.168.5.108', '18', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:01:08'); +INSERT INTO `sys_log` VALUES ('3695', '修改角色菜单', 'INFO', 'me.zhengjie.modules.system.rest.RoleController.updateRoleMenu()', '{\"dataScope\":\"本级\",\"id\":1,\"level\":3,\"menus\":[{\"hasChildren\":false,\"id\":102,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":103,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":104,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":105,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":106,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":107,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":108,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":109,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":110,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":111,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":116,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":117,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":118,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":1,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":2,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":3,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":5,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":6,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":7,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":10,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":11,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":15,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":18,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":28,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":30,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":32,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":33,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":35,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":36,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":37,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":39,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":41,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":44,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":45,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":46,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":48,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":49,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":50,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":52,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":53,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":54,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":56,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":57,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":58,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":60,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":61,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":62,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":64,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":65,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":66,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":73,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":74,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":75,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":77,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":78,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":79,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":82,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":83,\"leaf\":true,\"menuSort\":999,\"subCount\":0}]}', '192.168.5.108', '22', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:01:31'); +INSERT INTO `sys_log` VALUES ('3696', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":true,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser\",\"pid\":117,\"subCount\":0,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"}],\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":true,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser\",\"pid\":117,\"subCount\":0,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"}', '192.168.5.108', '15', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:04:35'); +INSERT INTO `sys_log` VALUES ('3697', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":true,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":0,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"}', '192.168.5.108', '15', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:06:05'); +INSERT INTO `sys_log` VALUES ('3698', '新增菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.createMenu()', '{\"IFrame\":false,\"cache\":false,\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:06:55.006\",\"hasChildren\":false,\"hidden\":false,\"id\":119,\"label\":\"编辑\",\"leaf\":true,\"menuSort\":999,\"permission\":\"busUser:edit\",\"pid\":118,\"subCount\":0,\"title\":\"编辑\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:06:55.006\"}', '192.168.5.108', '10', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:06:55'); +INSERT INTO `sys_log` VALUES ('3699', '新增菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.createMenu()', '{\"IFrame\":false,\"cache\":false,\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:09:00.382\",\"hasChildren\":false,\"hidden\":false,\"id\":120,\"label\":\"用户注销\",\"leaf\":true,\"menuSort\":999,\"permission\":\"busUser:disable\",\"pid\":118,\"subCount\":0,\"title\":\"用户注销\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:09:00.382\"}', '192.168.5.108', '11', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:09:00'); +INSERT INTO `sys_log` VALUES ('3700', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:06:55\",\"hasChildren\":false,\"hidden\":false,\"id\":119,\"label\":\"编辑\",\"leaf\":true,\"menuSort\":999,\"permission\":\"busUser:edit\",\"pid\":118,\"subCount\":0,\"title\":\"编辑\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:06:55\"}],\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 15:57:57\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"app\",\"id\":117,\"label\":\"用户设备\",\"leaf\":false,\"menuSort\":999,\"path\":\"bus\",\"subCount\":1,\"title\":\"用户设备\",\"type\":0,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 15:57:57\"}', '192.168.5.108', '12', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:09:42'); +INSERT INTO `sys_log` VALUES ('3701', '新增菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.createMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:06:55\",\"hasChildren\":false,\"hidden\":false,\"id\":119,\"label\":\"编辑\",\"leaf\":true,\"menuSort\":999,\"permission\":\"busUser:edit\",\"pid\":118,\"subCount\":0,\"title\":\"编辑\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:06:55\"}],\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"}],\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06.36\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":true,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":0,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06.36\"}', '192.168.5.108', '17', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:11:06'); +INSERT INTO `sys_log` VALUES ('3702', '修改菜单', 'ERROR', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 15:57:57\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"app\",\"id\":117,\"label\":\"用户管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"bus\",\"pid\":0,\"subCount\":2,\"title\":\"用户管理\",\"type\":0,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 15:57:57\"}', '192.168.5.108', '4', 'admin', '内网IP', 'Chrome 101.0.4951.64', 'me.zhengjie.exception.EntityExistException: Menu with title 用户管理 existed\r\n at me.zhengjie.modules.system.service.impl.MenuServiceImpl.update(MenuServiceImpl.java:157)\r\n at me.zhengjie.modules.system.service.impl.MenuServiceImpl$$FastClassBySpringCGLIB$$a0cfbc77.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)\r\n at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)\r\n at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.system.service.impl.MenuServiceImpl$$EnhancerBySpringCGLIB$$c8dcce40.update()\r\n at me.zhengjie.modules.system.rest.MenuController.updateMenu(MenuController.java:135)\r\n at me.zhengjie.modules.system.rest.MenuController$$FastClassBySpringCGLIB$$158b4bdf.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.system.rest.MenuController$$EnhancerBySpringCGLIB$$74f3cd5c.updateMenu()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:558)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\n', '2025-05-20 16:15:40'); +INSERT INTO `sys_log` VALUES ('3703', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"component\":\"system/user/index\",\"componentName\":\"User\",\"createTime\":\"2018-12-18 15:14:44\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":2,\"label\":\"系统用户\",\"leaf\":false,\"menuSort\":2,\"path\":\"user\",\"permission\":\"user:list\",\"pid\":1,\"subCount\":3,\"title\":\"系统用户\",\"type\":1}', '192.168.5.108', '14', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:15:55'); +INSERT INTO `sys_log` VALUES ('3704', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 15:57:57\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"app\",\"id\":117,\"label\":\"用户管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"bus\",\"subCount\":2,\"title\":\"用户管理\",\"type\":0,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 15:57:57\"}', '192.168.5.108', '12', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:16:03'); +INSERT INTO `sys_log` VALUES ('3705', '新增菜单', 'ERROR', 'me.zhengjie.modules.system.rest.MenuController.createMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"pid\":0,\"subCount\":2,\"title\":\"设备管理\",\"type\":0}', '192.168.5.108', '3', 'admin', '内网IP', 'Chrome 101.0.4951.64', 'me.zhengjie.exception.EntityExistException: Menu with title 设备管理 existed\r\n at me.zhengjie.modules.system.service.impl.MenuServiceImpl.create(MenuServiceImpl.java:120)\r\n at me.zhengjie.modules.system.service.impl.MenuServiceImpl$$FastClassBySpringCGLIB$$a0cfbc77.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)\r\n at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)\r\n at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.system.service.impl.MenuServiceImpl$$EnhancerBySpringCGLIB$$c8dcce40.create()\r\n at me.zhengjie.modules.system.rest.MenuController.createMenu(MenuController.java:126)\r\n at me.zhengjie.modules.system.rest.MenuController$$FastClassBySpringCGLIB$$158b4bdf.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.GeneratedMethodAccessor193.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.system.rest.MenuController$$EnhancerBySpringCGLIB$$74f3cd5c.createMenu()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\n', '2025-05-20 16:16:38'); +INSERT INTO `sys_log` VALUES ('3706', '新增菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.createMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:18:05.637\",\"hasChildren\":false,\"hidden\":false,\"id\":122,\"label\":\"设备移除\",\"leaf\":true,\"menuSort\":999,\"permission\":\"busUser:delDevice\",\"pid\":118,\"subCount\":0,\"title\":\"设备移除\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:18:05.637\"}', '192.168.5.108', '9', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:18:06'); +INSERT INTO `sys_log` VALUES ('3707', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"用户列表\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":2,\"title\":\"用户列表\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"}', '192.168.5.108', '13', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:18:17'); +INSERT INTO `sys_log` VALUES ('3708', '修改菜单', 'ERROR', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:06:55\",\"hasChildren\":false,\"hidden\":false,\"id\":119,\"label\":\"用户编辑\",\"leaf\":true,\"menuSort\":999,\"permission\":\"busUser:edit\",\"pid\":118,\"subCount\":0,\"title\":\"用户编辑\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:06:55\"}', '192.168.5.108', '3', 'admin', '内网IP', 'Chrome 101.0.4951.64', 'me.zhengjie.exception.EntityExistException: Menu with title 用户编辑 existed\r\n at me.zhengjie.modules.system.service.impl.MenuServiceImpl.update(MenuServiceImpl.java:157)\r\n at me.zhengjie.modules.system.service.impl.MenuServiceImpl$$FastClassBySpringCGLIB$$a0cfbc77.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)\r\n at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)\r\n at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.system.service.impl.MenuServiceImpl$$EnhancerBySpringCGLIB$$c8dcce40.update()\r\n at me.zhengjie.modules.system.rest.MenuController.updateMenu(MenuController.java:135)\r\n at me.zhengjie.modules.system.rest.MenuController$$FastClassBySpringCGLIB$$158b4bdf.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.GeneratedMethodAccessor193.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.system.rest.MenuController$$EnhancerBySpringCGLIB$$74f3cd5c.updateMenu()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:558)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\n', '2025-05-20 16:18:33'); +INSERT INTO `sys_log` VALUES ('3709', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:06:55\",\"hasChildren\":false,\"hidden\":false,\"id\":119,\"label\":\"资料编辑\",\"leaf\":true,\"menuSort\":999,\"permission\":\"busUser:edit\",\"pid\":118,\"subCount\":0,\"title\":\"资料编辑\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:06:55\"}', '192.168.5.108', '26', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:18:43'); +INSERT INTO `sys_log` VALUES ('3710', '新增菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.createMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:19:14.996\",\"hasChildren\":false,\"hidden\":false,\"id\":123,\"label\":\"添加设备\",\"leaf\":true,\"menuSort\":999,\"permission\":\"busUser:addDevice\",\"subCount\":0,\"title\":\"添加设备\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:19:14.996\"}', '192.168.5.108', '9', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:19:15'); +INSERT INTO `sys_log` VALUES ('3711', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:19:15\",\"hasChildren\":false,\"hidden\":false,\"id\":123,\"label\":\"添加设备\",\"leaf\":true,\"menuSort\":999,\"permission\":\"busUser:addDevice\",\"pid\":118,\"subCount\":0,\"title\":\"添加设备\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:19:15\"}', '192.168.5.108', '14', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:19:29'); +INSERT INTO `sys_log` VALUES ('3712', '新增菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.createMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:20:39.708\",\"hasChildren\":false,\"hidden\":false,\"icon\":\"validCode\",\"id\":124,\"label\":\"设备授权\",\"leaf\":true,\"menuSort\":999,\"path\":\"bus\",\"subCount\":0,\"title\":\"设备授权\",\"type\":0,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:20:39.708\"}', '192.168.5.108', '16', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:20:40'); +INSERT INTO `sys_log` VALUES ('3713', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":124,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}', '192.168.5.108', '14', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:20:55'); +INSERT INTO `sys_log` VALUES ('3714', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备列表\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":124,\"subCount\":1,\"title\":\"设备列表\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}', '192.168.5.108', '15', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:21:11'); +INSERT INTO `sys_log` VALUES ('3715', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:20:40\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"validCode\",\"id\":124,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"bus\",\"subCount\":1,\"title\":\"设备管理\",\"type\":0,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:20:40\"}', '192.168.5.108', '10', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:21:17'); +INSERT INTO `sys_log` VALUES ('3716', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:19:15\",\"hasChildren\":false,\"hidden\":false,\"id\":123,\"label\":\"绑定设备\",\"leaf\":true,\"menuSort\":999,\"permission\":\"busUser:addDevice\",\"pid\":118,\"subCount\":0,\"title\":\"绑定设备\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:19:15\"}', '192.168.5.108', '10', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:21:51'); +INSERT INTO `sys_log` VALUES ('3717', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:18:06\",\"hasChildren\":true,\"hidden\":false,\"id\":122,\"label\":\"移除设备\",\"leaf\":false,\"menuSort\":999,\"permission\":\"busUser:delDevice\",\"pid\":118,\"subCount\":2,\"title\":\"移除设备\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:18:06\"}', '192.168.5.108', '15', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:22:03'); +INSERT INTO `sys_log` VALUES ('3718', '新增菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.createMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:22:41.274\",\"hasChildren\":false,\"hidden\":false,\"id\":125,\"label\":\"添加设备\",\"leaf\":true,\"menuSort\":999,\"permission\":\"device:add\",\"pid\":121,\"subCount\":0,\"title\":\"添加设备\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:22:41.274\"}', '192.168.5.108', '9', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:22:41'); +INSERT INTO `sys_log` VALUES ('3719', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:22:41\",\"hasChildren\":true,\"hidden\":false,\"id\":125,\"label\":\"设备添加\",\"leaf\":false,\"menuSort\":999,\"permission\":\"device:add\",\"pid\":121,\"subCount\":2,\"title\":\"设备添加\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:22:41\"}', '192.168.5.108', '11', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:23:01'); +INSERT INTO `sys_log` VALUES ('3720', '新增菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.createMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:23:33.391\",\"hasChildren\":false,\"hidden\":false,\"id\":126,\"label\":\"设备修改\",\"leaf\":true,\"menuSort\":999,\"permission\":\"device:edit\",\"pid\":121,\"subCount\":0,\"title\":\"设备修改\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:23:33.391\"}', '192.168.5.108', '5', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:23:33'); +INSERT INTO `sys_log` VALUES ('3721', '新增菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.createMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busUser/index\",\"componentName\":\"BusUser\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:00:45\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"peoples\",\"id\":118,\"label\":\"C端用户\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"permission\":\"busUser:list\",\"pid\":117,\"subCount\":1,\"title\":\"C端用户\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:00:45\"},{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":117,\"subCount\":1,\"title\":\"设备管理\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:23:52.238\",\"hasChildren\":false,\"hidden\":false,\"id\":127,\"label\":\"设备移除\",\"leaf\":true,\"menuSort\":999,\"permission\":\"device:del\",\"pid\":121,\"subCount\":0,\"title\":\"设备移除\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:23:52.238\"}', '192.168.5.108', '9', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:23:52'); +INSERT INTO `sys_log` VALUES ('3722', '修改角色菜单', 'INFO', 'me.zhengjie.modules.system.rest.RoleController.updateRoleMenu()', '{\"dataScope\":\"本级\",\"id\":1,\"level\":3,\"menus\":[{\"hasChildren\":false,\"id\":102,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":103,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":104,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":105,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":106,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":107,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":108,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":109,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":110,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":111,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":116,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":117,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":118,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":121,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":124,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":125,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":126,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":127,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":1,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":2,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":3,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":5,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":6,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":7,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":10,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":11,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":15,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":18,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":28,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":30,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":32,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":33,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":35,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":36,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":37,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":39,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":41,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":44,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":45,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":46,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":48,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":49,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":50,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":52,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":53,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":54,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":56,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":57,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":58,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":60,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":61,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":62,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":64,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":65,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":66,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":73,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":74,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":75,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":77,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":78,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":79,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":82,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":83,\"leaf\":true,\"menuSort\":999,\"subCount\":0}]}', '192.168.5.108', '21', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:49:04'); +INSERT INTO `sys_log` VALUES ('3723', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"createBy\":\"admin\",\"createTime\":\"2025-05-20 15:57:57\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"app\",\"id\":117,\"label\":\"用户管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"busUser\",\"subCount\":1,\"title\":\"用户管理\",\"type\":0,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 15:57:57\"}', '192.168.5.108', '15', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:49:30'); +INSERT INTO `sys_log` VALUES ('3724', '修改菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.updateMenu()', '{\"IFrame\":false,\"cache\":false,\"children\":[{\"IFrame\":false,\"cache\":false,\"component\":\"bus/busDevice/index\",\"componentName\":\"Device\",\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:11:06\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"icon\",\"id\":121,\"label\":\"设备列表\",\"leaf\":false,\"menuSort\":999,\"path\":\"device\",\"permission\":\"device:list\",\"pid\":124,\"subCount\":3,\"title\":\"设备列表\",\"type\":1,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:11:06\"}],\"createBy\":\"admin\",\"createTime\":\"2025-05-20 16:20:40\",\"hasChildren\":true,\"hidden\":false,\"icon\":\"validCode\",\"id\":124,\"label\":\"设备管理\",\"leaf\":false,\"menuSort\":999,\"path\":\"busDevice\",\"subCount\":3,\"title\":\"设备管理\",\"type\":0,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-20 16:20:40\"}', '192.168.5.108', '11', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 16:49:44'); +INSERT INTO `sys_log` VALUES ('3725', '修改busUser', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updateBusUser()', '{\"id\":2,\"status\":0}', '192.168.5.108', '77', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 17:58:05'); +INSERT INTO `sys_log` VALUES ('3726', '修改busUser', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updateBusUser()', '{\"id\":2,\"status\":1}', '192.168.5.108', '13', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 17:58:09'); +INSERT INTO `sys_log` VALUES ('3727', '修改busUser', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updateBusUser()', '{\"id\":2,\"status\":0}', '192.168.5.108', '10', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 18:02:30'); +INSERT INTO `sys_log` VALUES ('3728', '修改busUser', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updateBusUser()', '{\"id\":2,\"status\":1}', '192.168.5.108', '10', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 18:02:54'); +INSERT INTO `sys_log` VALUES ('3729', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"6\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:241ff6d93c5d4feea4a459016f13cfd8\"}', '192.168.5.108', '113', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 19:16:21'); +INSERT INTO `sys_log` VALUES ('3730', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"18\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:86c1caf837f14b8f9a08ff1a0222ce45\"}', '192.168.5.108', '385', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 19:42:37'); +INSERT INTO `sys_log` VALUES ('3731', '新增busDevice', 'INFO', 'me.zhengjie.modules.system.rest.BusDeviceController.createBusDevice()', '{\"brand\":\"12\",\"deviceSn\":\"Z123124124ABC\",\"firmwareVersion\":\"3\",\"id\":1,\"location\":\"13\",\"model\":\"123\",\"remark\":\"13\",\"type\":1}', '192.168.5.108', '83', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 20:06:36'); +INSERT INTO `sys_log` VALUES ('3732', '修改busDevice', 'INFO', 'me.zhengjie.modules.system.rest.BusDeviceController.updateBusDevice()', '{\"brand\":\"12\",\"createTime\":\"2025-05-20 20:06:36\",\"deviceSn\":\"Z123124124ABC\",\"firmwareVersion\":\"3\",\"id\":1,\"location\":\"13\",\"model\":\"123\",\"remark\":\"13\",\"status\":2,\"type\":2,\"updateTime\":\"2025-05-20 20:06:36\"}', '192.168.5.108', '63', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 20:12:26'); +INSERT INTO `sys_log` VALUES ('3733', '修改busDevice', 'INFO', 'me.zhengjie.modules.system.rest.BusDeviceController.updateBusDevice()', '{\"brand\":\"12\",\"createTime\":\"2025-05-20 20:06:36\",\"deviceSn\":\"Z123124124ABC\",\"firmwareVersion\":\"3\",\"id\":1,\"location\":\"13\",\"model\":\"123\",\"remark\":\"13\",\"status\":2,\"type\":1,\"updateTime\":\"2025-05-20 20:06:36\"}', '192.168.5.108', '15', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-20 20:12:31'); +INSERT INTO `sys_log` VALUES ('3734', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"20\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:70a7f61ddaa44fc683e1a94f20cd11f0\"}', '192.168.5.108', '499', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-21 13:56:05'); +INSERT INTO `sys_log` VALUES ('3735', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"0\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:580deb9b0e6c4858a147568707532802\"}', '::1', '167', 'admin', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 16:55:41'); +INSERT INTO `sys_log` VALUES ('3736', '用户登录', 'ERROR', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"32\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:2e672117fba34fcaa2e92ea5870458f5\"}', '::1', '6', 'admin', 'IANA保留地址', 'Chrome 101.0.4951.64', 'me.zhengjie.exception.BadRequestException: 验证码错误\r\n at me.zhengjie.modules.security.rest.AuthController.login(AuthController.java:92)\r\n at me.zhengjie.modules.security.rest.AuthController$$FastClassBySpringCGLIB$$7f997139.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.security.rest.AuthController$$EnhancerBySpringCGLIB$$a655bc6a.login()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\n', '2025-05-21 17:44:17'); +INSERT INTO `sys_log` VALUES ('3737', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"-1\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:8eca96993984485f865cf2244c641caa\"}', '::1', '81', 'admin', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 17:44:20'); +INSERT INTO `sys_log` VALUES ('3738', '新增busCommand', 'INFO', 'me.zhengjie.modules.system.rest.BusCommandController.createBusDeviceCommand()', '{\"commandName\":\"打印指令\",\"commandParams\":\"za-fag\",\"commandType\":1,\"description\":\"打印指令12\",\"deviceId\":1,\"id\":1}', '::1', '22', 'admin', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 19:04:54'); +INSERT INTO `sys_log` VALUES ('3739', '修改busCommand', 'INFO', 'me.zhengjie.modules.system.rest.BusCommandController.updateBusDeviceCommand()', '{\"commandName\":\"打印指令\",\"commandParams\":\"za-fag\",\"commandType\":1,\"createTime\":\"2025-05-21 19:04:53\",\"description\":\"打印指令12666\",\"deviceId\":1,\"id\":1,\"isSystem\":1,\"updateTime\":\"2025-05-21 19:04:53\"}', '::1', '129', 'admin', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 19:05:05'); +INSERT INTO `sys_log` VALUES ('3740', '新增busCommand', 'INFO', 'me.zhengjie.modules.system.rest.BusCommandController.createBusDeviceCommand()', '{\"commandName\":\"打印指令\",\"commandParams\":\"13\",\"commandType\":1,\"description\":\"asfasd\",\"deviceId\":1,\"id\":2}', '::1', '3', 'admin', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 19:05:27'); +INSERT INTO `sys_log` VALUES ('3741', '修改busUser', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updateBusUser()', '{\"id\":2,\"status\":0}', '::1', '14', 'admin', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 19:07:30'); +INSERT INTO `sys_log` VALUES ('3742', '修改busUser', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updateBusUser()', '{\"id\":2,\"status\":1}', '::1', '6', 'admin', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 19:07:32'); +INSERT INTO `sys_log` VALUES ('3743', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"2\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:f2cc3e5625544114b88752d155d35282\"}', '::1', '503', 'admin', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 21:59:18'); +INSERT INTO `sys_log` VALUES ('3744', '新增菜单', 'INFO', 'me.zhengjie.modules.system.rest.MenuController.createMenu()', '{\"IFrame\":false,\"cache\":false,\"createBy\":\"admin\",\"createTime\":\"2025-05-21 22:00:45.399\",\"hasChildren\":false,\"hidden\":false,\"id\":128,\"label\":\"生成二维码\",\"leaf\":true,\"menuSort\":999,\"permission\":\"busDevice:qrCode\",\"pid\":121,\"subCount\":0,\"title\":\"生成二维码\",\"type\":2,\"updateBy\":\"admin\",\"updateTime\":\"2025-05-21 22:00:45.399\"}', '::1', '22', 'admin', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 22:00:45'); +INSERT INTO `sys_log` VALUES ('3745', '修改角色菜单', 'INFO', 'me.zhengjie.modules.system.rest.RoleController.updateRoleMenu()', '{\"dataScope\":\"本级\",\"id\":1,\"level\":3,\"menus\":[{\"hasChildren\":false,\"id\":102,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":103,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":104,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":105,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":106,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":107,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":108,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":109,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":110,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":111,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":116,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":117,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":118,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":121,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":124,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":125,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":126,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":127,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":128,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":1,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":2,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":3,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":5,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":6,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":7,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":10,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":11,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":15,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":18,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":28,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":30,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":32,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":33,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":35,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":36,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":37,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":39,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":41,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":44,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":45,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":46,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":48,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":49,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":50,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":52,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":53,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":54,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":56,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":57,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":58,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":60,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":61,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":62,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":64,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":65,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":66,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":73,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":74,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":75,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":77,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":78,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":79,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":82,\"leaf\":true,\"menuSort\":999,\"subCount\":0},{\"hasChildren\":false,\"id\":83,\"leaf\":true,\"menuSort\":999,\"subCount\":0}]}', '::1', '47', 'admin', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 22:00:56'); +INSERT INTO `sys_log` VALUES ('3746', '用户授权登录', 'INFO', 'me.zhengjie.modules.front.rest.WeChatController.authorizeLogin()', '{\"code\":\"123456\"}', '0:0:0:0:0:0:0:1', '97', null, 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 22:55:30'); +INSERT INTO `sys_log` VALUES ('3747', '绑定设备', 'ERROR', 'me.zhengjie.modules.front.rest.DeviceController.binding()', '{\"code\":\"113436\"}', '0:0:0:0:0:0:0:1', '6060', '123456', 'IANA保留地址', 'Chrome 101.0.4951.64', 'me.zhengjie.exception.BadRequestException: 二维码已过期,请联系管理员\r\n at me.zhengjie.modules.system.service.impl.BusDeviceServiceImpl.binding(BusDeviceServiceImpl.java:91)\r\n at me.zhengjie.modules.system.service.impl.BusDeviceServiceImpl$$FastClassBySpringCGLIB$$1be5d75e.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386)\r\n at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)\r\n at me.zhengjie.modules.system.service.impl.BusDeviceServiceImpl$$EnhancerBySpringCGLIB$$76eec51c.binding()\r\n at me.zhengjie.modules.front.rest.DeviceController.binding(DeviceController.java:36)\r\n at me.zhengjie.modules.front.rest.DeviceController$$FastClassBySpringCGLIB$$6f79225e.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.front.rest.DeviceController$$EnhancerBySpringCGLIB$$777b00a9.binding()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:529)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\n', '2025-05-21 23:00:02'); +INSERT INTO `sys_log` VALUES ('3748', '绑定设备', 'ERROR', 'me.zhengjie.modules.front.rest.DeviceController.binding()', '{\"code\":\"113436\"}', '0:0:0:0:0:0:0:1', '6057', '123456', 'IANA保留地址', 'Chrome 101.0.4951.64', 'java.lang.NullPointerException\r\n at me.zhengjie.modules.system.service.impl.BusDeviceServiceImpl.binding(BusDeviceServiceImpl.java:93)\r\n at me.zhengjie.modules.system.service.impl.BusDeviceServiceImpl$$FastClassBySpringCGLIB$$1be5d75e.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386)\r\n at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)\r\n at me.zhengjie.modules.system.service.impl.BusDeviceServiceImpl$$EnhancerBySpringCGLIB$$8c68443f.binding()\r\n at me.zhengjie.modules.front.rest.DeviceController.binding(DeviceController.java:36)\r\n at me.zhengjie.modules.front.rest.DeviceController$$FastClassBySpringCGLIB$$6f79225e.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.front.rest.DeviceController$$EnhancerBySpringCGLIB$$88c3977.binding()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:529)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\n', '2025-05-21 23:01:43'); +INSERT INTO `sys_log` VALUES ('3749', '绑定设备', 'INFO', 'me.zhengjie.modules.front.rest.DeviceController.binding()', '{\"code\":\"113436\"}', '0:0:0:0:0:0:0:1', '11', '123456', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 23:04:05'); +INSERT INTO `sys_log` VALUES ('3750', '绑定设备', 'INFO', 'me.zhengjie.modules.front.rest.DeviceController.binding()', '{\"code\":\"113436\"}', '0:0:0:0:0:0:0:1', '10', '123456', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 23:09:58'); +INSERT INTO `sys_log` VALUES ('3751', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"23\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:78cd23aa04b7440eb79f95dc137f717e\"}', '::1', '156', 'admin', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 23:10:53'); +INSERT INTO `sys_log` VALUES ('3752', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"特亲\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:ae2e7ee5192e43c7ba3470bc05bd0242\"}', '::1', '160', 'admin', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 23:11:27'); +INSERT INTO `sys_log` VALUES ('3753', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"32\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:648fbd637c7d43e087f6207c1100c014\"}', '::1', '391', 'admin', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 23:16:53'); +INSERT INTO `sys_log` VALUES ('3754', '绑定设备', 'ERROR', 'me.zhengjie.modules.front.rest.DeviceController.binding()', '{\"code\":\"113436\"}', '0:0:0:0:0:0:0:1', '3', '123456', 'IANA保留地址', 'Chrome 101.0.4951.64', 'me.zhengjie.exception.BadRequestException: 二维码已过期,请联系管理员\r\n at me.zhengjie.modules.system.service.impl.BusDeviceServiceImpl.binding(BusDeviceServiceImpl.java:92)\r\n at me.zhengjie.modules.system.service.impl.BusDeviceServiceImpl$$FastClassBySpringCGLIB$$1be5d75e.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386)\r\n at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)\r\n at me.zhengjie.modules.system.service.impl.BusDeviceServiceImpl$$EnhancerBySpringCGLIB$$6a3fb8ed.binding()\r\n at me.zhengjie.modules.front.rest.DeviceController.binding(DeviceController.java:36)\r\n at me.zhengjie.modules.front.rest.DeviceController$$FastClassBySpringCGLIB$$6f79225e.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.front.rest.DeviceController$$EnhancerBySpringCGLIB$$e12b7eaf.binding()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:529)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\n', '2025-05-21 23:16:57'); +INSERT INTO `sys_log` VALUES ('3755', '绑定设备', 'INFO', 'me.zhengjie.modules.front.rest.DeviceController.binding()', '{\"code\":\"308040\"}', '0:0:0:0:0:0:0:1', '4', '123456', 'IANA保留地址', 'Chrome 101.0.4951.64', null, '2025-05-21 23:19:21'); +INSERT INTO `sys_log` VALUES ('3756', '用户登录', 'ERROR', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"20\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:c5917ec905264c30ad722762ce9705fc\"}', '192.168.5.107', '203', 'admin', '内网IP', 'Chrome 101.0.4951.64', 'me.zhengjie.exception.BadRequestException: 验证码不存在或已过期\r\n at me.zhengjie.modules.security.rest.AuthController.login(AuthController.java:89)\r\n at me.zhengjie.modules.security.rest.AuthController$$FastClassBySpringCGLIB$$7f997139.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.security.rest.AuthController$$EnhancerBySpringCGLIB$$824c2ce4.login()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\n', '2025-05-22 09:33:43'); +INSERT INTO `sys_log` VALUES ('3757', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"63\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:538f09f3d7c945cc917b7559b9ecdb71\"}', '192.168.5.107', '234', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-22 09:33:48'); +INSERT INTO `sys_log` VALUES ('3758', '用户登录', 'ERROR', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"18\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:7c13b3b514ce4ef6b38aac0b26cf0cad\"}', '192.168.5.107', '17', 'admin', '内网IP', 'Chrome 101.0.4951.64', 'me.zhengjie.exception.BadRequestException: 验证码错误\r\n at me.zhengjie.modules.security.rest.AuthController.login(AuthController.java:92)\r\n at me.zhengjie.modules.security.rest.AuthController$$FastClassBySpringCGLIB$$7f997139.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.security.rest.AuthController$$EnhancerBySpringCGLIB$$db78c62c.login()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\n', '2025-05-22 13:36:32'); +INSERT INTO `sys_log` VALUES ('3759', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"16\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:9c7c21f9198245c4b1ded86a6e27b6c3\"}', '192.168.5.107', '133', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-22 13:36:36'); +INSERT INTO `sys_log` VALUES ('3760', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"24\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:da552abae61541a18f5753ddda14237b\"}', '192.168.5.109', '493', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-23 14:37:43'); +INSERT INTO `sys_log` VALUES ('3761', '修改用户设备指令', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updUserCommands()', '{\"commands\":[{\"hasChildren\":false,\"id\":\"d1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c2\",\"leaf\":true,\"subCount\":0}],\"id\":2}', '192.168.5.109', '16831', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-23 16:42:50'); +INSERT INTO `sys_log` VALUES ('3762', '修改用户设备指令', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updUserCommands()', '{\"commands\":[{\"hasChildren\":false,\"id\":\"d1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c2\",\"leaf\":true,\"subCount\":0}],\"id\":2}', '192.168.5.109', '3088', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-23 16:43:15'); +INSERT INTO `sys_log` VALUES ('3763', '修改用户设备指令', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updUserCommands()', '{\"commands\":[{\"hasChildren\":false,\"id\":\"d1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c2\",\"leaf\":true,\"subCount\":0}],\"id\":2}', '192.168.5.109', '0', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-23 16:43:22'); +INSERT INTO `sys_log` VALUES ('3764', '修改用户设备指令', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updUserCommands()', '{\"commands\":[{\"hasChildren\":false,\"id\":\"d1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c2\",\"leaf\":true,\"subCount\":0}],\"id\":2}', '192.168.5.109', '0', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-23 16:45:01'); +INSERT INTO `sys_log` VALUES ('3765', '修改用户设备指令', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updUserCommands()', '{\"commands\":[{\"hasChildren\":false,\"id\":\"d1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c2\",\"leaf\":true,\"subCount\":0}],\"id\":2}', '192.168.5.109', '0', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-23 16:45:48'); +INSERT INTO `sys_log` VALUES ('3766', '修改用户设备指令', 'ERROR', 'me.zhengjie.modules.system.rest.BusUserController.updUserCommands()', '{\"commands\":[{\"hasChildren\":false,\"id\":\"d1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c5\",\"leaf\":true,\"subCount\":0}],\"id\":2}', '192.168.5.109', '24010', 'admin', '内网IP', 'Chrome 101.0.4951.64', 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter \'item\' not found. Available parameters are [deviceIds, userId, param1, param2]\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:96)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)\r\n at com.sun.proxy.$Proxy136.insert(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy168.bindingDevice(Unknown Source)\r\n at me.zhengjie.modules.system.service.impl.BusUserDeviceServiceImpl.updUserCommands(BusUserDeviceServiceImpl.java:64)\r\n at me.zhengjie.modules.system.service.impl.BusUserDeviceServiceImpl$$FastClassBySpringCGLIB$$ca7f3353.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386)\r\n at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)\r\n at me.zhengjie.modules.system.service.impl.BusUserDeviceServiceImpl$$EnhancerBySpringCGLIB$$6173166.updUserCommands()\r\n at me.zhengjie.modules.system.rest.BusUserController.updUserCommands(BusUserController.java:53)\r\n at me.zhengjie.modules.system.rest.BusUserController$$FastClassBySpringCGLIB$$cee49463.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.system.rest.BusUserController$$EnhancerBySpringCGLIB$$296d537f.updUserCommands()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:558)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.binding.BindingException: Parameter \'item\' not found. Available parameters are [deviceIds, userId, param1, param2]\r\n at org.apache.ibatis.binding.MapperMethod$ParamMap.get(MapperMethod.java:212)\r\n at org.apache.ibatis.reflection.wrapper.MapWrapper.get(MapWrapper.java:45)\r\n at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:122)\r\n at org.apache.ibatis.reflection.MetaObject.metaObjectForProperty(MetaObject.java:145)\r\n at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:115)\r\n at com.baomidou.mybatisplus.core.MybatisParameterHandler.setParameters(MybatisParameterHandler.java:228)\r\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.parameterize(PreparedStatementHandler.java:94)\r\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.parameterize(RoutingStatementHandler.java:64)\r\n at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64)\r\n at com.sun.proxy.$Proxy256.parameterize(Unknown Source)\r\n at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:88)\r\n at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:49)\r\n at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)\r\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)\r\n at com.sun.proxy.$Proxy255.update(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:181)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)\r\n ... 136 more\r\n', '2025-05-23 17:40:41'); +INSERT INTO `sys_log` VALUES ('3767', '修改用户设备指令', 'ERROR', 'me.zhengjie.modules.system.rest.BusUserController.updUserCommands()', '{\"commands\":[{\"hasChildren\":false,\"id\":\"c1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c5\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"d1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c2\",\"leaf\":true,\"subCount\":0}],\"id\":2}', '192.168.5.109', '17185', 'admin', '内网IP', 'Chrome 101.0.4951.64', 'org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter \'deviceIds\' not found. Available parameters are [commandIds, userId, param1, param2]\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:96)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)\r\n at com.sun.proxy.$Proxy136.insert(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy169.bindingCommand(Unknown Source)\r\n at me.zhengjie.modules.system.service.impl.BusUserDeviceServiceImpl.updUserCommands(BusUserDeviceServiceImpl.java:70)\r\n at me.zhengjie.modules.system.service.impl.BusUserDeviceServiceImpl$$FastClassBySpringCGLIB$$ca7f3353.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)\r\n at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)\r\n at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.system.service.impl.BusUserDeviceServiceImpl$$EnhancerBySpringCGLIB$$6c83e72d.updUserCommands()\r\n at me.zhengjie.modules.system.rest.BusUserController.updUserCommands(BusUserController.java:53)\r\n at me.zhengjie.modules.system.rest.BusUserController$$FastClassBySpringCGLIB$$cee49463.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.system.rest.BusUserController$$EnhancerBySpringCGLIB$$aa583d61.updUserCommands()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:558)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: org.apache.ibatis.binding.BindingException: Parameter \'deviceIds\' not found. Available parameters are [commandIds, userId, param1, param2]\r\n at org.apache.ibatis.binding.MapperMethod$ParamMap.get(MapperMethod.java:212)\r\n at org.apache.ibatis.scripting.xmltags.DynamicContext$ContextAccessor.getProperty(DynamicContext.java:120)\r\n at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:3341)\r\n at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:121)\r\n at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)\r\n at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:586)\r\n at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:550)\r\n at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:46)\r\n at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateIterable(ExpressionEvaluator.java:54)\r\n at org.apache.ibatis.scripting.xmltags.ForEachSqlNode.apply(ForEachSqlNode.java:68)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.lambda$apply$0(MixedSqlNode.java:32)\r\n at java.util.ArrayList.forEach(ArrayList.java:1257)\r\n at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)\r\n at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:39)\r\n at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)\r\n at org.apache.ibatis.executor.statement.BaseStatementHandler.(BaseStatementHandler.java:64)\r\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.(PreparedStatementHandler.java:41)\r\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.(RoutingStatementHandler.java:46)\r\n at org.apache.ibatis.session.Configuration.newStatementHandler(Configuration.java:690)\r\n at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:48)\r\n at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)\r\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)\r\n at com.sun.proxy.$Proxy255.update(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:181)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)\r\n ... 142 more\r\n', '2025-05-23 17:58:54'); +INSERT INTO `sys_log` VALUES ('3768', '修改用户设备指令', 'ERROR', 'me.zhengjie.modules.system.rest.BusUserController.updUserCommands()', '{\"commands\":[{\"hasChildren\":false,\"id\":\"c5\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"d1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c2\",\"leaf\":true,\"subCount\":0}],\"id\":2}', '192.168.5.109', '5988', 'admin', '内网IP', 'Chrome 101.0.4951.64', 'org.springframework.jdbc.BadSqlGrammarException: \r\n### Error updating database. Cause: java.sql.SQLSyntaxErrorException: FUNCTION totus-online.id does not exist\r\n### The error may exist in file [F:\\idea_projects\\my\\totus-nline\\eladmin\\eladmin-system\\target\\classes\\mapper\\system\\BusUserCommandMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: insert into bus_user_device_command (user_id, device_id, command_id) select ?, device_id, id from bus_device_command where id ( ? , ? , ? )\r\n### Cause: java.sql.SQLSyntaxErrorException: FUNCTION totus-online.id does not exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: FUNCTION totus-online.id does not exist\r\n at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:93)\r\n at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)\r\n at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:82)\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)\r\n at com.sun.proxy.$Proxy136.insert(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\r\n at com.sun.proxy.$Proxy169.bindingCommand(Unknown Source)\r\n at me.zhengjie.modules.system.service.impl.BusUserDeviceServiceImpl.updUserCommands(BusUserDeviceServiceImpl.java:70)\r\n at me.zhengjie.modules.system.service.impl.BusUserDeviceServiceImpl$$FastClassBySpringCGLIB$$ca7f3353.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)\r\n at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)\r\n at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.system.service.impl.BusUserDeviceServiceImpl$$EnhancerBySpringCGLIB$$6c00b7b2.updUserCommands()\r\n at me.zhengjie.modules.system.rest.BusUserController.updUserCommands(BusUserController.java:53)\r\n at me.zhengjie.modules.system.rest.BusUserController$$FastClassBySpringCGLIB$$cee49463.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.system.rest.BusUserController$$EnhancerBySpringCGLIB$$c73082fc.updUserCommands()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:558)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\nCaused by: java.sql.SQLSyntaxErrorException: FUNCTION totus-online.id does not exist\r\n at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:112)\r\n at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:114)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:990)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:384)\r\n at com.p6spy.engine.wrapper.PreparedStatementWrapper.execute(PreparedStatementWrapper.java:362)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3446)\r\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:434)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3444)\r\n at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:158)\r\n at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483)\r\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47)\r\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64)\r\n at com.sun.proxy.$Proxy256.update(Unknown Source)\r\n at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)\r\n at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)\r\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)\r\n at com.sun.proxy.$Proxy255.update(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:181)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)\r\n ... 142 more\r\n', '2025-05-23 18:00:20'); +INSERT INTO `sys_log` VALUES ('3769', '修改用户设备指令', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updUserCommands()', '{\"commands\":[{\"hasChildren\":false,\"id\":\"c5\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"d1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c2\",\"leaf\":true,\"subCount\":0}],\"id\":2}', '192.168.5.109', '152', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-23 18:01:13'); +INSERT INTO `sys_log` VALUES ('3770', '修改用户设备指令', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updUserCommands()', '{\"commands\":[{\"hasChildren\":false,\"id\":\"d1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c1\",\"leaf\":true,\"subCount\":0}],\"id\":2}', '192.168.5.109', '22', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-23 18:01:47'); +INSERT INTO `sys_log` VALUES ('3771', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"63\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:5a92dff177134903b4d666978f449c62\"}', '192.168.5.110', '528', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-27 20:20:28'); +INSERT INTO `sys_log` VALUES ('3772', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"7\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:3f118836b25a414896bf0f050c911c6b\"}', '192.168.5.105', '477', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-30 13:22:56'); +INSERT INTO `sys_log` VALUES ('3773', '修改busDevice', 'INFO', 'me.zhengjie.modules.system.rest.BusDeviceController.updateBusDevice()', '{\"brand\":\"康佳\",\"createTime\":\"2025-05-20 20:06:36\",\"deviceCode\":\"123456789\",\"deviceSn\":\"Z123124124ABC\",\"errorStatus\":-1,\"firmwareVersion\":\"3\",\"id\":1,\"location\":\"一楼走廊\",\"model\":\"3DPLUS\",\"name\":\"4KL200URH300.4K\",\"printStatus\":-1,\"remark\":\"一楼走廊3D打印机\",\"status\":-1,\"type\":1,\"updateTime\":\"2025-05-30 13:29:19\"}', '192.168.5.105', '267', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-05-30 13:29:43'); +INSERT INTO `sys_log` VALUES ('3774', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"0\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:75e72c2d05dd4b8dbdbd8a960b3d12ab\"}', '192.168.5.105', '436', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-06-03 10:30:10'); +INSERT INTO `sys_log` VALUES ('3775', '修改用户设备指令', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updUserCommands()', '{\"commands\":[{\"hasChildren\":false,\"id\":\"c1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c5\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"d1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c2\",\"leaf\":true,\"subCount\":0}],\"id\":2}', '192.168.5.105', '57', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-06-03 10:37:22'); +INSERT INTO `sys_log` VALUES ('3776', '修改用户设备指令', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updUserCommands()', '{\"commands\":[{\"hasChildren\":false,\"id\":\"c5\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"d1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c1\",\"leaf\":true,\"subCount\":0},{\"hasChildren\":false,\"id\":\"c2\",\"leaf\":true,\"subCount\":0}],\"id\":1}', '192.168.5.105', '11', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-06-03 10:37:48'); +INSERT INTO `sys_log` VALUES ('3777', '修改用户设备指令', 'INFO', 'me.zhengjie.modules.system.rest.BusUserController.updUserCommands()', '{\"commands\":[{\"hasChildren\":false,\"id\":\"d1\",\"leaf\":true,\"subCount\":0}],\"id\":2}', '192.168.5.105', '11', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-06-03 10:55:35'); +INSERT INTO `sys_log` VALUES ('3778', '用户登录', 'ERROR', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"35\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:101b2ae7ae154a70a9d73a8b64c6ce96\"}', '192.168.5.109', '207', 'admin', '内网IP', 'Chrome 101.0.4951.64', 'me.zhengjie.exception.BadRequestException: 验证码不存在或已过期\r\n at me.zhengjie.modules.security.rest.AuthController.login(AuthController.java:89)\r\n at me.zhengjie.modules.security.rest.AuthController$$FastClassBySpringCGLIB$$7f997139.invoke()\r\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at me.zhengjie.aspect.LogAspect.logAround(LogAspect.java:68)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)\r\n at me.zhengjie.modules.security.rest.AuthController$$EnhancerBySpringCGLIB$$1ccfe5d4.login()\r\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.lang.reflect.Method.invoke(Method.java:498)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\r\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)\r\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\r\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at me.zhengjie.modules.security.security.TokenFilter.doFilter(TokenFilter.java:73)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\r\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\r\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)\r\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)\r\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)\r\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)\r\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\r\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n at java.lang.Thread.run(Thread.java:748)\r\n', '2025-06-06 15:05:00'); +INSERT INTO `sys_log` VALUES ('3779', '用户登录', 'INFO', 'me.zhengjie.modules.security.rest.AuthController.login()', '{\"code\":\"8\",\"password\":\"******\",\"username\":\"admin\",\"uuid\":\"captcha_code:850aafa2e24845b9a3ea8982d8eb2ace\"}', '192.168.5.109', '226', 'admin', '内网IP', 'Chrome 101.0.4951.64', null, '2025-06-06 15:05:10'); -- ---------------------------- -- Table structure for sys_menu @@ -255,20 +634,30 @@ CREATE TABLE `sys_menu` ( UNIQUE KEY `uniq_name` (`name`), UNIQUE KEY `uniq_title` (`title`), KEY `idx_pid` (`pid`) -) ENGINE=InnoDB AUTO_INCREMENT=122 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='系统菜单'; +) ENGINE=InnoDB AUTO_INCREMENT=129 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='系统菜单'; -- ---------------------------- -- Records of sys_menu -- ---------------------------- -INSERT INTO `sys_menu` VALUES ('1', null, '6', '0', '系统管理', null, null, '1', 'system', 'system', '\0', '\0', '\0', null, null, 'admin', '2018-12-18 15:11:29', '2025-01-14 15:48:18'); -INSERT INTO `sys_menu` VALUES ('2', '1', '3', '1', '用户管理', 'User', 'system/user/index', '2', 'peoples', 'user', '\0', '\0', '\0', 'user:list', null, null, '2018-12-18 15:14:44', null); +INSERT INTO `sys_menu` VALUES ('1', null, '7', '0', '系统管理', null, null, '1', 'system', 'system', '\0', '\0', '\0', null, null, 'admin', '2018-12-18 15:11:29', '2025-01-14 15:48:18'); +INSERT INTO `sys_menu` VALUES ('2', '1', '3', '1', '系统用户', 'User', 'system/user/index', '2', 'peoples', 'user', '\0', '\0', '\0', 'user:list', null, 'admin', '2018-12-18 15:14:44', '2025-05-20 16:15:55'); INSERT INTO `sys_menu` VALUES ('3', '1', '3', '1', '角色管理', 'Role', 'system/role/index', '3', 'role', 'role', '\0', '\0', '\0', 'roles:list', null, null, '2018-12-18 15:16:07', null); INSERT INTO `sys_menu` VALUES ('5', '1', '3', '1', '菜单管理', 'Menu', 'system/menu/index', '5', 'menu', 'menu', '\0', '\0', '\0', 'menu:list', null, null, '2018-12-18 15:17:28', null); +INSERT INTO `sys_menu` VALUES ('6', null, '5', '0', '系统监控', null, null, '10', 'monitor', 'monitor', '\0', '\0', '\0', null, null, null, '2018-12-18 15:17:48', null); +INSERT INTO `sys_menu` VALUES ('7', '6', '0', '1', '操作日志', 'Log', 'monitor/log/index', '11', 'log', 'logs', '\0', '', '\0', null, null, 'admin', '2018-12-18 15:18:26', '2020-06-06 13:11:57'); +INSERT INTO `sys_menu` VALUES ('10', null, '5', '0', '组件管理', null, null, '50', 'zujian', 'components', '\0', '\0', '\0', null, null, null, '2018-12-19 13:38:16', null); +INSERT INTO `sys_menu` VALUES ('11', '10', '0', '1', '图标库', 'Icons', 'components/icons/index', '51', 'icon', 'icon', '\0', '\0', '\0', null, null, null, '2018-12-19 13:38:49', null); +INSERT INTO `sys_menu` VALUES ('15', '10', '0', '1', '富文本', 'Editor', 'components/Editor', '52', 'fwb', 'tinymce', '\0', '\0', '\0', null, null, null, '2018-12-27 11:58:25', null); +INSERT INTO `sys_menu` VALUES ('18', '36', '3', '1', '存储管理', 'Storage', 'tools/storage/index', '34', 'qiniu', 'storage', '\0', '\0', '\0', 'storage:list', null, null, '2018-12-31 11:12:15', null); +INSERT INTO `sys_menu` VALUES ('28', '1', '3', '1', '任务调度', 'Timing', 'system/timing/index', '999', 'timing', 'timing', '\0', '\0', '\0', 'timing:list', null, null, '2019-01-07 20:34:40', null); INSERT INTO `sys_menu` VALUES ('30', '36', '0', '1', '代码生成', 'GeneratorIndex', 'generator/index', '32', 'dev', 'generator', '\0', '', '\0', null, null, null, '2019-01-11 15:45:55', null); +INSERT INTO `sys_menu` VALUES ('32', '6', '0', '1', '异常日志', 'ErrorLog', 'monitor/log/errorLog', '12', 'error', 'errorLog', '\0', '\0', '\0', null, null, null, '2019-01-13 13:49:03', null); +INSERT INTO `sys_menu` VALUES ('33', '10', '0', '1', 'Markdown', 'Markdown', 'components/MarkDown', '53', 'markdown', 'markdown', '\0', '\0', '\0', null, null, null, '2019-03-08 13:46:44', null); INSERT INTO `sys_menu` VALUES ('35', '1', '3', '1', '部门管理', 'Dept', 'system/dept/index', '6', 'dept', 'dept', '\0', '\0', '\0', 'dept:list', null, null, '2019-03-25 09:46:00', null); INSERT INTO `sys_menu` VALUES ('36', null, '6', '0', '系统工具', null, '', '30', 'sys-tools', 'sys-tools', '\0', '\0', '\0', null, null, null, '2019-03-29 10:57:35', null); INSERT INTO `sys_menu` VALUES ('37', '1', '3', '1', '岗位管理', 'Job', 'system/job/index', '7', 'Steve-Jobs', 'job', '\0', '\0', '\0', 'job:list', null, null, '2019-03-29 13:51:18', null); INSERT INTO `sys_menu` VALUES ('39', '1', '3', '1', '字典管理', 'Dict', 'system/dict/index', '8', 'dictionary', 'dict', '\0', '\0', '\0', 'dict:list', null, null, '2019-04-10 11:49:04', null); +INSERT INTO `sys_menu` VALUES ('41', '6', '0', '1', '在线用户', 'OnlineUser', 'monitor/online/index', '10', 'Steve-Jobs', 'online', '\0', '\0', '\0', null, null, null, '2019-10-26 22:08:43', null); INSERT INTO `sys_menu` VALUES ('44', '2', '0', '2', '用户新增', null, '', '2', '', '', '\0', '\0', '\0', 'user:add', null, null, '2019-10-29 10:59:46', null); INSERT INTO `sys_menu` VALUES ('45', '2', '0', '2', '用户编辑', null, '', '3', '', '', '\0', '\0', '\0', 'user:edit', null, null, '2019-10-29 11:00:08', null); INSERT INTO `sys_menu` VALUES ('46', '2', '0', '2', '用户删除', null, '', '4', '', '', '\0', '\0', '\0', 'user:del', null, null, '2019-10-29 11:00:23', null); @@ -287,6 +676,36 @@ INSERT INTO `sys_menu` VALUES ('62', '37', '0', '2', '岗位删除', null, '', ' INSERT INTO `sys_menu` VALUES ('64', '39', '0', '2', '字典新增', null, '', '2', '', '', '\0', '\0', '\0', 'dict:add', null, null, '2019-10-29 13:00:17', null); INSERT INTO `sys_menu` VALUES ('65', '39', '0', '2', '字典编辑', null, '', '3', '', '', '\0', '\0', '\0', 'dict:edit', null, null, '2019-10-29 13:00:42', null); INSERT INTO `sys_menu` VALUES ('66', '39', '0', '2', '字典删除', null, '', '4', '', '', '\0', '\0', '\0', 'dict:del', null, null, '2019-10-29 13:00:59', null); +INSERT INTO `sys_menu` VALUES ('73', '28', '0', '2', '任务新增', null, '', '2', '', '', '\0', '\0', '\0', 'timing:add', null, null, '2019-10-29 13:07:28', null); +INSERT INTO `sys_menu` VALUES ('74', '28', '0', '2', '任务编辑', null, '', '3', '', '', '\0', '\0', '\0', 'timing:edit', null, null, '2019-10-29 13:07:41', null); +INSERT INTO `sys_menu` VALUES ('75', '28', '0', '2', '任务删除', null, '', '4', '', '', '\0', '\0', '\0', 'timing:del', null, null, '2019-10-29 13:07:54', null); +INSERT INTO `sys_menu` VALUES ('77', '18', '0', '2', '上传文件', null, '', '2', '', '', '\0', '\0', '\0', 'storage:add', null, null, '2019-10-29 13:09:09', null); +INSERT INTO `sys_menu` VALUES ('78', '18', '0', '2', '文件编辑', null, '', '3', '', '', '\0', '\0', '\0', 'storage:edit', null, null, '2019-10-29 13:09:22', null); +INSERT INTO `sys_menu` VALUES ('79', '18', '0', '2', '文件删除', null, '', '4', '', '', '\0', '\0', '\0', 'storage:del', null, null, '2019-10-29 13:09:34', null); +INSERT INTO `sys_menu` VALUES ('82', '36', '0', '1', '生成配置', 'GeneratorConfig', 'generator/config', '33', 'dev', 'generator/config/:tableName', '\0', '', '', '', null, null, '2019-11-17 20:08:56', null); +INSERT INTO `sys_menu` VALUES ('83', '10', '0', '1', '图表库', 'Echarts', 'components/Echarts', '50', 'chart', 'echarts', '\0', '', '\0', '', null, null, '2019-11-21 09:04:32', null); +INSERT INTO `sys_menu` VALUES ('102', '97', '0', '2', '删除', null, '', '999', '', '', '\0', '\0', '\0', 'deployHistory:del', null, null, '2019-11-17 09:32:48', null); +INSERT INTO `sys_menu` VALUES ('103', '92', '0', '2', '服务器新增', null, '', '999', '', '', '\0', '\0', '\0', 'serverDeploy:add', null, null, '2019-11-17 11:08:33', null); +INSERT INTO `sys_menu` VALUES ('104', '92', '0', '2', '服务器编辑', null, '', '999', '', '', '\0', '\0', '\0', 'serverDeploy:edit', null, null, '2019-11-17 11:08:57', null); +INSERT INTO `sys_menu` VALUES ('105', '92', '0', '2', '服务器删除', null, '', '999', '', '', '\0', '\0', '\0', 'serverDeploy:del', null, null, '2019-11-17 11:09:15', null); +INSERT INTO `sys_menu` VALUES ('106', '93', '0', '2', '应用新增', null, '', '999', '', '', '\0', '\0', '\0', 'app:add', null, null, '2019-11-17 11:10:03', null); +INSERT INTO `sys_menu` VALUES ('107', '93', '0', '2', '应用编辑', null, '', '999', '', '', '\0', '\0', '\0', 'app:edit', null, null, '2019-11-17 11:10:28', null); +INSERT INTO `sys_menu` VALUES ('108', '93', '0', '2', '应用删除', null, '', '999', '', '', '\0', '\0', '\0', 'app:del', null, null, '2019-11-17 11:10:55', null); +INSERT INTO `sys_menu` VALUES ('109', '94', '0', '2', '部署新增', null, '', '999', '', '', '\0', '\0', '\0', 'deploy:add', null, null, '2019-11-17 11:11:22', null); +INSERT INTO `sys_menu` VALUES ('110', '94', '0', '2', '部署编辑', null, '', '999', '', '', '\0', '\0', '\0', 'deploy:edit', null, null, '2019-11-17 11:11:41', null); +INSERT INTO `sys_menu` VALUES ('111', '94', '0', '2', '部署删除', null, '', '999', '', '', '\0', '\0', '\0', 'deploy:del', null, null, '2019-11-17 11:12:01', null); +INSERT INTO `sys_menu` VALUES ('116', '36', '0', '1', '生成预览', 'Preview', 'generator/preview', '999', 'java', 'generator/preview/:tableName', '\0', '', '', null, null, null, '2019-11-26 14:54:36', null); +INSERT INTO `sys_menu` VALUES ('117', null, '1', '0', '用户管理', null, null, '999', 'app', 'busUser', '\0', '\0', '\0', null, 'admin', 'admin', '2025-05-20 15:57:57', '2025-05-20 15:57:57'); +INSERT INTO `sys_menu` VALUES ('118', '117', '3', '1', '用户列表', 'BusUser', 'bus/busUser/index', '999', 'peoples', 'busUser', '\0', '\0', '\0', 'busUser:list', 'admin', 'admin', '2025-05-20 16:00:45', '2025-05-20 16:00:45'); +INSERT INTO `sys_menu` VALUES ('119', '118', '0', '2', '资料编辑', null, null, '999', null, null, '\0', '\0', '\0', 'busUser:edit', 'admin', 'admin', '2025-05-20 16:06:55', '2025-05-20 16:06:55'); +INSERT INTO `sys_menu` VALUES ('121', '124', '4', '1', '设备列表', 'Device', 'bus/busDevice/index', '999', 'icon', 'device', '\0', '\0', '\0', 'device:list', 'admin', 'admin', '2025-05-20 16:11:06', '2025-05-20 16:11:06'); +INSERT INTO `sys_menu` VALUES ('122', '118', '0', '2', '移除设备', null, null, '999', null, null, '\0', '\0', '\0', 'busUser:delDevice', 'admin', 'admin', '2025-05-20 16:18:06', '2025-05-20 16:18:06'); +INSERT INTO `sys_menu` VALUES ('123', '118', '0', '2', '绑定设备', null, null, '999', null, null, '\0', '\0', '\0', 'busUser:addDevice', 'admin', 'admin', '2025-05-20 16:19:15', '2025-05-20 16:19:15'); +INSERT INTO `sys_menu` VALUES ('124', null, '3', '0', '设备管理', null, null, '999', 'validCode', 'busDevice', '\0', '\0', '\0', null, 'admin', 'admin', '2025-05-20 16:20:40', '2025-05-20 16:20:40'); +INSERT INTO `sys_menu` VALUES ('125', '121', '0', '2', '设备添加', null, null, '999', null, null, '\0', '\0', '\0', 'device:add', 'admin', 'admin', '2025-05-20 16:22:41', '2025-05-20 16:22:41'); +INSERT INTO `sys_menu` VALUES ('126', '121', '0', '2', '设备修改', null, null, '999', null, null, '\0', '\0', '\0', 'device:edit', 'admin', 'admin', '2025-05-20 16:23:33', '2025-05-20 16:23:33'); +INSERT INTO `sys_menu` VALUES ('127', '121', '0', '2', '设备移除', null, null, '999', null, null, '\0', '\0', '\0', 'device:del', 'admin', 'admin', '2025-05-20 16:23:52', '2025-05-20 16:23:52'); +INSERT INTO `sys_menu` VALUES ('128', '121', '0', '2', '生成二维码', null, null, '999', null, null, '\0', '\0', '\0', 'busDevice:qrCode', 'admin', 'admin', '2025-05-21 22:00:45', '2025-05-21 22:00:45'); -- ---------------------------- -- Table structure for sys_role @@ -350,13 +769,23 @@ INSERT INTO `sys_roles_menus` VALUES ('2', '1'); INSERT INTO `sys_roles_menus` VALUES ('2', '2'); INSERT INTO `sys_roles_menus` VALUES ('3', '1'); INSERT INTO `sys_roles_menus` VALUES ('5', '1'); +INSERT INTO `sys_roles_menus` VALUES ('6', '1'); +INSERT INTO `sys_roles_menus` VALUES ('7', '1'); INSERT INTO `sys_roles_menus` VALUES ('10', '1'); INSERT INTO `sys_roles_menus` VALUES ('11', '1'); +INSERT INTO `sys_roles_menus` VALUES ('15', '1'); +INSERT INTO `sys_roles_menus` VALUES ('18', '1'); +INSERT INTO `sys_roles_menus` VALUES ('28', '1'); +INSERT INTO `sys_roles_menus` VALUES ('30', '1'); INSERT INTO `sys_roles_menus` VALUES ('30', '2'); +INSERT INTO `sys_roles_menus` VALUES ('32', '1'); +INSERT INTO `sys_roles_menus` VALUES ('33', '1'); INSERT INTO `sys_roles_menus` VALUES ('35', '1'); +INSERT INTO `sys_roles_menus` VALUES ('36', '1'); INSERT INTO `sys_roles_menus` VALUES ('36', '2'); INSERT INTO `sys_roles_menus` VALUES ('37', '1'); INSERT INTO `sys_roles_menus` VALUES ('39', '1'); +INSERT INTO `sys_roles_menus` VALUES ('41', '1'); INSERT INTO `sys_roles_menus` VALUES ('44', '1'); INSERT INTO `sys_roles_menus` VALUES ('45', '1'); INSERT INTO `sys_roles_menus` VALUES ('46', '1'); @@ -375,16 +804,35 @@ INSERT INTO `sys_roles_menus` VALUES ('62', '1'); INSERT INTO `sys_roles_menus` VALUES ('64', '1'); INSERT INTO `sys_roles_menus` VALUES ('65', '1'); INSERT INTO `sys_roles_menus` VALUES ('66', '1'); +INSERT INTO `sys_roles_menus` VALUES ('73', '1'); +INSERT INTO `sys_roles_menus` VALUES ('74', '1'); +INSERT INTO `sys_roles_menus` VALUES ('75', '1'); INSERT INTO `sys_roles_menus` VALUES ('77', '1'); INSERT INTO `sys_roles_menus` VALUES ('78', '1'); INSERT INTO `sys_roles_menus` VALUES ('79', '1'); +INSERT INTO `sys_roles_menus` VALUES ('82', '1'); INSERT INTO `sys_roles_menus` VALUES ('82', '2'); +INSERT INTO `sys_roles_menus` VALUES ('83', '1'); +INSERT INTO `sys_roles_menus` VALUES ('102', '1'); +INSERT INTO `sys_roles_menus` VALUES ('103', '1'); +INSERT INTO `sys_roles_menus` VALUES ('104', '1'); +INSERT INTO `sys_roles_menus` VALUES ('105', '1'); +INSERT INTO `sys_roles_menus` VALUES ('106', '1'); +INSERT INTO `sys_roles_menus` VALUES ('107', '1'); +INSERT INTO `sys_roles_menus` VALUES ('108', '1'); +INSERT INTO `sys_roles_menus` VALUES ('109', '1'); +INSERT INTO `sys_roles_menus` VALUES ('110', '1'); +INSERT INTO `sys_roles_menus` VALUES ('111', '1'); +INSERT INTO `sys_roles_menus` VALUES ('116', '1'); INSERT INTO `sys_roles_menus` VALUES ('116', '2'); INSERT INTO `sys_roles_menus` VALUES ('117', '1'); INSERT INTO `sys_roles_menus` VALUES ('118', '1'); -INSERT INTO `sys_roles_menus` VALUES ('119', '1'); -INSERT INTO `sys_roles_menus` VALUES ('120', '1'); INSERT INTO `sys_roles_menus` VALUES ('121', '1'); +INSERT INTO `sys_roles_menus` VALUES ('124', '1'); +INSERT INTO `sys_roles_menus` VALUES ('125', '1'); +INSERT INTO `sys_roles_menus` VALUES ('126', '1'); +INSERT INTO `sys_roles_menus` VALUES ('127', '1'); +INSERT INTO `sys_roles_menus` VALUES ('128', '1'); -- ---------------------------- -- Table structure for sys_user @@ -418,7 +866,7 @@ CREATE TABLE `sys_user` ( -- ---------------------------- -- Records of sys_user -- ---------------------------- -INSERT INTO `sys_user` VALUES ('1', '2', 'admin', '管理员', '男', '18888888888', '201507802@qq.com', 'avatar-20250507101352916.png', 'C:\\eladmin\\avatar\\avatar-20250507101352916.png', '$2a$10$Egp1/gvFlt7zhlXVfEFw4OfWQCGPw0ClmMcc6FjTnvXNRVf9zdMRa', '', '', null, 'admin', '2020-05-03 16:38:31', '2025-05-06 09:11:56', '2020-09-05 10:43:31'); +INSERT INTO `sys_user` VALUES ('1', '2', 'admin', '管理员', '男', '18888888888', '201507802@qq.com', 'avatar-20250521100533308.png', 'F:\\idea_projects\\my\\totus-nline\\eladmin\\eladmin-upload\\avatar\\avatar-20250521100533308.png', '$2a$10$Egp1/gvFlt7zhlXVfEFw4OfWQCGPw0ClmMcc6FjTnvXNRVf9zdMRa', '', '', null, 'admin', '2020-05-03 16:38:31', '2025-05-06 09:11:56', '2020-09-05 10:43:31'); INSERT INTO `sys_user` VALUES ('2', '2', 'test', '测试', '男', '19999999999', '231@qq.com', null, null, '$2a$10$4XcyudOYTSz6fue6KFNMHeUQnCX5jbBQypLEnGk1PmekXt5c95JcK', '\0', '', 'admin', 'admin', null, '2025-05-07 09:11:56', '2020-09-05 10:43:38'); -- ---------------------------- @@ -456,3 +904,27 @@ CREATE TABLE `sys_users_roles` ( -- ---------------------------- INSERT INTO `sys_users_roles` VALUES ('1', '1'); INSERT INTO `sys_users_roles` VALUES ('2', '2'); + +-- ---------------------------- +-- Table structure for tool_local_storage +-- ---------------------------- +DROP TABLE IF EXISTS `tool_local_storage`; +CREATE TABLE `tool_local_storage` ( + `storage_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `real_name` varchar(255) DEFAULT NULL COMMENT '文件真实的名称', + `name` varchar(255) DEFAULT NULL COMMENT '文件名', + `suffix` varchar(255) DEFAULT NULL COMMENT '后缀', + `path` varchar(255) DEFAULT NULL COMMENT '路径', + `type` varchar(255) DEFAULT NULL COMMENT '类型', + `size` varchar(100) DEFAULT NULL COMMENT '大小', + `create_by` varchar(255) DEFAULT NULL COMMENT '创建者', + `update_by` varchar(255) DEFAULT NULL COMMENT '更新者', + `create_time` datetime DEFAULT NULL COMMENT '创建日期', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`storage_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='本地存储'; + +-- ---------------------------- +-- Records of tool_local_storage +-- ---------------------------- +INSERT INTO `tool_local_storage` VALUES ('10', '微信截图_20250519113418-20250519114324974.png', '123', 'png', 'F:\\idea_projects\\my\\totus-nline\\eladmin\\eladmin-upload\\file\\图片\\微信截图_20250519113418-20250519114324974.png', '图片', '23.79KB ', 'admin', 'admin', '2025-05-19 11:43:25', '2025-05-19 11:43:25');