From ad8e329a739839bf5ce80b42d931b655c2c20356 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期一, 09 六月 2025 15:40:30 +0800 Subject: [PATCH] feat:新增接口x2 GET/api/Promoter/GetChannelConsultationById获取渠道咨询Id GET/api/Promoter/GetPromoter获取推广员信息 --- LifePayment/LifePayment.Application/Promoter/PromoterService.cs | 72 ++++++++++++++++++++++++++++++++++++ 1 files changed, 72 insertions(+), 0 deletions(-) diff --git a/LifePayment/LifePayment.Application/Promoter/PromoterService.cs b/LifePayment/LifePayment.Application/Promoter/PromoterService.cs index 0df452f..30e1896 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; @@ -66,8 +67,49 @@ ApplyCount = it.ApplyCount, Remark = it.Remark, }); + if (input.StartDate.HasValue) + { + query = query.Where(s => s.CreationTime >= input.StartDate); + } + + if (input.EndDate.HasValue) + { + query = query.Where(s => s.CreationTime <= input.EndDate); + } + + if (!string.IsNullOrEmpty(input.SearchKey)) + { + query = query.Where(s => + s.IdNumber.Contains(input.SearchKey) + || s.PhoneNumber.Contains(input.SearchKey) + || s.Name.Contains(input.SearchKey)); + } + var result = await query.GetPageResult(input.PageModel); return result; + } + + /// <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> @@ -120,6 +162,36 @@ } /// <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() + 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> -- Gitblit v1.9.1