|
@@ -467,7 +467,20 @@ public class RedPackApplication : IRedPackApplication, IScopeDependency
|
|
|
public ISugarQueryable<SnapshotRedPackRecordSendOutDto> GetRedPackRecordDetailAsync(SnapshotRedPackRecordSendInDto dto)
|
|
|
{
|
|
|
var query = _redPackRecordRepository.Queryable()
|
|
|
+ .LeftJoin<OrderSnapshot>((m , snapshot) => m.OrderId == snapshot.Id)
|
|
|
+ .LeftJoin<Order>((m , snapshot, order) => m.OrderId == order.Id)
|
|
|
.Where(m => m.DistributionState != EReadPackSendStatus.Unsend)
|
|
|
+ .WhereIF(dto.Status == 1, m => m.PickupStatus == ERedPackPickupStatus.Received)
|
|
|
+ .WhereIF(dto.Status == 2, m => m.PickupStatus == ERedPackPickupStatus.Back)
|
|
|
+ .WhereIF(dto.Status == 3, m => m.DistributionState == EReadPackSendStatus.Fail)
|
|
|
+ .WhereIF(dto.Status == 4, m => m.PickupStatus == ERedPackPickupStatus.Unreceived)
|
|
|
+ .WhereIF(dto.IndustryId.NotNullOrEmpty(), (m, snapshot) => snapshot.IndustryId == dto.IndustryId)
|
|
|
+ .WhereIF(dto.No.NotNullOrEmpty(), order => order.No.Contains(dto.No))
|
|
|
+ .WhereIF(dto.UserType.HasValue, m => m.PeopleType == dto.UserType)
|
|
|
+ .WhereIF(dto.OpenId.NotNullOrEmpty(), m => m.WXOpenId == dto.OpenId)
|
|
|
+ .WhereIF(dto.SendStatus.HasValue, m => m.DistributionState == dto.SendStatus)
|
|
|
+ .WhereIF(dto.IsReceive.HasValue && dto.IsReceive == true, m => m.PickupStatus == ERedPackPickupStatus.Received)
|
|
|
+ .WhereIF(dto.IsReceive.HasValue && dto.IsReceive == false, m => m.PickupStatus == ERedPackPickupStatus.Unreceived)
|
|
|
.Select(m => new SnapshotRedPackRecordSendOutDto());
|
|
|
return query;
|
|
|
}
|