lmstack 3 years ago
parent
commit
05c1f25c3f

+ 13 - 0
src/main/java/com/lm/lib/config/DataSourceConfig.java

@@ -52,6 +52,13 @@ public class DataSourceConfig {
         return DataSourceBuilder.create().build();
     }
 
+    @Bean(name = "safeDataSource")
+    @Qualifier("safeDataSource")
+    @ConfigurationProperties(prefix = "spring.datasource.safety")
+    public DataSource safeDataSource() {
+        return DataSourceBuilder.create().build();
+    }
+
 
     @Primary
     @Bean(name = "iotpJdbcTemplate")
@@ -77,4 +84,10 @@ public class DataSourceConfig {
             @Qualifier("ossDataSource") DataSource dataSource) {
         return new JdbcTemplate(dataSource);
     }
+
+    @Bean(name = "safeJdbcTemplate")
+    public JdbcTemplate safeJdbcTemplate(
+            @Qualifier("safeDataSource") DataSource dataSource) {
+        return new JdbcTemplate(dataSource);
+    }
 }

+ 37 - 0
src/main/java/com/lm/lib/controller/ShowDataController.java

@@ -48,6 +48,9 @@ public class ShowDataController {
     @Resource(name = "ossJdbcTemplate")
     JdbcTemplate ossJdbcTemplate;
 
+    @Resource(name = "safeJdbcTemplate")
+    JdbcTemplate safeJdbcTemplate;
+
 //    @Resource
 //    FfLocationServiceImpl ffLocationService;
 
@@ -73,6 +76,40 @@ public class ShowDataController {
         return res;
     }
 
+    @ApiOperation(value = "获取低电量信息")
+    @RequestMapping(value = "/getLowSoc", method = RequestMethod.GET)
+    public Map<String, Object> getLowSoc() throws IOException {
+        String snString = this.getSn().get("snString").toString();
+        Map<String, Object> res = new HashMap<>();
+        String sql = "select product_id as sn, start_time as time,TIMESTAMPDIFF(hour,start_time,now()) as drua, Batpos from all_fault_info where end_time = '0000-00-00 00:00:00' " +
+            "and code=58 and product_id in (%s)";
+        List<Map<String, Object>> lowSocData;
+
+        try {
+            lowSocData = safeJdbcTemplate.queryForList(String.format(sql, snString));
+        } catch (EmptyResultDataAccessException e) {
+            lowSocData = null;
+        }
+        if (!ObjectUtils.isEmpty(lowSocData)) {
+            List<Object> data = new ArrayList<>();
+            lowSocData.forEach(p -> {
+                Map<String, Object> thisData = new HashMap<>();
+                thisData.put("sn", p.getOrDefault("sn", null));
+                thisData.put("time", p.getOrDefault("time", null));
+                thisData.put("drua", p.getOrDefault("drua", null));
+                data.add(thisData);
+            });
+            res.put("code", 200);
+            res.put("message", "获取成功");
+            res.put("data", data);
+        } else {
+            res.put("code", 500);
+            res.put("message", "未获取到数据");
+            res.put("data", new ArrayList<>());
+        }
+        return res;
+    }
+
     @ApiOperation(value = "获取gps数据")
     @RequestMapping(value = "/allrealtimeInfo", method = RequestMethod.GET)
     public Map<String, Object> gpsInfo() throws IOException {

+ 7 - 1
src/main/resources/application-dev.yml

@@ -15,6 +15,12 @@ spring:
       username: qx_read
       password: Qx@123456
 
+
+    safety:
+      jdbcurl: jdbc:mysql://rm-bp10j10qy42bzy0q77o.mysql.rds.aliyuncs.com:3306/safety_platform?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false
+      username: qx_read
+      password: Qx@123456
+
     moyu:
       jdbcurl: jdbc:mysql://rm-bp10j10qy42bzy0q7.mysql.rds.aliyuncs.com:3306/qixiang_manage?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false
       username: qx_query
@@ -23,4 +29,4 @@ spring:
     oss:
       jdbcurl: jdbc:mysql://rm-bp10j10qy42bzy0q7.mysql.rds.aliyuncs.com:3306/qixiang_oss?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false
       username: qixiang_oss
-      password: Qixiang2021
+      password: Qixiang2021