Przeglądaj źródła

修复ItemLogCollector中source_type为null时的类型错误

- 修改getSourceTypeByOperation方法参数类型为?string,允许接收null值
- 在方法内部添加null值检查,当source_type为null时返回默认的SYSTEM类型
- 移除调试代码dump语句
- 修复用户日志收集命令中的TypeError异常
AI Assistant 6 miesięcy temu
rodzic
commit
6bfb8b47d9

+ 7 - 3
app/Module/Game/Logics/UserLogCollectors/ItemLogCollector.php

@@ -105,7 +105,6 @@ class ItemLogCollector extends BaseLogCollector
             }
 
             // 根据操作类型选择合适的source_type
-            dump($record);
             $sourceType = $this->getSourceTypeByOperation($record->source_type);
 
             return $this->createUserLogDataWithSourceType(
@@ -436,11 +435,16 @@ class ItemLogCollector extends BaseLogCollector
     /**
      * 根据操作类型获取合适的source_type
      *
-     * @param string $sourceType 原始来源类型
+     * @param string|null $sourceType 原始来源类型
      * @return string
      */
-    private function getSourceTypeByOperation(string $sourceType): string
+    private function getSourceTypeByOperation(?string $sourceType): string
     {
+        // 如果source_type为null,返回默认的系统类型
+        if ($sourceType === null) {
+            return REWARD_SOURCE_TYPE::SYSTEM->value;
+        }
+
         switch ($sourceType) {
             case 'house_upgrade':
             case 'land_upgrade':