diff --git a/LMS.Tools/MJPackage/TaskStatusCheckService.cs b/LMS.Tools/MJPackage/TaskStatusCheckService.cs
index afeadd4..fe97d03 100644
--- a/LMS.Tools/MJPackage/TaskStatusCheckService.cs
+++ b/LMS.Tools/MJPackage/TaskStatusCheckService.cs
@@ -4,7 +4,6 @@ using LMS.Repository.DB;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
using Quartz;
namespace LMS.Tools.MJPackage
@@ -80,8 +79,29 @@ namespace LMS.Tools.MJPackage
}
task.Status = status;
+ if (properties.TryGetValue("isPartner", out var isPartner))
+ {
+ if ((bool)isPartner == true)
+ {
+ properties = ProcessPartnerTaskDataAsync(properties);
+ }
+ }
+ else if (properties.TryGetValue("isOfficial", out var isOfficial))
+ {
+ if ((bool)isOfficial == true)
+ {
+ properties = ProcessOfficialTaskDataAsync(properties);
+ }
+ }
+ else if (properties.TryGetValue("isYouChuan", out var isYouChuan))
+ {
+ if ((bool)isYouChuan == true)
+ {
+ properties = ProcessYouChuanTaskDataAsync(properties);
+ }
+ }
+
- properties = ProcessTaskDataAsync(properties);
if (status == MJTaskStatus.SUCCESS || status == MJTaskStatus.FAILURE || status == MJTaskStatus.CANCEL)
{
@@ -133,60 +153,46 @@ namespace LMS.Tools.MJPackage
}
///
- /// 单独处理生图包,将参数xie'chu'l
+ /// 合作伙伴任务数据处理
///
///
///
- public Dictionary ProcessTaskDataAsync(Dictionary properties)
+ public Dictionary ProcessPartnerTaskDataAsync(Dictionary properties)
{
try
{
- // 转换为JObject以简化访问
string jsonStr = JsonConvert.SerializeObject(properties);
- JObject jObj = JObject.Parse(jsonStr);
+ dynamic data = JsonConvert.DeserializeObject(jsonStr) ?? new object { };
// 检查是否是合作伙伴任务
- bool isPartner = jObj["isPartner"]?.Value() ?? false;
- string? partnerTaskId = jObj["partnerTaskId"]?.ToString();
+ // 直接用dynamic访问,不做类型判断
+ bool isPartner = data?.isPartner ?? false;
+ string partnerTaskId = data?.partnerTaskId ?? string.Empty;
if (isPartner && !string.IsNullOrEmpty(partnerTaskId))
{
_logger.LogInformation($"处理合作伙伴任务: {partnerTaskId}");
- // 获取partnerTaskInfo和imgUrls
- JToken? partnerTaskInfo = jObj["partnerTaskInfo"];
- if (partnerTaskInfo != null)
- {
- if (partnerTaskInfo["imgUrls"] is JArray imgUrlsArray && imgUrlsArray.Count > 0)
- {
- var imageUrls = new List