Просмотр исходного кода

refactor(farm): 优化房屋升级后土地增加逻辑

- 将计算新增土地数量的方式从对比新旧等级可用土地数量改为对比新等级可用土地数量和用户当前已拥有土地数量
- 优化了日志信息输出,更准确地记录了土地数量变化情况
notfff 7 месяцев назад
Родитель
Сommit
57cd08619d

+ 4 - 4
app/Module/Farm/Listeners/AddLandAfterHouseUpgradeListener.php

@@ -59,18 +59,18 @@ class AddLandAfterHouseUpgradeListener
             // 获取新等级可用的土地数量
             $newAvailableLands = $this->houseLogic->getAvailableLandsCount($event->newLevel);
 
-            // 获取旧等级可用的土地数量
-            $oldAvailableLands = $this->houseLogic->getAvailableLandsCount($event->oldLevel);
+            // 获取用户当前已拥有的土地数量
+            $currentLandsCount = FarmLand::where('user_id', $event->userId)->count();
 
             // 计算需要新增的土地数量
-            $landsToAdd = $newAvailableLands - $oldAvailableLands;
+            $landsToAdd = $newAvailableLands - $currentLandsCount;
 
             if ($landsToAdd <= 0) {
                 Log::info('房屋升级后无需增加土地', [
                     'user_id' => $event->userId,
                     'old_level' => $event->oldLevel,
                     'new_level' => $event->newLevel,
-                    'old_available_lands' => $oldAvailableLands,
+                    'current_lands_count' => $currentLandsCount,
                     'new_available_lands' => $newAvailableLands
                 ]);
                 return;

+ 1 - 0
protophp/Uraus/Kku/Common/SEED_STATUS.php

@@ -25,6 +25,7 @@ class SEED_STATUS
      * Generated from protobuf enum <code>SEEN_STAGE = 1;</code>
      */
     const SEEN_STAGE = 1;
+
     /**
      * 发芽
      *