scene('list')->validate(); $admin_company_id = request('admin_company_id', '0'); $company_id = request('access_token.company_id', '0'); $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否 // 接收参数 $uid = request('access_token.uid', 0); $map = []; // 权限判断 if ($is_admin != 1 && $company_id != 0) { $map['company_id'] = $company_id; $map['custom_uid'] = $uid; } else { $map['company_id'] = $admin_company_id; } // 接收参数 $status = request('status'); $limit = request('limit', config('page_num', 10)); $start_time = request('start_time', ''); $end_time = request('end_time', ''); // 时间条件 if ($start_time) $map[] = ['insert_time', '>=', strtotime($start_time . ' 00:00:00')]; if ($end_time) $map[] = ['insert_time', '<=', strtotime($end_time . ' 23:59:59')]; if (!is_null($status)) $map[] = ['status', '=', $status]; // 查询系统用户 $result = $NoticesModel->where($map)->orderByDesc('id')->paginate($limit); // 告知结果 return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]); } /** * 修改状态 * @author: 唐远望 * @version: 1.0 * @date: 2026-03-21 */ public function set_status(Request $request, NoticesModel $NoticesModel) { // 验证参数 $request->scene('set_status')->validate(); $admin_company_id = request('admin_company_id', '0'); $company_id = request('access_token.company_id', '0'); $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否 // 接收参数 $uid = request('access_token.uid', 0); $map = []; // 权限判断 if ($is_admin != 1 && $company_id != 0) { $map['company_id'] = $company_id; $map['custom_uid'] = $uid; } else { $map['company_id'] = $admin_company_id; } // 设置状态 $id = request('id', 0); $status = request('status', 0); $map[] = ['id', '=', $id]; // 查询用户 $oldData = $NoticesModel->where($map)->first(); // 如果用户不存在 if (!$oldData) return json_send(['code' => 'error', 'msg' => '通知消息记录不存在']); // 执行修改 $result = $NoticesModel->where($map)->update(['status' => $status, 'update_time' => time()]); // 提示新增失败 if (!$result) return json_send(['code' => 'error', 'msg' => '设置失败']); // 记录行为 $admin_id = request('access_token.uid', 0); //用户ID $table_name = $NoticesModel->getTable(); $notes_type = 2; //操作类型,1添加,2修改,3=删除 $this->addAdminHistory('系统通知', 0, $admin_id, $is_admin, $table_name, $notes_type, [], ['status' => $status], "修改了记录ID为:$id 的通知状态"); // 告知结果 return json_send(['code' => 'success', 'msg' => '设置成功', 'data' => '']); } }