using Microsoft.AspNetCore.Mvc;
using QYZH.InteractiveMagazine.IService;
using QYZH.InteractiveMagazine.IService.Dto;
using QYZH.InteractiveMagazine.Models.Common;
using QYZH.InteractiveMagazine.Models.Dto;
namespace QYZH.InteractiveMagazine.WebApi.Controllers;
///
/// 微信用户控制器
///
[Route("api/[controller]")]
[ApiController]
public class WxUserController : BaseController
{
private readonly IWxUserService _wxUserService;
private readonly ILogger _logger;
public WxUserController(IWxUserService wxUserService, ILogger logger)
{
_wxUserService = wxUserService;
_logger = logger;
}
///
/// 创建微信用户
///
/// 创建微信用户输入参数
/// 创建的微信用户输出参数
[HttpPost("users")]
public async Task> CreateUserAsync([FromBody] WxUserInput input)
{
try
{
var result = await _wxUserService.CreateAsync(input);
return Success(result, "创建微信用户成功");
}
catch (BusinessException ex)
{
_logger.LogWarning(ex, "创建微信用户业务异常: {Message}", ex.Message);
return BaseResponse.Fail(ex.Message);
}
catch (Exception ex)
{
_logger.LogError(ex, "创建微信用户系统异常,参数:{Input}", input);
return BaseResponse.Fail("创建微信用户失败,请稍后重试");
}
}
///
/// 更新微信用户
///
/// 微信用户ID
/// 更新微信用户输入参数
/// 更新的微信用户输出参数
[HttpPut("users/{id}")]
public async Task> UpdateUserAsync(long id, [FromBody] WxUserInput input)
{
try
{
var result = await _wxUserService.UpdateAsync(id, input);
return Success(result, "更新微信用户成功");
}
catch (BusinessException ex)
{
_logger.LogWarning(ex, "更新微信用户业务异常: {Message}", ex.Message);
return BaseResponse.Fail(ex.Message);
}
catch (Exception ex)
{
_logger.LogError(ex, "更新微信用户系统异常,ID:{Id},参数:{Input}", id, input);
return BaseResponse.Fail("更新微信用户失败,请稍后重试");
}
}
///
/// 删除微信用户
///
/// 微信用户ID
/// 删除的微信用户输出参数
[HttpDelete("users/{id}")]
public async Task> DeleteUserAsync(long id)
{
try
{
await _wxUserService.DeleteAsync(id);
return Success(new object(), "删除微信用户成功");
}
catch (BusinessException ex)
{
_logger.LogWarning(ex, "删除微信用户业务异常: {Message}", ex.Message);
return BaseResponse