diff --git a/ruoyi-common/hwmom-common-mom/src/main/java/org/dromara/common/constant/HwMomMesConstants.java b/ruoyi-common/hwmom-common-mom/src/main/java/org/dromara/common/constant/HwMomMesConstants.java index 9ba9a25..c44bccf 100644 --- a/ruoyi-common/hwmom-common-mom/src/main/java/org/dromara/common/constant/HwMomMesConstants.java +++ b/ruoyi-common/hwmom-common-mom/src/main/java/org/dromara/common/constant/HwMomMesConstants.java @@ -16,4 +16,9 @@ public interface HwMomMesConstants { public static final String DELETE_FLAG_YES = "1"; public static final String DELETE_FLAG_NO = "0"; + /** + * 保存设备用户名和密码等信息的redis的key + */ + public static final String REDIS_KEY_DEVICE_INFO = "hw_device_info"; + } diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmLevel.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmLevel.java index e042037..7dad8d6 100644 --- a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmLevel.java +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/BaseAlarmLevel.java @@ -40,7 +40,6 @@ public class BaseAlarmLevel extends TenantEntity { /** * 状态(1、正常,9、删除) */ - @TableLogic(value="1", delval="9") private String levelStatus; /** diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java index 4c57315..c3c07fa 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java @@ -1,6 +1,11 @@ package org.dromara.mes.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.dromara.common.constant.HwMomMesConstants; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; @@ -15,15 +20,24 @@ import org.dromara.mes.domain.*; import org.dromara.mes.domain.bo.ProdBaseMouldInfoBo; import org.dromara.mes.domain.vo.ProdBaseMouldInfoVo; import org.dromara.mes.mapper.ProdBaseMachineProcessMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.dromara.mes.domain.bo.ProdBaseMachineInfoBo; import org.dromara.mes.domain.vo.ProdBaseMachineInfoVo; import org.dromara.mes.mapper.ProdBaseMachineInfoMapper; import org.dromara.mes.service.IProdBaseMachineInfoService; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.concurrent.TimeUnit; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.dromara.common.constant.HwMomMesConstants.REDIS_KEY_DEVICE_INFO; /** * 机台信息Service业务层处理 @@ -39,6 +53,9 @@ public class ProdBaseMachineInfoServiceImpl implements IProdBaseMachineInfoServi private final ProdBaseMachineProcessMapper prodBaseMachineProcessMapper; + @Autowired + private StringRedisTemplate redisTemplate; + /** * 查询机台信息 * @@ -166,6 +183,7 @@ public class ProdBaseMachineInfoServiceImpl implements IProdBaseMachineInfoServi throw new ServiceException("编码已存在"); } } + this.updateMqttAuth(); } /** @@ -182,4 +200,29 @@ public class ProdBaseMachineInfoServiceImpl implements IProdBaseMachineInfoServi } return baseMapper.deleteByIds(ids) > 0; } + + /** + * 更新设备MQTT认证信息 + */ + public void updateMqttAuth() { + new Thread(() -> { + try { + List machineInfoList = baseMapper.selectList(); + List deviceInfoJson = new ArrayList<>(); + machineInfoList.forEach(e -> { + JSONObject newDeviceInfo = new JSONObject(); + newDeviceInfo.put("deviceCode", e.getMachineCode()); + newDeviceInfo.put("userName", null); + newDeviceInfo.put("password", null); + deviceInfoJson.add(newDeviceInfo); + }); + + String deviceInfoJsonStr = JSON.toJSONString(deviceInfoJson, SerializerFeature.WriteMapNullValue); + redisTemplate.opsForValue().set(REDIS_KEY_DEVICE_INFO, deviceInfoJsonStr); + } catch (Exception e) { + System.out.println("设备MQTT认证信息异步更新失败 - error: " + e.getMessage()); + } + }, "MqttAuthUpdateThread").start(); + } + }