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; } /// /// 打印数据(对齐《标签模块接口对接说明(10)》): /// - App 推荐传:与平台导出 label-template-*.json 同构的合并后模板(含 elements[].config),便于落库后直接重打; /// - 兼容旧客户端:扁平字典(key 对齐元素 inputKey),由服务端 PreviewAsync 解析生成 RenderDataJson。 /// public JsonElement? PrintInputJson { get; set; } /// /// 打印机Id(可选,若业务需要追踪) /// public string? PrinterId { get; set; } /// /// 打印机蓝牙 MAC(可选) /// public string? PrinterMac { get; set; } /// /// 打印机地址(可选) /// public string? PrinterAddress { get; set; } }