|
@@ -1,6 +1,8 @@
|
|
|
package com.ruoyi.system.service.impl;
|
|
|
|
|
|
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
+import com.alibaba.fastjson2.JSON;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.ruoyi.common.exception.base.BaseException;
|
|
|
import com.ruoyi.system.domain.SiteConfig;
|
|
@@ -17,6 +19,8 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.Date;
|
|
|
+import com.alibaba.fastjson.serializer.SerializeConfig;
|
|
|
+import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -112,11 +116,27 @@ public class SiteServiceImpl implements SiteService {
|
|
|
if (siteConfig != null){
|
|
|
throw new BaseException("新增失败,该站点已存在配置信息");
|
|
|
}
|
|
|
+ SiteInfo siteInfo = siteInfoMapper.queryById(siteConfigDTO.getSiteId());
|
|
|
+ if (siteInfo == null){
|
|
|
+ throw new BaseException("新增失败,SiteId错误");
|
|
|
+ }
|
|
|
siteConfig = new SiteConfig();
|
|
|
BeanUtils.copyProperties(siteConfigDTO, siteConfig);
|
|
|
siteConfig.setConfigId(0L);
|
|
|
- return siteConfigMapper.insert(siteConfig) > 0;
|
|
|
+ boolean res = siteConfigMapper.insert(siteConfig) > 0;
|
|
|
//TODO 下发MQTT消息
|
|
|
+ String topic = "down/" + siteInfo.getDeviceId() + "/settings";
|
|
|
+ // 配置 SerializeConfig,开启过滤 null 值的特性
|
|
|
+// SerializeConfig serializeConfig = SerializeConfig.globalInstance;
|
|
|
+// serializeConfig.configForBean().setNullValueFilter((k, v) -> v != null);
|
|
|
+//
|
|
|
+// // 将 User 对象转换为 JSON 字符串,过滤 null 值
|
|
|
+// String data = JSON.toJSONString(siteConfig, serializeConfig, SerializerFeature.WriteMapNullValue,
|
|
|
+// SerializerFeature.WriteNullStringAsEmpty, SerializerFeature.WriteNullListAsEmpty);
|
|
|
+//
|
|
|
+// String data = JSONUtil.toJsonStr(siteConfig);
|
|
|
+// mqttGateWayService.sendMessageToMqtt(data, topic);
|
|
|
+ return res;
|
|
|
} catch (BaseException e){
|
|
|
throw new BaseException(e.getMessage());
|
|
|
} catch (Exception e){
|