From 758735fefc2b0e51a419fde4c0f6c2be0ae99398 Mon Sep 17 00:00:00 2001
From: lq1405 <2769838458@qq.com>
Date: Fri, 27 Jun 2025 10:45:19 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8E=9F=E5=A7=8B=E8=AF=B7?=
=?UTF-8?q?=E6=B1=82=E7=9A=84=E4=BF=A1=E6=81=AF=E7=9A=84=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
LMS.Tools/MJPackage/TaskStatusCheckService.cs | 192 ++++++++++++++----
LMS.service/Program.cs | 2 -
.../Service/MJPackage/MJPackageService.cs | 1 -
3 files changed, 156 insertions(+), 39 deletions(-)
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