cs120_9 修复说明:

问题原因:ApprovePigeonFee 方法中的SQL查询条件 AND p.role != 1 排除了发起者。在2人局中,如果只有发起者到场,查询结果为空,导致鸽子费无法分配给任何人。

修复方案:移除 AND p.role != 1 条件,让发起者也能收到鸽子费分配。现在只要是已到场(is_arrive=1)且状态正常(status=0)的参与者,都能分到未赴约用户的鸽子费。
This commit is contained in:
zpc 2026-01-02 15:32:38 +08:00
parent 5e16ceed97
commit 4cdbf82d77

View File

@ -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)