浏览代码

fix 低电量报警改为电量耗尽

18339543638 3 年之前
父节点
当前提交
d3cb2402c5

+ 5 - 1
nb-admin/src/main/java/com/nb/admin/AdminApplication.java

@@ -3,11 +3,14 @@ package com.nb.admin;
 import com.nb.common.config.properties.DruidProperties;
 import com.nb.common.config.web.RequestCheckProperties;
 import org.mybatis.spring.annotation.MapperScan;
+import org.redisson.spring.starter.RedissonAutoConfiguration;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.boot.web.servlet.ServletComponentScan;
 import org.springframework.context.annotation.Import;
+import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.tio.websocket.starter.EnableTioWebSocketServer;
@@ -23,7 +26,8 @@ import org.tio.websocket.starter.EnableTioWebSocketServer;
         "com.nb.web",
         "com.nb.auth",
         "com.nb.admin",
-        "springfox.documentation.schema"})
+        "springfox.documentation.schema"},
+exclude = {RedisAutoConfiguration.class,RedissonAutoConfiguration.class})
 @Import(cn.hutool.extra.spring.SpringUtil.class)
 @EnableTioWebSocketServer
 @EnableScheduling

+ 1 - 1
nb-admin/src/main/resources/application-dev.yml

@@ -1,7 +1,7 @@
 # 项目相关配置
 app:
   # 项目名称
-  name: nbnetpump
+  name: nb
   # 实例演示开关
   demoEnabled: false
   # 获取ip地址开关

+ 2 - 2
nb-admin/src/main/resources/application-prod.yml

@@ -1,7 +1,7 @@
 # 项目相关配置
 app:
   # 项目名称
-  name: nbnetpump
+  name: nb
   # 实例演示开关
   demoEnabled: false
   # 获取ip地址开关
@@ -55,7 +55,7 @@ spring:
       # 监控统计用的filter:stat
       # 日志用的filter:log4j
       # 防御sql注入的filter:wall
-      filters: stat,wall,log4j #log4j
+      filters: stat,wall,log4j2 #log4j
       webStatFilter:
         enabled: true
       statViewServlet:

+ 1 - 1
nb-admin/src/main/resources/application-test.yml

@@ -1,7 +1,7 @@
 # 项目相关配置
 app:
   # 项目名称
-  name: coffee
+  name: nbpump
   # 实例演示开关
   demoEnabled: false
   # 获取ip地址开关

+ 1 - 1
nb-admin/src/main/resources/application.yml

@@ -4,7 +4,7 @@ spring:
       max-file-size: 10MB
       max-request-size: 15MB
   application:
-    name: nb-service.
+    name: nb
   profiles:
     active: @profiles.active@
   jackson:

+ 3 - 6
nb-admin/src/test/java/com/nb/admin/DeviceOperateTest.java

@@ -23,12 +23,9 @@ public class DeviceOperateTest {
 
     @Test
     public void test(){
-        DeviceOperator operator = deviceRegistry.getOperator("51066208333702B6");
+        DeviceOperator operator = deviceRegistry.getOperator("43177015333402A6");
 
-        operator.setFlowLimit(true);
-        boolean flowLimit = operator.isFlowLimit();
-        while (true){
-
-        }
+        boolean exist = operator.getExist();
+        System.out.println(exist);
     }
 }

+ 25 - 52
nb-common/config-common/src/main/java/com/nb/common/config/ApplicationConfig.java

@@ -1,52 +1,25 @@
-package com.nb.common.config;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.JsonSerializer;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
-
-import java.io.IOException;
-import java.util.TimeZone;
-
-/**
- * 开启AOP代理自动配置
- *
- * @author Kevin
- */
-@Configuration
-@EnableAspectJAutoProxy(exposeProxy = true)
-public class ApplicationConfig {
-    /**
-     * 时区配置
-     */
-    @Bean
-    public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() {
-        return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault());
-    }
-
-    /**
-     * null序列化成空字符串
-     *
-     * @param objectMapper
-     * @return
-     */
-    @Bean
-    public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter(ObjectMapper objectMapper) {
-        objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
-            @Override
-            public void serialize(Object param, JsonGenerator jsonGenerator,
-                                  SerializerProvider paramSerializerProvider) throws IOException {
-                jsonGenerator.writeString("");
-            }
-        });
-        MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
-        mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper);
-        return mappingJackson2HttpMessageConverter;
-    }
-
-}
+//package com.nb.common.config;
+//
+//import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.context.annotation.EnableAspectJAutoProxy;
+//import java.util.TimeZone;
+//
+///**
+// * 开启AOP代理自动配置
+// *
+// * @author Kevin
+// */
+//@Configuration
+//@EnableAspectJAutoProxy(exposeProxy = true)
+//public class ApplicationConfig {
+//    /**
+//     * 时区配置
+//     */
+//    @Bean
+//    public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() {
+//        return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault());
+//    }
+//
+//}

+ 22 - 1
nb-common/config-common/src/main/java/com/nb/common/config/WebAppMvcConfig.java

