|
@@ -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);
|