Răsfoiți Sursa

fix third interface

459242451@qq.com 3 ani în urmă
părinte
comite
79311a1e18

+ 31 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/gas/So2Controller.java

@@ -216,10 +216,10 @@ public class So2Controller extends BaseController {
         }
         Map<String, Object> equalsCondition = new HashMap<>();
         equalsCondition.put("illegalStatus", 2);
-        Map<Object, Object> aisAggs = client.dateHistogramAggs(ElasticConstants.AIS_ILLEGAL_SHIP, AggsType.count, "createTime", "id", equalsCondition, rangeCondition, new DateHistogramInterval(interval));
-        Map<Object, Object> so2Aggs = client.dateHistogramAggs(ElasticConstants.SO2_ALERT, AggsType.count, "createTime", "id", equalsCondition, rangeCondition, new DateHistogramInterval(interval));
+        Map<Object, Object> aisAggs = client.dateHistogramAggs(AggsType.count, "createTime", "id", equalsCondition, rangeCondition, new DateHistogramInterval(interval), ElasticConstants.AIS_ILLEGAL_SHIP);
+        Map<Object, Object> so2Aggs = client.dateHistogramAggs(AggsType.count, "createTime", "id", equalsCondition, rangeCondition, new DateHistogramInterval(interval), ElasticConstants.SO2_ALERT);
         equalsCondition.put("illegalStatus", 3);
-        Map<Object, Object> heiyanAggs = client.dateHistogramAggs(ElasticConstants.HEIYAN_SHIP_RECOGNITION, AggsType.count, "createTime", "id", equalsCondition, rangeCondition, new DateHistogramInterval(interval));
+        Map<Object, Object> heiyanAggs = client.dateHistogramAggs(AggsType.count, "createTime", "id", equalsCondition, rangeCondition, new DateHistogramInterval(interval), ElasticConstants.HEIYAN_SHIP_RECOGNITION);
         Map<String, Map<Object, Object>> result = new HashMap<>();
         result.put("ais", aisAggs);
         result.put("so2", so2Aggs);
@@ -227,4 +227,32 @@ public class So2Controller extends BaseController {
         return AjaxResult.success(result);
     }
 
+    @GetMapping("/third/timeStatic")
+    @ApiOperation("for-Third-超标船舶统计-按时间")
+    public AjaxResult thirdMonthStatic(@RequestParam(required = false) String interval, @RequestParam(required = false) String startMonth, @RequestParam(required = false) String endMonth) {
+        if (StrUtil.isBlank(interval)) {
+            // 默认值为1个月
+            interval = "1M";
+        }
+        Map<String, Object> rangeCondition = new HashMap<>();
+        if (!StrUtil.isAllBlank(startMonth, endMonth)) {
+            if (StrUtil.isNotBlank(startMonth)) {
+                startMonth = startMonth + "-01 00:00:00";
+            }
+            if (StrUtil.isNotBlank(endMonth)) {
+                endMonth = DateUtil.formatDate(DateUtil.endOfMonth(DateUtil.parseDate(endMonth + "-01 00:00:00"))) + " 23:59:59";
+            }
+            rangeCondition.put("createTime", StrUtil.concat(true, "[", startMonth, ",", endMonth, "]"));
+        }
+        Map<String, Object> equalsCondition = new HashMap<>();
+        equalsCondition.put("illegalStatus", 2);
+        Map<Object, Object> so2Aggs = client.dateHistogramAggs(AggsType.count, "createTime", "id", equalsCondition, rangeCondition, new DateHistogramInterval(interval), ElasticConstants.SO2_ALERT, ElasticConstants.AIS_ILLEGAL_SHIP);
+        equalsCondition.put("illegalStatus", 3);
+        Map<Object, Object> heiyanAggs = client.dateHistogramAggs(AggsType.count, "createTime", "id", equalsCondition, rangeCondition, new DateHistogramInterval(interval), ElasticConstants.HEIYAN_SHIP_RECOGNITION);
+        Map<String, Map<Object, Object>> result = new HashMap<>();
+        result.put("so2", so2Aggs);
+        result.put("black", heiyanAggs);
+        return AjaxResult.success(result);
+    }
+
 }

+ 3 - 3
ruoyi-framework/src/main/java/com/ruoyi/framework/config/ElasticSearchClient.java

@@ -540,13 +540,13 @@ public class ElasticSearchClient {
      * @param interval
      * @return
      */
-    public Map<Object, Object> dateHistogramAggs(String indexName,
-                                                 AggsType aggsType,
+    public Map<Object, Object> dateHistogramAggs(AggsType aggsType,
                                                  String bucketName,
                                                  String metricName,
                                                  Map<String, Object> equalsCondition,
                                                  Map<String, Object> rangeCondition,
-                                                 DateHistogramInterval interval) {
+                                                 DateHistogramInterval interval,
+                                                 String... indexName) {
         SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
 
         String by = "by_" + bucketName.replaceAll(keyword, "");

+ 4 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java

@@ -103,7 +103,10 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
                         "/**/*.css",
                         "/**/*.js",
                         "/profile/**",
-                        "/gas/common/queryIllegalInfoList"
+                        "/gas/common/queryIllegalInfoList",
+                        "/so2/third/**",
+                        "/so2/static/device",
+                        "/so2/static/deviceType"
                 ).permitAll()
                 .antMatchers("/common/download**").anonymous()
                 .antMatchers("/common/download/resource**").anonymous()