using FoodLabeling.Application.Contracts.Dtos.Common;
using FoodLabeling.Application.Contracts.Dtos.LabelTemplate;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace FoodLabeling.Application.Contracts.IServices;
///
/// 标签模板管理接口(美国版对外)
///
public interface ILabelTemplateAppService : IApplicationService
{
///
/// 标签模板分页列表;Query 支持 partnerId(Company)、groupId(Region)、locationId(门店)筛选;
/// 出参含 company/region/location、items/itemNames(模板控件名称,逗号拼接)。
/// SkipCount 为页码(从 1 起,第一页传 1)。
///
Task> GetListAsync(LabelTemplateGetListInputVo input);
///
/// 标签模板详情(含 elements 与 Company/Region/Location 适用范围)
///
Task GetAsync(string id);
///
/// 新增标签模板;body 支持 Company/Region/Location 三维范围(各维度 ALL/SPECIFIED + Id 数组)。
///
Task CreateAsync(LabelTemplateCreateInputVo input);
///
/// 编辑标签模板(版本号 +1,重建 elements);适用范围多选规则同新增。
///
Task UpdateAsync(string id, LabelTemplateUpdateInputVo input);
///
/// 删除标签模板(逻辑删除;若已被标签引用则禁止)
///
Task DeleteAsync(string id);
}