feat 餐券余额查询
This commit is contained in:
@@ -22,13 +22,24 @@ public class EMealVoucherController : ControllerBase
|
||||
_eMealVoucherService = eMealVoucherService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 分页数据
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("page")]
|
||||
public async Task<Pagination<EMealVoucherPageResponse>> GetPageAsync([FromQuery] EMealVoucherPageRequest request)
|
||||
{
|
||||
return await _eMealVoucherService.GetPageAsync(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取我的电子餐券申请
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("my")]
|
||||
public async Task<Pagination<EMealVoucherPageResponse>> GetMyEMealVoucherPageAsync([FromQuery] EMealVoucherPageRequest request)
|
||||
public async Task<Pagination<EMealVoucherMyPageResponse>> GetMyEMealVoucherPageAsync([FromQuery] EMealVoucherPageRequest request)
|
||||
{
|
||||
return await _eMealVoucherService.GetMyEMealVoucherPageAsync(request);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ namespace Dlhis.Canteen.EMealVoucher.Response;
|
||||
public class EMealVoucherDetailResponse
|
||||
{
|
||||
public long Id { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 用餐人
|
||||
/// </summary>
|
||||
@@ -25,7 +25,12 @@ public class EMealVoucherDetailResponse
|
||||
public DateTime End { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 金额
|
||||
/// 剩余金额
|
||||
/// </summary>
|
||||
public decimal Balance { get; set; }
|
||||
public decimal Balance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 原始金额
|
||||
/// </summary>
|
||||
public decimal OriginBalance { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
namespace Dlhis.Canteen.EMealVoucher.Response;
|
||||
|
||||
public class EMealVoucherMyPageResponse
|
||||
{
|
||||
public long Id { get; set; }
|
||||
|
||||
public string No { get; set; }
|
||||
|
||||
public string Title { get; set; }
|
||||
|
||||
public DateTime Date { get; set; }
|
||||
}
|
||||
@@ -1,12 +1,19 @@
|
||||
using Dlhis.Entity.Canteen.Enums;
|
||||
|
||||
namespace Dlhis.Canteen.EMealVoucher.Response;
|
||||
|
||||
public class EMealVoucherPageResponse
|
||||
{
|
||||
public long Id { get; set; }
|
||||
|
||||
public string No { get; set; }
|
||||
|
||||
public string Title { get; set; }
|
||||
|
||||
public DateTime Date { get; set; }
|
||||
public string Code { get; set; }
|
||||
public string Phone { get; set; }
|
||||
public List<string> Factories { get; set; }
|
||||
public DateTime Date { get; set; }
|
||||
public string CostId { get; set; }
|
||||
public string Source { get; set; }
|
||||
public string Reason { get; set; }
|
||||
public List<ShiftEnumType> Shifts { get; set; }
|
||||
|
||||
public List<EMealVoucherDetailResponse> Details { get; set; }
|
||||
}
|
||||
@@ -9,7 +9,9 @@ namespace Dlhis.Canteen.EMealVoucher.Services;
|
||||
|
||||
public interface IEMealVoucherService : IScopeDependency
|
||||
{
|
||||
Task<Pagination<EMealVoucherPageResponse>> GetMyEMealVoucherPageAsync(EMealVoucherPageRequest request);
|
||||
Task<Pagination<EMealVoucherPageResponse>> GetPageAsync([FromQuery] EMealVoucherPageRequest request);
|
||||
|
||||
Task<Pagination<EMealVoucherMyPageResponse>> GetMyEMealVoucherPageAsync(EMealVoucherPageRequest request);
|
||||
|
||||
Task<List<EMealVoucherDetailResponse>> GetDetailsByNoAsync(string no);
|
||||
|
||||
|
||||
@@ -28,13 +28,44 @@ public class EMealVoucherService : IEMealVoucherService
|
||||
}
|
||||
|
||||
|
||||
public async Task<Pagination<EMealVoucherPageResponse>> GetMyEMealVoucherPageAsync(EMealVoucherPageRequest request)
|
||||
/// <inheritdoc />
|
||||
public async Task<Pagination<EMealVoucherPageResponse>> GetPageAsync(EMealVoucherPageRequest request)
|
||||
{
|
||||
return await _dbContext.Queryable<EMealVoucherEntity>()
|
||||
.OrderBy(x => x.Date, OrderByType.Desc)
|
||||
.Select(x => new EMealVoucherPageResponse
|
||||
{
|
||||
No = x.No,
|
||||
Title = x.Title,
|
||||
Code = x.Code,
|
||||
Phone = x.Phone,
|
||||
Factories = x.Factories,
|
||||
Date = x.Date,
|
||||
CostId = x.CostId,
|
||||
Source = x.Source,
|
||||
Reason = x.Reason,
|
||||
Shifts = x.Shifts,
|
||||
Details = SqlFunc.Subqueryable<EMealVoucherDetailEntity>().Where(p => p.No == x.No).ToList(p => new EMealVoucherDetailResponse
|
||||
{
|
||||
Id = p.Id,
|
||||
Name = p.Name,
|
||||
Phone = p.Phone,
|
||||
Start = p.Start,
|
||||
End = p.End,
|
||||
Balance = p.Balance,
|
||||
OriginBalance = p.OriginBalance,
|
||||
})
|
||||
})
|
||||
.ToPageListAsync(request);
|
||||
}
|
||||
|
||||
public async Task<Pagination<EMealVoucherMyPageResponse>> GetMyEMealVoucherPageAsync(EMealVoucherPageRequest request)
|
||||
{
|
||||
var code = _currentUser.GetUserClaim("jinko-code");
|
||||
return await _dbContext.Queryable<EMealVoucherEntity>()
|
||||
.Where(x => x.Code == code)
|
||||
.OrderBy(x => x.Id, OrderByType.Desc)
|
||||
.Select<EMealVoucherPageResponse>()
|
||||
.Select<EMealVoucherMyPageResponse>()
|
||||
.ToPageListAsync(request);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user