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