浏览代码

优化 Visited 方法逻辑,调整状态更新与赋值顺序

重构 Visited 方法:
- 将 `Status >= EOrderStatus.Filed` 判断移至方法开头,并在满足条件时更新 `Status` 为 `EOrderStatus.Visited`。
- 确保在 `Status` 更新后再检查 `resultCode` 和 `result` 的空值。
- 修改 `FirstVisitResultCode` 和 `FirstVisitResult` 的赋值逻辑,仅在 `FirstVisitResultCode` 为空时赋值。
- 删除 `Progress = EProgress.Visited` 相关代码。
- 移除方法末尾对 `Status` 的更新逻辑。
田爽 1 周之前
父节点
当前提交
8c1b2ac50f
共有 1 个文件被更改,包括 7 次插入7 次删除
  1. 7 7
      src/Hotline/Orders/Order.cs

+ 7 - 7
src/Hotline/Orders/Order.cs

@@ -1369,15 +1369,15 @@ namespace Hotline.Orders
         /// </summary>
         public void Visited(string resultCode, string result)
         {
-            if (string.IsNullOrEmpty(resultCode) || string.IsNullOrEmpty(result))
+			if (Status >= EOrderStatus.Filed)
+				Status = EOrderStatus.Visited;
+			if (string.IsNullOrEmpty(resultCode) || string.IsNullOrEmpty(result))
                 return;
-            if (!string.IsNullOrEmpty(FirstVisitResultCode)) return;
-            FirstVisitResultCode = resultCode;
-            FirstVisitResult = result;
-
+            if (string.IsNullOrEmpty(FirstVisitResultCode)) {
+				FirstVisitResultCode = resultCode;
+				FirstVisitResult = result;
+			}
             //Progress = EProgress.Visited;
-            if (Status >= EOrderStatus.Filed)
-                Status = EOrderStatus.Visited;
         }
 
         public void CenterToOrg(string timelimit, int timelimitCount, ETimeType timilimitUnit,