q пре 1 година
родитељ
комит
7eb803bda1
1 измењених фајлова са 96 додато и 11 уклоњено
  1. 96 11
      webmain/task/openapi/openmeetAction.php

+ 96 - 11
webmain/task/openapi/openmeetAction.php

@@ -23,19 +23,25 @@ class openmeetClassAction extends openapiAction
             ];
         }
 
-        $rawData = m('meeting_room')->getone(" mac like '%{$rawArr['device_id']}%'", "id");
+        $rawData = m('meeting_room')->getone(" mac like '%{$rawArr['device_id']}%'", "id, room_name");
+
+        $now = date('Y年m月d日('.$this->getWeek().') H:i:s');
+
         if ($rawData['id'] ?? 0 > 0) {
             return [
                 "code"=>1,
                 "message"=>"已绑定",
                 "data"=>[
-                    "room_id"=>$rawData['id']
+                    "room_id"=>$rawData['id'],
+                    "meetingRoomName"=>$rawData['room_name'],
+                    "meetingTime"=>$now,
+                    "stateText"=>"空闲中"
                 ]
             ];
         } else {
             return [
                 "code"=>0,
-                "message"=>"未绑定"
+                "message"=>"设备未绑定!"
             ];
         }
     }
@@ -53,20 +59,56 @@ class openmeetClassAction extends openapiAction
 
         $rawData = m('meeting_room')->getone(" id = '{$rawArr['room_id']}'");
 
+        if (!isset($rawData['room_name'])) {
+            return [
+                "code"=>-1,
+                "message"=>"未找到会议室!"
+            ];
+        }
+
         $meetData = m('meeting')->getone(" state = 1 and meeting_room = '{$rawData['room_name']}'");
 
+        if (!isset($meetData['id'])) {
+            return [
+                "code"=>2,
+                "message"=>"暂无会议!"
+            ];
+        }
+
         $topics = $this->db->getall("select `id`, `topic_title`, `topic_attendee`, `topic_state` from `[Q]topics` where mid = {$meetData['id']} order by sort");
 
+
+        $now = date('Y年m月d日('.$this->getWeek($meetData['meeting_time']).') H:i:s');
+        $date = date('Y年m月d日('.$this->getWeek($meetData['meeting_time']).') H:i:s');
+        $datetime = "2021-09-30 15:45:30"; // 给定的日期时间字符串
+
+        // 将日期时间字符串转换为UNIX时间戳
+        $ts = strtotime($meetData['meeting_time']);
+        // 根据需要格式化日期
+        $meetStartDate = date("Y年m月d日", $ts);
+        $meetDate=$meetStartDate." (".$this->getWeek($meetStartDate).") ".date("H:i", strtotime($meetData['meeting_time']))."~".date("H:i", strtotime($meetData['end_time']));
+
+        $topicsList = [];
+
+        for ($i = 0; $i < count($topics); $i++) {
+            $info = $topics[$i];
+            $topicsList[$i]['id'] = $info['id'];
+            $topicsList[$i]['text'] = $info['topic_title'];
+            $topicsList[$i]['tip'] = $this->topicState($info['topic_state']);
+            $topicsList[$i]['state'] = $info['topic_state'];
+            $topicsList[$i]['person'] = explode(',', $info['topic_attendee'] );
+        }
+
         $res=[
-            "code"=>1,
+            "code"=>200,
             "message"=>"请求成功!",
             "data"=>[
-                "meet_id"=>$rawData['id'],
-                "room_name"=>$rawData['room_name'],
-                "meet_title"=>$meetData['title'],
-                "meet_time"=>$meetData['meeting_time'],
-                "attendees"=>$meetData['attendees'],
-                "topics"=>$topics
+                "meetingId"=>$rawData['id'],
+                "meetingRoomName"=>$rawData['room_name'],
+                "meetingName"=>$meetData['title'],
+                "meetingTime"=>$meetDate,
+                "meetingPerson"=>explode(",", $meetData['attendees']),
+                "meetingTopic"=>$topicsList ?? []
             ]
         ];
         return $res;
@@ -86,6 +128,13 @@ class openmeetClassAction extends openapiAction
         // 获取议题信息
         $topics = $this->db->getall("select `id`, `topic_title`, `topic_attendee`, `topic_attendee_id`, `topic_state` from `[Q]topics` where mid = {$rawArr['meet_id']} order by sort");
 
+        if (!isset($topics) || !isset($rawArr['meet_id'])) {
+            return [
+                "code"=>-1,
+                "message"=>"会议不存在!"
+            ];
+        }
+
         $topic_id = $rawArr['topic_id'];
 
         for ($i = 0; $i < count($topics); $i++) {
@@ -110,7 +159,7 @@ class openmeetClassAction extends openapiAction
         }
 
         return [
-            "code"=>1,
+            "code"=>200,
             "message"=>"切换成功!",
             "data"=>$topics
         ];
@@ -135,4 +184,40 @@ class openmeetClassAction extends openapiAction
         return $info;
     }
 
+    protected function getWeek($date) {
+        if (!isset($date)) {
+            $date = date("Y-m-d H:i:s");
+        }
+        // 将日期转换为时间戳
+        $timestamp = strtotime($date);
+
+        // 格式化输出星期几(返回值为英文)
+        $weekday_en = date('l', $timestamp);
+
+        // 如果需要显示中文星期几,则需要进行相关处理
+        switch ($weekday_en) {
+            case 'Monday':
+                $weekday_cn = "星期一";
+                break;
+            case 'Tuesday':
+                $weekday_cn = "星期二";
+                break;
+            case 'Wednesday':
+                $weekday_cn = "星期三";
+                break;
+            case 'Thursday':
+                $weekday_cn = "星期四";
+                break;
+            case 'Friday':
+                $weekday_cn = "星期五";
+                break;
+            case 'Saturday':
+                $weekday_cn = "星期六";
+                break;
+            default:
+                $weekday_cn = "星期天";
+        }
+        return $weekday_cn;
+    }
+
 }