双屏机-mq
This commit is contained in:
parent
4c8c0fdc5e
commit
1f0e20d71c
|
|
@ -1,6 +1,7 @@
|
|||
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 java.util.Optional;
|
||||
|
|
@ -11,7 +12,7 @@ public enum DeviceTopicRouteEnum {
|
|||
// DEVICE_STATE_LOG("device-state-log", "设备状态上报", DeviceStateLogServiceImpl.class),
|
||||
// DEVICE_HEART_SEND("device-heart-send", "设备上下线(兼容新老版本)", DeviceHeartSendServiceImpl.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_ONLINE_V4("device-online-v4", "设备上下线", DeviceOnlineV4ServiceImpl.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:
|
||||
# 环境配置
|
||||
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:
|
||||
mqtt-tcp-address: ${MQTT_TCP_ADDRESS:${RABBITMQ_CLIENT_ADDRESS:192.168.0.244:1883}}
|
||||
|
|
|
|||
Loading…
Reference in New Issue