From ff34638b445619d83740223514aa4de4a8e9a65f Mon Sep 17 00:00:00 2001 From: bsw215583320 <baoshiwei121@163.com> Date: 星期一, 17 二月 2025 12:45:05 +0800 Subject: [PATCH] feat(mqtt): 增加设备实时数据处理 --- jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java | 55 ++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 40 insertions(+), 15 deletions(-) diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java index 09ee499..cec4ab1 100644 --- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java @@ -1,14 +1,9 @@ package org.jeecg.modules.dry.controller; -import ai.djl.modality.Classifications; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.thread.ThreadUtil; -import com.alibaba.druid.support.json.JSONUtils; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -16,13 +11,9 @@ import org.eclipse.paho.client.mqttv3.MqttMessage; import org.jeecg.common.api.vo.Result; -import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.MqttConstant; -import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.IpUtils; import org.jeecg.common.util.SpringContextUtils; -import org.jeecg.common.util.oConvertUtils; -import org.jeecg.config.mybatis.MybatisPlusSaasConfig; import org.jeecg.modules.dry.entity.*; import org.jeecg.modules.dry.mqtt.MqttConfig; import org.jeecg.modules.dry.mqtt.MqttUtil; @@ -33,17 +24,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; -import java.io.InputStream; import java.io.StringWriter; import java.util.*; -import java.util.stream.Collectors; -import java.util.stream.Stream; @Api(tags = "瀹炴椂鏁版嵁澶勭悊鎺у埗鍣�") @@ -94,13 +81,18 @@ @PostMapping("/sendRealTimeDataJson") public Result<?> realTimeDataJson(@RequestBody RealTimeDataVo realTimeDataVo) { try { - if ("user".equals(mqttConfig.getRole())){ + if (mqttConfig.isEnable() && "user".equals(mqttConfig.getRole())){ MqttMessage mqttMessage = new MqttMessage(); mqttMessage.setQos(0); mqttMessage.setPayload(JSONObject.toJSONString(realTimeDataVo).getBytes()); mqttUtil.getMqttClient().publish(MqttConstant.TENANT_UP_PREFIX_REALTIME_DATA,mqttMessage); //澶勭悊鏁呴殰淇℃伅 - dryRealTimeDataService.fitFultRecord(realTimeDataVo); + dryRealTimeDataService.fitFaultRecord(realTimeDataVo); + } + + if ("user".equals(mqttConfig.getRole())){ + //澶勭悊鏁呴殰淇℃伅 + dryRealTimeDataService.fitFaultRecord(realTimeDataVo); } } catch (MqttException e) { @@ -108,6 +100,31 @@ } return dryRealTimeDataService.realTimeDataHandle(realTimeDataVo); + } + + @ApiOperation(value="鎺ユ敹瀹炴椂鏁版嵁Json", notes="璁惧瀹炴椂鏁版嵁涓婁紶") + @PostMapping("/sendRealTimeDataJson2") + public Result<?> realTimeDataJson2(@RequestBody RealTimeDataParentVo realTimeDataParentVo) { + try { + if (mqttConfig.isEnable() && "user".equals(mqttConfig.getRole())){ + MqttMessage mqttMessage = new MqttMessage(); + mqttMessage.setQos(0); + mqttMessage.setPayload(JSONObject.toJSONString(realTimeDataParentVo).getBytes()); + mqttUtil.getMqttClient().publish(MqttConstant.TENANT_UP_PREFIX_REALTIME_DATA,mqttMessage); + //澶勭悊鏁呴殰淇℃伅 + dryRealTimeDataService.fitFaultRecord(realTimeDataParentVo); + } + + if ("user".equals(mqttConfig.getRole()) && realTimeDataParentVo.getFault() != null){ + //澶勭悊鏁呴殰淇℃伅 + dryRealTimeDataService.fitFaultRecord(realTimeDataParentVo); + } + + } catch (MqttException e) { + e.printStackTrace(); + } + + return dryRealTimeDataService.realTimeDataHandle(realTimeDataParentVo); } @@ -178,6 +195,14 @@ // return Result.error("AI璇嗗埆鏈嶅姟寮傚父"); // } // } + + /** + * 鏍规嵁璁惧鍜岀鎴锋煡璇㈣璁惧绫诲瀷鐨勫共鐕ラ厤鏂癸紝灏嗛厤鏂硅浆鎴恱ml鏍煎紡锛屼互瀛楃涓叉柟寮忚繑鍥� + * @param tenantId + * @param eqpCode + * @return + * @throws JAXBException + */ @ApiOperation(value="骞茬嚗閰嶆柟鑾峰彇", notes="骞茬嚗閰嶆柟涓嬪彂") @GetMapping(value = "/queryFormula") public Result<String> queryFormulaByEqpType(Integer tenantId, String eqpCode) throws JAXBException { -- Gitblit v1.9.3