From 758a83d713c7212175fc06ce498d3b5ac1430872 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期一, 09 六月 2025 17:26:38 +0800 Subject: [PATCH] fix: GetChannelConsultationById --- LifePayment/LifePayment.Application/Promoter/PromoterService.cs | 66 ++++++++++++++++++++++++++++---- 1 files changed, 57 insertions(+), 9 deletions(-) diff --git a/LifePayment/LifePayment.Application/Promoter/PromoterService.cs b/LifePayment/LifePayment.Application/Promoter/PromoterService.cs index d7c0b1e..e43e167 100644 --- a/LifePayment/LifePayment.Application/Promoter/PromoterService.cs +++ b/LifePayment/LifePayment.Application/Promoter/PromoterService.cs @@ -11,6 +11,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Volo.Abp; using Volo.Abp.Application.Services; using Volo.Abp.AutoMapper; using Volo.Abp.Domain.Repositories; @@ -89,6 +90,29 @@ } /// <summary> + /// 鑾峰彇鎺ㄥ箍鍛樹俊鎭� + /// </summary> + /// <param name="phoneNumber"></param> + /// <returns></returns> + public async Task<PromoterDto> GetPromoter(string phoneNumber) + { + return await lifePayPromoterRepository + .Where(it => it.PhoneNumber == phoneNumber) + .Select(it => new PromoterDto + { + Id = it.Id, + CreationTime = it.CreationTime, + IdNumber = it.IdNumber, + Name = it.Name, + PhoneNumber = it.PhoneNumber, + ClickCount = it.ClickCount, + ApplyCount = it.ApplyCount, + Remark = it.Remark, + }) + .FirstOrDefaultAsync(); + } + + /// <summary> /// 鑾峰彇娓犻亾鍜ㄨ鍒楄〃 /// </summary> /// <param name="input"></param> @@ -138,6 +162,37 @@ } /// <summary> + /// 鑾峰彇娓犻亾鍜ㄨId + /// </summary> + /// <param name="id"></param> + /// <returns></returns> + /// <exception cref="FriendlyException"></exception> + public async Task<ChannelConsultationDto> GetChannelConsultationById(Guid id) + { + 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, + CreationTime = cc.CreationTime, + Name = cc.Name, + AgentType = cc.AgentType, + PhoneNumber = cc.PhoneNumber, + CompanyName = cc.CompanyName, + CustomerResources = cc.CustomerResources, + PromoterIdNumber = pgd.IdNumber, + PromoterName = pgd.Name, + PromoterPhoneNumber = pgd.PhoneNumber, + FollowupStatus = cc.FollowupStatus, + LastFollowupTime = cc.LastFollowupTime, + FollowupRemark = cc.FollowupRemark, + }; + return await query.FirstOrDefaultAsync(); + } + + /// <summary> /// 鑾峰彇娓犻亾鍜ㄨ鍥炶璁板綍 /// </summary> /// <param name="id">娓犻亾鍜ㄨId</param> @@ -183,15 +238,8 @@ var exist = await lifePayPromoterRepository.FirstOrDefaultAsync(it => it.IdNumber == input.IdNumber || it.PhoneNumber == input.PhoneNumber); if (exist != null) { - if (exist.IdNumber == input.IdNumber) - { - throw new FormatException("璇D宸插瓨鍦�"); - } - - if (exist.PhoneNumber == input.PhoneNumber) - { - throw new FormatException("璇ユ墜鏈哄彿宸茬敵璇�"); - } + CheckExtensions.IfTrueThrowUserFriendlyException(exist.IdNumber == input.IdNumber, "璇D宸插瓨鍦�"); + CheckExtensions.IfTrueThrowUserFriendlyException(exist.PhoneNumber == input.PhoneNumber, "璇ユ墜鏈哄彿宸茬敵璇�"); } } -- Gitblit v1.9.1