From dedeb77685c258bc7851c7c4da40eb1315127cb8 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期二, 25 六月 2024 14:06:29 +0800
Subject: [PATCH] Merge branch 'hwh'

---
 Wms/Utility/Job/SchedulerCenter.cs |   44 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 40 insertions(+), 4 deletions(-)

diff --git a/Wms/Utility/Job/SchedulerCenter.cs b/Wms/Utility/Job/SchedulerCenter.cs
index 73f3642..ab17083 100644
--- a/Wms/Utility/Job/SchedulerCenter.cs
+++ b/Wms/Utility/Job/SchedulerCenter.cs
@@ -143,6 +143,13 @@
                 httpDir.Add(Constant.REQUESTPARAMETERS, entity.RequestParameters);
                 httpDir.Add(Constant.REQUESTTYPE, ((int)entity.RequestType).ToString());
             }
+            else if (entity.JobType == JobTypeEnum.BuiltIn)
+            {
+                jobConfigurator = JobBuilder.Create<InternalMethodJob>();
+                httpDir.Add(Constant.CLASSNAME, entity.ClassName);
+                httpDir.Add(Constant.METHODNAME, entity.MethodName);
+                httpDir.Add(Constant.METHODPARAMETERS, entity.MethodParameters);
+            }
 
             // 瀹氫箟杩欎釜宸ヤ綔锛屽苟灏嗗叾缁戝畾鍒版垜浠殑IJob瀹炵幇绫�                
             IJobDetail job = jobConfigurator
@@ -271,6 +278,9 @@
                     entity.Headers = jobDetail.JobDataMap.GetString(Constant.HEADERS);
                     break;
                 case JobTypeEnum.BuiltIn:
+                    entity.ClassName = jobDetail.JobDataMap.GetString(Constant.CLASSNAME);
+                    entity.MethodName = jobDetail.JobDataMap.GetString(Constant.METHODNAME);
+                    entity.MethodParameters = jobDetail.JobDataMap.GetString(Constant.METHODPARAMETERS);
                     break;
                 case JobTypeEnum.Hotreload:
                     break;
@@ -350,12 +360,38 @@
                         if (jobType == JobTypeEnum.Url)
                             triggerAddress = jobDetail.JobDataMap.GetString(Constant.REQUESTURL);
                         else if (jobType == JobTypeEnum.BuiltIn)
-                            triggerAddress = jobDetail.JobDataMap.GetString(Constant.BuiltIn);
+                            triggerAddress = jobDetail.JobDataMap.GetString(Constant.CLASSNAME);
+                        var lastErrMsg = string.Empty;
+                        try
+                        {
+                            lastErrMsg = jobDetail.JobDataMap.GetString(Constant.EXCEPTION);
+                        }
+                        catch (Exception)
+                        {
 
+                        }
+                        var requestType = string.Empty;
+                        try
+                        {
+                            requestType = jobDetail.JobDataMap.GetString(Constant.REQUESTTYPE);
+                        }
+                        catch (Exception)
+                        {
+
+                        }
+                        long runNumber = 0;
+                        try
+                        {
+                            runNumber = jobDetail.JobDataMap.GetLong(Constant.RUNNUMBER);
+                        }
+                        catch (Exception)
+                        {
+
+                        }
                         jobInfo.JobInfoList.Add(new JobInfo()
                         {
                             Name = jobKey.Name,
-                            LastErrMsg = jobDetail.JobDataMap.GetString(Constant.EXCEPTION),
+                            LastErrMsg = lastErrMsg,
                             TriggerAddress = triggerAddress,
                             TriggerState = await scheduler.GetTriggerState(triggers.Key),
                             PreviousFireTime = triggers.GetPreviousFireTimeUtc()?.LocalDateTime,
@@ -364,8 +400,8 @@
                             Interval = interval,
                             EndTime = triggers.EndTimeUtc?.LocalDateTime,
                             Description = jobDetail.Description,
-                            RequestType = jobDetail.JobDataMap.GetString(Constant.REQUESTTYPE),
-                            RunNumber = jobDetail.JobDataMap.GetLong(Constant.RUNNUMBER),
+                            RequestType = requestType,
+                            RunNumber = runNumber,
                             JobType = (long)jobType
                             //(triggers as SimpleTriggerImpl)?.TimesTriggered
                             //CronTriggerImpl 涓病鏈� TimesTriggered 鎵�浠ヨ嚜宸盧UNNUMBER璁板綍

--
Gitblit v1.8.0