using System; using System.Collections.Generic; using System.Text.Json; namespace FoodLabeling.Application.Contracts.Dtos.UsAppLabeling; /// /// App 打印入参 /// public class UsAppLabelPrintInputVo { /// /// 门店Id(fl_label.LocationId) /// public string LocationId { get; set; } = string.Empty; /// /// 标签编码(fl_label.LabelCode) /// public string LabelCode { get; set; } = string.Empty; /// /// 选择用于打印的产品Id(fl_product.Id) /// 不传则默认取该标签绑定的第一个产品 /// public string? ProductId { get; set; } /// /// 打印份数(<=0 则按 1 处理) /// public int PrintQuantity { get; set; } = 1; /// /// 客户端幂等请求Id(可选)。 /// 同一个 clientRequestId 重复调用 print 接口时,后端会直接返回首次创建的 batchId/taskIds,不会重复写库。 /// public string? ClientRequestId { get; set; } /// /// 业务基准时间(用于 DATE/TIME 等元素的计算) /// public DateTime? BaseTime { get; set; } /// /// 打印输入(用于 PRINT_INPUT 元素) /// public Dictionary? PrintInputJson { get; set; } /// /// 可选:App 端合并后的完整模板快照(与平台导出 label-template JSON 同构,含 elements[].config)。 /// 传入时明细表 RenderDataJson 优先存此快照,便于打印历史与出纸结果一致;未传时仍由服务端 PreviewAsync 生成。 /// public JsonElement? TemplateSnapshot { get; set; } /// /// 打印机Id(可选,若业务需要追踪) /// public string? PrinterId { get; set; } /// /// 打印机蓝牙 MAC(可选) /// public string? PrinterMac { get; set; } /// /// 打印机地址(可选) /// public string? PrinterAddress { get; set; } }