feat 生日券功能,自动上传消费数据,提醒访客到期

This commit is contained in:
2025-12-09 11:35:05 +08:00
parent 323eb367d0
commit c1462a03dc
60 changed files with 1451 additions and 409 deletions

View File

@@ -0,0 +1,36 @@
namespace Dlhis.Canteen.Voucher.Response;
public class EMealVoucherDetailResponse
{
public long Id { get; set; }
/// <summary>
/// 用餐人
/// </summary>
public string Name { get; set; }
/// <summary>
/// 手机号
/// </summary>
public string Phone { get; set; }
/// <summary>
/// 就餐开始
/// </summary>
public DateTime Start { get; set; }
/// <summary>
/// 就餐结束
/// </summary>
public DateTime End { get; set; }
/// <summary>
/// 剩余金额
/// </summary>
public decimal Balance { get; set; }
/// <summary>
/// 原始金额
/// </summary>
public decimal OriginBalance { get; set; }
}

View File

@@ -0,0 +1,12 @@
namespace Dlhis.Canteen.Voucher.Response;
public class EMealVoucherMyPageResponse
{
public long Id { get; set; }
public string No { get; set; }
public string Title { get; set; }
public DateTime Date { get; set; }
}

View File

@@ -0,0 +1,77 @@
using Dlhis.Entity.Canteen.Enums;
using Kurisu.AspNetCore.Utils.Extensions;
using Mapster.Utils;
using Newtonsoft.Json;
namespace Dlhis.Canteen.Voucher.Response;
public class EMealVoucherPageResponse
{
/// <summary>
/// OA流程号
/// </summary>
public string No { get; set; }
/// <summary>
/// 标题
/// </summary>
public string Title { get; set; }
/// <summary>
/// 申请人工号
/// </summary>
public string Code { get; set; }
/// <summary>
/// 申请人手机号
/// </summary>
public string Phone { get; set; }
[JsonIgnore]
public string CurrentFactories { get; set; }
/// <summary>
/// 可使用的厂区编码
/// </summary>
public List<string> Factories => CurrentFactories.ToObject<List<string>>();
/// <summary>
/// 申请时间
/// </summary>
public DateTime Date { get; set; }
/// <summary>
/// 成本日期
/// </summary>
public string CostId { get; set; }
/// <summary>
/// 来源
/// </summary>
public string Source { get; set; }
/// <summary>
/// 申请事由
/// </summary>
public string Reason { get; set; }
[JsonIgnore]
public string CurrentShifts { get; set; }
/// <summary>
/// 使用餐次
/// </summary>
public List<string> Shifts
{
get
{
var a = CurrentShifts.ToObject<List<int>>().Select(x => (ShiftEnumType)(x * 10)).ToList();
return a.Select(x=>x.GetDescription()).ToList();
}
}
/// <summary>
/// 消费券明细
/// </summary>
public List<EMealVoucherDetailResponse> Details { get; set; }
}

View File

@@ -0,0 +1,129 @@
using Dlhis.Entity.Canteen.Enums;
using Kurisu.AspNetCore.Utils.Converters;
using Kurisu.AspNetCore.Utils.Extensions;
using Newtonsoft.Json;
namespace Dlhis.Canteen.Voucher.Response;
public class VoucherBalancePageResponse
{
public long Id { get; set; }
/// <summary>
/// 流水号
/// </summary>
public string No { get; set; }
/// <summary>
/// 档案号/QRCode
/// </summary>
public string UserNo { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 学工号
/// </summary>
public string UserCode { get; set; }
/// <summary>
/// 部门号
/// </summary>
public string DepartmentNo { get; set; }
/// <summary>
/// 部门
/// </summary>
public string DepartmentName { get; set; }
/// <summary>
/// 所属成本日期
/// </summary>
[JsonConverter(typeof(ToDateJsonConverter))]
public DateTime CostDate { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 来源
/// </summary>
public BalanceRecordSourceEnumType Source { get; set; }
/// <summary>
/// 消费识别来源
/// </summary>
public string SourceDesc => Source.GetDescription();
/// <summary>
/// 收入/支出
/// </summary>
public BalanceRecordTypeEnumType Type { get; set; }
public string TypeDesc => Type.GetDescription();
/// <summary>
/// 金额
/// </summary>
public decimal Amount { get; set; }
/// <summary>
/// 营业点
/// </summary>
public string BusinessPlaceName { get; set; }
/// <summary>
/// 餐次
/// </summary>
public ShiftEnumType? ShiftType { get; set; }
/// <summary>
/// 餐次
/// </summary>
public string ShiftTypeDesc => ShiftType?.GetDescription();
/// <summary>
/// 消费机器唯一信息
/// </summary>
public string DeviceInfo { get; set; }
/// <summary>
/// 成本中心
/// </summary>
public string CostId { get; set; }
/// <summary>
/// 消费者所在基地
/// </summary>
public string OriginTenantId { get; set; }
/// <summary>
/// 数据状态
/// </summary>
public BalanceRecordStatusEnumType Status { get; set; }
/// <summary>
/// 数据状态描述
/// </summary>
public string StatusDesc => Status.GetDescription();
/// <summary>
/// 记录产生时间
/// </summary>
public DateTime CostDateTime { get; set; }
/// <summary>
/// 厂区
/// </summary>
public string Factory { get; set; }
/// <summary>
/// 人事范围
/// </summary>
public string Werks { get; set; }
}

View File

@@ -0,0 +1,56 @@
using Dlhis.Entity.Canteen.Enums;
namespace Dlhis.Canteen.Voucher.Response;
public class VoucherPageResponse
{
/// <summary>
/// 券类型
/// </summary>
public VoucherEnumType Type { get; set; }
/// <summary>
/// 工号
/// </summary>
public string UserCode { get; set; }
/// <summary>
/// 用户名称
/// </summary>
public string UserName { get; set; }
/// <summary>
/// 初始余额
/// </summary>
public decimal OriginalAmount { get; set; }
/// <summary>
/// 当前余额
/// </summary>
public decimal Amount { get; set; }
/// <summary>
/// 描述
/// </summary>
public string Description { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
public string CostId { get; set; }
public string DepartmentNo { get; set; }
public string DepartmentName { get; set; }
public string DepartmentNoFirst { get; set; }
public string DepartmentNameFirst { get; set; }
public string DepartmentNoSecond { get; set; }
public string DepartmentNameSecond { get; set; }
public string Werks { get; set; }
public string Factory { get; set; }
}