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' => '']); } /** * 消息数统计 * @author: 唐远望 * @version: 1.0 * @date: 2026-03-21 */ public function message_count(Request $Request, NoticesModel $NoticesModel) { // 验证规则 $Request->scene('message_count')->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; } $map[] = ['status', '=', 0]; // 查询未读消息总数 $unread_count = $NoticesModel->where($map)->orderByDesc('id')->count(); // 告知结果 return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => ['unread_count' => $unread_count]]); } /** * 消息类型数统计 * @author: 唐远望 * @version: 1.0 * @date: 2026-04-09 */ public function message_type_count(Request $Request, NoticesModel $NoticesModel) { // 验证规则 $Request->scene('message_type_count')->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); $map1 = []; $map2 = []; $map3 = []; // 权限判断 if ($is_admin != 1 && $company_id != 0) { $map1['company_id'] = $company_id; $map1['custom_uid'] = $uid; $map1['content_type'] = 1; //低价挂网 $map2['company_id'] = $company_id; $map2['custom_uid'] = $uid; $map2['content_type'] = 2; //低禁止挂网 $map3['company_id'] = $company_id; $map3['custom_uid'] = $uid; $map3['content_type'] = 3; //违规店铺 } else { $map1['company_id'] = $admin_company_id; $map2['company_id'] = $admin_company_id; $map3['company_id'] = $admin_company_id; } // 查询低价挂网消息总数 $low_price_product_count = $NoticesModel->where($map1)->orderByDesc('id')->count(); // 查询低禁止网消息总数 $low_forbid_product_count = $NoticesModel->where($map2)->orderByDesc('id')->count(); // 查询违规店铺数量 $illegal_store_count = $NoticesModel->where($map3)->orderByDesc('id')->count(); $result_data = [ 'low_price_product_count' => $low_price_product_count, 'low_forbid_product_count' => $low_forbid_product_count, 'illegal_store_count' => $illegal_store_count ]; // 告知结果 return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result_data]); } }