From 6396dac27ca99e84a2e3c772fb079bceddf67ff8 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期一, 01 十二月 2025 18:17:45 +0800
Subject: [PATCH] feat:开发
---
ApiTools.Application/WxUtils/Commands/WxmpSubscribMessageCommandHandler.cs | 59 +++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 45 insertions(+), 14 deletions(-)
diff --git a/ApiTools.Application/WxUtils/Commands/WxmpSubscribMessageCommandHandler.cs b/ApiTools.Application/WxUtils/Commands/WxmpSubscribMessageCommandHandler.cs
index 3e600b2..ee2ea78 100644
--- a/ApiTools.Application/WxUtils/Commands/WxmpSubscribMessageCommandHandler.cs
+++ b/ApiTools.Application/WxUtils/Commands/WxmpSubscribMessageCommandHandler.cs
@@ -1,5 +1,9 @@
锘縰sing Aop.Api.Domain;
using ApiTools.Core;
+using ApiTools.Core.Entities.LogRecords;
+using Furion;
+using Furion.DatabaseAccessor;
+using Furion.HttpRemote;
using log4net.Core;
using MediatR;
using Microsoft.AspNetCore.Http;
@@ -13,16 +17,18 @@
namespace ApiTools.Application
{
public class WxmpSubscribMessageCommandHandler(
+ IRepository<WxmpSubscribMessageLog> repWxmpSubscribMessageLog,
ILogger<WxmpSubscribMessageCommandHandler> logger,
WxmpUtils utils,
- IHttpContextAccessor httpContextAccessor
+ IHttpRemoteService httpRemoteService
) :
IRequestHandler<SendWxmpSubscribMessageCommand, Guid>,
- IRequestHandler<WxmpSubscribMessageNotifyCommand, bool>
+ IRequestHandler<WxmpSubscribMessageNotifyCommand, Guid>
{
+ private readonly IRepository<WxmpSubscribMessageLog> repWxmpSubscribMessageLog = repWxmpSubscribMessageLog;
private readonly ILogger<WxmpSubscribMessageCommandHandler> logger = logger;
private readonly WxmpUtils utils = utils;
- private readonly IHttpContextAccessor httpContextAccessor = httpContextAccessor;
+ private readonly IHttpRemoteService httpRemoteService = httpRemoteService;
/// <summary>
/// 寰俊灏忕▼搴忓彂閫佽闃呮秷鎭�
@@ -40,7 +46,17 @@
WxmpCode = request.WxmpCode,
Touser = request.Touser,
});
- return Guid.Empty;
+ var log = new WxmpSubscribMessageLog
+ {
+ Code = request.WxmpCode,
+ OpenId = request.Touser,
+ SubscribeStatusString = "send",
+ TemplateId = request.TemplateId,
+ Page = request.Page,
+ Data = request.Data.ToJson()
+ };
+ await repWxmpSubscribMessageLog.InsertNowAsync(log);
+ return log.Id;
}
/// <summary>
@@ -49,18 +65,33 @@
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
- public async Task<bool> Handle(WxmpSubscribMessageNotifyCommand request, CancellationToken cancellationToken)
+ public async Task<Guid> Handle(WxmpSubscribMessageNotifyCommand request, CancellationToken cancellationToken)
{
- var req = httpContextAccessor.HttpContext.Request;
- logger.LogInformation($"寰俊灏忕▼搴忚闃呮秷鎭�氱煡query锛歿req.QueryString.Value}");
+ var env = App.GetConfig<string>("Environment");
+ if (env == "Product")
+ {
+ try
+ {
+ var json = request.ToJson();
+ await httpRemoteService.PostAsStringAsync("http://118.178.252.28:8780/api/common/wxmp/wxmpSubscribMessageNotify",
+ builder => builder.SetJsonContent(json));
+ }
+ catch
+ {
- req.EnableBuffering();
- req.Body.Position = 0;
- using var reader = new StreamReader(req.Body, Encoding.UTF8, leaveOpen: true);
- var body = await reader.ReadToEndAsync();
- logger.LogInformation($"寰俊灏忕▼搴忚闃呮秷鎭�氱煡body锛歿body}");
- req.Body.Position = 0;
- return true;
+ }
+ }
+
+ var log = new WxmpSubscribMessageLog
+ {
+ Code = request.Code,
+ OpenId = request.OpenId,
+ PopupScene = request.Content.PopupScene,
+ SubscribeStatusString = request.Content.SubscribeStatusString,
+ TemplateId = request.Content.TemplateId
+ };
+ await repWxmpSubscribMessageLog.InsertNowAsync(log);
+ return log.Id;
}
}
}
--
Gitblit v1.9.1