Эх сурвалжийг харах

Merge remote-tracking branch 'origin/dev-V0.4.5' into dev-V0.4.5

regan 2 жил өмнө
parent
commit
832bdd3fcc

+ 3 - 5
iot-common/iot-common-core/src/main/java/cc/iotkit/common/utils/JsonUtils.java

@@ -5,12 +5,10 @@ import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.exc.MismatchedInputException;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import lombok.SneakyThrows;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -22,8 +20,7 @@ import java.util.Objects;
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public class JsonUtils {
-
-    private static final ObjectMapper OBJECT_MAPPER = SpringUtils.getBean(ObjectMapper.class);
+    private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
 
     public static ObjectMapper getObjectMapper() {
         return OBJECT_MAPPER;
@@ -119,11 +116,12 @@ public class JsonUtils {
             throw new RuntimeException(e);
         }
     }
+
     public static <T> T objectToJavaBean(Object obj, Class<T> clazz) {
         if (Objects.isNull(obj)) {
             return null;
         }
-        return OBJECT_MAPPER.convertValue(obj,clazz);
+        return OBJECT_MAPPER.convertValue(obj, clazz);
     }
 
 }

+ 5 - 1
iot-common/iot-common-web/src/main/java/cc/iotkit/common/web/handler/ResponseResultHandler.java

@@ -10,11 +10,13 @@
 package cc.iotkit.common.web.handler;
 
 import cc.iotkit.common.api.Response;
+import cc.iotkit.common.utils.JsonUtils;
 import cn.dev33.satoken.util.SaResult;
 import cn.hutool.core.util.IdUtil;
 import org.springframework.core.MethodParameter;
 import org.springframework.http.MediaType;
 import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.StringHttpMessageConverter;
 import org.springframework.http.server.ServerHttpRequest;
 import org.springframework.http.server.ServerHttpResponse;
 import org.springframework.web.bind.annotation.ControllerAdvice;
@@ -26,7 +28,7 @@ import java.util.Map;
 public class ResponseResultHandler implements ResponseBodyAdvice<Object> {
     @Override
     public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) {
-        return true;
+        return !converterType.equals(StringHttpMessageConverter.class);
     }
 
     @Override
@@ -48,6 +50,8 @@ public class ResponseResultHandler implements ResponseBodyAdvice<Object> {
                 return new Response((Integer) map.get("status"), (String) map.get("error"),
                         "", IdUtil.simpleUUID());
             }
+        } else if (body instanceof Response) {
+            return body;
         }
 
         return new Response(200, "", body, IdUtil.simpleUUID());

+ 3 - 1
iot-components/iot-mqtt-component/src/main/java/cc/iotkit/comp/mqtt/MqttVerticle.java

@@ -103,7 +103,9 @@ public class MqttVerticle extends AbstractVerticle {
             endpoint.accept(false);
             endpoint.closeHandler((v) -> {
                 log.warn("client connection closed,clientId:{}", clientId);
-                if (mqttConnectPool.get(clientId) == false) return;
+                if (!mqttConnectPool.get(clientId)) {
+                    return;
+                }
                 executor.onReceive(new HashMap<>(), "disconnect", clientId, (r) -> {
                     //删除设备与连接关系
                     endpointMap.remove(getEndpointKey(r));

+ 7 - 3
iot-module/iot-manager/src/main/java/cc/iotkit/manager/service/impl/RuleEngineServiceImpl.java

@@ -146,9 +146,13 @@ public class RuleEngineServiceImpl implements IRuleEngineService {
             throw new BizException(ErrCode.RULE_NOT_FOUND);
         }
         dataOwnerService.checkOwner(ruleInfo);
-        ruleInfoData.deleteById(ruleInfo.getId());
-        ruleManager.remove(ruleInfo.getId());
-        ruleLogData.deleteByRuleId(ruleId);
+        try {
+            ruleInfoData.deleteById(ruleInfo.getId());
+            ruleManager.remove(ruleInfo.getId());
+            ruleLogData.deleteByRuleId(ruleId);
+        } catch (Throwable e) {
+            log.warn("删除失败", e);
+        }
         return true;
     }
 

+ 1 - 0
iot-module/iot-system/src/main/java/cc/iotkit/system/service/impl/SysRoleServiceImpl.java

@@ -237,6 +237,7 @@ public class SysRoleServiceImpl implements ISysRoleService {
      * @param status 角色状态
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void updateRoleStatus(Long roleId, String status) {
         SysRole sysRole = new SysRole();
         sysRole.setId(roleId);