|
|
@ -1,33 +0,0 @@ |
|
|
|
package com.iflytop.sgs.app.core.listener; |
|
|
|
|
|
|
|
import com.iflytop.sgs.app.service.device.DeviceStateService; |
|
|
|
import com.iflytop.sgs.app.ws.server.WebSocketSender; |
|
|
|
import com.iflytop.sgs.common.constant.WebSocketMessageType; |
|
|
|
import jakarta.annotation.PostConstruct; |
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
|
|
|
import java.beans.PropertyChangeEvent; |
|
|
|
import java.beans.PropertyChangeListener; |
|
|
|
|
|
|
|
@Slf4j |
|
|
|
@Component |
|
|
|
@RequiredArgsConstructor |
|
|
|
public class DeviceStateListener implements PropertyChangeListener { |
|
|
|
private final WebSocketSender webSocketService; |
|
|
|
private final DeviceStateService deviceStateService; |
|
|
|
|
|
|
|
@PostConstruct |
|
|
|
private void init() { |
|
|
|
deviceStateService.addListener(this); |
|
|
|
} |
|
|
|
|
|
|
|
// 在此处理DeviceState的变化事件 |
|
|
|
@Override |
|
|
|
public void propertyChange(PropertyChangeEvent event) { |
|
|
|
log.info("设备状态发生改变,类型{} ,from {} to {}", event.getPropertyName(), event.getOldValue(), event.getNewValue()); |
|
|
|
webSocketService.push(WebSocketMessageType.STATUS, deviceStateService.getDeviceState()); |
|
|
|
} |
|
|
|
|
|
|
|
} |