Эх сурвалжийг харах

接口同步会议记录数据

ZhangManMan 2 жил өмнө
parent
commit
40649f9370

+ 1 - 4
src/main/java/com/sky/ioc/controller/work/MeetingController.java

@@ -9,10 +9,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.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 import java.util.Map;

+ 5 - 1
src/main/java/com/sky/ioc/entity/domain/meeting/MeetingRecord.java

@@ -14,11 +14,15 @@ public class MeetingRecord {
     /** 楼层 */
     private Integer floor;
     /** 房间 */
-    private Integer room;
+    private Integer roomId;
     /** 开始时间 */
     private String startTime;
     /** 结束时间 */
     private String endTime;
     /** 会议人数 */
     private Integer personNum;
+
+    private String bookPerson;
+    private String bookPhone;
+
 }

+ 23 - 0
src/main/java/com/sky/ioc/job/MeetingRecordJob.java

@@ -0,0 +1,23 @@
+package com.sky.ioc.job;
+
+import com.sky.ioc.service.meeting.MeetingRecordService;
+import lombok.extern.slf4j.Slf4j;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.Date;
+
+@Slf4j
+public class MeetingRecordJob implements Job {
+
+    @Autowired
+    MeetingRecordService recordService;
+
+    @Override
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+        log.info(String.format("同步会议数据!  时间:" + new Date()));
+        recordService.getMeetingRecordList();
+    }
+}

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

@@ -2,6 +2,7 @@ package com.sky.ioc.service.meeting;
 
 import com.sky.ioc.entity.domain.meeting.MeetingRecord;
 import com.sky.ioc.entity.params.IocParam;
+import com.sky.ioc.tool.ReturnMsg;
 
 import java.util.List;
 import java.util.Map;
@@ -13,4 +14,6 @@ public interface MeetingRecordService {
     Map queryMeetingTreeList(IocParam iocParam);
 
     List<MeetingRecord> queryMeetingList(IocParam iocParam);
+
+    ReturnMsg getMeetingRecordList();
 }

+ 72 - 1
src/main/java/com/sky/ioc/service/meeting/impl/MeetingRecordServiceImpl.java

@@ -2,22 +2,43 @@ package com.sky.ioc.service.meeting.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.sky.ioc.entity.domain.meeting.MeetingRecord;
+import com.sky.ioc.entity.domain.meeting.MeetingRoom;
 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.service.meeting.MeetingRecordService;
+import com.sky.ioc.tool.ReturnMsg;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.el.parser.Token;
+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;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 @Service
+@Slf4j
 public class MeetingRecordServiceImpl implements MeetingRecordService {
 
     @Resource
     private MeetingRecordMapper meetingRecordMapper;
 
+    @Autowired
+    TokenMapper tokenMapper;
+
+    final static  String MEETTING_RECORD_URL="http://192.168.1.45:9001/api/meeting/MEETING/record/list?pageNum=1&pageSize=1000";
+
     @Override
     public Map queryMeetingTreeList(IocParam iocParam) {
         LambdaQueryWrapper<MeetingRecord> queryWrapper = new LambdaQueryWrapper<>();
@@ -27,7 +48,7 @@ public class MeetingRecordServiceImpl implements MeetingRecordService {
         Map collect = meetingRecords.stream().collect(Collectors.groupingBy(MeetingRecord::getFloor));
         for (Object key : collect.keySet()) {
             List<MeetingRecord> records = (List<MeetingRecord>) collect.get(key);
-            Map<Integer, List<MeetingRecord>> map = records.stream().collect(Collectors.groupingBy(MeetingRecord::getRoom));
+            Map<Integer, List<MeetingRecord>> map = records.stream().collect(Collectors.groupingBy(MeetingRecord::getRoomId));
             collect.put(key, map);
         }
         return collect;
@@ -41,4 +62,54 @@ public class MeetingRecordServiceImpl implements MeetingRecordService {
         List<MeetingRecord> meetingRecords = meetingRecordMapper.selectList(queryWrapper);
         return meetingRecords;
     }
+
+    @Override
+    public ReturnMsg getMeetingRecordList() {
+        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请求
+        ResponseEntity<Map> responseEntity = restTemplate.exchange(MEETTING_RECORD_URL, HttpMethod.GET, httpEntity, Map.class);
+        // 获取响应对象里的 body 对象
+        Map<String, Object> body = responseEntity.getBody();
+        // 获取状态码
+        Integer code = (Integer)body.get("code");
+        // 获取响应信息
+        String message = (String)body.get("msg");
+        if(code==200){
+            ArrayList list = (ArrayList) body.get("rows");
+            if(list!=null&&list.size()>0){
+                meetingRecordMapper.delete(null);
+                for (int i=0;i<list.size();i++){
+                    LinkedHashMap json = (LinkedHashMap) list.get(i);
+                    MeetingRecord meetingRecord = new MeetingRecord();
+                    meetingRecord.setId((Integer) json.get("id"));
+                    meetingRecord.setSubject((String) json.get("title"));
+                    meetingRecord.setRoomId(Integer.parseInt(json.get("meetingRoomId").toString()));
+                    String meetingDate = (String) json.get("meetingDate");
+                    meetingRecord.setStartTime(meetingDate+" "+json.get("startTime"));
+                    meetingRecord.setEndTime(meetingDate+" "+json.get("endTime"));
+                    meetingRecord.setBookPerson((String) json.get("bookPerson"));
+                    meetingRecord.setBookPhone((String) json.get("bookPhone"));
+                    meetingRecordMapper.insert(meetingRecord);
+                }
+            }
+            return ReturnMsg.ok();
+
+        }else{
+            log.info("获取会议记录数据:"+message);
+            return  ReturnMsg.fail(message);
+        }
+
+    }
 }

+ 3 - 2
src/main/java/com/sky/ioc/service/meeting/impl/MeetingRoomServiceImpl.java

@@ -87,10 +87,11 @@ public class MeetingRoomServiceImpl implements MeetingRoomService {
                     meetingRoomMapper.insert(room);
                 }
             }
-
+            return ReturnMsg.ok();
         }else{
             log.info("获取会议室数据:"+message);
+            return ReturnMsg.fail(message);
         }
-        return null;
+
     }
 }