using YD_Event.Application.Merchant.Dtos; using YD_Event.Core.Entities; namespace YD_Event.Application.Merchant; /// /// 商户管理 /// public class MerchantService : BaseService, ITransient { private readonly ISqlSugarRepository _repository; private readonly IIdGenerator _idGenerator; public MerchantService(ISqlSugarRepository repository, IIdGenerator idGenerator) : base(repository) { _repository = repository; _idGenerator = idGenerator; } /// /// 商户分页查询 /// [DisplayName("商户分页查询")] [HttpGet] public async Task> Page([FromQuery] MerchantQueryInput input) { return await _repository.AsQueryable() .WhereIF(!string.IsNullOrWhiteSpace(input.MerchantName), x => x.MerchantName.Contains(input.MerchantName)) .OrderByDescending(x => x.CreatedTime) .ToPagedListAsync(input); } /// /// 添加商户 /// [DisplayName("添加商户")] [HttpPost("add")] public async Task Add(AddMerchantInput input) { var entity = input.Adapt(); entity.Id = _idGenerator.NextId(); await _repository.InsertAsync(entity); } /// /// 更新商户 /// [DisplayName("更新商户")] [HttpPut("edit")] public async Task Update(UpdateMerchantInput input) { var entity = await _repository.GetByIdAsync(input.Id); if (entity == null) throw Oops.Bah("商户不存在"); input.Adapt(entity); await _repository.UpdateAsync(entity); } /// /// 删除商户 /// [DisplayName("删除商户")] [HttpPost("delete")] public async Task Delete([FromBody] List ids) { await _repository.DeleteAsync(x => ids.Contains(x.Id)); } /// /// 获取商户详情 /// [DisplayName("获取商户详情")] [HttpGet("detail")] public async Task Detail([FromQuery] long id) { var entity = await _repository.GetByIdAsync(id); if (entity == null) throw Oops.Bah("商户不存在"); return entity; } }