feat: 添加期刊二维码管理功能,调整UserJournal的UserId为可空类型
1. 新增数据库脚本修改User表UserId字段为可空 2. 新增期刊二维码CRUD接口与控制器 3. 重构绑定期刊逻辑,优化重复绑定校验 4. 删除冗余的JwtHelper重载方法
This commit is contained in:
@ -0,0 +1,63 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using QYZH.InteractiveMagazine.IService;
|
||||
using QYZH.InteractiveMagazine.Models.Dto;
|
||||
using QYZH.InteractiveMagazine.Models.Enum;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.WebApi.Controllers;
|
||||
|
||||
/// <summary>
|
||||
/// 期刊二维码管理
|
||||
/// </summary>
|
||||
[ApiController]
|
||||
[ApiExplorerSettings(GroupName = nameof(ApiVersionEnum.Platform))]
|
||||
[Route("api/userJournalQrCode")]
|
||||
public class UserJournalQrCodeController(IUserJournalService userJournalService) : BaseController
|
||||
{
|
||||
/// <summary>
|
||||
/// 生成期刊二维码
|
||||
/// </summary>
|
||||
/// <param name="input">生成输入</param>
|
||||
/// <returns>二维码记录</returns>
|
||||
[HttpPost("add")]
|
||||
public async Task<BaseResponse<UserJournalQrCodeOutput>> AddAsync([FromBody] CreateUserJournalQrCodeInput input)
|
||||
{
|
||||
var result = await userJournalService.CreateQrCodeAsync(input, GetCurrentUserId() ?? 0);
|
||||
return BaseResponse<UserJournalQrCodeOutput>.Success(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 分页查询期刊二维码
|
||||
/// </summary>
|
||||
/// <param name="input">查询条件</param>
|
||||
/// <returns>分页结果</returns>
|
||||
[HttpPost("pagelist")]
|
||||
public async Task<BaseResponse<PageListModel<UserJournalQrCodeOutput>>> GetPageListAsync([FromBody] UserJournalQrCodeQueryInput input)
|
||||
{
|
||||
var result = await userJournalService.GetQrCodePageListAsync(input);
|
||||
return BaseResponse<PageListModel<UserJournalQrCodeOutput>>.Success(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取期刊二维码详情
|
||||
/// </summary>
|
||||
/// <param name="id">二维码记录Id</param>
|
||||
/// <returns>二维码记录</returns>
|
||||
[HttpGet("detail/{id:long}")]
|
||||
public async Task<BaseResponse<UserJournalQrCodeOutput>> GetDetailAsync(long id)
|
||||
{
|
||||
var result = await userJournalService.GetQrCodeDetailAsync(id);
|
||||
return BaseResponse<UserJournalQrCodeOutput>.Success(result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除未绑定的期刊二维码
|
||||
/// </summary>
|
||||
/// <param name="input">删除输入</param>
|
||||
/// <returns>是否成功</returns>
|
||||
[HttpPost("delete")]
|
||||
public async Task<BaseResponse<bool>> DeleteAsync([FromBody] DeleteUserJournalQrCodeInput input)
|
||||
{
|
||||
var result = await userJournalService.DeleteQrCodeAsync(input, GetCurrentUserId() ?? 0);
|
||||
return BaseResponse<bool>.Success(result);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user