1. 新增数据库脚本修改User表UserId字段为可空 2. 新增期刊二维码CRUD接口与控制器 3. 重构绑定期刊逻辑,优化重复绑定校验 4. 删除冗余的JwtHelper重载方法
64 lines
2.2 KiB
C#
64 lines
2.2 KiB
C#
using QYZH.InteractiveMagazine.Models.Dto;
|
|
using QYZH.InteractiveMagazine.Models.Entity;
|
|
|
|
namespace QYZH.InteractiveMagazine.IService;
|
|
|
|
/// <summary>
|
|
/// 用户期刊关联服务接口
|
|
/// </summary>
|
|
public interface IUserJournalService : IBaseService<UserJournal>
|
|
{
|
|
/// <summary>
|
|
/// 用户绑定期刊(扫码绑定)
|
|
/// </summary>
|
|
/// <param name="userId">当前用户Id</param>
|
|
/// <param name="input">绑定输入</param>
|
|
/// <returns>绑定结果</returns>
|
|
Task<BindJournalOutput> BindJournalAsync(long userId, BindJournalInput input);
|
|
|
|
/// <summary>
|
|
/// 获取用户的期刊绑定列表
|
|
/// </summary>
|
|
/// <param name="userId">用户Id</param>
|
|
/// <param name="input">查询条件</param>
|
|
/// <returns>分页结果</returns>
|
|
Task<PageListModel<BindJournalOutput>> GetUserJournalsAsync(long userId, UserJournalQueryInput input);
|
|
|
|
/// <summary>
|
|
/// 取消期刊绑定
|
|
/// </summary>
|
|
/// <param name="userId">用户Id</param>
|
|
/// <param name="id">绑定记录Id</param>
|
|
Task UnbindJournalAsync(long userId, long id);
|
|
|
|
/// <summary>
|
|
/// 生成期刊二维码记录
|
|
/// </summary>
|
|
/// <param name="input">生成输入</param>
|
|
/// <param name="operatorId">操作人Id</param>
|
|
/// <returns>二维码记录</returns>
|
|
Task<UserJournalQrCodeOutput> CreateQrCodeAsync(CreateUserJournalQrCodeInput input, long operatorId);
|
|
|
|
/// <summary>
|
|
/// 分页查询期刊二维码记录
|
|
/// </summary>
|
|
/// <param name="input">查询条件</param>
|
|
/// <returns>分页结果</returns>
|
|
Task<PageListModel<UserJournalQrCodeOutput>> GetQrCodePageListAsync(UserJournalQrCodeQueryInput input);
|
|
|
|
/// <summary>
|
|
/// 获取期刊二维码详情
|
|
/// </summary>
|
|
/// <param name="id">二维码记录Id</param>
|
|
/// <returns>二维码记录</returns>
|
|
Task<UserJournalQrCodeOutput> GetQrCodeDetailAsync(long id);
|
|
|
|
/// <summary>
|
|
/// 删除未绑定的期刊二维码记录
|
|
/// </summary>
|
|
/// <param name="input">删除输入</param>
|
|
/// <param name="operatorId">操作人Id</param>
|
|
/// <returns>是否成功</returns>
|
|
Task<bool> DeleteQrCodeAsync(DeleteUserJournalQrCodeInput input, long operatorId);
|
|
}
|