From 7a540f529d2c9a541993bc9818cad9c9093fec91 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 03 十二月 2025 11:04:35 +0800
Subject: [PATCH] fix: bug
---
LifePayment/LifePayment.Application/Promoter/PromoterService.cs | 92 ++++++++++++++++++++++++++++++++++++---------
1 files changed, 73 insertions(+), 19 deletions(-)
diff --git a/LifePayment/LifePayment.Application/Promoter/PromoterService.cs b/LifePayment/LifePayment.Application/Promoter/PromoterService.cs
index d7c0b1e..5258676 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>
@@ -129,12 +153,43 @@
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);
return result;
+ }
+
+ /// <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>
@@ -170,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), "璇疯緭鍏ヨ仈绯绘柟寮�");
@@ -178,21 +233,12 @@
{
input.IdNumber = BuildIdNumber();
}
- else if (input.Id == null)
- {
- 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("璇ユ墜鏈哄彿宸茬敵璇�");
- }
- }
+ var exist = await lifePayPromoterRepository.FirstOrDefaultAsync(it => it.Id != input.Id && (it.IdNumber == input.IdNumber || it.PhoneNumber == input.PhoneNumber));
+ if (exist != null)
+ {
+ CheckExtensions.IfTrueThrowUserFriendlyException(exist.IdNumber == input.IdNumber, "璇D宸插瓨鍦�");
+ CheckExtensions.IfTrueThrowUserFriendlyException(exist.PhoneNumber == input.PhoneNumber, "璇ユ墜鏈哄彿宸茬敵璇�");
}
if (input.Id == null)
@@ -200,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
{
@@ -208,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