双屏机-mq
This commit is contained in:
parent
4c8c0fdc5e
commit
1f0e20d71c
|
|
@ -1,6 +1,7 @@
|
||||||
package com.bonus.canteen.core.device.constants;
|
package com.bonus.canteen.core.device.constants;
|
||||||
|
|
||||||
|
|
||||||
|
import com.bonus.canteen.core.device.mqtt.v2.DeviceUpdateMetadataServiceImpl;
|
||||||
import com.bonus.canteen.core.device.mqtt.v4.DeviceOnlineV4ServiceImpl;
|
import com.bonus.canteen.core.device.mqtt.v4.DeviceOnlineV4ServiceImpl;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
@ -11,7 +12,7 @@ public enum DeviceTopicRouteEnum {
|
||||||
// DEVICE_STATE_LOG("device-state-log", "设备状态上报", DeviceStateLogServiceImpl.class),
|
// DEVICE_STATE_LOG("device-state-log", "设备状态上报", DeviceStateLogServiceImpl.class),
|
||||||
// DEVICE_HEART_SEND("device-heart-send", "设备上下线(兼容新老版本)", DeviceHeartSendServiceImpl.class),
|
// DEVICE_HEART_SEND("device-heart-send", "设备上下线(兼容新老版本)", DeviceHeartSendServiceImpl.class),
|
||||||
// DEVICE_ONLINE_V2("device-online-v2", "设备上下线", DeviceOnlineV2ServiceImpl.class),
|
// DEVICE_ONLINE_V2("device-online-v2", "设备上下线", DeviceOnlineV2ServiceImpl.class),
|
||||||
// DEVICE_UPDATE_METADATA_V2("device-update-metadata-v2", "设备基础设置上报", DeviceUpdateMetadataServiceImpl.class),
|
DEVICE_UPDATE_METADATA_V2("device-update-metadata-v2", "设备基础设置上报", DeviceUpdateMetadataServiceImpl.class),
|
||||||
// DEVICE_WEIGHT_INFO_REPORT_V2("device-weight-info-report-v2", "切菜上报", DeviceWeightInfoReportV2ServiceImpl.class),
|
// DEVICE_WEIGHT_INFO_REPORT_V2("device-weight-info-report-v2", "切菜上报", DeviceWeightInfoReportV2ServiceImpl.class),
|
||||||
DEVICE_ONLINE_V4("device-online-v4", "设备上下线", DeviceOnlineV4ServiceImpl.class);
|
DEVICE_ONLINE_V4("device-online-v4", "设备上下线", DeviceOnlineV4ServiceImpl.class);
|
||||||
// DEVICE_UPDATE_BASE_CONFIG_REPORT_V4("device-update-base-config-report-v4", "设备基础设置上报", DeviceUpdateBaseConfigReportV4ServiceImpl.class),
|
// DEVICE_UPDATE_BASE_CONFIG_REPORT_V4("device-update-base-config-report-v4", "设备基础设置上报", DeviceUpdateBaseConfigReportV4ServiceImpl.class),
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
package com.bonus.canteen.core.device.manage.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class DeviceMqMetadataUpdateDTO {
|
||||||
|
@ApiModelProperty("设备Sn")
|
||||||
|
private String machineSn;
|
||||||
|
@ApiModelProperty("设备商户")
|
||||||
|
private Long merchantId;
|
||||||
|
@ApiModelProperty("设备类型")
|
||||||
|
private Integer soruceType;
|
||||||
|
@ApiModelProperty("设备设置参数")
|
||||||
|
private Map<String, Object> metadata;
|
||||||
|
|
||||||
|
public String getMachineSn() {
|
||||||
|
return this.machineSn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getMerchantId() {
|
||||||
|
return this.merchantId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSoruceType() {
|
||||||
|
return this.soruceType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, Object> getMetadata() {
|
||||||
|
return this.metadata;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMachineSn(final String machineSn) {
|
||||||
|
this.machineSn = machineSn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMerchantId(final Long merchantId) {
|
||||||
|
this.merchantId = merchantId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSoruceType(final Integer soruceType) {
|
||||||
|
this.soruceType = soruceType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMetadata(final Map<String, Object> metadata) {
|
||||||
|
this.metadata = metadata;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toString() {
|
||||||
|
String var10000 = this.getMachineSn();
|
||||||
|
return "DeviceMqMetadataUpdateDTO(machineSn=" + var10000 + ", merchantId=" + this.getMerchantId() + ", soruceType=" + this.getSoruceType() + ", metadata=" + String.valueOf(this.getMetadata()) + ")";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
package com.bonus.canteen.core.device.mqtt.v2;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.bonus.canteen.core.data.dataset.Executors;
|
||||||
|
import com.bonus.canteen.core.device.manage.dto.DeviceMqMetadataUpdateDTO;
|
||||||
|
import com.bonus.canteen.core.device.manage.model.DeviceInfo;
|
||||||
|
import com.bonus.canteen.core.device.manage.service.DeviceInfoService;
|
||||||
|
import com.bonus.canteen.core.device.manage.service.DeviceMetadataService;
|
||||||
|
import com.bonus.canteen.core.device.mqtt.DeviceIotParseService;
|
||||||
|
import com.bonus.canteen.core.device.mqtt.DeviceRecvMqttMessage;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class DeviceUpdateMetadataServiceImpl implements DeviceIotParseService {
|
||||||
|
private static final Logger log = LoggerFactory.getLogger(DeviceUpdateMetadataServiceImpl.class);
|
||||||
|
@Autowired
|
||||||
|
@Lazy
|
||||||
|
private DeviceMetadataService deviceMetadataService;
|
||||||
|
@Autowired
|
||||||
|
@Lazy
|
||||||
|
private DeviceInfoService deviceInfoService;
|
||||||
|
|
||||||
|
public void parseData(DeviceRecvMqttMessage message) {
|
||||||
|
DeviceMqMetadataUpdateDTO deviceMqMetadataUpdateDTO = JSONUtil.toBean(message.getBody(), DeviceMqMetadataUpdateDTO.class);
|
||||||
|
Executors.doInTenant(deviceMqMetadataUpdateDTO.getMerchantId(), (s) -> {
|
||||||
|
DeviceInfo deviceInfo = this.deviceInfoService.getDeviceInfoBySnCacheable(deviceMqMetadataUpdateDTO.getMachineSn());
|
||||||
|
if (ObjectUtil.isNotEmpty(deviceInfo)) {
|
||||||
|
this.deviceMetadataService.saveDeviceMetadata(this.deviceInfoService.saveMetadataModelHandle(deviceInfo.getDeviceId(), DeviceInfoService.getDeviceMap(deviceMqMetadataUpdateDTO.getSoruceType(), deviceMqMetadataUpdateDTO.getMetadata())));
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -6,6 +6,22 @@ spring:
|
||||||
profiles:
|
profiles:
|
||||||
# 环境配置
|
# 环境配置
|
||||||
active: bonus_houqin_local
|
active: bonus_houqin_local
|
||||||
|
mqtt:
|
||||||
|
emqx:
|
||||||
|
broker: ${EMQX_SERVER:tcp://emqx:1883}
|
||||||
|
routes:
|
||||||
|
"[device-online/#]": device-mqtt #设备上下线
|
||||||
|
"[device-state-log/#]": device-mqtt #设备状态上报
|
||||||
|
# "[device-heart-send/#]": device-mqtt #设备上下线(兼容新老版本)
|
||||||
|
"[device-online-v2/#]": device-mqtt #设备上下线
|
||||||
|
"[device-update-metadata-v2/#]": device-mqtt #设备基础设置上报
|
||||||
|
"[device-weight-info-report-v2/#]": device-mqtt #切菜上报
|
||||||
|
"[device-online-v4/#]": device-mqtt #设备上下线v4
|
||||||
|
"[device-update-base-config-report-v4/#]": device-mqtt #设备基础设置上报v4
|
||||||
|
"[device-weight-info-report-v4/#]": device-mqtt #切菜上报v4
|
||||||
|
"[device-update-gataway-devicestate-report-v4/#]": device-mqtt #设备网关状态切换上报v4
|
||||||
|
"[device-buffet-alarm-report-v4/#]": device-mqtt #设备计量主机异常上报入参
|
||||||
|
"[device-log-info-update-v4/#]": device-mqtt #设备日志上传消息
|
||||||
|
|
||||||
system:
|
system:
|
||||||
mqtt-tcp-address: ${MQTT_TCP_ADDRESS:${RABBITMQ_CLIENT_ADDRESS:192.168.0.244:1883}}
|
mqtt-tcp-address: ${MQTT_TCP_ADDRESS:${RABBITMQ_CLIENT_ADDRESS:192.168.0.244:1883}}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue