From 17e42d4e0fa95c7af0173be4ef4768eeb6090d5f Mon Sep 17 00:00:00 2001
From: chengkun <chengkun@ishangstudy.com>
Date: Mon, 15 Sep 2025 14:43:34 +0800
Subject: [PATCH] 提交
---
app/admin/controller/OnlineMessage.php | 91 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 91 insertions(+), 0 deletions(-)
diff --git a/app/admin/controller/OnlineMessage.php b/app/admin/controller/OnlineMessage.php
new file mode 100644
index 0000000..c6a5c1a
--- /dev/null
+++ b/app/admin/controller/OnlineMessage.php
@@ -0,0 +1,91 @@
+<?php
+
+namespace app\admin\controller;
+
+use think\Exception;
+use think\facade\Db;
+use think\facade\Request;
+use think\facade\View;
+use think\response\Json;
+
+class OnlineMessage extends Common {
+ public function index() {
+ View::assign('menuitem', strtolower('onlineMessage-index'));
+ return View::fetch();
+ }
+
+ /**
+ * 获取在线留言列表
+ * @return Json
+ */
+ public function get_online_message_list(): Json {
+ try {
+ if (!Request::isPost()) {
+ throw new Exception('请求方式错误');
+ }
+ $page = input('page', 1);
+ $limit = input('limit', 10);
+ $kw = input('kw', '');
+ $status = input('status', '');
+ $where = [];
+ if ($kw) {
+ $where[] = ['name|phone|email|subject|message', 'like', "%{$kw}%"];
+ }
+
+ if (in_array($status, [0, 1])) {
+ $where[] = ['status', '=', $status];
+ }
+ $total = Db::name('online_message')->where($where)->count();
+ $list = Db::name('online_message')->where($where)->order('id desc')->page($page, $limit)->select()->toArray();
+ $result = [
+ 'code' => 200,
+ 'message' => '获取成功',
+ 'data' => [
+ 'list' => $list,
+ 'total' => $total,
+ ],
+ ];
+ } catch (Exception $exc) {
+ $result = [
+ 'code' => $exc->getCode(),
+ 'message' => $exc->getMessage(),
+ ];
+ }
+ return json($result);
+ }
+
+ /**
+ * 修改留言状态
+ * @return Json
+ */
+ public function change_message_status(): Json {
+ try {
+ if (!Request::isPost()) {
+ throw new Exception('请求方式错误');
+ }
+ $id = input('id', 0);
+ if (!$id || !is_numeric($id)) {
+ throw new Exception('参数错误');
+ }
+ $info = Db::name('online_message')->where('id', $id)->find();
+ if (!$info) {
+ throw new Exception('留言不存在');
+ }
+ $status = $info['status'] ? 0 : 1;
+ $update_result = Db::name('online_message')->where('id', $id)->save(['status' => $status]);
+ if (!$update_result) {
+ throw new Exception('操作失败');
+ }
+ $result = [
+ 'code' => 200,
+ 'message' => '操作成功',
+ ];
+ } catch (Exception $exc) {
+ $result = [
+ 'code' => $exc->getCode(),
+ 'message' => $exc->getMessage(),
+ ];
+ }
+ return json($result);
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.0