@@ -13,7 +13,11 @@ import com.nb.common.config.serializer.BooleanToIntegerSerializer;
 import com.nb.common.config.serializer.EnumDeserializer;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.EnableAspectJAutoProxy;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.http.converter.HttpMessageConverter;
 import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
 import org.springframework.web.servlet.HandlerInterceptor;
@@ -33,12 +37,21 @@ import java.util.*;
  */
 @Configuration
 @EnableAutoConfiguration
-//@Profile("dev")
+@EnableAspectJAutoProxy(exposeProxy = true)
 public class WebAppMvcConfig implements WebMvcConfigurer {
     @Autowired
+    @Lazy
     private ObjectMapper objectMapper;
+
     @Autowired(required = false)
     private List<HandlerInterceptor> interceptors;
+
+
+    @Bean
+    public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() {
+        return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault());
+    }
+
     @Override
     public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
         MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
@@ -84,6 +97,14 @@ public class WebAppMvcConfig implements WebMvcConfigurer {
         SimpleModule enumModule = new SimpleModule();
         enumModule.addDeserializer(Enum.class, new EnumDeserializer());
 
+//        objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
+//            @Override
+//            public void serialize(Object param, JsonGenerator jsonGenerator,
+//                                  SerializerProvider paramSerializerProvider) throws IOException {
+//                jsonGenerator.writeString("");
+//            }
+//        });
+
         objectMapper.registerModule(enumModule);
         objectMapper.registerModule(stringModule);
         objectMapper.registerModule(booleanSimpleModule);

+ 6 - 7
nb-common/config-common/src/main/java/com/nb/common/config/redis/RedisConfig.java

@@ -3,31 +3,30 @@ package com.nb.common.config.redis;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.redisson.spring.starter.RedissonAutoConfiguration;
-import org.springframework.boot.autoconfigure.AutoConfigureBefore;
-import org.springframework.cache.annotation.CachingConfigurerSupport;
-import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
 import org.springframework.data.redis.connection.RedisConnectionFactory;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
 import org.springframework.data.redis.serializer.StringRedisSerializer;
 
+
 /**
  * redis基础配置
  *
  * @author Kevin
  */
 @Configuration
-@EnableCaching
 @Slf4j
-@AutoConfigureBefore(RedissonAutoConfiguration.class)
 @AllArgsConstructor
-public class RedisConfig extends CachingConfigurerSupport {
+public class RedisConfig  {
 
     private  final ObjectMapper objectMapper;
+
     @Bean
+    @Primary
     public RedisTemplate<String, Object> defaultRedisTemplate(RedisConnectionFactory connectionFactory) {
         RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
 

+ 3 - 2
nb-common/config-common/src/main/java/com/nb/common/config/redis/RedisUtils.java

@@ -1,6 +1,8 @@
 package com.nb.common.config.redis;
 
 import cn.hutool.core.collection.CollectionUtil;
+import com.nb.core.AppProperties;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
@@ -23,8 +25,7 @@ import java.util.concurrent.TimeUnit;
  */
 @Component
 public class RedisUtils {
-
-    @Resource
+    @Autowired
     private RedisTemplate<String, Object> redisTemplate;
 
     /**

+ 5 - 0
nb-common/config-common/src/main/java/com/nb/common/config/utils/DictUtil.java

@@ -2,9 +2,12 @@ package com.nb.common.config.utils;
 
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.extra.spring.SpringUtil;
+import com.nb.core.AppProperties;
 import com.nb.core.Constants;
 import com.nb.common.config.bo.DictModel;
 import com.nb.common.config.redis.RedisUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -16,8 +19,10 @@ import java.util.Objects;
  *
  * @author Kevin
  */
+@Component
 public class DictUtil {
 
+
     public static String getCacheKey(String key) {
         return String.format(Constants.SYS_DICT_TPL, key);
     }

+ 8 - 31
nb-core/src/main/java/com/nb/core/AppProperties.java

@@ -1,6 +1,8 @@
 package com.nb.core;
 
+import lombok.Data;
 import lombok.Getter;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.stereotype.Component;
 
@@ -11,14 +13,14 @@ import org.springframework.stereotype.Component;
  */
 @Component
 @ConfigurationProperties(prefix = "app")
-@Getter
+@Data
 public class AppProperties {
 
     /**
      * 项目名称
      */
     @Getter
-    private static String name;
+    private String name;
 
     /**
      * 实例演示开关
@@ -30,48 +32,23 @@ public class AppProperties {
      * 获取地址开关
      */
     @Getter
-    private static boolean addressEnabled = false;
+    private boolean addressEnabled = false;
 
     /**
      * 上传目录
      */
     @Getter
-    private static String uploadType;
+    private String uploadType;
 
     /**
      * 上传目录
      */
     @Getter
-    private static String uploadDir;
+    private String uploadDir;
 
     /**
      * 缓存前缀
      */
     @Getter
-    private static String cachePrefix;
-
-    public void setName(String name) {
-        AppProperties.name = name;
-    }
-
-//    public void setDemoEnabled(boolean demoEnabled) {
-//        AppConfig.demoEnabled = demoEnabled;
-//    }
-
-    public void setAddressEnabled(boolean addressEnabled) {
-        AppProperties.addressEnabled = addressEnabled;
-    }
-
-    public void setUploadType(String uploadType) {
-        AppProperties.uploadType = uploadType;
-    }
-
-    public void setUploadDir(String uploadDir) {
-        AppProperties.uploadDir = uploadDir;
-    }
-
-    public void setCachePrefix(String cachePrefix) {
-        AppProperties.cachePrefix = cachePrefix;
-    }
-
+    private String cachePrefix;
 }

+ 2 - 6
nb-core/src/main/java/com/nb/core/Constants.java

@@ -19,18 +19,14 @@ public class Constants {
 
     public static final String HOSPITAL_ID = "hospital_id";
 
-    /**
-     * redis缓存,项目统一前缀
-     */
-    public static final String REDIS_PREFIX = AppProperties.getCachePrefix() + ":";
     /**
      * redis缓存,系统字典缓存模板
      */
-    public static final String SYS_DICT_TPL = REDIS_PREFIX + "sys_dict:%s";
+    public static final String SYS_DICT_TPL = "sys_dict:%s";
     /**
      * redis缓存,系统参数缓存模板
      */
-    public static final String SYS_CONFIG_TPL = REDIS_PREFIX + "sys_config:%s";
+    public static final String SYS_CONFIG_TPL = "sys_config:%s";
 
     /**
      * 所有权限常量

+ 6 - 2
nb-core/src/main/java/com/nb/core/cache/manager/ClusterStorageManager.java

@@ -1,5 +1,7 @@
 package com.nb.core.cache.manager;
 
+import com.nb.core.AppProperties;
+import com.nb.core.Constants;
 import com.nb.core.cache.ClusterConfigStorage;
 import com.nb.core.cache.ConfigStorage;
 import org.redisson.api.RedissonClient;
@@ -24,16 +26,18 @@ public class ClusterStorageManager implements ConfigStorageManager {
 
     private final RedisTemplate redisTemplate;
 
+    private final AppProperties appProperties;
 
     private Map<String,ClusterConfigStorage > storageMap=new ConcurrentHashMap<>();
 
-    public ClusterStorageManager(RedisTemplate redisTemplate) {
+    public ClusterStorageManager(RedisTemplate redisTemplate,AppProperties appProperties) {
         this.redisTemplate=redisTemplate;
+        this.appProperties=appProperties;
     }
 
     @Override
     public ConfigStorage getStorage(String id) {
-        return  storageMap.computeIfAbsent(id, __ -> new ClusterConfigStorage(redisTemplate,id));
+        return  storageMap.computeIfAbsent(id, __ -> new ClusterConfigStorage(redisTemplate, appProperties.getCachePrefix()+":"+id));
     }
 
 }

+ 2 - 1
nb-core/src/main/java/com/nb/core/utils/ExcelUtil.java

@@ -3,6 +3,7 @@ package com.nb.core.utils;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.IdUtil;
+import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.excel.EasyExcel;
 import com.nb.core.AppProperties;
 import com.nb.core.enums.BizEnum;
@@ -25,7 +26,7 @@ public class ExcelUtil {
     public static String export(String filename, Class clazz, List list, String sheetName) {
         filename = filename + "_" + IdUtil.fastSimpleUUID() + ".xlsx";
         String filepath = "/" + BizEnum.TEMP.getCode() + "/" + DateUtil.today() + "/" + filename;
-        String absoluteFilepath = AppProperties.getUploadDir() + filepath;
+        String absoluteFilepath = SpringUtil.getBean(AppProperties.class).getUploadDir() + filepath;
         log.info("导出文件路径,{}", absoluteFilepath);
         FileUtil.touch(absoluteFilepath);
         EasyExcel.write(absoluteFilepath, clazz).head(clazz).sheet(sheetName).doWrite(list);

+ 4 - 1
nb-oss/src/main/java/com/nb/oss/strategy/context/FileStorageContext.java

@@ -3,6 +3,7 @@ package com.nb.oss.strategy.context;
 import com.nb.core.AppProperties;
 import com.nb.core.exception.CustomException;
 import com.nb.oss.strategy.FileStorageStrategy;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.HashMap;
@@ -18,6 +19,8 @@ import java.util.Objects;
 @Component
 public class FileStorageContext {
 
+    @Autowired
+    private AppProperties appProperties;
     Map<String, FileStorageStrategy> fileStorageStrategyMap = new HashMap<>();
 
     public FileStorageContext(List<FileStorageStrategy> list) {
@@ -32,7 +35,7 @@ public class FileStorageContext {
      * @return
      */
     public FileStorageStrategy getContext() {
-        return getContext(AppProperties.getUploadType());
+        return getContext(appProperties.getUploadType());
     }
 
     /**

+ 1 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusHospitalService.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.nb.auth.utils.SecurityUtil;
+import com.nb.core.Constants;
 import com.nb.web.api.bean.GeoPoint;
 import com.nb.web.service.bus.entity.*;
 import com.nb.web.service.bus.enums.ConstantMixEnum;