This commit is contained in:
zpc 2026-02-04 00:43:50 +08:00
parent 3fc2c8eea5
commit 69b3c02b60

View File

@ -63,26 +63,28 @@ public class WelfareService : IWelfareService
// 构建查询 // 构建查询
var now = DateTime.Now; var now = DateTime.Now;
var query = _dbContext.Goods IQueryable<Good> query;
.Where(g => g.Status == type
&& g.Type == WelfareType
&& g.IsOpen == (type == 1 ? (byte)0 : (byte)1)
&& g.UnlockAmount <= userTotalConsumption);
// type=1 进行中:只显示开奖时间未到的福利屋
if (type == 1) if (type == 1)
{ {
query = query.Where(g => g.OpenTime == null || g.OpenTime > now); // type=1 进行中Status=1, IsOpen=0, 且开奖时间未到
} query = _dbContext.Goods
.Where(g => g.Status == 1
// 排序 && g.Type == WelfareType
if (type == 1) && g.IsOpen == 0
{ && g.UnlockAmount <= userTotalConsumption
query = query.OrderByDescending(g => g.Sort).ThenByDescending(g => g.Id); && (g.OpenTime == null || g.OpenTime > now))
.OrderByDescending(g => g.Sort)
.ThenByDescending(g => g.Id);
} }
else else
{ {
query = query.OrderByDescending(g => g.OpenTime); // type=3 已结束:已开奖的 或 开奖时间已过但未开奖的
query = _dbContext.Goods
.Where(g => g.Type == WelfareType
&& g.UnlockAmount <= userTotalConsumption
&& (g.IsOpen == 1 || (g.OpenTime != null && g.OpenTime <= now)))
.OrderByDescending(g => g.OpenTime);
} }
// 获取总数 // 获取总数
@ -593,26 +595,28 @@ public class WelfareService : IWelfareService
// 构建查询 // 构建查询
var now = DateTime.Now; var now = DateTime.Now;
var query = _dbContext.Goods IQueryable<Good> query;
.Where(g => g.Status == type
&& g.Type == WelfareType
&& g.IsOpen == (type == 1 ? (byte)0 : (byte)1)
&& g.UnlockAmount <= userTotalConsumption);
// type=1 进行中:只显示开奖时间未到的福利屋
if (type == 1) if (type == 1)
{ {
query = query.Where(g => g.OpenTime == null || g.OpenTime > now); // type=1 进行中Status=1, IsOpen=0, 且开奖时间未到
} query = _dbContext.Goods
.Where(g => g.Status == 1
// 排序 && g.Type == WelfareType
if (type == 1) && g.IsOpen == 0
{ && g.UnlockAmount <= userTotalConsumption
query = query.OrderByDescending(g => g.Sort).ThenByDescending(g => g.Id); && (g.OpenTime == null || g.OpenTime > now))
.OrderByDescending(g => g.Sort)
.ThenByDescending(g => g.Id);
} }
else else
{ {
query = query.OrderByDescending(g => g.OpenTime); // type=3 已结束:已开奖的 或 开奖时间已过但未开奖的
query = _dbContext.Goods
.Where(g => g.Type == WelfareType
&& g.UnlockAmount <= userTotalConsumption
&& (g.IsOpen == 1 || (g.OpenTime != null && g.OpenTime <= now)))
.OrderByDescending(g => g.OpenTime);
} }
// 获取总数计算最后一页 // 获取总数计算最后一页