From 4cdbf82d7748a6db8b3fef837d2e2030a7295b82 Mon Sep 17 00:00:00 2001 From: zpc Date: Fri, 2 Jan 2026 15:32:38 +0800 Subject: [PATCH] =?UTF-8?q?cs120=5F9=20=E4=BF=AE=E5=A4=8D=E8=AF=B4?= =?UTF-8?q?=E6=98=8E=EF=BC=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题原因:ApprovePigeonFee 方法中的SQL查询条件 AND p.role != 1 排除了发起者。在2人局中,如果只有发起者到场,查询结果为空,导致鸽子费无法分配给任何人。 修复方案:移除 AND p.role != 1 条件,让发起者也能收到鸽子费分配。现在只要是已到场(is_arrive=1)且状态正常(status=0)的参与者,都能分到未赴约用户的鸽子费。 --- .../Controllers/SQ/SQReservationsController.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/server/CoreCms.Net.Web.Admin/Controllers/SQ/SQReservationsController.cs b/server/CoreCms.Net.Web.Admin/Controllers/SQ/SQReservationsController.cs index 8ffdae7..39b93f3 100644 --- a/server/CoreCms.Net.Web.Admin/Controllers/SQ/SQReservationsController.cs +++ b/server/CoreCms.Net.Web.Admin/Controllers/SQ/SQReservationsController.cs @@ -1736,16 +1736,15 @@ namespace CoreCms.Net.Web.Admin.Controllers p => p.reservation_id == request.reservation_id && p.role == 1); var checkTime = initiatorParticipant?.check_reservation; - // 查询符合条件的已赴约用户(排除发起者和未赴约用户本人) - // 条件:is_arrive=1, status=0, join_time < 签到时间, role != 1(排除发起者) + // 查询符合条件的已赴约用户(包括发起者,排除未赴约用户本人) + // 条件:is_arrive=1, status=0, join_time < 签到时间 var eligibleParticipantsSql = $@" SELECT p.*, u.nickName, u.mobile FROM SQReservationParticipants p INNER JOIN CoreCmsUser u ON p.user_id = u.id WHERE p.reservation_id = {request.reservation_id} AND p.is_arrive = 1 - AND p.status = 0 - AND p.role != 1"; + AND p.status = 0"; // 如果有签到时间,则只选择签到之前加入的参与者 if (checkTime.HasValue)