From 4374d41d1fcf28cbff21bc8b31efbbdbc30a893a Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期四, 17 七月 2025 08:43:35 +0800 Subject: [PATCH] feat(dry): 添加获取所有机台接口并优化缓存 --- jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java | 84 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 73 insertions(+), 11 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 ff98cb4..a875b57 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,22 +1,22 @@ package org.jeecg.modules.dry.controller; -import ai.djl.modality.Classifications; import cn.hutool.core.bean.BeanUtil; +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; +import org.eclipse.paho.client.mqttv3.MqttException; +import org.eclipse.paho.client.mqttv3.MqttMessage; import org.jeecg.common.api.vo.Result; -import org.jeecg.common.config.TenantContext; -import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.constant.MqttConstant; 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; import org.jeecg.modules.dry.service.*; //import org.jeecg.modules.dry.util.HerbUtil; @@ -24,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 = "瀹炴椂鏁版嵁澶勭悊鎺у埗鍣�") @@ -59,6 +55,12 @@ // private HerbUtil herbUtil; @Autowired + private MqttUtil mqttUtil; + + @Autowired + private MqttConfig mqttConfig; + + @Autowired private IDryHerbInfoService herbInfoService; @Autowired @@ -77,8 +79,52 @@ @ApiOperation(value="鎺ユ敹瀹炴椂鏁版嵁Json", notes="璁惧瀹炴椂鏁版嵁涓婁紶") @PostMapping("/sendRealTimeDataJson") - public Result<?> realTimeDataJson(@RequestBody RealTimeDataVo realTimeDataVo) { + public Result<?> realTimeDataJson(@RequestBody RealTimeDataVo realTimeDataVo) { + try { + 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.fitFaultRecord(realTimeDataVo); + } + + if ("user".equals(mqttConfig.getRole())){ + //澶勭悊鏁呴殰淇℃伅 + dryRealTimeDataService.fitFaultRecord(realTimeDataVo); + } + + } catch (MqttException e) { + e.printStackTrace(); + } + 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); } @@ -93,6 +139,14 @@ @GetMapping("/workshopStatistics") public Result<?> workshopStatistics(RealTimeDataVo realTimeDataVo) { return dryRealTimeDataService.queryWorkshopStatistics(realTimeDataVo); + } + + + @ApiOperation(value="鑾峰彇鎵�鏈夋満鍙�", notes="閫氳繃绉熸埛ID鑾峰彇鎵�鏈夋満鍙版暟鎹�") + @GetMapping("/queryAllEqps") + public Result<?> queryAllEqps(DryEquipment equipment) { + List<DryEquipment> dryEquipments = dryEquipmentService.queryEqusByTenantId(equipment); + return Result.OK(dryEquipments); } @@ -149,6 +203,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