diff --git a/FlyCube/MpApi/Controller/AdminController.class.php b/FlyCube/MpApi/Controller/AdminController.class.php index 026d85e..cef698d 100644 --- a/FlyCube/MpApi/Controller/AdminController.class.php +++ b/FlyCube/MpApi/Controller/AdminController.class.php @@ -260,6 +260,50 @@ class AdminController extends PublicController echo json_encode(array('status' => 0, 'msg' => '参数有误')); } } + /** + * @description: 向管理员用户发布公告 + */ + public function pubMessage() + { + // 非总管理员,拦截 + if ($this->tokenShop_id != C('powerId')) { + echo json_encode(['status' => 0, 'msg' => '没有权限']); + exit; + } + + // 参数校验 + if (empty($_REQUEST['idArr']) || empty($_REQUEST['message']) || empty($_REQUEST['end_time'])) { + echo json_encode(['status' => 0, 'msg' => '参数不完整']); + exit; + } + + // 格式化 idArr + $idArr = is_array($_REQUEST['idArr']) ? $_REQUEST['idArr'] : explode(',', strval($_REQUEST['idArr'])); + + // 构造数据 + $data = [ + 'message' => trim($_REQUEST['message']), + 'end_time' => intval($_REQUEST['end_time']), + 'add_time' => time(), // 可选:记录发布时间 + ]; + + // 数据库操作,逐条插入(假设 message 是发给每个用户单独记录的) + $messageDb = D('message'); + $success = 0; + + foreach ($idArr as $adminId) { + $data['admin_id'] = intval($adminId); // 关联的管理员ID + if ($messageDb->add($data)) { + $success++; + } + } + + if ($success > 0) { + echo json_encode(['status' => 1, 'msg' => '公告已成功发布']); + } else { + echo json_encode(['status' => 0, 'msg' => '公告发布失败']); + } + } /** * @description: 分类列表 */