Browse Source

小铃铛

gorden 5 months ago
parent
commit
1ac81e5ac2
2 changed files with 52 additions and 16 deletions
  1. 28 16
      app/admin/controller/sys_manage/BellsController.php
  2. 24 0
      app/model/SysMessage.php

+ 28 - 16
app/admin/controller/sys_manage/BellsController.php

@@ -3,6 +3,7 @@
 namespace app\admin\controller\sys_manage;
 
 use app\model\Order;
+use app\model\SysMessage;
 use support\Log;
 use support\Request;
 
@@ -10,41 +11,52 @@ class BellsController
 {
     public function orderNum()
     {
-        $orderNum = Order::whereJsonContains('order_config_json->bell', 'Y')->count();
+        $messageNum = SysMessage::where('message_status', 'PENDING')->count();
 
-        return json_success('success', ['num' => $orderNum]);
+        return json_success('success', ['num' => $messageNum]);
     }
 
     public function orderList()
     {
-        $orders = Order::whereJsonContains('order_config_json->bell', 'Y')
-            ->select('order_id', 'order_addtimes', 'order_status_system')
+        $messages = SysMessage::where('message_status', 'PENDING')
+            ->select('message_id', 'message_title', 'join_message_object_json', 'message_addtimes','message_category')
+            ->orderBy('message_addtimes', 'DESC')
             ->get()
             ->toArray();
+        foreach ($messages as &$message) {
+            if (!empty($message['join_message_object_json'])) {
+                $messageObjectJson = json_decode($message['join_message_object_json'], true);
+                $message['order_id'] = $messageObjectJson['order_id'] ?? '';
+            }
+        }
 
-        return json_success('success', ['orders' => $orders]);
+        return json_success('success', ['messages' => $messages]);
     }
 
+    /**
+     * @Desc 关闭订单提醒
+     * @Author Gorden
+     * @Date 2024/10/28 15:28
+     *
+     * @param Request $request
+     * @return \support\Response
+     */
     public function closeOrderBell(Request $request)
     {
-        $orderId = $request->post('order_id');
-        if (!$orderId) {
+        $messageId = $request->post('message_id');
+        if (!$messageId) {
             return json_fail("参数异常");
         }
 
-        Log::info("订单提醒操作",$request->post());
+        Log::info("订单提醒操作", $request->post());
 
         try {
-            $order = Order::where('order_id', $orderId)->first();
-            if (!empty($order->order_config_json)) {
-                $orderConfigJson = json_decode($order->order_config_json, true);
-                unset($orderConfigJson['bell']);
+            $message = SysMessage::where('message_id', $messageId)->first();
+            $message->message_status = 'DONE';
+            $message->save();
 
-                $order->order_config_json = json_encode($orderConfigJson);
-                $order->save();
-            }
             return json_success('success');
-        }catch (\Exception $e){
+        } catch (\Exception $e) {
             return json_fail('操作失败');
         }
     }

+ 24 - 0
app/model/SysMessage.php

@@ -0,0 +1,24 @@
+<?php
+
+namespace app\model;
+
+use DateTimeInterface;
+use support\Model;
+
+class SysMessage extends Model
+{
+    protected $table = 'sys_message';
+
+    protected $primaryKey = 'message_id';
+
+    protected $dateFormat = 'U';
+
+    const CREATED_AT = 'message_addtimes';
+
+    const UPDATED_AT = null;
+
+    protected function serializeDate(DateTimeInterface $date)
+    {
+        return $date->format('Y-m-d H:i:s');
+    }
+}