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.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs |   50 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 47 insertions(+), 3 deletions(-)

diff --git a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs
index b34a4c8..5fb092c 100644
--- a/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/EnterpriseWallets/Commands/GetAlipayNotifyCommandHandler.cs
@@ -1,5 +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;
@@ -11,9 +18,14 @@
     /// <summary>
     /// 鏀粯瀹濋�氱煡鍥炰紶
     /// </summary>
-    public class GetAlipayNotifyCommandHandler :
-        IRequestHandler<GetAlipayNotifyCommand, bool>
+    public class GetAlipayNotifyCommandHandler(
+            IRepository<EnterpriseWallet> rep
+        ) :
+        IRequestHandler<GetAlipayNotifyCommand, bool>,
+        IRequestHandler<AlipayUserAgreementPageSignNotifyCommand, bool>
     {
+        private readonly IRepository<EnterpriseWallet> rep = rep;
+
         /// <summary>
         /// 鏀粯瀹濋�氱煡鍥炰紶
         /// </summary>
@@ -24,5 +36,37 @@
         {
             return Task.FromResult(true);
         }
+
+        /// <summary>
+        /// 鏀粯瀹濈敤鎴锋巿鏉冨崗璁绾﹂�氱煡
+        /// </summary>
+        /// <param name="request"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task<bool> Handle(AlipayUserAgreementPageSignNotifyCommand request, CancellationToken cancellationToken)
+        {
+            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