From 582011fe0778b89312a3a9f886a24d687530aad4 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期二, 02 九月 2025 14:45:47 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.UserServer.Application/EnterpriseWallets/Queries/EnterpriseWalletQueryHandler.cs | 73 ++++ FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/CloseEnterpriseWalletCommand.cs | 21 + FlexJobApi.Core/Utils/AlipayUtils/AlipayOptions.cs | 2 FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/AlipayFundExpandindirectCommandHandler.cs | 6 FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs | 28 + FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/AlipayFundExpandindirectCreateCommand.cs | 10 FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/EnterpriseWalletCommandHandler.cs | 122 ++++++++ FlexJobApi.Web.Entry/appsettings.json | 2 FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/OpenEnterpriseWalletCommand.cs | 33 ++ FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/GetAlipayNotifyCommand.cs | 17 + FlexJobApi.Core/Enums/Users/EnumEnterpriseWalletSignStatus.cs | 27 + FlexJobApi.Core/FlexJobApi.Core.xml | 220 ++++++++++++++ FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs | 88 +++-- FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml | 59 +++ FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseWallet.cs | 72 ++++ FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Queries/GetEnterpriseWalletQuery.cs | 69 ++++ 16 files changed, 796 insertions(+), 53 deletions(-) diff --git a/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseWallet.cs b/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseWallet.cs index b4fc0ba..d8bc453 100644 --- a/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseWallet.cs +++ b/FlexJobApi.Core/Entities/UserServer/Enterprises/EnterpriseWallet.cs @@ -25,5 +25,77 @@ /// 閫氶亾 /// </summary> public EnumEnterpriseWalletAccess Access { get; set; } + + /// <summary> + /// 鍗忚浜у搧鐮侊紝鍟嗘埛鍜屾敮浠樺疂绛剧害鏃剁‘瀹氾紝涓嶅悓涓氬姟鍦烘櫙瀵瑰簲涓嶅悓鐨勭绾︿骇鍝佺爜銆� + /// </summary> + public string PersonalProductCode { get; set; } + /// <summary> + /// 绛剧害鍗忚鐨勫満鏅�� + /// </summary> + public string SignScene { get; set; } + /// <summary> + /// 绛剧害绗笁鏂逛富浣撶被鍨嬨�傚浜庝笁鏂瑰崗璁紝琛ㄧず褰撳墠鐢ㄦ埛鍜屽摢涓�绫荤殑绗笁鏂逛富浣撹繘琛岀绾︺�� 榛樿涓篜ARTNER銆� + /// </summary> + public string ThirdPartyType { get; set; } + /// <summary> + /// 閿�鍞骇鍝佺爜锛屽晢鎴风绾︾殑鏀粯瀹濆悎鍚屾墍瀵瑰簲鐨勪骇鍝佺爜銆� + /// </summary> + public string ProductCode { get; set; } + + /// <summary> + /// 鍗忚鍙� + /// </summary> + public string Code { get; set; } + + /// <summary> + /// 閫氶亾鍗忚鍙� + /// </summary> + public string AgreementNo { get; set; } + + /// <summary> + /// 鍗忚绛剧害鏃堕棿 + /// </summary> + public DateTime? SignTime { get; set; } + + /// <summary> + /// 鍗忚鐢熸晥鏃堕棿 + /// </summary> + public DateTime? ValidTime { get; set; } + + /// <summary> + /// 鍗忚澶辨晥鏃堕棿 + /// </summary> + public DateTime? InvalidTime { get; set; } + + /// <summary> + /// 绛剧害鐘舵�� + /// </summary> + public EnumEnterpriseWalletSignStatus SignStatus { get; set; } + + /// <summary> + /// 绛剧害涓讳綋绫诲瀷銆� + /// </summary> + public string PricipalType { get; set; } + /// <summary> + /// 鑴辨晱鐨勬敮浠樺疂璐﹀彿 + /// </summary> + public string AlipayLogonId { get; set; } + /// <summary> + /// 绛剧害涓讳綋鏍囪瘑銆� 褰損rincipal_type涓篊ARD 鏃讹紝璇ュ瓧娈典负鏀粯瀹濈敤鎴峰彿; + /// </summary> + public string PrincipalId { get; set; } + /// <summary> + /// 绛剧害涓讳綋鏍囪瘑銆� 褰損rincipal_type涓篊ARD 鏃讹紝璇ュ瓧娈典负鏀粯瀹濈敤鎴峰彿; + /// </summary> + public string PrincipalOpenId { get; set; } + /// <summary> + /// 鐢ㄦ埛鐨勮姖楹讳俊鐢� openId锛屼緵鍟� 鎴锋煡璇㈢敤鎴疯姖楹讳俊鐢ㄤ娇鐢ㄣ�� + /// </summary> + public string ZmOpenId { get; set; } + /// <summary> + /// 鎺堜俊妯″紡锛岀洰鍓嶅彧鍦ㄨ姳鑺濅唬鎵o紙鍗宠姳鑺漡o锛夊崗璁椂鎵嶄細杩斿洖 + /// </summary> + public string CreditAuthMode { get; set; } } } diff --git a/FlexJobApi.Core/Enums/Users/EnumEnterpriseWalletSignStatus.cs b/FlexJobApi.Core/Enums/Users/EnumEnterpriseWalletSignStatus.cs new file mode 100644 index 0000000..122c239 --- /dev/null +++ b/FlexJobApi.Core/Enums/Users/EnumEnterpriseWalletSignStatus.cs @@ -0,0 +1,27 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 浼佷笟閽卞寘绛剧害鐘舵�� + /// </summary> + public enum EnumEnterpriseWalletSignStatus + { + /// <summary> + /// 鐢宠涓� + /// </summary> + Apply = 10, + /// <summary> + /// 宸茬绾� + /// </summary> + Normal = 100, + /// <summary> + /// 缁堟 + /// </summary> + Stop = 999 + } +} diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml index 212986f..ae56fd7 100644 --- a/FlexJobApi.Core/FlexJobApi.Core.xml +++ b/FlexJobApi.Core/FlexJobApi.Core.xml @@ -2055,6 +2055,86 @@ 閫氶亾 </summary> </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.PersonalProductCode"> + <summary> + 鍗忚浜у搧鐮侊紝鍟嗘埛鍜屾敮浠樺疂绛剧害鏃剁‘瀹氾紝涓嶅悓涓氬姟鍦烘櫙瀵瑰簲涓嶅悓鐨勭绾︿骇鍝佺爜銆� + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.SignScene"> + <summary> + 绛剧害鍗忚鐨勫満鏅�� + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.ThirdPartyType"> + <summary> + 绛剧害绗笁鏂逛富浣撶被鍨嬨�傚浜庝笁鏂瑰崗璁紝琛ㄧず褰撳墠鐢ㄦ埛鍜屽摢涓�绫荤殑绗笁鏂逛富浣撹繘琛岀绾︺�� 榛樿涓篜ARTNER銆� + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.ProductCode"> + <summary> + 閿�鍞骇鍝佺爜锛屽晢鎴风绾︾殑鏀粯瀹濆悎鍚屾墍瀵瑰簲鐨勪骇鍝佺爜銆� + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.Code"> + <summary> + 鍗忚鍙� + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.AgreementNo"> + <summary> + 閫氶亾鍗忚鍙� + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.SignTime"> + <summary> + 鍗忚绛剧害鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.ValidTime"> + <summary> + 鍗忚鐢熸晥鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.InvalidTime"> + <summary> + 鍗忚澶辨晥鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.SignStatus"> + <summary> + 绛剧害鐘舵�� + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.PricipalType"> + <summary> + 绛剧害涓讳綋绫诲瀷銆� + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.AlipayLogonId"> + <summary> + 鑴辨晱鐨勬敮浠樺疂璐﹀彿 + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.PrincipalId"> + <summary> + 绛剧害涓讳綋鏍囪瘑銆� 褰損rincipal_type涓篊ARD 鏃讹紝璇ュ瓧娈典负鏀粯瀹濈敤鎴峰彿; + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.PrincipalOpenId"> + <summary> + 绛剧害涓讳綋鏍囪瘑銆� 褰損rincipal_type涓篊ARD 鏃讹紝璇ュ瓧娈典负鏀粯瀹濈敤鎴峰彿; + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.ZmOpenId"> + <summary> + 鐢ㄦ埛鐨勮姖楹讳俊鐢� openId锛屼緵鍟� 鎴锋煡璇㈢敤鎴疯姖楹讳俊鐢ㄤ娇鐢ㄣ�� + </summary> + </member> + <member name="P:FlexJobApi.Core.EnterpriseWallet.CreditAuthMode"> + <summary> + 鎺堜俊妯″紡锛岀洰鍓嶅彧鍦ㄨ姳鑺濅唬鎵o紙鍗宠姳鑺漡o锛夊崗璁椂鎵嶄細杩斿洖 + </summary> + </member> <member name="T:FlexJobApi.Core.Menu"> <summary> 鑿滃崟 @@ -3640,6 +3720,26 @@ <member name="F:FlexJobApi.Core.EnumEnterpriseWalletAccess.Alipay"> <summary> 鏀粯瀹� + </summary> + </member> + <member name="T:FlexJobApi.Core.EnumEnterpriseWalletSignStatus"> + <summary> + 浼佷笟閽卞寘绛剧害鐘舵�� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumEnterpriseWalletSignStatus.Apply"> + <summary> + 鐢宠涓� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumEnterpriseWalletSignStatus.Normal"> + <summary> + 宸茬绾� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumEnterpriseWalletSignStatus.Stop"> + <summary> + 缁堟 </summary> </member> <member name="T:FlexJobApi.Core.EnumMenuType"> @@ -9467,19 +9567,14 @@ 杞处鍦烘櫙璇存槑 </summary> </member> - <member name="P:FlexJobApi.Core.AlipayFundExpandindirectCreateCommand.SceneImageOssUrl"> + <member name="P:FlexJobApi.Core.AlipayFundExpandindirectCreateCommand.SceneImage"> <summary> 杞处鍦烘櫙鎴浘 </summary> </member> - <member name="P:FlexJobApi.Core.AlipayFundExpandindirectCreateCommand.SceneQualificationImageOssUrl"> + <member name="P:FlexJobApi.Core.AlipayFundExpandindirectCreateCommand.SceneQualificationImage"> <summary> - 鍟嗘埛琛屼笟璧勮川鍥剧墖 - </summary> - </member> - <member name="P:FlexJobApi.Core.AlipayFundExpandindirectCreateCommand.SceneQualificationText"> - <summary> - 鍟嗘埛琛屼笟璧勮川鍗忚鏂囨湰 + 鍟嗘埛琛屼笟璧勮川鍥剧墖鎴栧崗璁枃鏈� </summary> </member> <member name="P:FlexJobApi.Core.AlipayFundExpandindirectCreateCommand.SitesInfo"> @@ -9595,6 +9690,41 @@ <member name="P:FlexJobApi.Core.AlipayFundExpandindirectOrderCancelCommand.Id"> <summary> 浠h繘浠跺崟Id + </summary> + </member> + <member name="T:FlexJobApi.Core.CloseEnterpriseWalletCommand"> + <summary> + 鍏抽棴浼佷笟閽卞寘 + </summary> + </member> + <member name="P:FlexJobApi.Core.CloseEnterpriseWalletCommand.Access"> + <summary> + 閫氶亾 + </summary> + </member> + <member name="T:FlexJobApi.Core.GetAlipayNotifyCommand"> + <summary> + 鏀粯瀹濋�氱煡鍥炰紶 + </summary> + </member> + <member name="T:FlexJobApi.Core.OpenEnterpriseWalletCommand"> + <summary> + 寮�閫氫紒涓氶挶鍖� + </summary> + </member> + <member name="P:FlexJobApi.Core.OpenEnterpriseWalletCommand.Access"> + <summary> + 閫氶亾 + </summary> + </member> + <member name="T:FlexJobApi.Core.OpenEnterpriseWalletCommandResult"> + <summary> + 寮�閫氫紒涓氶挶鍖� + </summary> + </member> + <member name="P:FlexJobApi.Core.OpenEnterpriseWalletCommandResult.SignUrl"> + <summary> + 绛剧害鍦板潃 </summary> </member> <member name="T:FlexJobApi.Core.GetAlipayFundExpandindirectOrderQuery"> @@ -9775,6 +9905,61 @@ <member name="P:FlexJobApi.Core.GetAlipayUserAgreementPageSignNotifyQuery.notify_type"> <summary> 鐢ㄦ埛绛剧害鎴愬姛閫氱煡绫诲瀷 + </summary> + </member> + <member name="T:FlexJobApi.Core.GetEnterpriseWalletQuery"> + <summary> + 鏌ヨ浼佷笟閽卞寘璇︽儏 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseWalletQuery.Access"> + <summary> + 閫氶亾 + </summary> + </member> + <member name="T:FlexJobApi.Core.GetEnterpriseWalletQueryResult"> + <summary> + 鏌ヨ浼佷笟閽卞寘寮�閫氱粨鏋� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseWalletQueryResult.Id"> + <summary> + 閽卞寘Id + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseWalletQueryResult.Access"> + <summary> + 閫氶亾 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseWalletQueryResult.Code"> + <summary> + 鍗忚鍙� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseWalletQueryResult.AgreementNo"> + <summary> + 閫氶亾鍗忚鍙� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseWalletQueryResult.SignTime"> + <summary> + 鍗忚绛剧害鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseWalletQueryResult.ValidTime"> + <summary> + 鍗忚鐢熸晥鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseWalletQueryResult.InvalidTime"> + <summary> + 鍗忚澶辨晥鏃堕棿 + </summary> + </member> + <member name="P:FlexJobApi.Core.GetEnterpriseWalletQueryResult.SignStatus"> + <summary> + 绛剧害鐘舵�� </summary> </member> <member name="T:FlexJobApi.Core.DeleteMenuCommand"> @@ -12393,6 +12578,25 @@ 闃块噷鏀粯宸ュ叿 </summary> </member> + <member name="M:FlexJobApi.Core.AlipayUtils.UserAgreementPageSign(Aop.Api.Domain.AlipayUserAgreementPageSignModel,System.String)"> + <summary> + 鏀粯瀹濅釜浜哄崗璁〉闈㈢绾︽帴鍙� + </summary> + <param name="model"></param> + <param name="notifyUrl"></param> + </member> + <member name="M:FlexJobApi.Core.AlipayUtils.UserAgreementQuery(Aop.Api.Domain.AlipayUserAgreementQueryModel)"> + <summary> + 鏀粯瀹濅釜浜轰唬鎵e崗璁煡璇㈡帴鍙� + </summary> + <param name="model"></param> + </member> + <member name="M:FlexJobApi.Core.AlipayUtils.UserAgreementUnsign(Aop.Api.Domain.AlipayUserAgreementUnsignModel)"> + <summary> + 鏀粯瀹濅釜浜轰唬鎵e崗璁В绾︽帴鍙� + </summary> + <param name="model"></param> + </member> <member name="M:FlexJobApi.Core.AlipayUtils.FundExpandindirectImageUpload(Aop.Api.Request.AlipayFundExpandindirectImageUploadRequest)"> <summary> 璧勯噾浜岀骇鍟嗘埛KYB浠h繘浠舵枃浠朵笂浼犳帴鍙� diff --git a/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/AlipayFundExpandindirectCreateCommand.cs b/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/AlipayFundExpandindirectCreateCommand.cs index 03bcfc2..a805660 100644 --- a/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/AlipayFundExpandindirectCreateCommand.cs +++ b/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/AlipayFundExpandindirectCreateCommand.cs @@ -57,15 +57,11 @@ /// <summary> /// 杞处鍦烘櫙鎴浘 /// </summary> - public string SceneImageOssUrl { get; set; } + public string SceneImage { get; set; } /// <summary> - /// 鍟嗘埛琛屼笟璧勮川鍥剧墖 + /// 鍟嗘埛琛屼笟璧勮川鍥剧墖鎴栧崗璁枃鏈� /// </summary> - public string SceneQualificationImageOssUrl { get; set; } - /// <summary> - /// 鍟嗘埛琛屼笟璧勮川鍗忚鏂囨湰 - /// </summary> - public string SceneQualificationText { get; set; } + public string SceneQualificationImage { get; set; } /// <summary> /// 鍟嗘埛绔欑偣淇℃伅 /// </summary> diff --git a/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/CloseEnterpriseWalletCommand.cs b/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/CloseEnterpriseWalletCommand.cs new file mode 100644 index 0000000..af114a2 --- /dev/null +++ b/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/CloseEnterpriseWalletCommand.cs @@ -0,0 +1,21 @@ +锘縰sing MediatR; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 鍏抽棴浼佷笟閽卞寘 + /// </summary> + [Resource([EnumResourceController.UserServerEnterpriseWallet])] + public class CloseEnterpriseWalletCommand : IRequest<Guid> + { + /// <summary> + /// 閫氶亾 + /// </summary> + public EnumEnterpriseWalletAccess Access { get; set; } + } +} diff --git a/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/GetAlipayNotifyCommand.cs b/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/GetAlipayNotifyCommand.cs new file mode 100644 index 0000000..c66df9f --- /dev/null +++ b/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/GetAlipayNotifyCommand.cs @@ -0,0 +1,17 @@ +锘縰sing MediatR; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 鏀粯瀹濋�氱煡鍥炰紶 + /// </summary> + [Resource([EnumResourceController.UserServerEnterpriseWallet], AllowAnonymous = true, IsFromForm = true)] + public class GetAlipayNotifyCommand : IRequest<bool> + { + } +} diff --git a/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/OpenEnterpriseWalletCommand.cs b/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/OpenEnterpriseWalletCommand.cs new file mode 100644 index 0000000..63695cb --- /dev/null +++ b/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/OpenEnterpriseWalletCommand.cs @@ -0,0 +1,33 @@ +锘縰sing MediatR; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 寮�閫氫紒涓氶挶鍖� + /// </summary> + [Resource([EnumResourceController.UserServerEnterpriseWallet])] + public class OpenEnterpriseWalletCommand : IRequest<OpenEnterpriseWalletCommandResult> + { + /// <summary> + /// 閫氶亾 + /// </summary> + public EnumEnterpriseWalletAccess Access { get; set; } + + } + + /// <summary> + /// 寮�閫氫紒涓氶挶鍖� + /// </summary> + public class OpenEnterpriseWalletCommandResult + { + /// <summary> + /// 绛剧害鍦板潃 + /// </summary> + public string SignUrl { get; set; } + } +} diff --git a/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Queries/GetEnterpriseWalletQuery.cs b/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Queries/GetEnterpriseWalletQuery.cs new file mode 100644 index 0000000..106e51b --- /dev/null +++ b/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Queries/GetEnterpriseWalletQuery.cs @@ -0,0 +1,69 @@ +锘縰sing Aop.Api.Domain; +using MediatR; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Serialization; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 鏌ヨ浼佷笟閽卞寘璇︽儏 + /// </summary> + [Resource([EnumResourceController.UserServerEnterpriseWallet])] + public class GetEnterpriseWalletQuery : IRequest<GetEnterpriseWalletQueryResult> + { + /// <summary> + /// 閫氶亾 + /// </summary> + public EnumEnterpriseWalletAccess Access { get; set; } + } + + /// <summary> + /// 鏌ヨ浼佷笟閽卞寘寮�閫氱粨鏋� + /// </summary> + public class GetEnterpriseWalletQueryResult + { + /// <summary> + /// 閽卞寘Id + /// </summary> + public Guid Id { get; set; } + + /// <summary> + /// 閫氶亾 + /// </summary> + public EnumEnterpriseWalletAccess Access { get; set; } + + /// <summary> + /// 鍗忚鍙� + /// </summary> + public string Code { get; set; } + + /// <summary> + /// 閫氶亾鍗忚鍙� + /// </summary> + public string AgreementNo { get; set; } + + /// <summary> + /// 鍗忚绛剧害鏃堕棿 + /// </summary> + public DateTime? SignTime { get; set; } + + /// <summary> + /// 鍗忚鐢熸晥鏃堕棿 + /// </summary> + public DateTime? ValidTime { get; set; } + + /// <summary> + /// 鍗忚澶辨晥鏃堕棿 + /// </summary> + public DateTime? InvalidTime { get; set; } + + /// <summary> + /// 绛剧害鐘舵�� + /// </summary> + public EnumEnterpriseWalletSignStatus SignStatus { get; set; } + } +} diff --git a/FlexJobApi.Core/Utils/AlipayUtils/AlipayOptions.cs b/FlexJobApi.Core/Utils/AlipayUtils/AlipayOptions.cs index ee75137..cbced34 100644 --- a/FlexJobApi.Core/Utils/AlipayUtils/AlipayOptions.cs +++ b/FlexJobApi.Core/Utils/AlipayUtils/AlipayOptions.cs @@ -17,7 +17,7 @@ public string SignType { get; set; } public string AppCertPath { get; set; } public string AlipayPublicCertPath { get; set; } - public string RootCertContent { get; set; } + public string RootCertPath { get; set; } public string AlipayPublicKey { get; set; } public string NotifyUrl { get; set; } public string EncryptKey { get; set; } diff --git a/FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs b/FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs index acc878d..f363e67 100644 --- a/FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs +++ b/FlexJobApi.Core/Utils/AlipayUtils/AlipayUtils.cs @@ -5,11 +5,14 @@ using Aop.Api.Request; using Aop.Api.Response; using Aop.Api.Util; +using Furion; using Furion.FriendlyException; +using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -23,11 +26,15 @@ { private readonly IAopClient alipayClient; private readonly ILogger<AlipayUtils> logger; + private readonly IOptions<AlipayOptions> options; public AlipayUtils( ILogger<AlipayUtils> logger, IOptions<AlipayOptions> options) { + var appCertPath = Path.Combine(App.WebHostEnvironment.ContentRootPath, options.Value.AppCertPath); + var alipayPublicCertPath = Path.Combine(App.WebHostEnvironment.ContentRootPath, options.Value.AlipayPublicCertPath); + var rootCertPath = Path.Combine(App.WebHostEnvironment.ContentRootPath, options.Value.RootCertPath); alipayClient = new DefaultAopClient(new AlipayConfig { ServerUrl = options.Value.ServerUrl, @@ -36,44 +43,62 @@ Format = options.Value.Format, Charset = options.Value.Charset, SignType = options.Value.SignType, - AppCertPath = options.Value.AppCertPath, - AlipayPublicCertPath = options.Value.AlipayPublicCertPath, - RootCertContent = options.Value.RootCertContent, + AppCertPath = appCertPath, + AlipayPublicCertPath = alipayPublicCertPath, + RootCertPath = rootCertPath, AlipayPublicKey = options.Value.AlipayPublicKey, EncryptKey = options.Value.EncryptKey, }); this.logger = logger; + this.options = options; } - public void UserAgreementPageSign(AlipayUserAgreementPageSignModel model) + /// <summary> + /// 鏀粯瀹濅釜浜哄崗璁〉闈㈢绾︽帴鍙� + /// </summary> + /// <param name="model"></param> + /// <param name="notifyUrl"></param> + public AlipayUserAgreementPageSignResponse UserAgreementPageSign(AlipayUserAgreementPageSignModel model, string notifyUrl = null) { - // 鍒濆鍖朣DK - // 鏋勯�犺姹傚弬鏁颁互璋冪敤鎺ュ彛 + logger.LogInformation($"姝e湪鎵ц鏀粯瀹濅釜浜哄崗璁〉闈㈢绾︽帴鍙o細{model.ToJson()}"); AlipayUserAgreementPageSignRequest request = new AlipayUserAgreementPageSignRequest(); - model.PersonalProductCode = "FUND_SAFT_SIGN_WITHHOLDING_P"; - model.SignScene = "INDUSTRY|SATF_ACC"; - model.ThirdPartyType = "PARTNER"; - model.AccessParams = new AccessParams - { - Channel = "" - }; - // 璁剧疆绛剧害鏈夋晥鏃堕棿闄愬埗 - model.EffectTime = 300; - request.SetBizModel(model); - //request.SetNotifyUrl(); + if (notifyUrl.IsNotNull()) + { + notifyUrl = $"{options.Value.NotifyUrl}{notifyUrl}"; + request.SetNotifyUrl(notifyUrl); + } AlipayUserAgreementPageSignResponse response = alipayClient.pageExecute(request, null, "GET"); - string pageRedirectionData = response.Body; - Console.WriteLine(pageRedirectionData); + logger.LogInformation($"缁撴灉锛歿response.ToJson()}"); + return response; + } - if (!response.IsError) - { - Console.WriteLine("璋冪敤鎴愬姛"); - } - else - { - Console.WriteLine("璋冪敤澶辫触"); - } + /// <summary> + /// 鏀粯瀹濅釜浜轰唬鎵e崗璁煡璇㈡帴鍙� + /// </summary> + /// <param name="model"></param> + public AlipayUserAgreementQueryResponse UserAgreementQuery(AlipayUserAgreementQueryModel model) + { + logger.LogInformation($"姝e湪鎵ц鏀粯瀹濅釜浜轰唬鎵e崗璁煡璇㈡帴鍙o細{model.ToJson()}"); + AlipayUserAgreementQueryRequest request = new AlipayUserAgreementQueryRequest(); + request.SetBizModel(model); + AlipayUserAgreementQueryResponse response = alipayClient.CertificateExecute(request); + logger.LogInformation($"缁撴灉锛歿response.ToJson()}"); + return response; + } + + /// <summary> + /// 鏀粯瀹濅釜浜轰唬鎵e崗璁В绾︽帴鍙� + /// </summary> + /// <param name="model"></param> + public AlipayUserAgreementUnsignResponse UserAgreementUnsign(AlipayUserAgreementUnsignModel model) + { + logger.LogInformation($"姝e湪鎵ц鏀粯瀹濅釜浜轰唬鎵e崗璁В绾︽帴鍙o細{model.ToJson()}"); + AlipayUserAgreementUnsignRequest request = new AlipayUserAgreementUnsignRequest(); + request.SetBizModel(model); + AlipayUserAgreementUnsignResponse response = alipayClient.CertificateExecute(request); + logger.LogInformation($"缁撴灉锛歿response.ToJson()}"); + return response; } /// <summary> @@ -83,7 +108,7 @@ public AlipayFundExpandindirectImageUploadResponse FundExpandindirectImageUpload(AlipayFundExpandindirectImageUploadRequest request) { logger.LogInformation("姝e湪鎵ц璧勯噾浜岀骇鍟嗘埛KYB浠h繘浠舵枃浠朵笂浼犳帴鍙�"); - AlipayFundExpandindirectImageUploadResponse response = alipayClient.Execute(request); + AlipayFundExpandindirectImageUploadResponse response = alipayClient.CertificateExecute(request); logger.LogInformation($"缁撴灉锛歿response.ToJson()}"); return response; } @@ -101,9 +126,10 @@ request.SetBizModel(model); if (notifyUrl.IsNotNull()) { + notifyUrl = $"{options.Value.NotifyUrl}{notifyUrl}"; request.SetNotifyUrl(notifyUrl); } - AlipayFundExpandindirectCreateResponse response = alipayClient.Execute(request); + AlipayFundExpandindirectCreateResponse response = alipayClient.CertificateExecute(request); logger.LogInformation($"缁撴灉锛歿response.ToJson()}"); return response; } @@ -118,7 +144,7 @@ logger.LogInformation($"姝e湪鎵ц璧勯噾浜岀骇鍟嗘埛KYB浠h繘浠跺崟鏌ヨ鎺ュ彛锛歿model.ToJson()}"); AlipayFundExpandindirectOrderQueryRequest request = new AlipayFundExpandindirectOrderQueryRequest(); request.SetBizModel(model); - AlipayFundExpandindirectOrderQueryResponse response = alipayClient.Execute(request); + AlipayFundExpandindirectOrderQueryResponse response = alipayClient.CertificateExecute(request); logger.LogInformation($"缁撴灉锛歿response.ToJson()}"); return response; } @@ -134,7 +160,7 @@ logger.LogInformation($"姝e湪鎵ц璧勯噾浜岀骇鍟嗘埛KYB浠h繘浠跺崟鍙栨秷鎺ュ彛锛歿model.ToJson()}"); AlipayFundExpandindirectOrderCancelRequest request = new AlipayFundExpandindirectOrderCancelRequest(); request.SetBizModel(model); - AlipayFundExpandindirectOrderCancelResponse response = alipayClient.Execute(request); + AlipayFundExpandindirectOrderCancelResponse response = alipayClient.CertificateExecute(request); logger.LogInformation($"缁撴灉锛歿response.ToJson()}"); return response; } diff --git a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/AlipayFundExpandindirectCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/AlipayFundExpandindirectCommandHandler.cs index dd51658..710425b 100644 --- a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/AlipayFundExpandindirectCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/AlipayFundExpandindirectCommandHandler.cs @@ -20,7 +20,6 @@ /// 鏀粯瀹濊祫閲戜簩绾у晢鎴稫YB浠h繘浠� /// </summary> public class AlipayFundExpandindirectCommandHandler( - IOptions<AlipayOptions> options, AlipayUtils alipayUtils, IHttpRemoteService httpRemoteService, IRepository<AlipayFundExpandindirectOrder> rep @@ -30,7 +29,6 @@ IRequestHandler<AlipayFundExpandindirectOrderCancelCommand, Guid>, IRequestHandler<AlipayFundExpandindirectCreateNotifyCommand, Guid> { - private readonly IOptions<AlipayOptions> options = options; private readonly AlipayUtils alipayUtils = alipayUtils; private readonly IHttpRemoteService httpRemoteService = httpRemoteService; private readonly IRepository<AlipayFundExpandindirectOrder> rep = rep; @@ -83,7 +81,7 @@ secondaryPartnerInfo.Name = entity.Name; secondaryPartnerInfo.IdentityType = entity.IdentityType; model.SecondaryPartnerInfo = secondaryPartnerInfo; - var result = alipayUtils.FundExpandindirectCreate(model, $"{options.Value.NotifyUrl}/api/user/enterpriseWallet/alipayFundExpandindirectCreateNotify"); + var result = alipayUtils.FundExpandindirectCreate(model, $"/api/user/enterpriseWallet/alipayFundExpandindirectCreateNotify"); if (result.IsError) { entity.RiskReviewRemark = result.Msg; @@ -115,7 +113,7 @@ { ProductCode = request.ProductCode, BizScene = request.BizScene, - ImageType = Path.GetExtension(request.File.FileName), + ImageType = Path.GetExtension(request.File.FileName).Trim('.').ToLower(), ImageContent = new Aop.Api.Util.FileItem(request.File.FileName, bytes) }); if (result.IsError) throw Oops.Oh(EnumErrorCodeType.s510, result.Msg); diff --git a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/EnterpriseWalletCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/EnterpriseWalletCommandHandler.cs new file mode 100644 index 0000000..5fd388d --- /dev/null +++ b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/EnterpriseWalletCommandHandler.cs @@ -0,0 +1,122 @@ +锘縰sing Aop.Api.Domain; +using Azure; +using FlexJobApi.Core; +using Furion.DatabaseAccessor; +using Furion.DistributedIDGenerator; +using Furion.FriendlyException; +using MediatR; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.UserServer.Application +{ + /// <summary> + /// 浼佷笟閽卞寘鍛戒护澶勭悊鍣� + /// </summary> + public class EnterpriseWalletCommandHandler( + IRepository<EnterpriseWallet> rep, + IRepository<Enterprise> repEnterprise, + AlipayUtils alipayUtils + ) : + IRequestHandler<OpenEnterpriseWalletCommand, OpenEnterpriseWalletCommandResult>, + IRequestHandler<CloseEnterpriseWalletCommand, Guid> + { + private readonly IRepository<EnterpriseWallet> rep = rep; + private readonly IRepository<Enterprise> repEnterprise = repEnterprise; + private readonly AlipayUtils alipayUtils = alipayUtils; + + /// <summary> + /// 寮�閫氫紒涓氶挶鍖� + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<OpenEnterpriseWalletCommandResult> Handle(OpenEnterpriseWalletCommand request, CancellationToken cancellationToken) + { + var logier = JwtUtils.GetCurrentLogier(); + var enterprise = await repEnterprise.AsQueryable().AsNoTracking() + .Where(it => it.Id == logier.EnterpriseId) + .FirstOrDefaultAsync(); + if (enterprise == null) throw Oops.Oh(EnumErrorCodeType.s404, "浼佷笟"); + if (!enterprise.IsReal) throw Oops.Oh(EnumErrorCodeType.s510, "璇峰厛瀹炲悕"); + var entity = await rep.AsQueryable() + .Where(it => it.EnterpriseId == logier.EnterpriseId && it.Access == request.Access) + .FirstOrDefaultAsync(); + if (entity == null) + { + entity = new EnterpriseWallet(); + entity.EnterpriseId = logier.EnterpriseId!.Value; + entity.Access = EnumEnterpriseWalletAccess.Alipay; + entity.PersonalProductCode = "FUND_SAFT_SIGN_WITHHOLDING_P"; + entity.SignScene = "INDUSTRY|SATF_ACC"; + entity.ThirdPartyType = "PARTNER"; + entity.ProductCode = "FUND_SAFT_SIGN_WITHHOLDING"; + entity.SignStatus = EnumEnterpriseWalletSignStatus.Apply; + await SetCode(entity); + await rep.InsertAsync(entity); + } + else + { + if (entity.SignStatus == EnumEnterpriseWalletSignStatus.Normal) throw Oops.Oh(EnumErrorCodeType.s510, "宸茬绾�"); + entity.SignStatus = EnumEnterpriseWalletSignStatus.Apply; + await rep.UpdateAsync(entity); + } + var model = new AlipayUserAgreementPageSignModel(); + model.ExternalLogonId = enterprise.Id.ToString(); + model.PersonalProductCode = entity.PersonalProductCode; + model.SignScene = entity.SignScene; + model.ExternalAgreementNo = entity.Code; + model.ThirdPartyType = entity.ThirdPartyType; + model.ProductCode = entity.ProductCode; + model.AccessParams = new AccessParams + { + Channel = "QRCODE" + }; + var response = alipayUtils.UserAgreementPageSign(model, $"/api/user/enterpriseWallet/getAlipayUserAgreementPageSignNotify"); + if (response.IsError) throw Oops.Oh(EnumErrorCodeType.s510, response.SubMsg ?? response.Msg); + var result = new OpenEnterpriseWalletCommandResult(); + result.SignUrl = response.PageRedirectionData; + return result; + } + + /// <summary> + /// 鍏抽棴浼佷笟閽卞寘 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<Guid> Handle(CloseEnterpriseWalletCommand request, CancellationToken cancellationToken) + { + var logier = JwtUtils.GetCurrentLogier(); + var entity = await rep.AsQueryable() + .Where(it => it.EnterpriseId == logier.EnterpriseId && it.Access == request.Access) + .FirstOrDefaultAsync(); + if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "浼佷笟閽卞寘"); + if (entity.SignStatus != EnumEnterpriseWalletSignStatus.Normal) throw Oops.Oh(EnumErrorCodeType.s510, "鏈绾�"); + var response = alipayUtils.UserAgreementUnsign(new AlipayUserAgreementUnsignModel + { + ExternalAgreementNo = entity.Code, + PersonalProductCode = entity.PersonalProductCode, + SignScene = entity.SignScene + }); + if (response.IsError) throw Oops.Oh(EnumErrorCodeType.s510, response.SubMsg ?? response.Msg); + entity.SignStatus = EnumEnterpriseWalletSignStatus.Stop; + return entity.Id; + } + + private async Task SetCode(EnterpriseWallet entity) + { + entity.Code = $"{DateTime.Now:yyyyMMddHHmmss}{new Random(IDGen.NextID().GetHashCode()).Next(1000, 9999)}"; + var exist = await rep.AsQueryable().AsNoTracking() + .AnyAsync(it => it.Code == entity.Code); + if (exist) + { + await SetCode(entity); + } + } + } +} diff --git a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs new file mode 100644 index 0000000..b34a4c8 --- /dev/null +++ b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs @@ -0,0 +1,28 @@ +锘縰sing FlexJobApi.Core; +using MediatR; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.UserServer.Application +{ + /// <summary> + /// 鏀粯瀹濋�氱煡鍥炰紶 + /// </summary> + public class GetAlipayNotifyCommandHandler : + IRequestHandler<GetAlipayNotifyCommand, bool> + { + /// <summary> + /// 鏀粯瀹濋�氱煡鍥炰紶 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public Task<bool> Handle(GetAlipayNotifyCommand request, CancellationToken cancellationToken) + { + return Task.FromResult(true); + } + } +} diff --git a/FlexJobApi.UserServer.Application/EnterpriseWallets/Queries/EnterpriseWalletQueryHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseWallets/Queries/EnterpriseWalletQueryHandler.cs new file mode 100644 index 0000000..140759f --- /dev/null +++ b/FlexJobApi.UserServer.Application/EnterpriseWallets/Queries/EnterpriseWalletQueryHandler.cs @@ -0,0 +1,73 @@ +锘縰sing FlexJobApi.Core; +using Furion.DatabaseAccessor; +using Furion.FriendlyException; +using Mapster; +using MediatR; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.UserServer.Application +{ + /// <summary> + /// 浼佷笟閽卞寘鏌ヨ澶勭悊鍣� + /// </summary> + public class EnterpriseWalletQueryHandler( + IRepository<EnterpriseWallet> rep, + AlipayUtils alipayUtils + ) : + IRequestHandler<GetEnterpriseWalletQuery, GetEnterpriseWalletQueryResult> + { + private readonly IRepository<EnterpriseWallet> rep = rep; + private readonly AlipayUtils alipayUtils = alipayUtils; + + /// <summary> + /// 鏌ヨ浼佷笟閽卞寘璇︽儏 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<GetEnterpriseWalletQueryResult> Handle(GetEnterpriseWalletQuery request, CancellationToken cancellationToken) + { + var logier = JwtUtils.GetCurrentLogier(); + var entity = await rep.AsQueryable() + .Where(it => it.EnterpriseId == logier.EnterpriseId && it.Access == request.Access) + .FirstOrDefaultAsync(); + if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "浼佷笟閽卞寘"); + if (entity.SignStatus == EnumEnterpriseWalletSignStatus.Apply) + { + var response = alipayUtils.UserAgreementQuery(new Aop.Api.Domain.AlipayUserAgreementQueryModel + { + PersonalProductCode = entity.PersonalProductCode, + SignScene = entity.SignScene, + ExternalAgreementNo = entity.Code, + ThirdPartyType = entity.ThirdPartyType, + }); + if (response.IsError) throw Oops.Oh(EnumErrorCodeType.s510, response.SubMsg ?? response.Msg); + entity.AgreementNo = response.AgreementNo; + entity.SignTime = response.SignTime.ToDateTime(); + entity.ValidTime = response.ValidTime.ToDateTime(); + entity.InvalidTime = response.InvalidTime.ToDateTime(); + entity.SignStatus = response.Status == "TEMP" + ? EnumEnterpriseWalletSignStatus.Apply + : response.Status == "NORMAL" + ? EnumEnterpriseWalletSignStatus.Normal + : response.Status == "STOP" + ? EnumEnterpriseWalletSignStatus.Stop + : throw Oops.Oh(EnumErrorCodeType.s510, "鐘舵�佸紓甯�"); + entity.PricipalType = response.PricipalType; + entity.AlipayLogonId = response.AlipayLogonId; + entity.PrincipalId = response.PrincipalId; + entity.PrincipalOpenId = response.PrincipalOpenId; + entity.ZmOpenId = response.ZmOpenId; + entity.CreditAuthMode = response.CreditAuthMode; + await rep.UpdateAsync(entity); + } + var model = entity.Adapt<GetEnterpriseWalletQueryResult>(); + return model; + } + } +} diff --git a/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml index 318a418..583e338 100644 --- a/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml +++ b/FlexJobApi.UserServer.Application/FlexJobApi.UserServer.Application.xml @@ -569,7 +569,7 @@ 鏀粯瀹濊祫閲戜簩绾у晢鎴稫YB浠h繘浠� </summary> </member> - <member name="M:FlexJobApi.UserServer.Application.AlipayFundExpandindirectCommandHandler.#ctor(Microsoft.Extensions.Options.IOptions{FlexJobApi.Core.AlipayOptions},FlexJobApi.Core.AlipayUtils,Furion.HttpRemote.IHttpRemoteService,Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.AlipayFundExpandindirectOrder})"> + <member name="M:FlexJobApi.UserServer.Application.AlipayFundExpandindirectCommandHandler.#ctor(FlexJobApi.Core.AlipayUtils,Furion.HttpRemote.IHttpRemoteService,Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.AlipayFundExpandindirectOrder})"> <summary> 鏀粯瀹濊祫閲戜簩绾у晢鎴稫YB浠h繘浠� </summary> @@ -607,6 +607,45 @@ <param name="cancellationToken"></param> <returns></returns> </member> + <member name="T:FlexJobApi.UserServer.Application.EnterpriseWalletCommandHandler"> + <summary> + 浼佷笟閽卞寘鍛戒护澶勭悊鍣� + </summary> + </member> + <member name="M:FlexJobApi.UserServer.Application.EnterpriseWalletCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.EnterpriseWallet},Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.Enterprise},FlexJobApi.Core.AlipayUtils)"> + <summary> + 浼佷笟閽卞寘鍛戒护澶勭悊鍣� + </summary> + </member> + <member name="M:FlexJobApi.UserServer.Application.EnterpriseWalletCommandHandler.Handle(FlexJobApi.Core.OpenEnterpriseWalletCommand,System.Threading.CancellationToken)"> + <summary> + 寮�閫氫紒涓氶挶鍖� + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> + <member name="M:FlexJobApi.UserServer.Application.EnterpriseWalletCommandHandler.Handle(FlexJobApi.Core.CloseEnterpriseWalletCommand,System.Threading.CancellationToken)"> + <summary> + 鍏抽棴浼佷笟閽卞寘 + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> + <member name="T:FlexJobApi.UserServer.Application.GetAlipayNotifyCommandHandler"> + <summary> + 鏀粯瀹濋�氱煡鍥炰紶 + </summary> + </member> + <member name="M:FlexJobApi.UserServer.Application.GetAlipayNotifyCommandHandler.Handle(FlexJobApi.Core.GetAlipayNotifyCommand,System.Threading.CancellationToken)"> + <summary> + 鏀粯瀹濋�氱煡鍥炰紶 + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> <member name="T:FlexJobApi.UserServer.Application.AlipayFundExpandindirectQueryHandler"> <summary> 鏌ヨ鏀粯瀹濊祫閲戜簩绾у晢鎴稫YB浠h繘浠跺崟璇︽儏 @@ -638,6 +677,24 @@ <param name="cancellationToken"></param> <returns></returns> </member> + <member name="T:FlexJobApi.UserServer.Application.EnterpriseWalletQueryHandler"> + <summary> + 浼佷笟閽卞寘鏌ヨ澶勭悊鍣� + </summary> + </member> + <member name="M:FlexJobApi.UserServer.Application.EnterpriseWalletQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.EnterpriseWallet},FlexJobApi.Core.AlipayUtils)"> + <summary> + 浼佷笟閽卞寘鏌ヨ澶勭悊鍣� + </summary> + </member> + <member name="M:FlexJobApi.UserServer.Application.EnterpriseWalletQueryHandler.Handle(FlexJobApi.Core.GetEnterpriseWalletQuery,System.Threading.CancellationToken)"> + <summary> + 鏌ヨ浼佷笟閽卞寘璇︽儏 + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> <member name="F:FlexJobApi.UserServer.Application.EnumUserErrorCodeType.u1000"> <summary> 璐﹀彿鎴栧瘑鐮佷笉瀛樺湪 diff --git a/FlexJobApi.Web.Entry/appsettings.json b/FlexJobApi.Web.Entry/appsettings.json index e55df62..6383c3b 100644 --- a/FlexJobApi.Web.Entry/appsettings.json +++ b/FlexJobApi.Web.Entry/appsettings.json @@ -56,7 +56,7 @@ "SignType": "RSA2", "AppCertPath": "AlipayCert/appCertPublicKey_2021004171602214.crt", "AlipayPublicCertPath": "AlipayCert/alipayCertPublicKey_RSA2.crt", - "RootCertContent": "AlipayCert/alipayRootCert.crt", + "RootCertPath": "AlipayCert/alipayRootCert.crt", "NotifyUrl": "https://testfj.81812333.com", "EncryptKey": "jjy8A7hB/1Bkhg+8FtXyyg==", "AlipayPublicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoDrOheetqHkE1RYaNhogP/iHVXEtGZW4A/JJnwpJs+6eLXfpXf/ecuywplDpgc/BXSUEnDaktUwceLXO8vdIf8h0y8yqWwYdgzC0xELYpTroK3dlNiShgVkUEeMXi+n3Mhjp9OVrqieggDI3YGzDBLY4UAWsXCcXnD+r/xIpT8keVMtb/LrUmL5XLvBVcn5MkJTAoeFt18EQXOLFN1+ldpaf9k+iyM2fbgXCc6InNSgHGSHZwhzm9t+cGqNd1ju/nQN9lHwKCDQPMn6cor2lsP1nsEfpHp2vdfNEdccVSRZB/kdtFzXEUpTFznz8+zK2D0Ra+B0G1nSxus9xsD3HmwIDAQAB" -- Gitblit v1.9.1