Ver Fonte

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/sky/ioc/service/meeting/impl/MeetingRoomServiceImpl.java
tianyabing há 2 anos atrás
pai
commit
05de30cef7

+ 3 - 2
src/main/java/com/sky/ioc/controller/security/PersonController.java

@@ -8,6 +8,7 @@ import com.sky.ioc.service.security.SecurityDoorRecordService;
 import com.sky.ioc.service.security.SecurityDoorService;
 import com.sky.ioc.service.security.SecurityPersonService;
 import com.sky.ioc.service.security.SecurityService;
+import com.sky.ioc.service.space.BuildingFloorService;
 import com.sky.ioc.tool.ReturnMsg;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -69,12 +70,12 @@ public class PersonController {
     }
 
     @Autowired
-    SecurityDoorRecordService securityDoorService;
+    BuildingFloorService buildingFloorService;
 
     @ApiOperation("门禁数据")
     @PostMapping("/getDoor")
     public ReturnMsg getDoor(){
-        return securityDoorService.getSecurityDoorRecordData();
+        return buildingFloorService.getBuildingFloorList();
     }
 
 

+ 26 - 0
src/main/java/com/sky/ioc/controller/space/BuildingController.java

@@ -0,0 +1,26 @@
+package com.sky.ioc.controller.space;
+
+import com.sky.ioc.service.space.BuildingService;
+import com.sky.ioc.tool.ReturnMsg;
+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.web.bind.annotation.*;
+
+@Api(tags ="楼栋信息")
+@Slf4j
+@RestController("building")
+@RequestMapping("/building")
+public class BuildingController {
+
+    @Autowired
+    BuildingService buildingService;
+
+    @ApiOperation("楼栋信息")
+    @GetMapping("/getBuilding")
+    public ReturnMsg getBuilding(){
+
+        return buildingService.listBuilding();
+    }
+}

+ 2 - 0
src/main/java/com/sky/ioc/entity/domain/space/BuildingFloor.java

@@ -14,4 +14,6 @@ public class BuildingFloor {
 
     private Integer isDel;
 
+    private Integer sortCode;
+
 }

+ 3 - 0
src/main/java/com/sky/ioc/mapper/meeting/MeetingRoomMapper.java

@@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
+import java.util.Map;
 
 @Mapper
 public interface MeetingRoomMapper extends BaseMapper<MeetingRoom> {
@@ -17,4 +18,6 @@ public interface MeetingRoomMapper extends BaseMapper<MeetingRoom> {
             "</if>" +
             "</script>")
     List<MeetingRoom> getListRoomByFloorId(@Param("floorId") Integer floorId);
+
+
 }

+ 63 - 28
src/main/java/com/sky/ioc/service/meeting/impl/MeetingRoomServiceImpl.java

@@ -1,14 +1,23 @@
 package com.sky.ioc.service.meeting.impl;
 
-import com.sky.ioc.config.RestTemplateConfig;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.sky.ioc.entity.domain.meeting.MeetingRecord;
 import com.sky.ioc.entity.domain.meeting.MeetingRoom;
+import com.sky.ioc.entity.domain.space.BuildingFloor;
+import com.sky.ioc.entity.params.IocParam;
+import com.sky.ioc.mapper.job.TokenMapper;
 import com.sky.ioc.mapper.meeting.MeetingRecordMapper;
 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.ReturnMsg;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
