优惠劵完善
This commit is contained in:
parent
b4db8390ea
commit
534bd5f40f
@ -36,29 +36,56 @@ public class CouponService : BaseService<YD_Event.Core.Entities.Coupon>, ITransi
|
||||
// 先获取实体列表
|
||||
var entityList = await query.ToPagedListAsync(input);
|
||||
|
||||
// 转换并填充赛事名称
|
||||
var resultList = new List<CouponPageOutput>();
|
||||
foreach (var item in entityList.Rows)
|
||||
// 获取所有相关的赛事ID
|
||||
var allEventIds = entityList.Rows
|
||||
.Where(x => !string.IsNullOrEmpty(x.EventIds))
|
||||
.SelectMany(x => x.EventIds.Split(',', StringSplitOptions.RemoveEmptyEntries))
|
||||
.Select(long.Parse)
|
||||
.Distinct()
|
||||
.ToList();
|
||||
|
||||
var eventMap = new Dictionary<long, string>();
|
||||
if (allEventIds.Any())
|
||||
{
|
||||
var output = item.Adapt<CouponPageOutput>();
|
||||
output.EventIds = string.IsNullOrEmpty(item.EventIds)
|
||||
var events = await _eventRepository.AsQueryable()
|
||||
.Where(x => allEventIds.Contains(x.Id))
|
||||
.ToListAsync();
|
||||
eventMap = events.ToDictionary(x => x.Id, x => x.EventName);
|
||||
}
|
||||
|
||||
// 转换并填充赛事名称
|
||||
var resultList = entityList.Rows.Select(item =>
|
||||
{
|
||||
var eventIdList = string.IsNullOrEmpty(item.EventIds)
|
||||
? new List<long>()
|
||||
: item.EventIds.Split(',', StringSplitOptions.RemoveEmptyEntries).Select(long.Parse).ToList();
|
||||
|
||||
if (output.EventIds.Any())
|
||||
var eventNames = "通用";
|
||||
if (eventIdList.Any())
|
||||
{
|
||||
var eventNames = await _eventRepository.AsQueryable()
|
||||
.Where(x => output.EventIds.Contains(x.Id))
|
||||
.Select(x => x.EventName)
|
||||
.ToListAsync();
|
||||
output.EventNames = string.Join(",", eventNames);
|
||||
var names = eventIdList
|
||||
.Where(id => eventMap.ContainsKey(id))
|
||||
.Select(id => eventMap[id]);
|
||||
eventNames = string.Join(",", names);
|
||||
}
|
||||
else
|
||||
|
||||
return new CouponPageOutput
|
||||
{
|
||||
output.EventNames = "通用";
|
||||
}
|
||||
resultList.Add(output);
|
||||
}
|
||||
Id = item.Id,
|
||||
Name = item.Name,
|
||||
Type = item.Type,
|
||||
Value = item.Value,
|
||||
StartTime = item.StartTime,
|
||||
EndTime = item.EndTime,
|
||||
RedemptionCode = item.RedemptionCode,
|
||||
TotalQuantity = item.TotalQuantity,
|
||||
ClaimedQuantity = item.ClaimedQuantity,
|
||||
UsedQuantity = item.UsedQuantity,
|
||||
CreatedTime = item.CreatedTime,
|
||||
EventIds = eventIdList,
|
||||
EventNames = eventNames
|
||||
};
|
||||
}).ToList();
|
||||
|
||||
return new CouponPageResult
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user