From 72ed026e6dc651e7bd1f77f41face93a7a9f49cb Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期四, 27 三月 2025 08:58:34 +0800
Subject: [PATCH] fix:新增在线客服配置、户号编辑功能优化、用户列表更新
---
LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs | 8 ++
LifePayment/LifePayment.Domain/Common/OnlineService.cs | 14 +++
LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml | 17 ++++
LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs | 29 +++++++
LifePayment/LifePayment.EntityFrameworkCore/LifePaymentServicesDbContext.cs | 3
LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml | 13 +++
LifePayment/LifePayment.Application/Setting/CommonService.cs | 50 ++++++++++++
LifePayment/LifePayment.Application.Contracts/Setting/ICommonService.cs | 15 +++
LifePayment/LifePayment.Application/LifePay/LifePayService.cs | 44 +++++++---
9 files changed, 176 insertions(+), 17 deletions(-)
diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs
index 0659e93..16a9684 100644
--- a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs
+++ b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs
@@ -1100,4 +1100,12 @@
public class ChannelRateOutput
{
public decimal ChannlesRate { get; set; }
+}
+
+public class OnlineServiceInput
+{
+ /// <summary>
+ /// 鍦ㄧ嚎瀹㈡湇閾炬帴
+ /// </summary>
+ public string Link { get; set; }
}
\ No newline at end of file
diff --git a/LifePayment/LifePayment.Application.Contracts/Setting/ICommonService.cs b/LifePayment/LifePayment.Application.Contracts/Setting/ICommonService.cs
new file mode 100644
index 0000000..2f4a953
--- /dev/null
+++ b/LifePayment/LifePayment.Application.Contracts/Setting/ICommonService.cs
@@ -0,0 +1,15 @@
+锘縰sing System.Collections.Generic;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace LifePayment.Application.Contracts
+{
+ public interface ICommonService : IApplicationService
+ {
+
+ Task<string> GetOnlineService();
+
+ Task UpdateOnlineService(OnlineServiceInput input);
+
+ }
+}
\ No newline at end of file
diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
index 405d11c..4820c56 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs
@@ -1537,7 +1537,7 @@
var userAccount = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.Id == input.Id)
.FirstOrDefaultAsync();
CheckExtensions.IfTrueThrowUserFriendlyException(userAccount == null, "鎴峰彿涓嶅瓨鍦�");
- var repeatAccountContent = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.LifePayType == input.LifePayType && x.Content == input.Content && x.Id != input.Id)
+ var repeatAccountContent = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.LifePayType == input.LifePayType && x.Content == input.Content && x.Id != input.Id && x.IsDeleted == false)
.FirstOrDefaultAsync();
CheckExtensions.IfTrueThrowUserFriendlyException(repeatAccountContent != null, "鎴峰彿宸插瓨鍦�");
@@ -1551,22 +1551,36 @@
}
else
{
- var repeatAccountContent = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.LifePayType == input.LifePayType && x.Content == input.Content)
+ var repeatAccountContent = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.LifePayType == input.LifePayType && x.Content == input.Content && x.IsDeleted == false)
.FirstOrDefaultAsync();
- CheckExtensions.IfTrueThrowUserFriendlyException(repeatAccountContent != null, "鎴峰彿宸插瓨鍦�");
- var userAccount = new LifePayAccount
+ /// CheckExtensions.IfTrueThrowUserFriendlyException(repeatAccountContent != null, "鎴峰彿宸插瓨鍦�");
+ if (repeatAccountContent != null)
{
- Id = Guid.NewGuid(),
- UserId = input.UserId,
- Content = input.Content,
- Province = input.Province,
- LifePayType = input.LifePayType,
- City = input.City,
- Remark = input.Remark,
- Operators = input.Operators,
- ExtraProperties = input.ExtraProperties,
- };
- await _lifePayAccount.InsertAsync(userAccount);
+ repeatAccountContent.LifePayType = input.LifePayType;
+ repeatAccountContent.Content = input.Content;
+ repeatAccountContent.Province = input.Province;
+ repeatAccountContent.City = input.City;
+ repeatAccountContent.Remark = input.Remark;
+ repeatAccountContent.Operators = input.Operators;
+ repeatAccountContent.ExtraProperties = input.ExtraProperties;
+ }
+ else
+ {
+ var userAccount = new LifePayAccount
+ {
+ Id = Guid.NewGuid(),
+ UserId = input.UserId,
+ Content = input.Content,
+ Province = input.Province,
+ LifePayType = input.LifePayType,
+ City = input.City,
+ Remark = input.Remark,
+ Operators = input.Operators,
+ ExtraProperties = input.ExtraProperties,
+ };
+ await _lifePayAccount.InsertAsync(userAccount);
+ }
+
}
if (input.LifePayType == LifePayOrderTypeEnum.璇濊垂璁㈠崟)
diff --git a/LifePayment/LifePayment.Application/Setting/CommonService.cs b/LifePayment/LifePayment.Application/Setting/CommonService.cs
new file mode 100644
index 0000000..842a935
--- /dev/null
+++ b/LifePayment/LifePayment.Application/Setting/CommonService.cs
@@ -0,0 +1,50 @@
+锘縰sing LifePayment.Application.Contracts;
+using LifePayment.Domain.Common;
+using LifePayment.Domain.Models;
+using LifePayment.Domain.Shared;
+using Microsoft.EntityFrameworkCore;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+using Volo.Abp.Domain.Repositories;
+
+namespace LifePayment.Application
+{
+ public class CommonService : ApplicationService, ICommonService
+ {
+ private readonly IRepository<OnlineService, Guid> _onlineServiceRepository;
+
+ public CommonService(
+ IRepository<OnlineService, Guid> onlineServiceRepository)
+ {
+ _onlineServiceRepository = onlineServiceRepository;
+ }
+
+ public async Task<string> GetOnlineService()
+ {
+ var query = await _onlineServiceRepository.FirstOrDefaultAsync();
+
+ return query.Link;
+ }
+
+ public async Task UpdateOnlineService(OnlineServiceInput input)
+ {
+ var area = await _onlineServiceRepository.FirstOrDefaultAsync();
+ if (area != null)
+ {
+ area.Link = input.Link;
+ }
+ else
+ {
+ OnlineService onlineService = new OnlineService()
+ {
+ Id = Guid.NewGuid(),
+ Link = input
+ };
+ await _onlineServiceRepository.InsertAsync(onlineService);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/LifePayment/LifePayment.Domain/Common/OnlineService.cs b/LifePayment/LifePayment.Domain/Common/OnlineService.cs
new file mode 100644
index 0000000..cf4408c
--- /dev/null
+++ b/LifePayment/LifePayment.Domain/Common/OnlineService.cs
@@ -0,0 +1,14 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Domain.Entities;
+
+namespace LifePayment.Domain.Common
+{
+ public class OnlineService : Entity<Guid>, IAggregateRoot<Guid>
+ {
+ public string Link { get; set; }
+ }
+}
diff --git a/LifePayment/LifePayment.EntityFrameworkCore/LifePaymentServicesDbContext.cs b/LifePayment/LifePayment.EntityFrameworkCore/LifePaymentServicesDbContext.cs
index effc166..e232ed4 100644
--- a/LifePayment/LifePayment.EntityFrameworkCore/LifePaymentServicesDbContext.cs
+++ b/LifePayment/LifePayment.EntityFrameworkCore/LifePaymentServicesDbContext.cs
@@ -1,4 +1,5 @@
using LifePayment.Domain;
+using LifePayment.Domain.Common;
using LifePayment.Domain.LifePay;
using LifePayment.Domain.Models;
using Microsoft.EntityFrameworkCore;
@@ -30,6 +31,8 @@
public virtual DbSet<Role> Roles { get; set; }
+ public virtual DbSet<OnlineService> OnlineService { get; set; }
+
public virtual DbSet<LifePayIntroInfo> LifePayIntroInfo { get; set; }
public virtual DbSet<UserRole> UserRoles { get; set; }
diff --git a/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml b/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
index 5af6b0a..a4edee5 100644
--- a/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
+++ b/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml
@@ -122,6 +122,12 @@
</summary>
<returns></returns>
</member>
+ <member name="M:LifePayment.HttpApi.LifePayController.GetOnlineService">
+ <summary>
+ 鑾峰彇鍦ㄧ嚎瀹㈡湇
+ </summary>
+ <returns></returns>
+ </member>
<member name="M:LifePayment.HttpApi.LifePayController.GetUserPage(LifePayment.Application.Contracts.QueryUserPageInput)">
<summary>
鑾峰彇鐢ㄦ埛鍒嗛〉鏁版嵁
@@ -348,6 +354,13 @@
<param name="input"></param>
<returns></returns>
</member>
+ <member name="M:LifePayment.HttpApi.LifePayController.UpdateOnlineService(System.String)">
+ <summary>
+ 鍦ㄧ嚎瀹㈡湇閰嶇疆
+ </summary>
+ <param name="input"></param>
+ <returns></returns>
+ </member>
<member name="M:LifePayment.HttpApi.LifePayController.SetLifePayOrderPayType(LifePayment.Domain.Shared.SetLifePayOrderPayTypeInput)">
<summary>
璁剧疆鐢熸椿缂磋垂鏀粯绫诲瀷
diff --git a/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml b/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
index a7b1079..f90c317 100644
--- a/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
+++ b/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml
@@ -645,7 +645,22 @@
</member>
<member name="P:LifePayment.Application.Contracts.QueryUserPageInput.CreationTimeBegin">
<summary>
- 娉ㄥ唽鏃堕棿
+ 娉ㄥ唽寮�濮嬫椂闂�
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.QueryUserPageInput.CreationTimeEnd">
+ <summary>
+ 娉ㄥ唽缁撴潫鏃堕棿
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.QueryUserPageInput.LoginTimeBegin">
+ <summary>
+ 鐧诲綍寮�濮嬫椂闂�
+ </summary>
+ </member>
+ <member name="P:LifePayment.Application.Contracts.QueryUserPageInput.LoginTimeEnd">
+ <summary>
+ 鐧诲綍缁撴潫鏃堕棿
</summary>
</member>
<member name="P:LifePayment.Application.Contracts.OrderPriceReturn.PlatformPrice">
diff --git a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
index ce05b3d..08f7441 100644
--- a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
+++ b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs
@@ -1,4 +1,5 @@
锘縰sing LifePayment.Application.Contracts;
+using LifePayment.Domain.Common;
using LifePayment.Domain.Shared;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
@@ -22,17 +23,20 @@
private readonly ILifePayService _lifePayService;
private readonly IStatisticsService _statisticsService;
private readonly IWebClientInfoProvider _webClientInfoProvider;
+ private readonly ICommonService _commonService;
private readonly ILogger<LifePayController> _logger;
public LifePayController(
ILifePayService lifePayService,
IStatisticsService statisticsService,
- IWebClientInfoProvider webClientInfoProvider
+ IWebClientInfoProvider webClientInfoProvider,
+ ICommonService commonService
, ILogger<LifePayController> logger
)
{
_lifePayService = lifePayService;
_statisticsService = statisticsService;
_webClientInfoProvider = webClientInfoProvider;
+ _commonService = commonService;
_logger = logger;
}
@@ -182,6 +186,16 @@
return await _lifePayService.GetIntroInfo(type);
}
+ /// <summary>
+ /// 鑾峰彇鍦ㄧ嚎瀹㈡湇
+ /// </summary>
+ /// <returns></returns>
+ [HttpGet]
+ [AllowAnonymous]
+ public async Task<string> GetOnlineService()
+ {
+ return await _commonService.GetOnlineService();
+ }
/// <summary>
/// 鑾峰彇鐢ㄦ埛鍒嗛〉鏁版嵁
@@ -596,6 +610,19 @@
}
/// <summary>
+ /// 鍦ㄧ嚎瀹㈡湇閰嶇疆
+ /// </summary>
+ /// <param name="input"></param>
+ /// <returns></returns>
+ [HttpPost]
+ public async Task<int> UpdateOnlineService(OnlineServiceInput input)
+ {
+ await _commonService.UpdateOnlineService(input);
+ return Constant.SUCCESS;
+ }
+
+
+ /// <summary>
/// 璁剧疆鐢熸椿缂磋垂鏀粯绫诲瀷
/// </summary>
/// <param name="input"></param>
--
Gitblit v1.9.1