using QYZH.InteractiveMagazine.Models.Dto;
using QYZH.InteractiveMagazine.Models.Entity;
namespace QYZH.InteractiveMagazine.IService;
///
/// 用户期刊关联服务接口
///
public interface IUserJournalService : IBaseService
{
///
/// 用户绑定期刊(扫码绑定)
///
/// 当前用户Id
/// 绑定输入
/// 绑定结果
Task BindJournalAsync(long userId, BindJournalInput input);
///
/// 获取用户的期刊绑定列表
///
/// 用户Id
/// 查询条件
/// 分页结果
Task> GetUserJournalsAsync(long userId, UserJournalQueryInput input);
///
/// 取消期刊绑定
///
/// 用户Id
/// 绑定记录Id
Task UnbindJournalAsync(long userId, long id);
///
/// 生成期刊二维码记录
///
/// 生成输入
/// 操作人名称
/// 二维码记录
Task CreateQrCodeAsync(CreateUserJournalQrCodeInput input, string operatorName);
///
/// 批量提交期刊二维码生成任务
///
/// 生成输入
/// 操作人名称
/// 提交结果
Task CreateQrCodesAsync(CreateUserJournalQrCodeInput input, string operatorName);
///
/// 分页查询期刊二维码记录
///
/// 查询条件
/// 分页结果
Task> GetQrCodePageListAsync(UserJournalQrCodeQueryInput input);
///
/// 获取期刊二维码详情
///
/// 二维码记录Id
/// 二维码记录
Task GetQrCodeDetailAsync(long id);
///
/// 根据期刊Id获取未绑定用户的二维码列表
///
/// 期刊Id
/// 未绑定二维码列表
Task> GetUnboundQrCodesByJournalIdAsync(long journalId);
///
/// 删除未绑定的期刊二维码记录
///
/// 删除输入
/// 操作人名称
/// 是否成功
Task DeleteQrCodeAsync(DeleteUserJournalQrCodeInput input, string operatorName);
}