From 12afc554dfde40c49f19c788ee51e061d037d084 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期四, 12 六月 2025 10:43:03 +0800
Subject: [PATCH] fix:创建或更新推广员 重复校验修改

---
 LifePayment/LifePayment.Application/Promoter/PromoterService.cs |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/LifePayment/LifePayment.Application/Promoter/PromoterService.cs b/LifePayment/LifePayment.Application/Promoter/PromoterService.cs
index dd064a0..5258676 100644
--- a/LifePayment/LifePayment.Application/Promoter/PromoterService.cs
+++ b/LifePayment/LifePayment.Application/Promoter/PromoterService.cs
@@ -153,8 +153,8 @@
                 query = query.Where(s =>
                     s.Name.Contains(input.SearchKey)
                     || s.PhoneNumber.Contains(input.SearchKey)
-                    || s.Name.Contains(input.SearchKey)
-                    || s.PhoneNumber.Contains(input.SearchKey));
+                    || s.PromoterName.Contains(input.SearchKey)
+                    || s.PromoterPhoneNumber.Contains(input.SearchKey));
             }
 
             var result = await query.GetPageResult(input.PageModel);
@@ -172,6 +172,7 @@
             var query = from cc in lifePayChannelConsultationRepository
                         join p in lifePayPromoterRepository on cc.PromoterId equals p.Id into pg
                         from pgd in pg.DefaultIfEmpty()
+                        where cc.Id == id
                         select new ChannelConsultationDto
                         {
                             Id = cc.Id,
@@ -224,7 +225,7 @@
         /// <param name="input"></param>
         /// <returns></returns>
         /// <exception cref="FormatException"></exception>
-        public async Task<Guid> CreateOrUpdatePromoter(CreateOrUpdatePromoterInput input)
+        public async Task<CreateOrUpdatePromoterOutput> CreateOrUpdatePromoter(CreateOrUpdatePromoterInput input)
         {
             CheckExtensions.IfTrueThrowUserFriendlyException(string.IsNullOrWhiteSpace(input.Name), "璇疯緭鍏ユ帹骞夸汉");
             CheckExtensions.IfTrueThrowUserFriendlyException(string.IsNullOrWhiteSpace(input.PhoneNumber), "璇疯緭鍏ヨ仈绯绘柟寮�");
@@ -232,14 +233,12 @@
             {
                 input.IdNumber = BuildIdNumber();
             }
-            else if (input.Id == null)
+
+            var exist = await lifePayPromoterRepository.FirstOrDefaultAsync(it => it.Id != input.Id && (it.IdNumber == input.IdNumber || it.PhoneNumber == input.PhoneNumber));
+            if (exist != null)
             {
-                var exist = await lifePayPromoterRepository.FirstOrDefaultAsync(it => it.IdNumber == input.IdNumber || it.PhoneNumber == input.PhoneNumber);
-                if (exist != null)
-                {
-                    CheckExtensions.IfTrueThrowUserFriendlyException(exist.IdNumber == input.IdNumber, "璇D宸插瓨鍦�");
-                    CheckExtensions.IfTrueThrowUserFriendlyException(exist.PhoneNumber == input.PhoneNumber, "璇ユ墜鏈哄彿宸茬敵璇�");
-                }
+                CheckExtensions.IfTrueThrowUserFriendlyException(exist.IdNumber == input.IdNumber, "璇D宸插瓨鍦�");
+                CheckExtensions.IfTrueThrowUserFriendlyException(exist.PhoneNumber == input.PhoneNumber, "璇ユ墜鏈哄彿宸茬敵璇�");
             }
 
             if (input.Id == null)
@@ -247,7 +246,11 @@
                 var entity = new LifePayPromoter();
                 ObjectMapper.Map(input, entity);
                 await lifePayPromoterRepository.InsertAsync(entity);
-                return entity.Id;
+                return new CreateOrUpdatePromoterOutput
+                {
+                    Id = entity.Id,
+                    IdNumber = entity.IdNumber,
+                };
             }
             else
             {
@@ -255,7 +258,11 @@
                 CheckExtensions.IfTrueThrowUserFriendlyException(entity == null, "璇ユ帹骞垮憳涓嶅瓨鍦�");
                 ObjectMapper.Map(input, entity);
                 await lifePayPromoterRepository.UpdateAsync(entity);
-                return entity.Id;
+                return new CreateOrUpdatePromoterOutput
+                {
+                    Id = entity.Id,
+                    IdNumber = entity.IdNumber,
+                };
             }
         }
 

--
Gitblit v1.9.1