using Application.Dto.Periodic; using Application; namespace WebApi.Controllers; /// /// 周期性账单控制器 /// [ApiController] [Route("api/[controller]/[action]")] public class TransactionPeriodicController( ITransactionPeriodicApplication periodicApplication ) : ControllerBase { /// /// 获取周期性账单列表(分页) /// [HttpGet] public async Task> GetListAsync( [FromQuery] int pageIndex = 1, [FromQuery] int pageSize = 20, [FromQuery] string? searchKeyword = null ) { var result = await periodicApplication.GetListAsync(pageIndex, pageSize, searchKeyword); return new PagedResponse { Success = true, Data = result.Data, Total = result.Total }; } /// /// 根据ID获取周期性账单详情 /// [HttpGet("{id}")] public async Task> GetByIdAsync(long id) { var periodic = await periodicApplication.GetByIdAsync(id); return periodic.Ok(); } /// /// 创建周期性账单 /// [HttpPost] public async Task> CreateAsync([FromBody] CreatePeriodicRequest request) { var periodic = await periodicApplication.CreateAsync(request); return periodic.Ok("创建成功"); } /// /// 更新周期性账单 /// [HttpPost] public async Task UpdateAsync([FromBody] UpdatePeriodicRequest request) { await periodicApplication.UpdateAsync(request); return "更新成功".Ok(); } /// /// 删除周期性账单 /// [HttpPost] public async Task DeleteByIdAsync([FromQuery] long id) { await periodicApplication.DeleteByIdAsync(id); return "删除成功".Ok(); } /// /// 启用/禁用周期性账单 /// [HttpPost] public async Task ToggleEnabledAsync([FromQuery] long id, [FromQuery] bool enabled) { await periodicApplication.ToggleEnabledAsync(id, enabled); return (enabled ? "已启用" : "已禁用").Ok(); } }