From 6a4fbf989fcdde0e4e379aba6d224737da3474eb Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期二, 02 九月 2025 15:41:19 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/AlipayUserAgreementPageSignNotifyCommand.cs |   65 +++++++++++---------------------
 FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs            |   37 +++++++++++++++---
 2 files changed, 53 insertions(+), 49 deletions(-)

diff --git a/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/AlipayUserAgreementPageSignNotifyCommand.cs b/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/AlipayUserAgreementPageSignNotifyCommand.cs
index 49d4b8b..066acf7 100644
--- a/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/AlipayUserAgreementPageSignNotifyCommand.cs
+++ b/FlexJobApi.Core/Models/UserServer/EnterpriseWallets/Commands/AlipayUserAgreementPageSignNotifyCommand.cs
@@ -13,57 +13,36 @@
     [Resource([EnumResourceController.UserServerEnterpriseWallet], AllowAnonymous = true, IsFromForm = true)]
     public class AlipayUserAgreementPageSignNotifyCommand : IRequest<bool>
     {
-        /// <summary>
-        /// 鍗忚浜у搧鐮侊紝鍟嗘埛鍜屾敮浠樺疂绛剧害鏃剁‘瀹氾紝涓嶅悓涓氬姟鍦烘櫙瀵瑰簲涓嶅悓鐨勭绾︿骇鍝佺爜銆�
-        /// </summary>
-        public string personal_product_code { get; set; }
-        /// <summary>
-        /// 褰撳墠绛剧害鐨勫崗璁満鏅��
-        /// </summary>
+        public string notify_id { get; set; }
+        public string notify_time { get; set; }
+        public string sign_type { get; set; }
+        public string sign { get; set; }
+        public string invalid_time { get; set; }
         public string sign_scene { get; set; }
-        /// <summary>
-        /// NORMAL	鍗忚褰撳墠鐘舵�� 1. TEMP锛氭殏瀛橈紝鍗忚鏈敓鏁堣繃锛� 2. NORMAL锛氭甯革紱 3. STOP锛氭殏鍋�
-        /// </summary>
-        public string status { get; set; }
-        /// <summary>
-        /// 鐢ㄦ埛绛剧害鐨勬敮浠樺疂璐﹀彿瀵瑰簲鐨勬敮浠樺疂鍞竴鐢ㄦ埛鍙枫�� 浠�2088寮�澶寸殑16浣嶇函鏁板瓧缁勬垚銆�
-        /// </summary>
-        public string alipay_user_id { get; set; }
-        /// <summary>
-        /// 鏀粯瀹濈郴缁熶腑鐢ㄤ互鍞竴鏍囪瘑鐢ㄦ埛绛剧害璁板綍鐨勭紪鍙枫��
-        /// </summary>
-        public string agreement_no { get; set; }
-        /// <summary>
-        /// 鏀粯瀹濅唬鎵e崗璁殑瀹為檯绛剧害鏃堕棿锛屾牸寮忎负yyyy-MM-dd HH:mm:ss銆�
-        /// </summary>
         public string sign_time { get; set; }
-        /// <summary>
-        /// 鐢ㄦ埛鍦ㄥ晢鎴风綉绔欑殑鐧诲綍璐﹀彿锛屽鏋滃晢鎴锋帴鍙d腑鏈紶锛屽垯涓嶄細杩斿洖
-        /// </summary>
+        public string alipay_user_id { get; set; }
+        public string status { get; set; }
+        public string forex_eligible { get; set; }
         public string external_logon_id { get; set; }
-        /// <summary>
-        /// 鏀粯瀹濆垎閰嶇粰寮�鍙戣�呯殑搴旂敤Id
-        /// </summary>
         public string app_id { get; set; }
-        /// <summary>
-        /// 鏀粯瀹濆垎閰嶇粰鍟嗘埛鐨勫簲鐢↖d
-        /// </summary>
         public string auth_app_id { get; set; }
-        /// <summary>
-        /// 浠f墸鍗忚涓爣绀虹敤鎴风殑鍞竴绛剧害鍙凤紙纭繚鍦ㄥ晢鎴风郴缁熶腑鍞竴锛夈��
-        /// </summary>
         public string external_agreement_no { get; set; }
-        /// <summary>
-        /// 鐢ㄦ埛浠f墸鍗忚鐨勫疄闄呯敓鏁堟椂闂达紝鏍煎紡涓簓yyy-MM-dd HH:mm:ss銆�
-        /// </summary>
+        public string personal_product_code { get; set; }
         public string valid_time { get; set; }
-        /// <summary>
-        /// 杩斿洖鑴辨晱鐨勬敮浠樺疂璐﹀彿銆�
-        /// </summary>
+        public string agreement_no { get; set; }
+        public string zm_open_id { get; set; }
+        public string alipay_open_id { get; set; }
+        public string merchant_app_id { get; set; }
         public string alipay_logon_id { get; set; }
-        /// <summary>
-        /// 鐢ㄦ埛绛剧害鎴愬姛閫氱煡绫诲瀷
-        /// </summary>
         public string notify_type { get; set; }
+        public string zm_score { get; set; }
+        public string single_quota { get; set; }
+        public string login_token { get; set; }
+        public string device_id { get; set; }
+        public string credit_auth_mode { get; set; }
+        public string specified_sort_assets { get; set; }
+        public string partner_id { get; set; }
+        public string modify_type { get; set; }
+        public string next_deduct_time { get; set; }
     }
 }
