From 9f7df6c82745bf3f3722114610653c77fac68a43 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期五, 21 十一月 2025 10:24:38 +0800
Subject: [PATCH] feat:开发
---
ApiTools.Application/ApiTools.Application.csproj | 4
ApiTools.Core/Utils/WxmpUtils/WxmpOptions.cs | 18 +
ApiTools.Core/Models/WxmpUtils/Commands/WxmpSendSubscribMessageCommand.cs | 47 +++
ApiTools.Web.Entry/appsettings.json | 29 ++
ApiTools.Core/Enums/WxmpUtils/EnumWxmpSubscribMessageTemplate.cs | 35 ++
ApiTools.Core/Utils/WxmpUtils/WxmpSendSubscribMessageRequest.cs | 80 ++++++
ApiTools.Application/WxUtils/Commands/WxmpSubscribMessageCommandHandler.cs | 66 +++++
/dev/null | 36 ---
ApiTools.Application/ApiTools.Application.xml | 32 +-
ApiTools.Core/Enums/Resources/EnumResourceController.cs | 4
ApiTools.Core/Utils/WxmpUtils/WxmpGetQrCodeRequest.cs | 69 -----
ApiTools.Core/Utils/WxmpUtils/WxmpUtils.cs | 31 +-
ApiTools.Core/ApiTools.Core.xml | 228 ++++++++++--------
ApiTools.Core/Models/WxmpUtils/Commands/WxmpSubscribMessageNotifyCommand.cs | 22 +
14 files changed, 455 insertions(+), 246 deletions(-)
diff --git a/ApiTools.Application/ApiTools.Application.csproj b/ApiTools.Application/ApiTools.Application.csproj
index 4c7484c..806b4d8 100644
--- a/ApiTools.Application/ApiTools.Application.csproj
+++ b/ApiTools.Application/ApiTools.Application.csproj
@@ -16,4 +16,8 @@
<ProjectReference Include="..\ApiTools.Core\ApiTools.Core.csproj" />
</ItemGroup>
+ <ItemGroup>
+ <Folder Include="WxUtils\Queries\" />
+ </ItemGroup>
+
</Project>
diff --git a/ApiTools.Application/ApiTools.Application.xml b/ApiTools.Application/ApiTools.Application.xml
index a8261f0..c54741f 100644
--- a/ApiTools.Application/ApiTools.Application.xml
+++ b/ApiTools.Application/ApiTools.Application.xml
@@ -215,6 +215,22 @@
<param name="cancellationToken"></param>
<returns></returns>
</member>
+ <member name="M:ApiTools.Application.WxmpSubscribMessageCommandHandler.Handle(ApiTools.Core.WxmpSendSubscribMessageCommand,System.Threading.CancellationToken)">
+ <summary>
+ 寰俊灏忕▼搴忓彂閫佽闃呮秷鎭�
+ </summary>
+ <param name="request"></param>
+ <param name="cancellationToken"></param>
+ <returns></returns>
+ </member>
+ <member name="M:ApiTools.Application.WxmpSubscribMessageCommandHandler.Handle(ApiTools.Core.WxmpSubscribMessageNotifyCommand,System.Threading.CancellationToken)">
+ <summary>
+ 寰俊灏忕▼搴忚闃呮秷鎭�氱煡
+ </summary>
+ <param name="request"></param>
+ <param name="cancellationToken"></param>
+ <returns></returns>
+ </member>
<member name="T:ApiTools.CommonServer.Application.SaveSmsSettingCommandHandler">
<summary>
淇濆瓨鐭俊閰嶇疆
@@ -282,22 +298,6 @@
<member name="M:ApiTools.CommonServer.Application.GetSmsSettingQueryHandler.Handle(ApiTools.Core.GetSmsSettingQuery,System.Threading.CancellationToken)">
<summary>
鏌ヨ鐭俊閰嶇疆
- </summary>
- <param name="request"></param>
- <param name="cancellationToken"></param>
- <returns></returns>
- </member>
- <member name="M:ApiTools.CommonServer.Application.SaveWxCommandHandler.Handle(ApiTools.Core.SaveWxSendCommand,System.Threading.CancellationToken)">
- <summary>
- 璇ユ帴鍙g敤浜庡彂閫佽闃呮秷鎭�
- </summary>
- <param name="request"></param>
- <param name="cancellationToken"></param>
- <returns></returns>
- </member>
- <member name="M:ApiTools.CommonServer.Application.SaveWxSettingCommandHandler.Handle(ApiTools.Core.SaveWxSettingCommand,System.Threading.CancellationToken)">
- <summary>
- 淇濆瓨寰俊閰嶇疆
</summary>
<param name="request"></param>
<param name="cancellationToken"></param>
diff --git a/ApiTools.Application/WxUtils/Commands/SaveWxCommandHandler.cs b/ApiTools.Application/WxUtils/Commands/SaveWxCommandHandler.cs
deleted file mode 100644
index 18489f4..0000000
--- a/ApiTools.Application/WxUtils/Commands/SaveWxCommandHandler.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-锘縰sing ApiTools.Core;
-using Baidu.Aip;
-using MediatR;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace ApiTools.CommonServer.Application
-{
- public class SaveWxCommandHandler(WxmpUtils utils) : IRequestHandler<SaveWxSendCommand, string>
- {
- private readonly WxmpUtils utils = utils;
- /// <summary>
- /// 璇ユ帴鍙g敤浜庡彂閫佽闃呮秷鎭�
- /// </summary>
- /// <param name="request"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- public async Task<string> Handle(SaveWxSendCommand request, CancellationToken cancellationToken)
- {
- return await utils.WxSend(new SendRequest
- {
- WxmpCode = request.WxmpCode,
- //EnvVersion = request.EnvVersion,
- Template_id = request.Template_id.ToString(),
- Page = request.Page,
- Touser = request.Touser,
- Data = request.Data,
- //miniprogram_state = request.miniprogram_state,
- Lang = request.Lang
- });
- }
- }
-}
diff --git a/ApiTools.Application/WxUtils/Commands/SaveWxSettingCommandHandler.cs b/ApiTools.Application/WxUtils/Commands/SaveWxSettingCommandHandler.cs
deleted file mode 100644
index 7267a12..0000000
--- a/ApiTools.Application/WxUtils/Commands/SaveWxSettingCommandHandler.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-锘縰sing ApiTools.Core;
-using Furion.DatabaseAccessor;
-using Mapster;
-using MediatR;
-using Microsoft.EntityFrameworkCore;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace ApiTools.CommonServer.Application
-{
- public class SaveWxSettingCommandHandler(IRepository<WxSetting> rep) :IRequestHandler<SaveWxSettingCommand, Guid>
- {
- private readonly IRepository<WxSetting> rep = rep;
-
- /// <summary>
- /// 淇濆瓨寰俊閰嶇疆
- /// </summary>
- /// <param name="request"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- public async Task<Guid> Handle(SaveWxSettingCommand request, CancellationToken cancellationToken)
- {
- var logier = JwtUtils.GetCurrentLogier();
- var entity = await rep.AsQueryable()
- .Where(it => it.Code == request.Code)
- .FirstOrDefaultAsync();
- var add = false;
- if (entity == null)
- {
- entity = new WxSetting();
- entity.Code = request.Code;
- entity.AppId = request.AppId;
- entity.AppSecret = request.AppSecret;
- entity.EnvVersion = request.EnvVersion;
- add = true;
- }
- request.Adapt(entity);
- if (add)
- {
- await rep.InsertAsync(entity);
- }
- else
- {
- await rep.UpdateAsync(entity);
- }
- return entity.Id;
- //return Guid.NewGuid();
- }
- }
-}
diff --git a/ApiTools.Application/WxUtils/Commands/WxmpSubscribMessageCommandHandler.cs b/ApiTools.Application/WxUtils/Commands/WxmpSubscribMessageCommandHandler.cs
new file mode 100644
index 0000000..25a8315
--- /dev/null
+++ b/ApiTools.Application/WxUtils/Commands/WxmpSubscribMessageCommandHandler.cs
@@ -0,0 +1,66 @@
+锘縰sing Aop.Api.Domain;
+using ApiTools.Core;
+using log4net.Core;
+using MediatR;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.Logging;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ApiTools.Application
+{
+ public class WxmpSubscribMessageCommandHandler(
+ ILogger<WxmpSubscribMessageCommandHandler> logger,
+ WxmpUtils utils,
+ IHttpContextAccessor httpContextAccessor
+ ) :
+ IRequestHandler<WxmpSendSubscribMessageCommand, Guid>,
+ IRequestHandler<WxmpSubscribMessageNotifyCommand, bool>
+ {
+ private readonly ILogger<WxmpSubscribMessageCommandHandler> logger = logger;
+ private readonly WxmpUtils utils = utils;
+ private readonly IHttpContextAccessor httpContextAccessor = httpContextAccessor;
+
+ /// <summary>
+ /// 寰俊灏忕▼搴忓彂閫佽闃呮秷鎭�
+ /// </summary>
+ /// <param name="request"></param>
+ /// <param name="cancellationToken"></param>
+ /// <returns></returns>
+ public async Task<Guid> Handle(WxmpSendSubscribMessageCommand request, CancellationToken cancellationToken)
+ {
+ await utils.WxmpSendSubscribMessage(new WxmpSendSubscribMessageRequest
+ {
+ Data = request.Data,
+ TemplateId = request.Template.ToString(),
+ Page = request.Page,
+ WxmpCode = request.WxmpCode,
+ Touser = request.Touser,
+ });
+ return Guid.Empty;
+ }
+
+ /// <summary>
+ /// 寰俊灏忕▼搴忚闃呮秷鎭�氱煡
+ /// </summary>
+ /// <param name="request"></param>
+ /// <param name="cancellationToken"></param>
+ /// <returns></returns>
+ public async Task<bool> Handle(WxmpSubscribMessageNotifyCommand request, CancellationToken cancellationToken)
+ {
+ var req = httpContextAccessor.HttpContext.Request;
+ logger.LogInformation($"寰俊灏忕▼搴忚闃呮秷鎭�氱煡query锛歿req.QueryString.Value}");
+
+ 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;
+ }
+ }
+}
diff --git a/ApiTools.Application/WxUtils/Queries/GetWxSettingQueryHandler.cs b/ApiTools.Application/WxUtils/Queries/GetWxSettingQueryHandler.cs
deleted file mode 100644
index 29b6550..0000000
--- a/ApiTools.Application/WxUtils/Queries/GetWxSettingQueryHandler.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-锘縰sing ApiTools.Core;
-using Furion.DatabaseAccessor;
-using MediatR;
-using Microsoft.EntityFrameworkCore;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace ApiTools.CommonServer.Application
-{
- //public class GetWxSettingQueryHandler(IRepository<SmsSetting> rep, IRepository<SmsLog> repSmsLog) : IRequestHandler<GetSmsSettingQuery, GetSmsSettingQueryResult>
- //{
- // private readonly IRepository<SmsSetting> rep = rep;
- // private readonly IRepository<SmsLog> repSmsLog = repSmsLog;
-
- // /// <summary>
- // /// 鏌ヨ鐭俊閰嶇疆
- // /// </summary>
- // /// <param name="request"></param>
- // /// <param name="cancellationToken"></param>
- // /// <returns></returns>
- // public async Task<GetSmsSettingQueryResult> Handle(GetSmsSettingQuery request, CancellationToken cancellationToken)
- // {
- // var logier = JwtUtils.GetCurrentLogier();
- // var detail = await rep.AsQueryable().AsNoTracking()
- // .Where(it => it.ChannelId == logier.ChannelId)
- // .GetDetail<SmsSetting, GetSmsSettingQueryResult>();
- // detail.Accesses = detail.Accesses.OrderBy(it => it.Sort).ToList();
- // return detail;
- // }
- //}
-}
diff --git a/ApiTools.Core/ApiTools.Core.xml b/ApiTools.Core/ApiTools.Core.xml
index 75f2db9..53af37e 100644
--- a/ApiTools.Core/ApiTools.Core.xml
+++ b/ApiTools.Core/ApiTools.Core.xml
@@ -1280,31 +1280,6 @@
鐘舵��
</summary>
</member>
- <member name="T:ApiTools.Core.WxSetting">
- <summary>
- 寰俊閰嶇疆
- </summary>
- </member>
- <member name="P:ApiTools.Core.WxSetting.Code">
- <summary>
- 缂栧彿
- </summary>
- </member>
- <member name="P:ApiTools.Core.WxSetting.AppId">
- <summary>
- 灏忕▼搴廔D
- </summary>
- </member>
- <member name="P:ApiTools.Core.WxSetting.AppSecret">
- <summary>
- 灏忕▼搴忓瘑閽�
- </summary>
- </member>
- <member name="P:ApiTools.Core.WxSetting.EnvVersion">
- <summary>
- 鐗堟湰
- </summary>
- </member>
<member name="F:ApiTools.Core.EnumErrorCodeType.s400">
<summary>
鍙傛暟閿欒
@@ -1525,7 +1500,7 @@
鐭俊宸ュ叿
</summary>
</member>
- <member name="F:ApiTools.Core.EnumResourceController.CommonServerWxUtils">
+ <member name="F:ApiTools.Core.EnumResourceController.CommonServerWxmpUtils">
<summary>
寰俊宸ュ叿
</summary>
@@ -1957,6 +1932,36 @@
杞处
</summary>
</member>
+ <member name="T:ApiTools.Core.EnumWxmpSubscribMessageTemplate">
+ <summary>
+ 寰俊灏忕▼搴忚闃呮秷鎭ā鏉�
+ </summary>
+ </member>
+ <member name="F:ApiTools.Core.EnumWxmpSubscribMessageTemplate.SettlementCompletedToSupplier">
+ <summary>
+ 鏀粯鎴愬姛鎻愰啋 缁撶畻瀹屾垚鍚庡悜鎵挎徑绔鐞嗗憳鎺ㄩ��
+ </summary>
+ </member>
+ <member name="F:ApiTools.Core.EnumWxmpSubscribMessageTemplate.SettlementAuditCompletedToSupplier">
+ <summary>
+ 鎶ラ叕缁撶畻瀹℃牳缁撴灉閫氱煡 鐢叉柟缁撶畻纭鍚庡悜鎵挎徑绔鐞嗗憳鎺ㄩ��
+ </summary>
+ </member>
+ <member name="F:ApiTools.Core.EnumWxmpSubscribMessageTemplate.SettlementReceiveCompletedToUser">
+ <summary>
+ 宸ヨ祫鍙戞斁閫氱煡 缁撶畻瀹屾垚鍚庡悜C绔汉鍛橀�氱煡
+ </summary>
+ </member>
+ <member name="F:ApiTools.Core.EnumWxmpSubscribMessageTemplate.HireCompletedToUser">
+ <summary>
+ 鎶ュ悕褰曠敤缁撴灉閫氱煡 琚綍鐢ㄥ悗鍚慍绔汉鍛橀�氱煡
+ </summary>
+ </member>
+ <member name="F:ApiTools.Core.EnumWxmpSubscribMessageTemplate.ArrangeCompletedToUser">
+ <summary>
+ 鎺掔彮鎴愬姛閫氱煡 鎺掔彮鍚庡悜C绔汉鍛橀�氱煡
+ </summary>
+ </member>
<member name="T:ApiTools.Core.IIsDisabled">
<summary>
鏄惁宸茬鐢�
@@ -2001,6 +2006,16 @@
<member name="P:ApiTools.Core.ITreeData`1.Code">
<summary>
缂栧彿
+ </summary>
+ </member>
+ <member name="T:ApiTools.Core.Jobs.RefreshChannelWalletSignStatusJob">
+ <summary>
+ 鍒锋柊娓犻亾閽卞寘鐘舵��
+ </summary>
+ </member>
+ <member name="M:ApiTools.Core.Jobs.RefreshChannelWalletSignStatusJob.#ctor(ApiTools.Core.ChannelWalletRepository,ApiTools.Core.ChannelWalletService)">
+ <summary>
+ 鍒锋柊娓犻亾閽卞寘鐘舵��
</summary>
</member>
<member name="T:ApiTools.Core.RefreshChannelWalletTransactionStatusJob">
@@ -3268,64 +3283,39 @@
绛惧悕鍚嶇О
</summary>
</member>
- <member name="T:ApiTools.Core.SaveWxSendCommand">
+ <member name="T:ApiTools.Core.WxmpSendSubscribMessageCommand">
<summary>
- 璇ユ帴鍙g敤浜庡彂閫佽闃呮秷鎭�
+ 寰俊灏忕▼搴忓彂閫佽闃呮秷鎭�
</summary>
</member>
- <member name="P:ApiTools.Core.SaveWxSendCommand.WxmpCode">
+ <member name="P:ApiTools.Core.WxmpSendSubscribMessageCommand.WxmpCode">
<summary>
灏忕▼搴忕紪鍙�
</summary>
</member>
- <member name="P:ApiTools.Core.SaveWxSendCommand.Template_id">
+ <member name="P:ApiTools.Core.WxmpSendSubscribMessageCommand.Template">
<summary>
- 鎵�闇�涓嬪彂鐨勮闃呮ā鏉縤d锛堝仛鎴愭灇涓撅級
+ 鎵�闇�涓嬪彂鐨勮闃呮ā鏉縤d
</summary>
</member>
- <member name="P:ApiTools.Core.SaveWxSendCommand.Page">
+ <member name="P:ApiTools.Core.WxmpSendSubscribMessageCommand.Page">
<summary>
- 鐐瑰嚮妯℃澘鍗$墖鍚庣殑璺宠浆椤甸潰锛屼粎闄愭湰灏忕▼搴忓唴鐨勯〉闈€�傛敮鎸佸甫鍙傛暟,锛堢ず渚媔ndex?foo=bar锛夈�傝瀛楁涓嶅~鍒欐ā鏉挎棤璺宠浆锛堝仛鍒伴厤缃枃浠堕噷闈級
+ 鐐瑰嚮妯℃澘鍗$墖鍚庣殑璺宠浆椤甸潰锛屼粎闄愭湰灏忕▼搴忓唴鐨勯〉闈€�傛敮鎸佸甫鍙傛暟,锛堢ず渚媔ndex?foo=bar锛夈�傝瀛楁涓嶅~鍒欐ā鏉挎棤璺宠浆
</summary>
</member>
- <member name="P:ApiTools.Core.SaveWxSendCommand.Touser">
+ <member name="P:ApiTools.Core.WxmpSendSubscribMessageCommand.Touser">
<summary>
鎺ユ敹鑰咃紙鐢ㄦ埛锛夌殑 openid
</summary>
</member>
- <member name="P:ApiTools.Core.SaveWxSendCommand.Data">
+ <member name="P:ApiTools.Core.WxmpSendSubscribMessageCommand.Data">
<summary>
妯℃澘鍐呭锛屾牸寮忓舰濡倇 "phrase3": { "value": "瀹℃牳閫氳繃" }, "name1": { "value": "璁㈤槄" }, "date2": { "value": "2019-12-25 09:42" } }
</summary>
</member>
- <member name="P:ApiTools.Core.SaveWxSendCommand.Lang">
+ <member name="T:ApiTools.Core.WxmpSubscribMessageNotifyCommand">
<summary>
- 璇█锛堥粯璁や腑鏂囷級
- </summary>
- </member>
- <member name="T:ApiTools.Core.SaveWxSettingCommand">
- <summary>
- 淇濆瓨寰俊閰嶇疆
- </summary>
- </member>
- <member name="P:ApiTools.Core.SaveWxSettingCommand.Code">
- <summary>
- 缂栧彿
- </summary>
- </member>
- <member name="P:ApiTools.Core.SaveWxSettingCommand.AppId">
- <summary>
- 灏忕▼搴廔D
- </summary>
- </member>
- <member name="P:ApiTools.Core.SaveWxSettingCommand.AppSecret">
- <summary>
- 灏忕▼搴忓瘑閽�
- </summary>
- </member>
- <member name="P:ApiTools.Core.SaveWxSettingCommand.EnvVersion">
- <summary>
- 鐗堟湰
+ 寰俊灏忕▼搴忚闃呮秷鎭�氱煡
</summary>
</member>
<member name="M:ApiTools.Core.BaseRepository`2.GetQueryable(System.Boolean)">
@@ -6990,49 +6980,24 @@
閿欒淇℃伅
</summary>
</member>
- <member name="T:ApiTools.Core.SendRequest">
- <summary>
- 鍙戦�佽闃呮秷鎭�
- </summary>
- </member>
- <member name="P:ApiTools.Core.SendRequest.WxmpCode">
- <summary>
- 灏忕▼搴忕紪鍙�
- </summary>
- </member>
- <member name="P:ApiTools.Core.SendRequest.EnvVersion">
- <summary>
- 瑕佹墦寮�鐨勫皬绋嬪簭鐗堟湰銆傛寮忕増涓� "release"锛屼綋楠岀増涓� "trial"锛屽紑鍙戠増涓� "develop"銆傞粯璁ゆ槸姝e紡鐗堛��
- </summary>
- </member>
- <member name="P:ApiTools.Core.SendRequest.Template_id">
- <summary>
- 鎵�闇�涓嬪彂鐨勮闃呮ā鏉縤d
- </summary>
- </member>
- <member name="P:ApiTools.Core.SendRequest.Page">
- <summary>
- 鐐瑰嚮妯℃澘鍗$墖鍚庣殑璺宠浆椤甸潰锛屼粎闄愭湰灏忕▼搴忓唴鐨勯〉闈€�傛敮鎸佸甫鍙傛暟,锛堢ず渚媔ndex?foo=bar锛夈�傝瀛楁涓嶅~鍒欐ā鏉挎棤璺宠浆
- </summary>
- </member>
- <member name="P:ApiTools.Core.SendRequest.Touser">
- <summary>
- 鎺ユ敹鑰咃紙鐢ㄦ埛锛夌殑 openid
- </summary>
- </member>
- <member name="P:ApiTools.Core.SendRequest.Data">
- <summary>
- 妯℃澘鍐呭锛屾牸寮忓舰濡倇 "phrase3": { "value": "瀹℃牳閫氳繃" }, "name1": { "value": "璁㈤槄" }, "date2": { "value": "2019-12-25 09:42" } }
- </summary>
- </member>
- <member name="T:ApiTools.Core.SendResponse">
- <summary>
- 鍙戦�佽闃呮秷鎭�-缁撴灉
- </summary>
- </member>
<member name="T:ApiTools.Core.WxmpOptions">
<summary>
寰俊灏忕▼搴忛厤缃�
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.WxmpOptions.SubscribMessageTemplates">
+ <summary>
+ 璁㈤槄娑堟伅妯℃澘
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.WxmpOptionsSubscribMessageTemplate.TemplateId">
+ <summary>
+ 妯℃澘Id
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.WxmpOptionsSubscribMessageTemplate.Page">
+ <summary>
+ 椤甸潰
</summary>
</member>
<member name="P:ApiTools.Core.WxmpOptionsItem.Code">
@@ -7055,6 +7020,61 @@
鐗堟湰
</summary>
</member>
+ <member name="T:ApiTools.Core.WxmpSendSubscribMessageRequest">
+ <summary>
+ 寰俊灏忕▼搴忓彂閫佽闃呮秷鎭�
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.WxmpSendSubscribMessageRequest.WxmpCode">
+ <summary>
+ 灏忕▼搴忕紪鍙�
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.WxmpSendSubscribMessageRequest.TemplateId">
+ <summary>
+ 鎵�闇�涓嬪彂鐨勮闃呮ā鏉縤d
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.WxmpSendSubscribMessageRequest.Page">
+ <summary>
+ 鐐瑰嚮妯℃澘鍗$墖鍚庣殑璺宠浆椤甸潰锛屼粎闄愭湰灏忕▼搴忓唴鐨勯〉闈€�傛敮鎸佸甫鍙傛暟,锛堢ず渚媔ndex?foo=bar锛夈�傝瀛楁涓嶅~鍒欐ā鏉挎棤璺宠浆
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.WxmpSendSubscribMessageRequest.Touser">
+ <summary>
+ 鎺ユ敹鑰咃紙鐢ㄦ埛锛夌殑 openid
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.WxmpSendSubscribMessageRequest.Data">
+ <summary>
+ 妯℃澘鍐呭锛屾牸寮忓舰濡倇 "phrase3": { "value": "瀹℃牳閫氳繃" }, "name1": { "value": "璁㈤槄" }, "date2": { "value": "2019-12-25 09:42" } }
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.WxmpSendSubscribMessageRequest.EnvVersion">
+ <summary>
+ 璺宠浆灏忕▼搴忕被鍨嬶細developer涓哄紑鍙戠増锛泃rial涓轰綋楠岀増锛沠ormal涓烘寮忕増锛涢粯璁や负姝e紡鐗�
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.WxmpSendSubscribMessageRequest.Lang">
+ <summary>
+ 杩涘叆灏忕▼搴忔煡鐪嬧�濈殑璇█绫诲瀷锛屾敮鎸亃h_CN(绠�浣撲腑鏂�)銆乪n_US(鑻辨枃)銆亃h_HK(绻佷綋涓枃)銆亃h_TW(绻佷綋涓枃)锛岄粯璁や负zh_CN
+ </summary>
+ </member>
+ <member name="T:ApiTools.Core.WxmpSendSubscribMessageResponse">
+ <summary>
+ 寰俊灏忕▼搴忓彂閫佽闃呮秷鎭�
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.WxmpSendSubscribMessageResponse.ErrorCode">
+ <summary>
+ 閿欒鐮�
+ </summary>
+ </member>
+ <member name="P:ApiTools.Core.WxmpSendSubscribMessageResponse.ErrorMessage">
+ <summary>
+ 閿欒淇℃伅
+ </summary>
+ </member>
<member name="T:ApiTools.Core.WxmpUtils">
<summary>
寰俊灏忕▼搴忓伐鍏�
@@ -7074,9 +7094,9 @@
<param name="command"></param>
<returns></returns>
</member>
- <member name="M:ApiTools.Core.WxmpUtils.WxSend(ApiTools.Core.SendRequest)">
+ <member name="M:ApiTools.Core.WxmpUtils.WxmpSendSubscribMessage(ApiTools.Core.WxmpSendSubscribMessageRequest)">
<summary>
- 璇ユ帴鍙g敤浜庡彂閫佽闃呮秷鎭�
+ 鍙戦�佽闃呮秷鎭�
</summary>
<param name="command"></param>
<returns></returns>
diff --git a/ApiTools.Core/Entities/WxmpUtils/WxSetting.cs b/ApiTools.Core/Entities/WxmpUtils/WxSetting.cs
deleted file mode 100644
index 714f4e9..0000000
--- a/ApiTools.Core/Entities/WxmpUtils/WxSetting.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-锘縰sing Furion.DatabaseAccessor;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace ApiTools.Core
-{
-
- /// <summary>
- /// 寰俊閰嶇疆
- /// </summary>
- public class WxSetting : CommonEntity<MasterDbContextLocator>
- {
- /// <summary>
- /// 缂栧彿
- /// </summary>
- public string Code { get; set; }
-
- /// <summary>
- /// 灏忕▼搴廔D
- /// </summary>
- public string AppId { get; set; }
-
- /// <summary>
- /// 灏忕▼搴忓瘑閽�
- /// </summary>
- public string AppSecret { get; set; }
-
- /// <summary>
- /// 鐗堟湰
- /// </summary>
- public string EnvVersion { get; set; }
- }
-}
diff --git a/ApiTools.Core/Enums/Resources/EnumResourceController.cs b/ApiTools.Core/Enums/Resources/EnumResourceController.cs
index 7a347c4..007e404 100644
--- a/ApiTools.Core/Enums/Resources/EnumResourceController.cs
+++ b/ApiTools.Core/Enums/Resources/EnumResourceController.cs
@@ -35,8 +35,8 @@
/// <summary>
/// 寰俊宸ュ叿
/// </summary>
- [ResourceController(EnumResourceService.CommonServer, "Wx")]
- CommonServerWxUtils,
+ [ResourceController(EnumResourceService.CommonServer, "Wxmp")]
+ CommonServerWxmpUtils,
/// <summary>
/// 鐢ㄦ埛璁よ瘉
diff --git a/ApiTools.Core/Enums/WxmpUtils/EnumTemplate.cs b/ApiTools.Core/Enums/WxmpUtils/EnumTemplate.cs
deleted file mode 100644
index 261773a..0000000
--- a/ApiTools.Core/Enums/WxmpUtils/EnumTemplate.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-锘縰sing Furion.FriendlyException;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace ApiTools.Core.Enums.WxmpUtils
-{
- [ErrorCodeType]
- public enum EnumTemplate
- {
- [ErrorCodeItemMetadata("妯℃澘1")]
- Template01 = 01,
-
- [ErrorCodeItemMetadata("妯℃澘2")]
- Template02 = 02,
- }
-}
diff --git a/ApiTools.Core/Enums/WxmpUtils/EnumWxmpSubscribMessageTemplate.cs b/ApiTools.Core/Enums/WxmpUtils/EnumWxmpSubscribMessageTemplate.cs
new file mode 100644
index 0000000..0fce40e
--- /dev/null
+++ b/ApiTools.Core/Enums/WxmpUtils/EnumWxmpSubscribMessageTemplate.cs
@@ -0,0 +1,35 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ApiTools.Core
+{
+ /// <summary>
+ /// 寰俊灏忕▼搴忚闃呮秷鎭ā鏉�
+ /// </summary>
+ public enum EnumWxmpSubscribMessageTemplate
+ {
+ /// <summary>
+ /// 鏀粯鎴愬姛鎻愰啋 缁撶畻瀹屾垚鍚庡悜鎵挎徑绔鐞嗗憳鎺ㄩ��
+ /// </summary>
+ SettlementCompletedToSupplier,
+ /// <summary>
+ /// 鎶ラ叕缁撶畻瀹℃牳缁撴灉閫氱煡 鐢叉柟缁撶畻纭鍚庡悜鎵挎徑绔鐞嗗憳鎺ㄩ��
+ /// </summary>
+ SettlementAuditCompletedToSupplier,
+ /// <summary>
+ /// 宸ヨ祫鍙戞斁閫氱煡 缁撶畻瀹屾垚鍚庡悜C绔汉鍛橀�氱煡
+ /// </summary>
+ SettlementReceiveCompletedToUser,
+ /// <summary>
+ /// 鎶ュ悕褰曠敤缁撴灉閫氱煡 琚綍鐢ㄥ悗鍚慍绔汉鍛橀�氱煡
+ /// </summary>
+ HireCompletedToUser,
+ /// <summary>
+ /// 鎺掔彮鎴愬姛閫氱煡 鎺掔彮鍚庡悜C绔汉鍛橀�氱煡
+ /// </summary>
+ ArrangeCompletedToUser,
+ }
+}
diff --git a/ApiTools.Core/Models/WxmpUtils/Commands/SaveWxSendCommand.cs b/ApiTools.Core/Models/WxmpUtils/Commands/SaveWxSendCommand.cs
deleted file mode 100644
index 0650b65..0000000
--- a/ApiTools.Core/Models/WxmpUtils/Commands/SaveWxSendCommand.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-锘縰sing ApiTools.Core.Enums.WxmpUtils;
-using MediatR;
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace ApiTools.Core
-{
- /// <summary>
- /// 璇ユ帴鍙g敤浜庡彂閫佽闃呮秷鎭�
- /// </summary>
- [Resource([EnumResourceController.CommonServerWxUtils], Method = EnumResourceMethod.Post)]
- public class SaveWxSendCommand : IRequest<string>
- {
- /// <summary>
- /// 灏忕▼搴忕紪鍙�
- /// </summary>
- public string WxmpCode { get; set; }
-
- ///// <summary>
- ///// 瑕佹墦寮�鐨勫皬绋嬪簭鐗堟湰銆傛寮忕増涓� "release"锛屼綋楠岀増涓� "trial"锛屽紑鍙戠増涓� "develop"銆傞粯璁ゆ槸姝e紡鐗堛�傦紙璇诲彇閰嶇疆锛�
- ///// </summary>
- //public string EnvVersion { get; set; }
-
- /// <summary>
- /// 鎵�闇�涓嬪彂鐨勮闃呮ā鏉縤d锛堝仛鎴愭灇涓撅級
- /// </summary>
- public EnumTemplate Template_id { get; set; }
-
- /// <summary>
- /// 鐐瑰嚮妯℃澘鍗$墖鍚庣殑璺宠浆椤甸潰锛屼粎闄愭湰灏忕▼搴忓唴鐨勯〉闈€�傛敮鎸佸甫鍙傛暟,锛堢ず渚媔ndex?foo=bar锛夈�傝瀛楁涓嶅~鍒欐ā鏉挎棤璺宠浆锛堝仛鍒伴厤缃枃浠堕噷闈級
- /// </summary>
- public string Page { get; set; }
-
- /// <summary>
- /// 鎺ユ敹鑰咃紙鐢ㄦ埛锛夌殑 openid
- /// </summary>
- public string Touser { get; set; }
-
- /// <summary>
- /// 妯℃澘鍐呭锛屾牸寮忓舰濡倇 "phrase3": { "value": "瀹℃牳閫氳繃" }, "name1": { "value": "璁㈤槄" }, "date2": { "value": "2019-12-25 09:42" } }
- /// </summary>
- public object Data { get; set; }
-
- ///// <summary>
- ///// 璺宠浆灏忕▼搴忕被鍨嬶細developer涓哄紑鍙戠増锛泃rial涓轰綋楠岀増锛沠ormal涓烘寮忕増锛涢粯璁や负姝e紡鐗�
- ///// </summary>
- //public string miniprogram_state { get; set; }
-
- /// <summary>
- /// 璇█锛堥粯璁や腑鏂囷級
- /// </summary>
- public string Lang { get; set; }
- }
-}
diff --git a/ApiTools.Core/Models/WxmpUtils/Commands/SaveWxSettingCommand.cs b/ApiTools.Core/Models/WxmpUtils/Commands/SaveWxSettingCommand.cs
deleted file mode 100644
index b316f80..0000000
--- a/ApiTools.Core/Models/WxmpUtils/Commands/SaveWxSettingCommand.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-锘縰sing MediatR;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace ApiTools.Core
-{
- /// <summary>
- /// 淇濆瓨寰俊閰嶇疆
- /// </summary>
- [Resource([EnumResourceController.CommonServerWxUtils], Method = EnumResourceMethod.Post)]
- public class SaveWxSettingCommand : IRequest<Guid>
- {
- /// <summary>
- /// 缂栧彿
- /// </summary>
- public string Code { get; set; }
-
- /// <summary>
- /// 灏忕▼搴廔D
- /// </summary>
- public string AppId { get; set; }
-
- /// <summary>
- /// 灏忕▼搴忓瘑閽�
- /// </summary>
- public string AppSecret { get; set; }
-
- /// <summary>
- /// 鐗堟湰
- /// </summary>
- public string EnvVersion { get; set; }
- }
-}
diff --git a/ApiTools.Core/Models/WxmpUtils/Commands/WxmpSendSubscribMessageCommand.cs b/ApiTools.Core/Models/WxmpUtils/Commands/WxmpSendSubscribMessageCommand.cs
new file mode 100644
index 0000000..b73c4bf
--- /dev/null
+++ b/ApiTools.Core/Models/WxmpUtils/Commands/WxmpSendSubscribMessageCommand.cs
@@ -0,0 +1,47 @@
+锘縰sing MediatR;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ApiTools.Core
+{
+ /// <summary>
+ /// 寰俊灏忕▼搴忓彂閫佽闃呮秷鎭�
+ /// </summary>
+ [Resource([EnumResourceController.CommonServerWxmpUtils], Method = EnumResourceMethod.Post)]
+ public class WxmpSendSubscribMessageCommand : IRequest<Guid>
+ {
+ /// <summary>
+ /// 灏忕▼搴忕紪鍙�
+ /// </summary>
+ [Required]
+ public string WxmpCode { get; set; }
+
+ /// <summary>
+ /// 鎵�闇�涓嬪彂鐨勮闃呮ā鏉縤d
+ /// </summary>
+ [Required]
+ public EnumWxmpSubscribMessageTemplate Template { get; set; }
+
+ /// <summary>
+ /// 鐐瑰嚮妯℃澘鍗$墖鍚庣殑璺宠浆椤甸潰锛屼粎闄愭湰灏忕▼搴忓唴鐨勯〉闈€�傛敮鎸佸甫鍙傛暟,锛堢ず渚媔ndex?foo=bar锛夈�傝瀛楁涓嶅~鍒欐ā鏉挎棤璺宠浆
+ /// </summary>
+ public string Page { get; set; }
+
+ /// <summary>
+ /// 鎺ユ敹鑰咃紙鐢ㄦ埛锛夌殑 openid
+ /// </summary>
+ [Required]
+ public string Touser { get; set; }
+
+ /// <summary>
+ /// 妯℃澘鍐呭锛屾牸寮忓舰濡倇 "phrase3": { "value": "瀹℃牳閫氳繃" }, "name1": { "value": "璁㈤槄" }, "date2": { "value": "2019-12-25 09:42" } }
+ /// </summary>
+ [Required]
+ public object Data { get; set; }
+ }
+}
diff --git a/ApiTools.Core/Models/WxmpUtils/Commands/WxmpSubscribMessageNotifyCommand.cs b/ApiTools.Core/Models/WxmpUtils/Commands/WxmpSubscribMessageNotifyCommand.cs
new file mode 100644
index 0000000..033e7d6
--- /dev/null
+++ b/ApiTools.Core/Models/WxmpUtils/Commands/WxmpSubscribMessageNotifyCommand.cs
@@ -0,0 +1,22 @@
+锘縰sing MediatR;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ApiTools.Core
+{
+ /// <summary>
+ /// 寰俊灏忕▼搴忚闃呮秷鎭�氱煡
+ /// </summary>
+ [Resource([EnumResourceController.CommonServerWxmpUtils], Method = EnumResourceMethod.Post)]
+ public class WxmpSubscribMessageNotifyCommand : IRequest<bool>
+ {
+ public string ToUserName { get; set; }
+ public string FromUserName { get; set; }
+ public DateTime CreateTime { get; set; }
+ public string MsgType { get; set; }
+ public string Event { get; set; }
+ }
+}
diff --git a/ApiTools.Core/Utils/WxmpUtils/WxmpGetQrCodeRequest.cs b/ApiTools.Core/Utils/WxmpUtils/WxmpGetQrCodeRequest.cs
index e60c155..2cf4fdd 100644
--- a/ApiTools.Core/Utils/WxmpUtils/WxmpGetQrCodeRequest.cs
+++ b/ApiTools.Core/Utils/WxmpUtils/WxmpGetQrCodeRequest.cs
@@ -106,73 +106,4 @@
public string ErrorMessage { get; set; }
}
-
- /// <summary>
- /// 鍙戦�佽闃呮秷鎭�
- /// </summary>
- public class SendRequest
- {
-
- /// <summary>
- /// 灏忕▼搴忕紪鍙�
- /// </summary>
- [JsonProperty("WxmpCode")]
- [Required]
- public string WxmpCode { get; set; }
-
- /// <summary>
- /// 瑕佹墦寮�鐨勫皬绋嬪簭鐗堟湰銆傛寮忕増涓� "release"锛屼綋楠岀増涓� "trial"锛屽紑鍙戠増涓� "develop"銆傞粯璁ゆ槸姝e紡鐗堛��
- /// </summary>
- [JsonProperty("env_version")]
- public string EnvVersion { get; set; }
-
- /// <summary>
- /// 鎵�闇�涓嬪彂鐨勮闃呮ā鏉縤d
- /// </summary>
- [JsonProperty("Template_id")]
- [Required]
- public string Template_id { get; set; }
-
- /// <summary>
- /// 鐐瑰嚮妯℃澘鍗$墖鍚庣殑璺宠浆椤甸潰锛屼粎闄愭湰灏忕▼搴忓唴鐨勯〉闈€�傛敮鎸佸甫鍙傛暟,锛堢ず渚媔ndex?foo=bar锛夈�傝瀛楁涓嶅~鍒欐ā鏉挎棤璺宠浆
- /// </summary>
- [JsonProperty("Page")]
- [Required]
- public string Page { get; set; }
-
- /// <summary>
- /// 鎺ユ敹鑰咃紙鐢ㄦ埛锛夌殑 openid
- /// </summary>
- [JsonProperty("Touser")]
- [Required]
- public string Touser { get; set; }
-
- /// <summary>
- /// 妯℃澘鍐呭锛屾牸寮忓舰濡倇 "phrase3": { "value": "瀹℃牳閫氳繃" }, "name1": { "value": "璁㈤槄" }, "date2": { "value": "2019-12-25 09:42" } }
- /// </summary>
- [JsonProperty("Data")]
- [Required]
- public object Data { get; set; }
-
- [JsonProperty("璺宠浆灏忕▼搴忕被鍨嬶細developer涓哄紑鍙戠増锛泃rial涓轰綋楠岀増锛沠ormal涓烘寮忕増锛涢粯璁や负姝e紡鐗�")]
- [Required]
- public string Miniprogram_state { get; set; }
-
- [JsonProperty("杩涘叆灏忕▼搴忔煡鐪嬧�濈殑璇█绫诲瀷锛屾敮鎸亃h_CN(绠�浣撲腑鏂�)銆乪n_US(鑻辨枃)銆亃h_HK(绻佷綋涓枃)銆亃h_TW(绻佷綋涓枃)锛岄粯璁や负zh_CN")]
- [Required]
- public string Lang { get; set; }
-
- }
-
- /// <summary>
- /// 鍙戦�佽闃呮秷鎭�-缁撴灉
- /// </summary>
- public class SendResponse
- {
- [JsonProperty("ErrorCode")]
- public int ErrorCode { get; set; }
-
- [JsonProperty("errmsg")]
- public int errmsg { get; set; }
- }
}
diff --git a/ApiTools.Core/Utils/WxmpUtils/WxmpOptions.cs b/ApiTools.Core/Utils/WxmpUtils/WxmpOptions.cs
index ec1a277..56bb3b0 100644
--- a/ApiTools.Core/Utils/WxmpUtils/WxmpOptions.cs
+++ b/ApiTools.Core/Utils/WxmpUtils/WxmpOptions.cs
@@ -18,6 +18,24 @@
}
public List<WxmpOptionsItem> Items { get; set; }
+
+ /// <summary>
+ /// 璁㈤槄娑堟伅妯℃澘
+ /// </summary>
+ public Dictionary<string, WxmpOptionsSubscribMessageTemplate> SubscribMessageTemplates { get; set; } = [];
+ }
+
+ public class WxmpOptionsSubscribMessageTemplate
+ {
+ /// <summary>
+ /// 妯℃澘Id
+ /// </summary>
+ public string TemplateId { get; set; }
+
+ /// <summary>
+ /// 椤甸潰
+ /// </summary>
+ public string Page { get; set; }
}
public class WxmpOptionsItem
diff --git a/ApiTools.Core/Utils/WxmpUtils/WxmpSendSubscribMessageRequest.cs b/ApiTools.Core/Utils/WxmpUtils/WxmpSendSubscribMessageRequest.cs
new file mode 100644
index 0000000..3208d98
--- /dev/null
+++ b/ApiTools.Core/Utils/WxmpUtils/WxmpSendSubscribMessageRequest.cs
@@ -0,0 +1,80 @@
+锘縰sing Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ApiTools.Core
+{
+ /// <summary>
+ /// 寰俊灏忕▼搴忓彂閫佽闃呮秷鎭�
+ /// </summary>
+ public class WxmpSendSubscribMessageRequest
+ {
+ /// <summary>
+ /// 灏忕▼搴忕紪鍙�
+ /// </summary>
+ [JsonIgnore]
+ public string WxmpCode { get; set; }
+
+ /// <summary>
+ /// 鎵�闇�涓嬪彂鐨勮闃呮ā鏉縤d
+ /// </summary>
+ [JsonProperty("template_id")]
+ [Required]
+ public string TemplateId { get; set; }
+
+ /// <summary>
+ /// 鐐瑰嚮妯℃澘鍗$墖鍚庣殑璺宠浆椤甸潰锛屼粎闄愭湰灏忕▼搴忓唴鐨勯〉闈€�傛敮鎸佸甫鍙傛暟,锛堢ず渚媔ndex?foo=bar锛夈�傝瀛楁涓嶅~鍒欐ā鏉挎棤璺宠浆
+ /// </summary>
+ [JsonProperty("page")]
+ public string Page { get; set; }
+
+ /// <summary>
+ /// 鎺ユ敹鑰咃紙鐢ㄦ埛锛夌殑 openid
+ /// </summary>
+ [JsonProperty("touser")]
+ [Required]
+ public string Touser { get; set; }
+
+ /// <summary>
+ /// 妯℃澘鍐呭锛屾牸寮忓舰濡倇 "phrase3": { "value": "瀹℃牳閫氳繃" }, "name1": { "value": "璁㈤槄" }, "date2": { "value": "2019-12-25 09:42" } }
+ /// </summary>
+ [JsonProperty("data")]
+ [Required]
+ public object Data { get; set; }
+
+ /// <summary>
+ /// 璺宠浆灏忕▼搴忕被鍨嬶細developer涓哄紑鍙戠増锛泃rial涓轰綋楠岀増锛沠ormal涓烘寮忕増锛涢粯璁や负姝e紡鐗�
+ /// </summary>
+ [JsonProperty("miniprogram_state")]
+ [Required]
+ public string EnvVersion { get; set; }
+
+ /// <summary>
+ /// 杩涘叆灏忕▼搴忔煡鐪嬧�濈殑璇█绫诲瀷锛屾敮鎸亃h_CN(绠�浣撲腑鏂�)銆乪n_US(鑻辨枃)銆亃h_HK(绻佷綋涓枃)銆亃h_TW(绻佷綋涓枃)锛岄粯璁や负zh_CN
+ /// </summary>
+ [JsonProperty("lang")]
+ [Required]
+ public string Lang { get; set; } = "zh_CN";
+ }
+
+ /// <summary>
+ /// 寰俊灏忕▼搴忓彂閫佽闃呮秷鎭�
+ /// </summary>
+ public class WxmpSendSubscribMessageResponse
+ {
+ /// <summary>
+ /// 閿欒鐮�
+ /// </summary>
+ [JsonProperty("errcode")]
+ public int ErrorCode { get; set; }
+ /// <summary>
+ /// 閿欒淇℃伅
+ /// </summary>
+ [JsonProperty("errmsg")]
+ public string ErrorMessage { get; set; }
+ }
+}
diff --git a/ApiTools.Core/Utils/WxmpUtils/WxmpUtils.cs b/ApiTools.Core/Utils/WxmpUtils/WxmpUtils.cs
index cb686c5..ee4d5cc 100644
--- a/ApiTools.Core/Utils/WxmpUtils/WxmpUtils.cs
+++ b/ApiTools.Core/Utils/WxmpUtils/WxmpUtils.cs
@@ -130,19 +130,23 @@
}
/// <summary>
- /// 璇ユ帴鍙g敤浜庡彂閫佽闃呮秷鎭�
+ /// 鍙戦�佽闃呮秷鎭�
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
- public async Task<string> WxSend(SendRequest command)
+ public async Task WxmpSendSubscribMessage(WxmpSendSubscribMessageRequest command)
{
var option = options.Value.Items.FirstOrDefault(it => it.Code == command.WxmpCode);
if (option == null || option.AppId.IsNull() || option.AppSecret.IsNull())
- throw Oops.Oh(EnumErrorCodeType.s400, "鑾峰彇灏忕▼搴忕爜澶辫触锛岀己澶遍厤缃細WxmpOptions");
+ throw Oops.Oh(EnumErrorCodeType.s400, "鍙戦�佽闃呮秷鎭け璐ワ紝缂哄け閰嶇疆锛歐xmpOptions");
command.EnvVersion = option.EnvVersion;
+ if (!options.Value.SubscribMessageTemplates.ContainsKey(command.TemplateId))
+ throw Oops.Oh(EnumErrorCodeType.s400, "鍙戦�佽闃呮秷鎭け璐ワ紝妯℃澘涓嶅瓨鍦�");
+ var template = options.Value.SubscribMessageTemplates[command.TemplateId];
+ command.TemplateId = template.TemplateId;
+ if (command.Page.IsNull()) command.Page = template.Page;
var accessToken = await GetAccessToken(command.WxmpCode);
- var request = command.Adapt<SendRequest>();
- var jsonContent = JsonConvert.SerializeObject(request, new JsonSerializerSettings
+ var jsonContent = JsonConvert.SerializeObject(command, new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore
});
@@ -151,22 +155,13 @@
.WithQueryParameter("access_token", accessToken)
.SetJsonContent(jsonContent));
response.EnsureSuccessStatusCode();
- //var a = response.Content.Headers.ContentType.ToString();
- //application/json; encoding=utf-8
- //if (response.Content.Headers.ContentType.ToString() == "application/json; charset=UTF-8")
- if (response.Content.Headers.ContentType.ToString() == "application/json; encoding=utf-8")
+ if (response.Content.Headers.ContentType.ToString() == "application/json; charset=UTF-8")
{
var jsonResult = await response.Content.ReadAsStringAsync();
- //var callback = jsonResult.JsonTo<SendResponse>();
- //if (callback == null || callback.ErrorCode != 0)
- //throw Oops.Oh(EnumErrorCodeType.s510, $"鑾峰彇灏忕▼搴忕爜澶辫触锛歿callback.errmsg}锛岃鑱旂郴绠$悊鍛�");
- return jsonResult;
+ var callback = jsonResult.JsonTo<WxmpSendSubscribMessageResponse>();
+ if (callback == null || callback.ErrorCode != 0)
+ throw Oops.Oh(EnumErrorCodeType.s510, $"鍙戦�佽闃呮秷鎭け璐ワ細{callback.ErrorMessage}锛岃鑱旂郴绠$悊鍛�");
}
- //var stream = await response.Content.ReadAsStreamAsync();
- //var result = AliyunOSSUtils.Upload(command, stream, command.OssFileName);
- return "";
}
-
-
}
}
diff --git a/ApiTools.Web.Entry/appsettings.json b/ApiTools.Web.Entry/appsettings.json
index 7d20f94..a7b024e 100644
--- a/ApiTools.Web.Entry/appsettings.json
+++ b/ApiTools.Web.Entry/appsettings.json
@@ -52,7 +52,34 @@
"AppSecret": "c03a62ad6822f1c925532c34183e7f7f",
"EnvVersion": "trial"
}
- ]
+ ],
+ "SubscribMessageTemplates": {
+ // 鏀粯鎴愬姛鎻愰啋 缁撶畻瀹屾垚鍚庡悜鎵挎徑绔鐞嗗憳鎺ㄩ��
+ "SettlementCompletedToSupplier": {
+ "TemplateId": "dz2HCc-EnR4WEfsuj2GuduF8SLu40J83xez1bLLbaC0",
+ "Page": "pages/workbenches/workbenches"
+ },
+ // 鎶ラ叕缁撶畻瀹℃牳缁撴灉閫氱煡 鐢叉柟缁撶畻纭鍚庡悜鎵挎徑绔鐞嗗憳鎺ㄩ��
+ "SettlementAuditCompletedToSupplier": {
+ "TemplateId": "Qp6cetvhwONMS1y9LOBt4dZgq49Hc14lIsm-LVE0Hfo",
+ "Page": "pages/workbenches/workbenches"
+ },
+ // 宸ヨ祫鍙戞斁閫氱煡 缁撶畻瀹屾垚鍚庡悜C绔汉鍛橀�氱煡
+ "SettlementReceiveCompletedToUser": {
+ "TemplateId": "pw-WntZZJjADXfLsxcs5S8pKlpTrSc-HtJs0ZZvqliE",
+ "Page": "pages/home/index"
+ },
+ // 鎶ュ悕褰曠敤缁撴灉閫氱煡 琚綍鐢ㄥ悗鍚慍绔汉鍛橀�氱煡
+ "HireCompletedToUser": {
+ "TemplateId": "dz2HCc-EnR4WEfsuj2GuduF8SLu40J83xez1bLLbaC0",
+ "Page": "pages/home/index"
+ },
+ // 鎺掔彮鎴愬姛閫氱煡 鎺掔彮鍚庡悜C绔汉鍛橀�氱煡
+ "ArrangeCompletedToUser": {
+ "TemplateId": "dz2HCc-EnR4WEfsuj2GuduF8SLu40J83xez1bLLbaC0",
+ "Page": "pages/home/index"
+ }
+ }
},
"Task": {
"SettlementTime": "T0"
--
Gitblit v1.9.1