Browse Source

对接中枢会议接口,会议时长次数统计
对接安防接口

ZhangManMan 2 years ago
parent
commit
08752074be

+ 9 - 1
src/main/java/com/sky/ioc/controller/scene/MeetingRoomController.java

@@ -12,6 +12,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
@@ -32,6 +33,9 @@ public class MeetingRoomController {
     @Autowired
     MeetingRecordService meetingRecordService;
 
+    @Value("${spring.profiles.active}")
+    private String active;
+
     @ApiOperation("会议室总览")
     @PostMapping("/getMeetingRoomList")
     public ReturnMsg getMeetingRoomList(@RequestParam(value = "date", required=false)String date){
@@ -60,7 +64,11 @@ public class MeetingRoomController {
     @ApiOperation("统计分析--会议时长")
     @PostMapping("/getMeetingMinutes")
     public ReturnMsg getMeetingMinutes(@RequestBody IocTimeRange iocTimeRange){
-        return meetingRecordService.getMeetingAnalysissMinutes(iocTimeRange);
+        if(active.equals("publish")){
+            return meetingRecordService.getMeetingAnalysissMinutesData(iocTimeRange);
+        }else{
+            return meetingRecordService.getMeetingAnalysissMinutes(iocTimeRange);
+        }
     }
 
     @ApiOperation("统计分析--会议数据分布时长")

+ 9 - 3
src/main/java/com/sky/ioc/controller/security/SecurityPersonController.java

@@ -18,6 +18,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
 /**
@@ -37,8 +38,8 @@ import org.springframework.web.bind.annotation.*;
 public class SecurityPersonController {
 
 
-    @Autowired
-    private SecurityService securityService;
+    @Value("${spring.profiles.active}")
+    private String active;
 
     @Autowired
     private SecurityPersonService securityPersonService;
@@ -56,7 +57,12 @@ public class SecurityPersonController {
     @ApiOperation("保有量")
     @PostMapping("/getPopulationPerson")
     public ReturnMsg getPopulationPerson(@RequestBody IocParam iocParam){
-        return personnelService.getPopulationPerson(iocParam);
+        if(active.equals("publish")){
+            return personnelService.getPopulationPersonData(iocParam);
+        }else{
+            return personnelService.getPopulationPerson(iocParam);
+        }
+
     }
 
 

+ 2 - 0
src/main/java/com/sky/ioc/service/meeting/MeetingRecordService.java

@@ -30,5 +30,7 @@ public interface MeetingRecordService {
 
     ReturnMsg getMeetingCakePerson(IocTimeRange iocTimeRange);
 
+    ReturnMsg getMeetingAnalysissMinutesData(IocTimeRange iocTimeRange);
+
 
 }

+ 41 - 0
src/main/java/com/sky/ioc/service/meeting/impl/MeetingRecordServiceImpl.java

@@ -46,6 +46,9 @@ public class MeetingRecordServiceImpl implements MeetingRecordService {
 
     final static  String MEETTING_RECORD_URL="/api/meeting/MEETING/record/list?pageNum=1&pageSize=1000";
 
+
+    final static  String MEETTING_DYRATION_URL="/api/statistics/meeting/record/getMeetingDuration";
+
     @Override
     public Map queryMeetingTreeList(IocParam iocParam) {
         LambdaQueryWrapper<MeetingRecord> queryWrapper = new LambdaQueryWrapper<>();
@@ -306,4 +309,42 @@ public class MeetingRecordServiceImpl implements MeetingRecordService {
         lists.add(cakeMore);
         return ReturnMsg.ok(lists);
     }
+
+    @Override
+    public ReturnMsg getMeetingAnalysissMinutesData(IocTimeRange iocTimeRange) {
+        String[] param = {"minutes"};
+        // 创建RestTemplate
+        RestTemplate restTemplate = restTemplateConfig.build();
+        // 发送GET请求
+        String startStr = iocTimeRange.getStartDate().replace("/","-");
+        String endStr = iocTimeRange.getEndDate().replace("/","-");
+        String url = restTemplateConfig.addBaseUrl(MEETTING_DYRATION_URL)+"?startTime="+startStr+"&endTime="+endStr+"&scope=day";
+        ResponseEntity<Map> responseEntity = restTemplate.getForEntity(url, Map.class);
+        // 获取响应对象里的 body 对象
+        Map<String, Object> body = responseEntity.getBody();
+        // 获取状态码
+        Integer code = (Integer)body.get("code");
+        // 获取响应信息
+        String message = (String)body.get("msg");
+        if(code==200){
+            LinkedHashMap data = (LinkedHashMap) body.get("data");
+            ArrayList list = (ArrayList) data.get("dataList");
+            List<Label> labels1 = new ArrayList<>();
+            if(list!=null&&list.size()>0){
+                for(int i=0;i<list.size();i++){
+                    LinkedHashMap map = (LinkedHashMap) list.get(i);
+                    Label label = new Label();
+                    JSONObject jsonObject = new JSONObject();
+                    jsonObject.put(param[0], MathUtils.division(Double.valueOf(map.get("scopeDuration").toString()),60,2));
+                    label.setJsonObject(jsonObject);
+                    label.setLabel(map.get("date").toString());
+                    labels1.add(label);
+                }
+            }
+            return ReturnMsg.ok(labels1);
+        }else{
+            log.info("获取会议时长数据:"+message);
+            return ReturnMsg.fail(message);
+        }
+    }
 }

+ 4 - 0
src/main/java/com/sky/ioc/service/meeting/impl/MeetingRoomServiceImpl.java

@@ -17,6 +17,7 @@ import com.sky.ioc.mapper.meeting.MeetingRoomMapper;
 import com.sky.ioc.mapper.space.BuildingFloorMapper;
 import com.sky.ioc.service.meeting.MeetingRoomService;
 import com.sky.ioc.tool.DateUtil;
+import com.sky.ioc.tool.MathUtils;
 import com.sky.ioc.tool.ReturnMsg;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -50,6 +51,7 @@ public class MeetingRoomServiceImpl implements MeetingRoomService {
 
     final static  String MEETTING_ROOM_URL="/api/meeting/MEETING/room/list?pageNum=1&pageSize=100";
 
+
     @Override
     public ReturnMsg getMeetingRoomList() {
         // 创建RestTemplate
@@ -175,4 +177,6 @@ public class MeetingRoomServiceImpl implements MeetingRoomService {
         // List<Label> labels1 = GeneralMethod.getInstance().dataGeneration(param, labKey);
         return ReturnMsg.ok(labels1);
     }
+
+
 }

+ 2 - 0
src/main/java/com/sky/ioc/service/personnel/PersonnelService.java

@@ -18,5 +18,7 @@ public interface PersonnelService {
 
     ReturnMsg getPopulationPerson(IocParam iocParam);
 
+    ReturnMsg getPopulationPersonData(IocParam iocParam);
+
     ReturnMsg getPassengerFlow(IocParam iocParam);
 }

+ 46 - 0
src/main/java/com/sky/ioc/service/personnel/impl/PersonnelServiceImpl.java

@@ -1,14 +1,20 @@
 package com.sky.ioc.service.personnel.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.sky.ioc.config.RestTemplateConfig;
 import com.sky.ioc.entity.Indeicator;
 import com.sky.ioc.entity.Label;
 import com.sky.ioc.entity.params.IocParam;
 import com.sky.ioc.service.personnel.PersonnelService;
 import com.sky.ioc.tool.DateUtil;
 import com.sky.ioc.tool.GeneralMethod;
+import com.sky.ioc.tool.MathUtils;
 import com.sky.ioc.tool.ReturnMsg;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
 
 import java.text.DecimalFormat;
 import java.util.*;
@@ -21,9 +27,13 @@ import java.util.concurrent.ThreadLocalRandom;
  * @date 2023/2/22 15:14
  */
 @Service
+@Slf4j
 public class PersonnelServiceImpl implements PersonnelService {
 
+    @Autowired
+    RestTemplateConfig restTemplateConfig;
 
+    final static  String ACCESS_PERSON_URL="/api/statistics/safety/record/totalDoorRecord";
 
     @Override
     public ReturnMsg personnelInfoCount() {
@@ -123,6 +133,42 @@ public class PersonnelServiceImpl implements PersonnelService {
         return ReturnMsg.ok(labels1);
     }
 
+    @Override
+    public ReturnMsg getPopulationPersonData(IocParam iocParam) {
+        String[] param = {"numberPeople"};
+        // 创建RestTemplate
+        RestTemplate restTemplate = restTemplateConfig.build();
+        // 发送GET请求
+        String startStr = iocParam.getTimeRange().getStartDate().replace("/","-");
+        String endStr = iocParam.getTimeRange().getEndDate().replace("/","-");
+        String url = restTemplateConfig.addBaseUrl(ACCESS_PERSON_URL)+"?startTime="+startStr+"&endTime="+endStr+"&scope=day";
+        ResponseEntity<Map> responseEntity = restTemplate.getForEntity(url, Map.class);
+        // 获取响应对象里的 body 对象
+        Map<String, Object> body = responseEntity.getBody();
+        // 获取状态码
+        Integer code = (Integer)body.get("cod");
+
+        if(code==200){
+            ArrayList list = (ArrayList) body.get("data");
+            List<Label> labels1 = new ArrayList<>();
+            if(list!=null&&list.size()>0){
+                for(int i=0;i<list.size();i++){
+                    LinkedHashMap map = (LinkedHashMap) list.get(i);
+                    Label label = new Label();
+                    JSONObject jsonObject = new JSONObject();
+                    jsonObject.put(param[0], Integer.valueOf(map.get("inCount").toString())-Integer.valueOf(map.get("outCount").toString()));
+                    label.setJsonObject(jsonObject);
+                    label.setLabel(map.get("time").toString());
+                    labels1.add(label);
+                }
+            }
+            return ReturnMsg.ok(labels1);
+        }else{
+
+            return ReturnMsg.fail("获取安防数据出错");
+        }
+    }
+
     @Override
     public ReturnMsg getPassengerFlow(IocParam iocParam) {
         String[] param = {"Freelance","other"};