From 567911f4b389e0c6e548855ec10ff827a3095f33 Mon Sep 17 00:00:00 2001 From: lingling <kety1122@163.com> Date: 星期三, 19 三月 2025 16:20:23 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/LifePaymentApi --- LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml | 17 ++++++++ LifePayment/LifePayment.Domain/LifePay/LifePayUser.cs | 5 ++ LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs | 2 LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs | 24 ++++++++++++ LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs | 2 + LifePayment/LifePayment.Domain/Ali/AlipayApiConstant.cs | 2 LifePayment/LifePayment.Application.Contracts/User/QrCodeLogin.cs | 2 LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs | 5 ++ LifePayment/LifePayment.Application/User/UserRoleService.cs | 4 +- LifePayment/LifePayment.Application.Contracts/User/CreateBackClientUserInput.cs | 4 +- LifePayment/LifePayment.Domain/Common/UserChannle.cs | 2 LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs | 2 LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs | 8 +++ LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml | 2 LifePayment/LifePayment.Application/LifePay/LifePayService.cs | 34 ++++++++++++++++- 15 files changed, 101 insertions(+), 14 deletions(-) diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs index 70adeed..00d88e3 100644 --- a/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs +++ b/LifePayment/LifePayment.Application.Contracts/LifePay/ILifePayService.cs @@ -171,7 +171,7 @@ /// </summary> /// <param name="input"></param> /// <returns></returns> - Task<PageOutput<UserListOutput>> GetUserPage(PageInput input); + Task<PageOutput<UserListOutput>> GetUserPage(QueryUserPageInput input); /// <summary> diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs index d0353ba..3482efa 100644 --- a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs +++ b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayInput.cs @@ -391,4 +391,28 @@ /// </summary> [StringLength(30, ErrorMessage = "澶囨敞淇℃伅浠呮敮鎸佸~鍐�30涓瓧绗︺��")] public string Remark { get; set; } = string.Empty; +} + +public class QueryUserPageInput : ChannelsBaseInput +{ + /// <summary> + /// 鎵嬫満鍙�/鐢ㄦ埛鍚� + /// </summary> + public string? QueryCondition { get; set; } + + /// <summary> + /// 娉ㄥ唽鏃堕棿 + /// </summary> + public DateTime? CreationTime { get; set; } +} + +public class Model_UserAccountExtraProperties +{ + public string? Name { get; set; } + + public string IspCode { get; set; } + + public string Phone { get; set; } + + public string Remark { get; set; } } \ No newline at end of file diff --git a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs index 853c9a4..b1fc7b3 100644 --- a/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs +++ b/LifePayment/LifePayment.Application.Contracts/LifePay/LifePayOutput.cs @@ -125,6 +125,11 @@ public string PhoneNumber { get; set; } /// <summary> + /// 濮撳悕 + /// </summary> + public string Name { get; set; } + + /// <summary> /// 鏈�鍚庣櫥褰曟笭閬� /// </summary> public string? CreationChannle { get; set; } diff --git a/LifePayment/LifePayment.Application.Contracts/User/CreateBackClientUserInput.cs b/LifePayment/LifePayment.Application.Contracts/User/CreateBackClientUserInput.cs index 74cce24..b880d90 100644 --- a/LifePayment/LifePayment.Application.Contracts/User/CreateBackClientUserInput.cs +++ b/LifePayment/LifePayment.Application.Contracts/User/CreateBackClientUserInput.cs @@ -31,7 +31,7 @@ /// <summary> /// 娓犻亾鍒楄〃 /// </summary> - public Guid[] ChannlesId { get; set; } + public string[] ChannlesId { get; set; } /// <summary> /// 缁勭粐鏋舵瀯鍏徃id @@ -231,7 +231,7 @@ /// <summary> /// 娓犻亾Id /// </summary> - public Guid Id { get; set; } + public string Id { get; set; } /// <summary> /// 娓犻亾鍚� diff --git a/LifePayment/LifePayment.Application.Contracts/User/QrCodeLogin.cs b/LifePayment/LifePayment.Application.Contracts/User/QrCodeLogin.cs index 2a96375..9e766f5 100644 --- a/LifePayment/LifePayment.Application.Contracts/User/QrCodeLogin.cs +++ b/LifePayment/LifePayment.Application.Contracts/User/QrCodeLogin.cs @@ -77,7 +77,7 @@ /// <summary> /// 娓犻亾鍒楄〃 /// </summary> - public Guid[] ChannlesId { get; set; } + public string[] ChannlesId { get; set; } /// <summary> /// 灏忕▼搴廜penId diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs index 3e317b6..bb07bbb 100644 --- a/LifePayment/LifePayment.Application/LifePay/LifePayService.cs +++ b/LifePayment/LifePayment.Application/LifePay/LifePayService.cs @@ -29,6 +29,8 @@ using Z.EntityFramework.Plus; using LifePayment.Domain.LifePay; using pingan.openbank.api.sdk.enums; +using System.Linq.Dynamic.Core; +using static Volo.Abp.Identity.Settings.IdentitySettingNames; namespace LifePayment.Application; @@ -171,15 +173,19 @@ /// </summary> /// <param name="input"></param> /// <returns></returns> - public async Task<PageOutput<UserListOutput>> GetUserPage(PageInput input) + public async Task<PageOutput<UserListOutput>> GetUserPage(QueryUserPageInput input) { - return await _lifePayUserRepository.Select(x => + return await _lifePayUserRepository.Where(x => x.IsDeleted == false) + .WhereIf(!string.IsNullOrEmpty(input.QueryCondition), x => x.PhoneNumber.Contains(input.QueryCondition) || x.Name.Contains(input.QueryCondition)) + .WhereIf(input.CreationTime.HasValue, x => x.CreationTime.ToString("yyyy-MM-dd") == input.CreationTime.Value.ToString("yyyy-MM-dd")) + .Select(x => new UserListOutput() { Id = x.Id, CreationChannle = string.IsNullOrEmpty(x.CreationChannleNum) ? "" : _lifePayChannlesRep.Where(c => c.ChannlesNum == x.CreationChannleNum).FirstOrDefault().ChannlesName, LastLoginChannle = string.IsNullOrEmpty(x.LastLoginChannleNum) ? "" : _lifePayChannlesRep.Where(c => c.ChannlesNum == x.LastLoginChannleNum).FirstOrDefault().ChannlesName, PhoneNumber = x.PhoneNumber, + Name = string.IsNullOrEmpty(x.Name) ? "" : x.Name, CreationTime = x.CreationTime, LastLoginTime = x.LastLoginTime }) @@ -1074,6 +1080,15 @@ await _lifePayOrderRepository.UpdateAsync(order); } + /// <summary> + /// 寰俊閫�娆� + /// </summary> + /// <param name="outTradeNo"></param> + /// <param name="reason"></param> + /// <param name="refund"></param> + /// <param name="total"></param> + /// <param name="currency"></param> + /// <returns></returns> public async Task<WxPayDomesticRefundsReponse> WxPayDomesticRefunds(string outTradeNo, string reason, int refund, int total, string currency = "CNY") { WxPayDomesticRefundsRequest req = new WxPayDomesticRefundsRequest @@ -1094,8 +1109,13 @@ return res; } + + public async Task<int> AddUpdateUserAccount(AddUpdateUserAccountInput input) { + var user = await _lifePayUserRepository.Where(r => r.Id == input.UserId && !r.IsDeleted).FirstOrDefaultAsync(); + CheckExtensions.IfTrueThrowUserFriendlyException(user == null, "鐢ㄦ埛涓嶅瓨鍦�"); + if (input.Id.HasValue) { var userAccount = await _lifePayAccount.Where(x => x.UserId == input.UserId && x.Id == input.Id) @@ -1133,6 +1153,16 @@ await _lifePayAccount.InsertAsync(userAccount); } + if (input.LifePayType == LifePayOrderTypeEnum.璇濊垂璁㈠崟) + { + var extraProperties = JsonConvert.DeserializeObject<Model_UserAccountExtraProperties>(input.ExtraProperties); + if (!string.IsNullOrEmpty(extraProperties.Name)) + { + user.Name = extraProperties.Name; + } + } + + return Constant.SUCCESS; } diff --git a/LifePayment/LifePayment.Application/User/UserRoleService.cs b/LifePayment/LifePayment.Application/User/UserRoleService.cs index 97fbd78..3a0aad5 100644 --- a/LifePayment/LifePayment.Application/User/UserRoleService.cs +++ b/LifePayment/LifePayment.Application/User/UserRoleService.cs @@ -53,10 +53,10 @@ Name = r.Name, }, Channles = from uc in u.UserChannle - from c in _channleRepository.Where(s => s.Id == uc.ChannleId) + from c in _channleRepository.Where(s => s.ChannlesNum == uc.ChannleId) select new UserChannleDto { - Id = c.Id, + Id = c.ChannlesNum, Name = c.ChannlesName, }, Remark = u.Remark, diff --git a/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs b/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs index 5f4a93e..69ba26d 100644 --- a/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs +++ b/LifePayment/LifePayment.Domain.Shared/Enum/LifePay/LifePayEnum.cs @@ -120,5 +120,11 @@ 鍥剧墖 = 1, [Description("瑙嗛")] - 瑙嗛 = 2 + 瑙嗛 = 2, + + [Description("瀵屾枃鏈�")] + 瀵屾枃鏈� = 3, + + [Description("寰俊鐨勫唴瀹�")] + 寰俊鐨勫唴瀹� = 4, } \ No newline at end of file diff --git a/LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs b/LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs index 1cbcb93..88a9193 100644 --- a/LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs +++ b/LifePayment/LifePayment.Domain.Shared/WeChat/WxPayPostBaseModel.cs @@ -772,4 +772,6 @@ public int RefundFee { get; set; } } + + } \ No newline at end of file diff --git a/LifePayment/LifePayment.Domain/Ali/AlipayApiConstant.cs b/LifePayment/LifePayment.Domain/Ali/AlipayApiConstant.cs index 407c6a0..7598a2f 100644 --- a/LifePayment/LifePayment.Domain/Ali/AlipayApiConstant.cs +++ b/LifePayment/LifePayment.Domain/Ali/AlipayApiConstant.cs @@ -17,7 +17,7 @@ internal const string FundTransCommonQuery = "alipay.fund.trans.common.query"; internal const string FundTransOrderChanged = "alipay.fund.trans.order.changed"; internal const string FundTransPagePay = "alipay.fund.trans.page.pay"; - + internal const string TradeRefund = "alipay.trade.refund"; //internal const string FundBatchUniTransfer = "alipay.fund.batch.uni.transfer"; //internal const string FundBatchDetailQuery = "alipay.fund.batch.detail.query"; diff --git a/LifePayment/LifePayment.Domain/Common/UserChannle.cs b/LifePayment/LifePayment.Domain/Common/UserChannle.cs index 770adbd..b4d23ae 100644 --- a/LifePayment/LifePayment.Domain/Common/UserChannle.cs +++ b/LifePayment/LifePayment.Domain/Common/UserChannle.cs @@ -13,7 +13,7 @@ /// <summary> /// 娓犻亾Id /// </summary> - public Guid ChannleId { get; set; } + public virtual string ChannleId { get; set; } public virtual User User { get; set; } } } \ No newline at end of file diff --git a/LifePayment/LifePayment.Domain/LifePay/LifePayUser.cs b/LifePayment/LifePayment.Domain/LifePay/LifePayUser.cs index 5540d1f..21ed0f8 100644 --- a/LifePayment/LifePayment.Domain/LifePay/LifePayUser.cs +++ b/LifePayment/LifePayment.Domain/LifePay/LifePayUser.cs @@ -16,6 +16,11 @@ public string PhoneNumber { get; set; } /// <summary> + /// 鍏呭�兼墜鏈哄彿瀵瑰簲鐨勬埛涓诲鍚� + /// </summary> + public string? Name { get; set; } + + /// <summary> /// 灏忕▼搴廜penId /// </summary> public string OpenId { get; set; } diff --git a/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml b/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml index 8fbb84f..676a9e4 100644 --- a/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml +++ b/LifePayment/LifePayment.Host/LifePaymentService.HttpApi.xml @@ -110,7 +110,7 @@ </summary> <returns></returns> </member> - <member name="M:LifePayment.HttpApi.LifePayController.GetUserPage(ZeroD.Util.PageInput)"> + <member name="M:LifePayment.HttpApi.LifePayController.GetUserPage(LifePayment.Application.Contracts.QueryUserPageInput)"> <summary> 鑾峰彇鐢ㄦ埛鍒嗛〉鏁版嵁 </summary> diff --git a/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml b/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml index 85e98c3..b3ef1b8 100644 --- a/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml +++ b/LifePayment/LifePayment.Host/LifePaymentServices.Application.Contracts.xml @@ -154,7 +154,7 @@ <param name="orderNo"></param> <returns></returns> </member> - <member name="M:LifePayment.Application.Contracts.ILifePayService.GetUserPage(ZeroD.Util.PageInput)"> + <member name="M:LifePayment.Application.Contracts.ILifePayService.GetUserPage(LifePayment.Application.Contracts.QueryUserPageInput)"> <summary> 鑾峰彇鐢ㄦ埛鍒嗛〉鏁版嵁 </summary> @@ -496,6 +496,16 @@ 澶囨敞 </summary> </member> + <member name="P:LifePayment.Application.Contracts.QueryUserPageInput.QueryCondition"> + <summary> + 鎵嬫満鍙�/鐢ㄦ埛鍚� + </summary> + </member> + <member name="P:LifePayment.Application.Contracts.QueryUserPageInput.CreationTime"> + <summary> + 娉ㄥ唽鏃堕棿 + </summary> + </member> <member name="P:LifePayment.Application.Contracts.LifePayIntroInfoInput.LifePayType"> <summary> 鐢熸椿缂磋垂绫诲瀷 @@ -566,6 +576,11 @@ 鐢ㄦ埛鎵嬫満鍙� </summary> </member> + <member name="P:LifePayment.Application.Contracts.UserListOutput.Name"> + <summary> + 濮撳悕 + </summary> + </member> <member name="P:LifePayment.Application.Contracts.UserListOutput.CreationChannle"> <summary> 鏈�鍚庣櫥褰曟笭閬� diff --git a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs index 41d72d7..78fcb0a 100644 --- a/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs +++ b/LifePayment/LifePayment.HttpApi/LifePay/LifePayController.cs @@ -164,7 +164,7 @@ /// <param name="input"></param> /// <returns></returns> [HttpPost] - public async Task<PageOutput<UserListOutput>> GetUserPage(PageInput input) + public async Task<PageOutput<UserListOutput>> GetUserPage(QueryUserPageInput input) { return await _lifePayService.GetUserPage(input); } -- Gitblit v1.9.1