diff --git a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs
index d1d7d4c..5fb092c 100644
--- a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs
@@ -1,7 +1,12 @@
-锘縰sing FlexJobApi.Core;
+锘縰sing Azure;
+using FlexJobApi.Core;
 using Furion;
+using Furion.DatabaseAccessor;
+using Furion.FriendlyException;
 using MediatR;
 using Microsoft.AspNetCore.Http;
+using Microsoft.EntityFrameworkCore;
+using Org.BouncyCastle.Ocsp;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -14,12 +19,12 @@
     /// 鏀粯瀹濋�氱煡鍥炰紶
     /// </summary>
     public class GetAlipayNotifyCommandHandler(
-            IHttpContextAccessor httpContextAccessor
+            IRepository<EnterpriseWallet> rep
         ) :
         IRequestHandler<GetAlipayNotifyCommand, bool>,
         IRequestHandler<AlipayUserAgreementPageSignNotifyCommand, bool>
     {
-        private readonly IHttpContextAccessor httpContextAccessor = httpContextAccessor;
+        private readonly IRepository<EnterpriseWallet> rep = rep;
 
         /// <summary>
         /// 鏀粯瀹濋�氱煡鍥炰紶
@@ -38,10 +43,30 @@
         /// <param name="request"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        public Task<bool> Handle(AlipayUserAgreementPageSignNotifyCommand request, CancellationToken cancellationToken)
+        public async Task<bool> Handle(AlipayUserAgreementPageSignNotifyCommand request, CancellationToken cancellationToken)
         {
-            Console.WriteLine(httpContextAccessor.HttpContext.Request.QueryString);
-            return Task.FromResult(true);
+            var entity = await rep.AsQueryable()
+                .Where(it => it.Code == request.external_agreement_no)
+                .FirstOrDefaultAsync();
+            if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "浼佷笟閽卞寘");
+            entity.AgreementNo = request.agreement_no;
+            entity.SignTime = request.sign_time.ToDateTime();
+            entity.ValidTime = request.valid_time.ToDateTime();
+            entity.InvalidTime = request.invalid_time.ToDateTime();
+            entity.SignStatus = request.status == "TEMP"
+                ? EnumEnterpriseWalletSignStatus.Apply
+                : request.status == "NORMAL"
+                ? EnumEnterpriseWalletSignStatus.Normal
+                : request.status == "STOP"
+                ? EnumEnterpriseWalletSignStatus.Stop
+                : throw Oops.Oh(EnumErrorCodeType.s510, "鐘舵�佸紓甯�");
+            entity.AlipayLogonId = request.alipay_logon_id;
+            entity.PrincipalId = request.alipay_user_id;
+            entity.PrincipalOpenId = request.alipay_open_id;
+            entity.ZmOpenId = request.zm_open_id;
+            entity.CreditAuthMode = request.credit_auth_mode;
+            await rep.UpdateAsync(entity);
+            return true;
         }
     }
 }

--
Gitblit v1.9.1