From f7bb0825bc06b8cea32caa44d2326dde51990e77 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期四, 11 九月 2025 11:10:55 +0800 Subject: [PATCH] feat: 公告 --- LifePayment/LifePayment.Application/LifePay/LifePayRateService.cs | 31 +++++++++++++++++++++++++++++-- 1 files changed, 29 insertions(+), 2 deletions(-) diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayRateService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayRateService.cs index d8aca53..c567f61 100644 --- a/LifePayment/LifePayment.Application/LifePay/LifePayRateService.cs +++ b/LifePayment/LifePayment.Application/LifePay/LifePayRateService.cs @@ -46,7 +46,10 @@ /// <returns></returns> public async Task<List<CreateEditRateChannelOutput>> GetLifePayRateChannelAllList(QueryRateChannelInput input) { - return await GetLifePayRateChannelListFilter().WhereIf(input.Status.HasValue, x => x.Status == input.Status).OrderByDescending(r => r.CreationTime).ToListAsync(); + return await GetLifePayRateChannelListFilter() + .WhereIf(input.LifePayOrderType.HasValue, x => x.LifePayOrderType == input.LifePayOrderType) + .WhereIf(input.Status.HasValue, x => x.Status == input.Status) + .OrderBy(r => r.CreationTime).ToListAsync(); } /// <summary> @@ -59,7 +62,7 @@ CheckExtensions.IfTrueThrowUserFriendlyException(input.SupplierRate < 0.01m, "渚涘簲鍟嗘姌鎵h缃敊璇�"); CheckExtensions.IfTrueThrowUserFriendlyException(input.PlatformRate < 0.01m, "骞冲彴鎶樻墸璁剧疆閿欒"); CheckExtensions.IfTrueThrowUserFriendlyException(input.PlatformRate < input.SupplierRate, "骞冲彴鎶樻墸鏃犳硶浣庝簬渚涘簲鍟嗘姌鎵�"); - bool isExist = await _lifePayRateChannelRepository.AnyAsync(r => r.Code == input.Code); + bool isExist = await _lifePayRateChannelRepository.AnyAsync(r => (!input.Id.HasValue || r.Id != input.Id.Value) && r.Code == input.Code); CheckExtensions.IfTrueThrowUserFriendlyException(isExist, "ID宸插瓨鍦�"); if (input.Id.HasValue) { @@ -112,6 +115,30 @@ return Constant.SUCCESS; } + public async Task<CreateEditRateChannelOutput> GetRateChannelByCode(string code) + { + var dto = await _lifePayRateChannelRepository.FirstOrDefaultAsync(x => x.Code == code); + if (dto == null) + { + return new CreateEditRateChannelOutput(); + } + else + { + return new CreateEditRateChannelOutput + { + Id = dto.Id, + LifePayOrderType = dto.LifePayOrderType, + RateChannelName = dto.RateChannelName, + Code = dto.Code, + SupplierRate = dto.SupplierRate, + PlatformRate = dto.PlatformRate, + Status = dto.Status, + Remark = dto.Remark, + CreationTime = dto.CreationTime, + }; + } + } + private IQueryable<CreateEditRateChannelOutput> GetLifePayRateChannelListFilter() { var query = from x in _lifePayRateChannelRepository -- Gitblit v1.9.1