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,82 @@
using Kurisu.AspNetCore.DataAccess.Entity;
using Kurisu.AspNetCore.DataAccess.SqlSugar;
using SqlSugar;
namespace Dlhis.Entity.Canteen.Entities.EMealVoucher;
/// <summary>
/// 电子餐券明细
/// </summary>
[SugarTable(TableName = "EMealVoucherDetail", TableDescription = "电子餐券明细")]
public class EMealVoucherDetailEntity : SugarBaseEntity, IVersion
{
/// <summary>
/// 主表id
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "主表id")]
public long VoucherId { get; set; }
/// <summary>
/// 流水号
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "流水号", UniqueGroupNameList = new[] { "idx_EMealVoucherDetail_no_idno" })]
public string No { get; set; }
/// <summary>
/// 人员类型
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "人员类型(新员工/外来人员)")]
public string UserType { get; set; }
/// <summary>
/// 身份证
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "证件号", UniqueGroupNameList = new[] { "idx_EMealVoucherDetail_no_idno" })]
public string IdNo { get; set; }
/// <summary>
/// 用餐人
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "用餐人")]
public string Name { get; set; }
/// <summary>
/// 手机号
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "手机号")]
public string Phone { get; set; }
/// <summary>
/// 就餐开始
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "使用开始", ColumnDataType = "date")]
public DateTime Start { get; set; }
/// <summary>
/// 就餐结束
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "使用结束", ColumnDataType = "date")]
public DateTime End { get; set; }
/// <summary>
/// 金额
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "余额", ColumnDataType = "decimal(16,2)")]
public decimal Balance { get; set; }
/// <summary>
/// 金额
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "原始余额", ColumnDataType = "decimal(16,2)")]
public decimal OriginBalance { get; set; }
/// <summary>
/// 版本
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "版本")]
public int Version { get; set; }
[SugarColumn(IsNullable = true, ColumnDataType = "varchar(255)")]
public string Signature { get; set; }
}

View File

@@ -0,0 +1,29 @@
using Kurisu.AspNetCore.DataAccess.SqlSugar;
using SqlSugar;
namespace Dlhis.Entity.Canteen.Entities.EMealVoucher;
/// <summary>
/// 电子餐券明细QrCode
/// </summary>
[SugarTable(TableName = "EMealVoucherDetailQrCode", TableDescription = "电子餐券明细QrCode")]
public class EMealVoucherDetailQrCodeEntity : SugarBaseEntity
{
/// <summary>
/// url签名
/// </summary>
[SugarColumn(ColumnDataType = "varchar(255)", IndexGroupNameList = new[] { "idx_EMealVoucherDetailQrCode_signature" })]
public string Signature { get; set; }
/// <summary>
/// 原始数据
/// </summary>
[SugarColumn(ColumnDescription = "原始数据")]
public string OriginData { get; set; }
/// <summary>
/// 二维码
/// </summary>
[SugarColumn(ColumnDescription = "二维码", UniqueGroupNameList = new[] { "idx_EMealVoucherDetailQrCode_qrcode" })]
public string QrCode { get; set; }
}

View File

@@ -0,0 +1,84 @@
using Dlhis.Entity.Canteen.Enums;
using Kurisu.AspNetCore.DataAccess.SqlSugar;
using SqlSugar;
namespace Dlhis.Entity.Canteen.Entities.EMealVoucher;
/// <summary>
/// 餐券
/// </summary>
[SugarTable(TableName = "EMealVoucher", TableDescription = "电子餐券")]
public class EMealVoucherEntity : SugarBaseEntity
{
/// <summary>
/// oa流程id
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "oa流程id", UniqueGroupNameList = new[] { "index_EMealVoucher_No" })]
public string No { get; set; }
/// <summary>
/// 标题
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "标题")]
public string Title { get; set; }
/// <summary>
/// 申请人工号
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "申请人工号", IndexGroupNameList = new[] { "index_EMealVoucher_Code" })]
public string Code { get; set; }
/// <summary>
/// 成本中心
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "成本中心")]
public string CostId { get; set; }
/// <summary>
/// 来宾公司
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "来宾来源")]
public string Source { get; set; }
/// <summary>
/// 联系人
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "手机号")]
public string Phone { get; set; }
/// <summary>
/// 来宾人数
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "来宾人数")]
public int Number { get; set; }
/// <summary>
/// 就餐事由
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "申请事由")]
public string Reason { get; set; }
/// <summary>
/// 就餐次
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "就餐次", ColumnDataType = "varchar(500)", IsJson = true)]
public List<ShiftEnumType> Shifts { get; set; }
/// <summary>
/// 可消费厂区
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "可消费厂区", ColumnDataType = "varchar(500)", IsJson = true)]
public List<string> Factories { get; set; }
/// <summary>
/// 申请日期
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "申请日期")]
public DateTime Date { get; set; }
/// <summary>
/// 厂区
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "厂区")]
public string Factory { get; set; }
}