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; }
}