From 1b878776b8f58d281a35398809d58328ac748f1f Mon Sep 17 00:00:00 2001 From: zhaozhenjing Date: Wed, 17 Sep 2025 16:10:25 +0800 Subject: [PATCH] =?UTF-8?q?[MODIFY]=20=E5=A2=9E=E5=8A=A0=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/launch.json | 35 ++++++++++++++++ .vscode/tasks.json | 41 +++++++++++++++++++ .../Impl/Business/AppAnnouncementService.cs | 19 ++++++++- 3 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..424ebbe --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,35 @@ +{ + "version": "0.2.0", + "configurations": [ + { + // 使用 IntelliSense 找出 C# 调试存在哪些属性 + // 将悬停用于现有属性的说明 + // 有关详细信息,请访问 https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md。 + "name": ".NET Core Launch (web)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + // 如果已更改目标框架,请确保更新程序路径。 + "program": "${workspaceFolder}/src/4.apps/ATS.NonCustodial.Admin.Api/bin/Debug/net9.0/ATS.NonCustodial.Admin.Api.dll", + "args": [], + "cwd": "${workspaceFolder}/src/4.apps/ATS.NonCustodial.Admin.Api", + "stopAtEntry": false, + // 启用在启动 ASP.NET Core 时启动 Web 浏览器。有关详细信息: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser + "serverReadyAction": { + "action": "openExternally", + "pattern": "\\bNow listening on:\\s+(https?://\\S+)" + }, + "env": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "sourceFileMap": { + "/Views": "${workspaceFolder}/Views" + } + }, + { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach" + } + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..3437f00 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,41 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "${workspaceFolder}/ATS.NonCustodial.Admin.sln", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary;ForceNoAlign" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "publish", + "command": "dotnet", + "type": "process", + "args": [ + "publish", + "${workspaceFolder}/ATS.NonCustodial.Admin.sln", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary;ForceNoAlign" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "watch", + "command": "dotnet", + "type": "process", + "args": [ + "watch", + "run", + "--project", + "${workspaceFolder}/ATS.NonCustodial.Admin.sln" + ], + "problemMatcher": "$msCompile" + } + ] +} \ No newline at end of file diff --git a/src/2.services/ATS.NonCustodial.Application/Impl/Business/AppAnnouncementService.cs b/src/2.services/ATS.NonCustodial.Application/Impl/Business/AppAnnouncementService.cs index 1514cc6..3269072 100644 --- a/src/2.services/ATS.NonCustodial.Application/Impl/Business/AppAnnouncementService.cs +++ b/src/2.services/ATS.NonCustodial.Application/Impl/Business/AppAnnouncementService.cs @@ -40,6 +40,7 @@ namespace ATS.NonCustodial.Application.Impl.Business #region Identity private readonly IEfRepository _appAnnouncementRepository; + protected readonly IEfRepository _appCaseSupervisorRepository; private readonly IEfRepository _appAnnouncementViewStatisticsRepository; private readonly IHubContext _hubContext; protected readonly IEfRepository _appCaseManagementRepository; @@ -56,6 +57,7 @@ namespace ATS.NonCustodial.Application.Impl.Business public AppAnnouncementService(IEfRepository appAnnouncementRepository, IEfRepository appAnnouncementViewStatisticsRepository, IHubContext hubContext, + IEfRepository appCaseSupervisorRepository, IEfRepository appCaseManagementRepository, IEfRepository appSupervisedPersonRepository) { @@ -64,6 +66,7 @@ namespace ATS.NonCustodial.Application.Impl.Business _hubContext = hubContext; _appCaseManagementRepository = appCaseManagementRepository; _appSupervisedPersonRepository = appSupervisedPersonRepository; + _appCaseSupervisorRepository = appCaseSupervisorRepository; } #endregion Identity @@ -103,9 +106,21 @@ namespace ATS.NonCustodial.Application.Impl.Business [HttpPost] public async Task GetPageAsync(AppAnnouncementPageInput input) { + //获取当前用户权限下的案件ids + var limits = User.limits; + var selectLimits = await _appCaseSupervisorRepository.AsQueryable(false, true) + .Where(w => limits.Contains(w.UnitId.ToString())) + .ToListAsync(); + var caseIdList = selectLimits.Select(w => w.CaseId).Distinct().ToList(); + + + var appAnnouncementViewStatistics = await _appAnnouncementViewStatisticsRepository.AsQueryable(false, true).Where(w => caseIdList.Contains(w.CaseId ?? -1)).Select(s => s.AnnouncementId).ToListAsync(); + var express = GetExpression(input, _appAnnouncementRepository.AsQueryable(false, true)); - var rtn = await base.GetPageAsync(input, express); - return ResultOutput.Ok(rtn); + + var rtn = (await base.GetPageAsync(input, express)); + // rtn.Data = rtn.Data.Where(w => appAnnouncementViewStatistics.Contains(w.Id)); + return ResultOutput.Ok(rtn); } ///