@@ -24,7 +33,7 @@ import java.util.regex.Pattern;
 public class MeetingRoomServiceImpl implements MeetingRoomService {
 
     @Resource
-    RestTemplateConfig restTemplateConfig;
+    TokenMapper tokenMapper;
 
     @Autowired
     MeetingRoomMapper meetingRoomMapper;
@@ -32,14 +41,28 @@ public class MeetingRoomServiceImpl implements MeetingRoomService {
     @Autowired
     MeetingRecordMapper meetingRecordMapper;
 
-    final static  String MEETTING_ROOM_URL="/api/meeting/MEETING/room/list?pageNum=1&pageSize=100";
+    @Autowired
+    BuildingFloorMapper buildingFloorMapper;
+
+    final static  String MEETTING_ROOM_URL="http://192.168.1.45:9001/api/meeting/MEETING/room/list?pageNum=1&pageSize=100";
 
     @Override
     public ReturnMsg getMeetingRoomList() {
-        RestTemplate restTemplate = restTemplateConfig.build();
+        Map<String,String> tokenMap = tokenMapper.getNewToken();
+        String token ="Bearer eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VyX2tleSI6IjUwZTU1NTRkLWJjYzYtNGRhMS1iZDUxLWFhNTc3YzU4YTFiNCIsInVzZXJuYW1lIjoiYWRtaW4ifQ.X10VPYJfeeRTka7OtqNPOGMpL4QkW3fR_TfCKXCmO-yXbIIrr_40fcwiVnpXfYVENo_BvXWEACRd-Y6nXsbkog";
+        if(tokenMap!=null){
+            token = "Bearer "+tokenMap.get("token");
+        }
+        // 创建一个请求头对象
+        HttpHeaders httpHeaders = new HttpHeaders();
+        // 设置参数
+        httpHeaders.set("authorization", token);
+        // 创建一个响应体对象
+        HttpEntity<String> httpEntity = new HttpEntity(httpHeaders);
+        // 3.创建RestTemplate
+        RestTemplate restTemplate = new RestTemplate();
         // 发送GET请求
-        String url = restTemplateConfig.addBaseUrl(MEETTING_ROOM_URL);
-        ResponseEntity<Map> responseEntity = restTemplate.getForEntity(url, Map.class);
+        ResponseEntity<Map> responseEntity = restTemplate.exchange(MEETTING_ROOM_URL, HttpMethod.GET, httpEntity, Map.class);
         // 获取响应对象里的 body 对象
         Map<String, Object> body = responseEntity.getBody();
         // 获取状态码
@@ -83,35 +106,47 @@ public class MeetingRoomServiceImpl implements MeetingRoomService {
 
     @Override
     public ReturnMsg getMeetingRoomStatus(String date) {
-        List<MeetingRoom> lists = meetingRoomMapper.getListRoomByFloorId(null);
+        QueryWrapper queryWrapper = new QueryWrapper<>().orderByAsc("sort_code");
+        List<BuildingFloor> floors = buildingFloorMapper.selectList(queryWrapper);
         SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm:ss");
-        List<Map<String,String>> mapList = new ArrayList<>();
-        for (MeetingRoom room:lists) {
-            Map<String,String> map = new HashMap<>();
+        List<Map<String,Object>> mapList = new ArrayList<>();
+        for(BuildingFloor floor:floors){
+            Map<String,Object> floormap = new HashMap<>();
+            floormap.put("floor",floor.getCode());
+            List<MeetingRoom> lists = meetingRoomMapper.getListRoomByFloorId(floor.getSortCode());
+            List<Map<String,Object>> rooms = new ArrayList<>();
+            for (MeetingRoom room:lists) {
+                Map<String,Object> map = new HashMap<>();
                 Integer roomId = room.getId();
                 map.put("name",room.getName());
                 map.put("capacity",room.getCapacity()+"");
-                List<MeetingRecord> records = meetingRecordMapper.getListByTimeAndRoomId(date+" 00:00:00",
-                        date+" 23:59:00",roomId);
-                if (records!=null&&records.size()>0){
-                    String startTime = records.get(0).getStartTime().substring(11);
-                    String endTime = records.get(0).getEndTime().substring(11);
-                    map.put("time",startTime+"-"+endTime);
-                    Integer start=startTime.compareTo(sdf2.format(new Date()));
-                    Integer end = endTime.compareTo(sdf2.format(new Date()));
-                    if(start>0){
-                        map.put("status","已预定");
-                    }else if(end>0){
+                if(date!=null){
+                    List<MeetingRecord> records = meetingRecordMapper.getListByTimeAndRoomId(date+" 00:00:00",
+                            date+" 23:59:00",roomId);
+                    if (records!=null&&records.size()>0){
+                        String startTime = records.get(0).getStartTime().substring(11);
+                        String endTime = records.get(0).getEndTime().substring(11);
+                        map.put("time",startTime+"-"+endTime);
+                        Integer start=startTime.compareTo(sdf2.format(new Date()));
+                        Integer end = endTime.compareTo(sdf2.format(new Date()));
+                        if(start>0){
+                            map.put("status","已预定");
+                        }else if(end>0){
+                            map.put("status","闲置中");
+                        }else {
+                            map.put("status","会议中");
+                        }
+
+                    }else{
                         map.put("status","闲置中");
-                    }else {
-                        map.put("status","会议中");
                     }
-                 //   System.out.println(i);
-
-                }else{
-                    map.put("status","闲置中");
                 }
-                mapList.add(map);
+                rooms.add(map);
+            }
+            if(lists.size()>0){
+                floormap.put("meetingRooms",rooms);
+                mapList.add(floormap);
+            }
 
         }
         return ReturnMsg.ok(mapList);

+ 2 - 0
src/main/java/com/sky/ioc/service/space/BuildingService.java

@@ -5,4 +5,6 @@ import com.sky.ioc.tool.ReturnMsg;
 public interface BuildingService {
 
     ReturnMsg getBuildigData();
+
+    ReturnMsg listBuilding();
 }

+ 9 - 0
src/main/java/com/sky/ioc/service/space/impl/BuildingFloorServiceImpl.java

@@ -51,6 +51,15 @@ public class BuildingFloorServiceImpl implements BuildingFloorService {
                     floor.setName((String) json.get("name"));
                     floor.setBuildingId(Integer.parseInt(String.valueOf(json.get("buildingId"))));
                     floor.setCode(String.valueOf(json.get("code")));
+                    String floorcode = String.valueOf(json.get("code"));
+                    if(floorcode.startsWith("B")){
+                        floor.setSortCode(Integer.parseInt("-"+floorcode.substring(1)));
+                    }else if(floorcode.startsWith("A")){
+                        floor.setSortCode(Integer.parseInt(floorcode.substring(1,floorcode.length()-1)));
+                    }else if(floorcode.length()>1){
+                        floor.setSortCode(Integer.parseInt(floorcode.substring(0,floorcode.length()-1)));
+                    }
+
                     floor.setIsDel(Integer.parseInt(String.valueOf(json.get("delFlag"))));
                     floor.setCreateTime(String.valueOf(json.get("createTime")));
                     floor.setUpdateTime(String.valueOf(json.get("updateTime")));

+ 7 - 0
src/main/java/com/sky/ioc/service/space/impl/BuildingServiceImpl.java

@@ -13,6 +13,7 @@ import org.springframework.web.client.RestTemplate;
 
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ThreadLocalRandom;
 
@@ -71,4 +72,10 @@ public class BuildingServiceImpl implements BuildingService {
             return  ReturnMsg.fail(message);
         }
     }
+
+    @Override
+    public ReturnMsg listBuilding() {
+        List<Building> list = buildingMapper.selectList(null);
+        return ReturnMsg.ok(list);
+    }
 }