Browse Source

fix(game-items): 修复宝箱开启验证器缺失问题

- 创建 ChestConsumeValidator 替代不存在的 ChestOpenCostValidator
-修复 ChestItemValidator 中的 ITEM_TYPE::OPENABLE 为 ITEM_TYPE::CHEST
- 更新宝箱配置验证逻辑,使用 ItemChestConfig 替代 ItemChestContent- 适配新的消耗组系统验证逻辑
- 修改相关请求和响应对象名称,统一使用 openbox 替代 openBox
-增加错误复现命令的 --clear-logs 选项,用于清空日志文件
notfff 7 months ago
parent
commit
8f06de0836

+ 64 - 0
AiWork/202506/042157-修复宝箱开启验证器缺失问题.md

@@ -0,0 +1,64 @@
+# 修复宝箱开启验证器缺失问题
+
+## 任务时间
+- 开始时间:2025年06月04日 21:57:19 CST
+- 完成时间:2025年06月04日 22:02:44 CST
+
+## 问题描述
+用户报告宝箱开启功能出现错误:
+```
+Class "App\Module\GameItems\Validators\ChestOpenCostValidator" not found
+```
+
+错误发生在 `app/Module/GameItems/Validations/ChestOpenValidation.php:51`
+
+## 问题分析
+通过代码分析发现:
+1. `ChestOpenValidation` 中引用了不存在的 `ChestOpenCostValidator` 类
+2. 宝箱系统已经升级为使用消耗组系统,不再需要单独的消耗验证器
+3. `ChestItemValidator` 中使用了错误的枚举值 `ITEM_TYPE::OPENABLE`,应该是 `ITEM_TYPE::CHEST`
+4. 宝箱配置验证逻辑使用了旧的 `ItemChestContent`,应该使用新的 `ItemChestConfig`
+
+## 解决方案
+1. **创建 ChestConsumeValidator**:
+   - 新建 `app/Module/GameItems/Validators/ChestConsumeValidator.php`
+   - 实现基于消耗组系统的宝箱消耗验证逻辑
+   - 检查宝箱配置中的消耗组ID,如果存在则验证用户是否满足消耗条件
+
+2. **修复 ChestOpenValidation**:
+   - 将 `ChestOpenCostValidator` 替换为 `ChestConsumeValidator`
+   - 更新相应的 use 语句
+
+3. **修复 ChestItemValidator**:
+   - 将 `ITEM_TYPE::OPENABLE` 修正为 `ITEM_TYPE::CHEST`
+   - 将 `ItemChestContent` 替换为 `ItemChestConfig`
+   - 更新宝箱配置验证逻辑,检查是否配置了奖励组
+
+## 修改文件
+1. `app/Module/GameItems/Validators/ChestConsumeValidator.php` - 新建
+2. `app/Module/GameItems/Validations/ChestOpenValidation.php` - 修改
+3. `app/Module/GameItems/Validators/ChestItemValidator.php` - 修改
+
+## 测试验证
+使用命令 `php artisan debug:reproduce-error 68973982` 进行测试:
+- 修复前:返回 500 错误,提示类不存在
+- 修复后:返回 200 状态码,正常处理业务逻辑(虽然返回业务错误,但系统错误已解决)
+
+## 技术要点
+1. **消耗组系统集成**:新的宝箱系统使用统一的消耗组/奖励组/条件组架构
+2. **验证器模式**:遵循现有的 Validator 类设计模式,使用 `addError` 方法处理错误
+3. **枚举值修正**:确保使用正确的 ITEM_TYPE 枚举值
+4. **配置模型更新**:适配新的宝箱配置数据结构
+
+## 提交信息
+```
+修复宝箱开启验证器缺失问题
+
+- 创建ChestConsumeValidator替代不存在的ChestOpenCostValidator
+- 修复ChestItemValidator中ITEM_TYPE::OPENABLE为ITEM_TYPE::CHEST
+- 更新宝箱配置验证逻辑,使用ItemChestConfig替代ItemChestContent
+- 适配新的消耗组系统验证逻辑
+```
+
+## 状态
+✅ 已完成并推送到远程仓库

+ 5 - 0
AiWork/WORK.md

@@ -17,6 +17,11 @@ shop_items 的 $max_buy 确认被替代后移除,使用mcp执行sql
 
 ## 已完成任务(保留最新的10条,多余的删除)
 
+- [x] 2025-06-04 21:57 - 修复宝箱开启验证器缺失问题
+  - 任务记录: `AiWork/202506/042157-修复宝箱开启验证器缺失问题.md`
+  - 完成时间: 2025-06-04 22:02
+  - 描述: 修复宝箱开启功能中ChestOpenCostValidator类不存在的错误,创建ChestConsumeValidator适配消耗组系统,修复ChestItemValidator中的枚举值和配置验证逻辑,确保宝箱开启功能正常工作
+
 - [x] 2025-06-04 20:57 - 错误复现命令实现
   - 任务记录: `AiWork/2025年06月/04日2057-错误复现命令实现.md`
   - 完成时间: 2025-06-04 20:57

+ 0 - 3
AiWork/WORK2.md

@@ -5,6 +5,3 @@
 后台 奖励组管理 列表
 http://kku_laravel.local.gd/admin/game-reward-groups
 增加行操作:单次随即奖励 / 10次随即奖励 / 100次随即奖励 按钮;单次直接提示,多次使用弹窗表格展示每次的奖励内容(异步渲染)
-
-编写一个 错误复现的命令 (Console)
-1. 输入 sys_request_logs 表的,id 或 request_unid 或 

+ 56 - 6
app/Console/Commands/ReproduceErrorCommand.php

@@ -6,11 +6,17 @@ use GuzzleHttp\Client;
 use Illuminate\Console\Command;
 use UCore\Model\RequestLog;
 use Illuminate\Support\Facades\Log;
+use UCore\Helper\Logger;
 
 /**
  * 错误复现命令
- * 
+ *
  * 通过 sys_request_logs 表的记录来复现请求,用于调试和错误排查
+ * php artisan debug:reproduce-error  68973982
+ * php artisan debug:reproduce-error  68973982  --type=request_unid
+ * php artisan debug:reproduce-error  68973982  --clear-logs
+ *
+ *
  */
 class ReproduceErrorCommand extends Command
 {
@@ -19,17 +25,14 @@ class ReproduceErrorCommand extends Command
      *
      * @var string
      */
-    protected $signature = 'debug:reproduce-error 
-                            {identifier : 请求标识符(可以是id、request_unid或run_unid)}
-                            {--type=auto : 标识符类型(id|request_unid|run_unid|auto),auto为自动检测}
-                            {--timeout=30 : 请求超时时间(秒)}';
+    protected $signature = 'debug:reproduce-error {identifier : 请求标识符(可以是id、request_unid或run_unid)} {--type=auto : 标识符类型(id|request_unid|run_unid|auto),auto为自动检测} {--timeout=30 : 请求超时时间(秒)} {--clear-logs : 运行前清空当前日志文件}';
 
     /**
      * 命令描述
      *
      * @var string
      */
-    protected $description = '通过请求日志记录复现错误请求,用于调试和问题排查';
+    protected $description = '通过请求日志记录复现错误请求,用于调试和问题排查。支持运行前清空日志文件';
 
     /**
      * HTTP 客户端
@@ -53,6 +56,12 @@ class ReproduceErrorCommand extends Command
         $identifier = $this->argument('identifier');
         $type = $this->option('type');
         $timeout = (int) $this->option('timeout');
+        $clearLogs = $this->option('clear-logs');
+
+        // 如果开启了清空日志选项,则清空日志文件
+        if ($clearLogs) {
+            $this->clearLogFiles();
+        }
 
         $this->info("开始查找请求记录...");
         $this->info("标识符: {$identifier}");
@@ -273,4 +282,45 @@ class ReproduceErrorCommand extends Command
             return null;
         }
     }
+
+    /**
+     * 清空当前日志文件
+     */
+    protected function clearLogFiles(): void
+    {
+        $this->info("正在清空日志文件...");
+
+        try {
+            // 获取当前日志文件路径
+            $logPath = storage_path('logs');
+            $currentDate = date('Y-m-d');
+
+            // Laravel 默认日志文件名格式
+            $logFiles = [
+                $logPath . '/laravel.log',
+                $logPath . "/laravel-{$currentDate}.log",
+            ];
+
+            $clearedCount = 0;
+
+            foreach ($logFiles as $logFile) {
+                if (file_exists($logFile)) {
+                    // 清空文件内容但保留文件
+                    file_put_contents($logFile, '');
+                    $clearedCount++;
+                    $this->line("已清空: " . basename($logFile));
+                }
+            }
+
+            if ($clearedCount > 0) {
+                $this->info("成功清空 {$clearedCount} 个日志文件");
+            } else {
+                $this->warn("未找到需要清空的日志文件");
+            }
+
+            Logger::debug('旧的日志已经清理');
+        } catch (\Exception $e) {
+            $this->error("清空日志文件失败: " . $e->getMessage());
+        }
+    }
 }

+ 4 - 4
app/Module/AppGame/Handler/Item/OpenboxHandler.php

@@ -15,7 +15,7 @@ use UCore\Exception\LogicException;
 /**
  * 处理宝箱开启请求 - 使用消耗组/奖励组系统
  */
-class OpenBoxHandler extends BaseHandler
+class OpenboxHandler extends BaseHandler
 {
     /**
      * 是否需要登录
@@ -26,13 +26,13 @@ class OpenBoxHandler extends BaseHandler
     /**
      * 处理宝箱开启请求
      *
-     * @param RequestItemOpenBox $data 宝箱开启请求数据
-     * @return ResponseItemOpenBox 宝箱开启响应
+     * @param RequestItemOpenbox $data 宝箱开启请求数据
+     * @return ResponseItemOpenbox 宝箱开启响应
      */
     public function handle(Message $data): Message
     {
         // 创建响应对象
-        $response = new ResponseItemOpenBox();
+        $response = new ResponseItemOpenbox();
 
         try {
             // 获取请求参数

+ 2 - 1
app/Module/AppGame/HttpControllers/ProtobufController.php

@@ -123,7 +123,8 @@ class ProtobufController extends Controller
 
             // 执行登录检查中间件
             $middleware = new \App\Module\AppGame\Middleware\LoginCheck();
-            $middlewareResponse = $middleware->handle($httpRequest, function ($request) use ($handler, $data) {
+            $middlewareResponse = $middleware->handle($httpRequest, function ($request) use ($handler, $data,$requestLogger) {
+                $requestLogger->setUserId($handler->user_id);
                 return $handler->handle($data);
             });
 

+ 5 - 0
app/Module/System/Services/RequestLogger.php

@@ -57,6 +57,11 @@ class RequestLogger
     {
         $this->requestLog->error = $error;
     }
+    public function setUserId(int $user_id)
+    {
+        $this->requestLog->user_id = $user_id;
+    }
+
 
     public function setRunTime(float $startTime)
     {

+ 2 - 2
config/proto_route.php

@@ -28,7 +28,7 @@ return array (
     array (
       0 => 'craft',
       1 => 'dismantle',
-      2 => 'open_box',
+      2 => 'openbox',
       3 => 'query',
     ),
     'land' => 
@@ -90,7 +90,7 @@ return array (
       7 => 'query_data',
     ),
   ),
-  'generated_at' => '+08:00 2025-06-03 13:53:47',
+  'generated_at' => '+08:00 2025-06-04 21:53:01',
   'conventions' => 
   array (
     'handler_namespace' => 'App\\Module\\AppGame\\Handler',

+ 4 - 4
protophp/GPBMetadata/Proto/Game.php

@@ -67,7 +67,7 @@ house_rank
 
friend_deleteÊ (2&.uraus.kku.Request.RequestFriendDelete8
 
 item_query  (2#.uraus.kku.Request.RequestItemQuery<
-item_openbox¡ (2%.uraus.kku.Request.RequestItemOpenBox8
+item_openbox¡ (2%.uraus.kku.Request.RequestItemOpenbox8
 
 item_craft¢ (2#.uraus.kku.Request.RequestItemCraft@
 item_dismantle£ (2\'.uraus.kku.Request.RequestItemDismantle8
@@ -206,7 +206,7 @@ os_version (	
 user_id (!
 RequestItemQuery
 times (S
-RequestItemOpenBox
+RequestItemOpenbox
 item_id (
 item_instance_id (
 
@@ -295,7 +295,7 @@ house_rank
 
friend_deleteÊ (2(.uraus.kku.Response.ResponseFriendDelete:
 
 item_query  (2%.uraus.kku.Response.ResponseItemQuery>
-item_openbox¡ (2\'.uraus.kku.Response.ResponseItemOpenBox:
+item_openbox¡ (2\'.uraus.kku.Response.ResponseItemOpenbox:
 
 item_craft¢ (2%.uraus.kku.Response.ResponseItemCraftB
 item_dismantle£ (2).uraus.kku.Response.ResponseItemDismantle:
@@ -459,7 +459,7 @@ to_user_id (
 ResponseFriendApplyAgree
 ResponseFriendDelete
 ResponseItemQuery
-ResponseItemOpenBox
+ResponseItemOpenbox
 ResponseItemCraft
 ResponseItemDismantle\'
 ResponseShopQuery

+ 7 - 7
protophp/Uraus/Kku/Request.php

@@ -304,7 +304,7 @@ class Request extends \Google\Protobuf\Internal\Message
     /**
      * 开启宝箱
      *
-     * Generated from protobuf field <code>.uraus.kku.Request.RequestItemOpenBox item_openbox = 801;</code>
+     * Generated from protobuf field <code>.uraus.kku.Request.RequestItemOpenbox item_openbox = 801;</code>
      */
     protected $item_openbox = null;
     /**
@@ -474,7 +474,7 @@ class Request extends \Google\Protobuf\Internal\Message
      *           删除好友
      *     @type \Uraus\Kku\Request\RequestItemQuery $item_query
      *           我的所有物品
-     *     @type \Uraus\Kku\Request\RequestItemOpenBox $item_openbox
+     *     @type \Uraus\Kku\Request\RequestItemOpenbox $item_openbox
      *           开启宝箱
      *     @type \Uraus\Kku\Request\RequestItemCraft $item_craft
      *           合成
@@ -2168,8 +2168,8 @@ class Request extends \Google\Protobuf\Internal\Message
     /**
      * 开启宝箱
      *
-     * Generated from protobuf field <code>.uraus.kku.Request.RequestItemOpenBox item_openbox = 801;</code>
-     * @return \Uraus\Kku\Request\RequestItemOpenBox
+     * Generated from protobuf field <code>.uraus.kku.Request.RequestItemOpenbox item_openbox = 801;</code>
+     * @return \Uraus\Kku\Request\RequestItemOpenbox
      */
     public function getItemOpenbox()
     {
@@ -2189,13 +2189,13 @@ class Request extends \Google\Protobuf\Internal\Message
     /**
      * 开启宝箱
      *
-     * Generated from protobuf field <code>.uraus.kku.Request.RequestItemOpenBox item_openbox = 801;</code>
-     * @param \Uraus\Kku\Request\RequestItemOpenBox $var
+     * Generated from protobuf field <code>.uraus.kku.Request.RequestItemOpenbox item_openbox = 801;</code>
+     * @param \Uraus\Kku\Request\RequestItemOpenbox $var
      * @return $this
      */
     public function setItemOpenbox($var)
     {
-        GPBUtil::checkMessage($var, \Uraus\Kku\Request\RequestItemOpenBox::class);
+        GPBUtil::checkMessage($var, \Uraus\Kku\Request\RequestItemOpenbox::class);
         $this->item_openbox = $var;
 
         return $this;

+ 3 - 3
protophp/Uraus/Kku/Request/RequestItemOpenBox.php → protophp/Uraus/Kku/Request/RequestItemOpenbox.php

@@ -11,9 +11,9 @@ use Google\Protobuf\Internal\GPBUtil;
 /**
  * 开启宝箱请求消息
  *
- * Generated from protobuf message <code>uraus.kku.Request.RequestItemOpenBox</code>
+ * Generated from protobuf message <code>uraus.kku.Request.RequestItemOpenbox</code>
  */
-class RequestItemOpenBox extends \Google\Protobuf\Internal\Message
+class RequestItemOpenbox extends \Google\Protobuf\Internal\Message
 {
     /**
      * 宝箱 item_id
@@ -134,5 +134,5 @@ class RequestItemOpenBox extends \Google\Protobuf\Internal\Message
 }
 
 // Adding a class alias for backwards compatibility with the previous class name.
-class_alias(RequestItemOpenBox::class, \Uraus\Kku\Request_RequestItemOpenBox::class);
+class_alias(RequestItemOpenbox::class, \Uraus\Kku\Request_RequestItemOpenbox::class);
 

+ 4 - 4
protophp/Uraus/Kku/Request_RequestItemOpenBox.php → protophp/Uraus/Kku/Request_RequestItemOpenbox.php

@@ -6,11 +6,11 @@ namespace Uraus\Kku;
 
 if (false) {
     /**
-     * This class is deprecated. Use Uraus\Kku\Request\RequestItemOpenBox instead.
+     * This class is deprecated. Use Uraus\Kku\Request\RequestItemOpenbox instead.
      * @deprecated
      */
-    class Request_RequestItemOpenBox {}
+    class Request_RequestItemOpenbox {}
 }
-class_exists(Request\RequestItemOpenBox::class);
-@trigger_error('Uraus\Kku\Request_RequestItemOpenBox is deprecated and will be removed in the next major release. Use Uraus\Kku\Request\RequestItemOpenBox instead', E_USER_DEPRECATED);
+class_exists(Request\RequestItemOpenbox::class);
+@trigger_error('Uraus\Kku\Request_RequestItemOpenbox is deprecated and will be removed in the next major release. Use Uraus\Kku\Request\RequestItemOpenbox instead', E_USER_DEPRECATED);
 

+ 7 - 7
protophp/Uraus/Kku/Response.php

@@ -380,7 +380,7 @@ class Response extends \Google\Protobuf\Internal\Message
     /**
      * 开启宝箱
      *
-     * Generated from protobuf field <code>.uraus.kku.Response.ResponseItemOpenBox item_openbox = 801;</code>
+     * Generated from protobuf field <code>.uraus.kku.Response.ResponseItemOpenbox item_openbox = 801;</code>
      */
     protected $item_openbox = null;
     /**
@@ -594,7 +594,7 @@ class Response extends \Google\Protobuf\Internal\Message
      *           删除好友
      *     @type \Uraus\Kku\Response\ResponseItemQuery $item_query
      *           我的所有物品
-     *     @type \Uraus\Kku\Response\ResponseItemOpenBox $item_openbox
+     *     @type \Uraus\Kku\Response\ResponseItemOpenbox $item_openbox
      *           开启宝箱
      *     @type \Uraus\Kku\Response\ResponseItemCraft $item_craft
      *           合成
@@ -2601,8 +2601,8 @@ class Response extends \Google\Protobuf\Internal\Message
     /**
      * 开启宝箱
      *
-     * Generated from protobuf field <code>.uraus.kku.Response.ResponseItemOpenBox item_openbox = 801;</code>
-     * @return \Uraus\Kku\Response\ResponseItemOpenBox
+     * Generated from protobuf field <code>.uraus.kku.Response.ResponseItemOpenbox item_openbox = 801;</code>
+     * @return \Uraus\Kku\Response\ResponseItemOpenbox
      */
     public function getItemOpenbox()
     {
@@ -2622,13 +2622,13 @@ class Response extends \Google\Protobuf\Internal\Message
     /**
      * 开启宝箱
      *
-     * Generated from protobuf field <code>.uraus.kku.Response.ResponseItemOpenBox item_openbox = 801;</code>
-     * @param \Uraus\Kku\Response\ResponseItemOpenBox $var
+     * Generated from protobuf field <code>.uraus.kku.Response.ResponseItemOpenbox item_openbox = 801;</code>
+     * @param \Uraus\Kku\Response\ResponseItemOpenbox $var
      * @return $this
      */
     public function setItemOpenbox($var)
     {
-        GPBUtil::checkMessage($var, \Uraus\Kku\Response\ResponseItemOpenBox::class);
+        GPBUtil::checkMessage($var, \Uraus\Kku\Response\ResponseItemOpenbox::class);
         $this->item_openbox = $var;
 
         return $this;

+ 3 - 3
protophp/Uraus/Kku/Response/ResponseItemOpenBox.php → protophp/Uraus/Kku/Response/ResponseItemOpenbox.php

@@ -11,9 +11,9 @@ use Google\Protobuf\Internal\GPBUtil;
 /**
  * 开启宝箱请求消息
  *
- * Generated from protobuf message <code>uraus.kku.Response.ResponseItemOpenBox</code>
+ * Generated from protobuf message <code>uraus.kku.Response.ResponseItemOpenbox</code>
  */
-class ResponseItemOpenBox extends \Google\Protobuf\Internal\Message
+class ResponseItemOpenbox extends \Google\Protobuf\Internal\Message
 {
 
     /**
@@ -32,5 +32,5 @@ class ResponseItemOpenBox extends \Google\Protobuf\Internal\Message
 }
 
 // Adding a class alias for backwards compatibility with the previous class name.
-class_alias(ResponseItemOpenBox::class, \Uraus\Kku\Response_ResponseItemOpenBox::class);
+class_alias(ResponseItemOpenbox::class, \Uraus\Kku\Response_ResponseItemOpenbox::class);
 

+ 4 - 4
protophp/Uraus/Kku/Response_ResponseItemOpenBox.php → protophp/Uraus/Kku/Response_ResponseItemOpenbox.php

@@ -6,11 +6,11 @@ namespace Uraus\Kku;
 
 if (false) {
     /**
-     * This class is deprecated. Use Uraus\Kku\Response\ResponseItemOpenBox instead.
+     * This class is deprecated. Use Uraus\Kku\Response\ResponseItemOpenbox instead.
      * @deprecated
      */
-    class Response_ResponseItemOpenBox {}
+    class Response_ResponseItemOpenbox {}
 }
-class_exists(Response\ResponseItemOpenBox::class);
-@trigger_error('Uraus\Kku\Response_ResponseItemOpenBox is deprecated and will be removed in the next major release. Use Uraus\Kku\Response\ResponseItemOpenBox instead', E_USER_DEPRECATED);
+class_exists(Response\ResponseItemOpenbox::class);
+@trigger_error('Uraus\Kku\Response_ResponseItemOpenbox is deprecated and will be removed in the next major release. Use Uraus\Kku\Response\ResponseItemOpenbox instead', E_USER_DEPRECATED);
 

+ 4 - 1
vendor/autoload.php

@@ -14,7 +14,10 @@ if (PHP_VERSION_ID < 50600) {
             echo $err;
         }
     }
-    throw new RuntimeException($err);
+    trigger_error(
+        $err,
+        E_USER_ERROR
+    );
 }
 
 require_once __DIR__ . '/composer/autoload_real.php';

+ 0 - 2
vendor/composer/LICENSE

@@ -1,4 +1,3 @@
-
 Copyright (c) Nils Adermann, Jordi Boggiano
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -18,4 +17,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
-

+ 36 - 25
vendor/composer/autoload_classmap.php

@@ -26,9 +26,11 @@ return array(
     'App\\Console\\Commands\\InsertShopPurchaseLimitMenu' => $baseDir . '/app/Console/Commands/InsertShopPurchaseLimitMenu.php',
     'App\\Console\\Commands\\InsertTeamAdminMenu' => $baseDir . '/app/Console/Commands/InsertTeamAdminMenu.php',
     'App\\Console\\Commands\\RemoveDuplicateMenus' => $baseDir . '/app/Console/Commands/RemoveDuplicateMenus.php',
+    'App\\Console\\Commands\\ReproduceErrorCommand' => $baseDir . '/app/Console/Commands/ReproduceErrorCommand.php',
     'App\\Console\\Commands\\TestSizeRotatingLog' => $baseDir . '/app/Console/Commands/TestSizeRotatingLog.php',
     'App\\Console\\Commands\\TranslateMenuTitles' => $baseDir . '/app/Console/Commands/TranslateMenuTitles.php',
     'App\\Console\\Commands\\UpdateAdminMenuEmoji' => $baseDir . '/app/Console/Commands/UpdateAdminMenuEmoji.php',
+    'App\\Console\\Commands\\UpdateChestAdminMenu' => $baseDir . '/app/Console/Commands/UpdateChestAdminMenu.php',
     'App\\Console\\Kernel' => $baseDir . '/app/Console/Kernel.php',
     'App\\Http\\Controllers\\Controller' => $baseDir . '/app/Http/Controllers/Controller.php',
     'App\\Http\\Controllers\\DemoController' => $baseDir . '/app/Http/Controllers/DemoController.php',
@@ -571,18 +573,14 @@ return array(
     'App\\Module\\Fund\\Validators\\UserFundCheckValidator' => $baseDir . '/app/Module/Fund/Validators/UserFundCheckValidator.php',
     'App\\Module\\GameItems\\AdminControllers\\Actions\\BatchActivateAction' => $baseDir . '/app/Module/GameItems/AdminControllers/Actions/BatchActivateAction.php',
     'App\\Module\\GameItems\\AdminControllers\\Actions\\BatchDeactivateAction' => $baseDir . '/app/Module/GameItems/AdminControllers/Actions/BatchDeactivateAction.php',
-    'App\\Module\\GameItems\\AdminControllers\\Actions\\ChestCostAction' => $baseDir . '/app/Module/GameItems/AdminControllers/Actions/ChestCostAction.php',
-    'App\\Module\\GameItems\\AdminControllers\\Actions\\ChestManageAction' => $baseDir . '/app/Module/GameItems/AdminControllers/Actions/ChestManageAction.php',
+    'App\\Module\\GameItems\\AdminControllers\\Actions\\ChestNewManageAction' => $baseDir . '/app/Module/GameItems/AdminControllers/Actions/ChestNewManageAction.php',
     'App\\Module\\GameItems\\AdminControllers\\Actions\\CopyToAnotherChestAction' => $baseDir . '/app/Module/GameItems/AdminControllers/Actions/CopyToAnotherChestAction.php',
-    'App\\Module\\GameItems\\AdminControllers\\Actions\\DuplicateChestContentAction' => $baseDir . '/app/Module/GameItems/AdminControllers/Actions/DuplicateChestContentAction.php',
     'App\\Module\\GameItems\\AdminControllers\\Actions\\DuplicateRowAction' => $baseDir . '/app/Module/GameItems/AdminControllers/Actions/DuplicateRowAction.php',
     'App\\Module\\GameItems\\AdminControllers\\Actions\\ItemQuantityAction' => $baseDir . '/app/Module/GameItems/AdminControllers/Actions/ItemQuantityAction.php',
     'App\\Module\\GameItems\\AdminControllers\\Actions\\ItemQuantityForm' => $baseDir . '/app/Module/GameItems/AdminControllers/Actions/ItemQuantityForm.php',
-    'App\\Module\\GameItems\\AdminControllers\\Actions\\ViewChestDetailAction' => $baseDir . '/app/Module/GameItems/AdminControllers/Actions/ViewChestDetailAction.php',
     'App\\Module\\GameItems\\AdminControllers\\Actions\\ViewGroupDetailAction' => $baseDir . '/app/Module/GameItems/AdminControllers/Actions/ViewGroupDetailAction.php',
     'App\\Module\\GameItems\\AdminControllers\\Actions\\ViewItemDetailAction' => $baseDir . '/app/Module/GameItems/AdminControllers/Actions/ViewItemDetailAction.php',
     'App\\Module\\GameItems\\AdminControllers\\CategoryController' => $baseDir . '/app/Module/GameItems/AdminControllers/CategoryController.php',
-    'App\\Module\\GameItems\\AdminControllers\\ChestContentController' => $baseDir . '/app/Module/GameItems/AdminControllers/ChestContentController.php',
     'App\\Module\\GameItems\\AdminControllers\\ChestOpenLogController' => $baseDir . '/app/Module/GameItems/AdminControllers/ChestOpenLogController.php',
     'App\\Module\\GameItems\\AdminControllers\\CraftLogController' => $baseDir . '/app/Module/GameItems/AdminControllers/CraftLogController.php',
     'App\\Module\\GameItems\\AdminControllers\\DismantleLogController' => $baseDir . '/app/Module/GameItems/AdminControllers/DismantleLogController.php',
@@ -596,7 +594,7 @@ return array(
     'App\\Module\\GameItems\\AdminControllers\\Helper\\GridHelper' => $baseDir . '/app/Module/GameItems/AdminControllers/Helper/GridHelper.php',
     'App\\Module\\GameItems\\AdminControllers\\Helper\\ShowHelper' => $baseDir . '/app/Module/GameItems/AdminControllers/Helper/ShowHelper.php',
     'App\\Module\\GameItems\\AdminControllers\\InstanceController' => $baseDir . '/app/Module/GameItems/AdminControllers/InstanceController.php',
-    'App\\Module\\GameItems\\AdminControllers\\ItemChestOpenCostController' => $baseDir . '/app/Module/GameItems/AdminControllers/ItemChestOpenCostController.php',
+    'App\\Module\\GameItems\\AdminControllers\\ItemChestConfigController' => $baseDir . '/app/Module/GameItems/AdminControllers/ItemChestConfigController.php',
     'App\\Module\\GameItems\\AdminControllers\\ItemController' => $baseDir . '/app/Module/GameItems/AdminControllers/ItemController.php',
     'App\\Module\\GameItems\\AdminControllers\\LazyRenderable\\ChestLazyRenderable' => $baseDir . '/app/Module/GameItems/AdminControllers/LazyRenderable/ChestLazyRenderable.php',
     'App\\Module\\GameItems\\AdminControllers\\LazyRenderable\\ItemGroupLazyRenderable' => $baseDir . '/app/Module/GameItems/AdminControllers/LazyRenderable/ItemGroupLazyRenderable.php',
@@ -624,13 +622,11 @@ return array(
     'App\\Module\\GameItems\\Commands\\GenerateDismantleJsonCommand' => $baseDir . '/app/Module/GameItems/Commands/GenerateDismantleJsonCommand.php',
     'App\\Module\\GameItems\\Commands\\GenerateItemsJsonCommand' => $baseDir . '/app/Module/GameItems/Commands/GenerateItemsJsonCommand.php',
     'App\\Module\\GameItems\\Commands\\GenerateRecipeJsonCommand' => $baseDir . '/app/Module/GameItems/Commands/GenerateRecipeJsonCommand.php',
-    'App\\Module\\GameItems\\Config\\ChestContentWhitelist' => $baseDir . '/app/Module/GameItems/Config/ChestContentWhitelist.php',
-    'App\\Module\\GameItems\\Config\\ChestCostWhitelist' => $baseDir . '/app/Module/GameItems/Config/ChestCostWhitelist.php',
     'App\\Module\\GameItems\\Config\\NumericAttributesWhitelist' => $baseDir . '/app/Module/GameItems/Config/NumericAttributesWhitelist.php',
-    'App\\Module\\GameItems\\Dtos\\ItemChestOpenCostDto' => $baseDir . '/app/Module/GameItems/Dtos/ItemChestOpenCostDto.php',
+    'App\\Module\\GameItems\\Console\\Commands\\MigrateChestToGroupSystemCommand' => $baseDir . '/app/Module/GameItems/Console/Commands/MigrateChestToGroupSystemCommand.php',
+    'App\\Module\\GameItems\\Console\\Commands\\UpdateChestDatabaseCommand' => $baseDir . '/app/Module/GameItems/Console/Commands/UpdateChestDatabaseCommand.php',
     'App\\Module\\GameItems\\Dtos\\ItemDto' => $baseDir . '/app/Module/GameItems/Dtos/ItemDto.php',
     'App\\Module\\GameItems\\Dtos\\ItemUserDto' => $baseDir . '/app/Module/GameItems/Dtos/ItemUserDto.php',
-    'App\\Module\\GameItems\\Enums\\CHEST_COST_TYPE' => $baseDir . '/app/Module/GameItems/Enums/CHEST_COST_TYPE.php',
     'App\\Module\\GameItems\\Enums\\ITEM_BIND_TYPE' => $baseDir . '/app/Module/GameItems/Enums/ITEM_BIND_TYPE.php',
     'App\\Module\\GameItems\\Enums\\ITEM_TYPE' => $baseDir . '/app/Module/GameItems/Enums/ITEM_TYPE.php',
     'App\\Module\\GameItems\\Enums\\TRANSACTION_TYPE' => $baseDir . '/app/Module/GameItems/Enums/TRANSACTION_TYPE.php',
@@ -643,8 +639,6 @@ return array(
     'App\\Module\\GameItems\\Jobs\\TestJob' => $baseDir . '/app/Module/GameItems/Jobs/TestJob.php',
     'App\\Module\\GameItems\\Listeners\\TestEventListener' => $baseDir . '/app/Module/GameItems/Listeners/TestEventListener.php',
     'App\\Module\\GameItems\\Listeners\\TestListener' => $baseDir . '/app/Module/GameItems/Listeners/TestListener.php',
-    'App\\Module\\GameItems\\Logics\\ChestContent' => $baseDir . '/app/Module/GameItems/Logics/ChestContent.php',
-    'App\\Module\\GameItems\\Logics\\ChestOpenCostLogic' => $baseDir . '/app/Module/GameItems/Logics/ChestOpenCostLogic.php',
     'App\\Module\\GameItems\\Logics\\Group' => $baseDir . '/app/Module/GameItems/Logics/Group.php',
     'App\\Module\\GameItems\\Logics\\Item' => $baseDir . '/app/Module/GameItems/Logics/Item.php',
     'App\\Module\\GameItems\\Logics\\ItemInstance' => $baseDir . '/app/Module/GameItems/Logics/ItemInstance.php',
@@ -655,8 +649,7 @@ return array(
     'App\\Module\\GameItems\\Logics\\UserRecipe' => $baseDir . '/app/Module/GameItems/Logics/UserRecipe.php',
     'App\\Module\\GameItems\\Models\\Item' => $baseDir . '/app/Module/GameItems/Models/Item.php',
     'App\\Module\\GameItems\\Models\\ItemCategory' => $baseDir . '/app/Module/GameItems/Models/ItemCategory.php',
-    'App\\Module\\GameItems\\Models\\ItemChestContent' => $baseDir . '/app/Module/GameItems/Models/ItemChestContent.php',
-    'App\\Module\\GameItems\\Models\\ItemChestOpenCost' => $baseDir . '/app/Module/GameItems/Models/ItemChestOpenCost.php',
+    'App\\Module\\GameItems\\Models\\ItemChestConfig' => $baseDir . '/app/Module/GameItems/Models/ItemChestConfig.php',
     'App\\Module\\GameItems\\Models\\ItemChestOpenLog' => $baseDir . '/app/Module/GameItems/Models/ItemChestOpenLog.php',
     'App\\Module\\GameItems\\Models\\ItemCraftLog' => $baseDir . '/app/Module/GameItems/Models/ItemCraftLog.php',
     'App\\Module\\GameItems\\Models\\ItemDismantleLog' => $baseDir . '/app/Module/GameItems/Models/ItemDismantleLog.php',
@@ -674,9 +667,8 @@ return array(
     'App\\Module\\GameItems\\Models\\ItemUserRecipe' => $baseDir . '/app/Module/GameItems/Models/ItemUserRecipe.php',
     'App\\Module\\GameItems\\Providers\\GameItemsServiceProvider' => $baseDir . '/app/Module/GameItems/Providers/GameItemsServiceProvider.php',
     'App\\Module\\GameItems\\Queues\\TestQueue' => $baseDir . '/app/Module/GameItems/Queues/TestQueue.php',
+    'App\\Module\\GameItems\\Repositories\\ItemChestConfigRepository' => $baseDir . '/app/Module/GameItems/Repositories/ItemChestConfigRepository.php',
     'App\\Module\\GameItems\\Repositorys\\ItemCategoryRepository' => $baseDir . '/app/Module/GameItems/Repositorys/ItemCategoryRepository.php',
-    'App\\Module\\GameItems\\Repositorys\\ItemChestContentRepository' => $baseDir . '/app/Module/GameItems/Repositorys/ItemChestContentRepository.php',
-    'App\\Module\\GameItems\\Repositorys\\ItemChestOpenCostRepository' => $baseDir . '/app/Module/GameItems/Repositorys/ItemChestOpenCostRepository.php',
     'App\\Module\\GameItems\\Repositorys\\ItemChestOpenLogRepository' => $baseDir . '/app/Module/GameItems/Repositorys/ItemChestOpenLogRepository.php',
     'App\\Module\\GameItems\\Repositorys\\ItemCraftLogRepository' => $baseDir . '/app/Module/GameItems/Repositorys/ItemCraftLogRepository.php',
     'App\\Module\\GameItems\\Repositorys\\ItemDismantleLogRepository' => $baseDir . '/app/Module/GameItems/Repositorys/ItemDismantleLogRepository.php',
@@ -703,7 +695,6 @@ return array(
     'App\\Module\\GameItems\\Validations\\ItemCraftValidation' => $baseDir . '/app/Module/GameItems/Validations/ItemCraftValidation.php',
     'App\\Module\\GameItems\\Validations\\ItemDismantleValidation' => $baseDir . '/app/Module/GameItems/Validations/ItemDismantleValidation.php',
     'App\\Module\\GameItems\\Validators\\ChestItemValidator' => $baseDir . '/app/Module/GameItems/Validators/ChestItemValidator.php',
-    'App\\Module\\GameItems\\Validators\\ChestOpenCostValidator' => $baseDir . '/app/Module/GameItems/Validators/ChestOpenCostValidator.php',
     'App\\Module\\GameItems\\Validators\\ChestOwnershipValidator' => $baseDir . '/app/Module/GameItems/Validators/ChestOwnershipValidator.php',
     'App\\Module\\GameItems\\Validators\\CraftMaterialsValidator' => $baseDir . '/app/Module/GameItems/Validators/CraftMaterialsValidator.php',
     'App\\Module\\GameItems\\Validators\\CraftRecipeValidator' => $baseDir . '/app/Module/GameItems/Validators/CraftRecipeValidator.php',
@@ -713,9 +704,12 @@ return array(
     'App\\Module\\GameItems\\Validators\\ItemQuantityValidator' => $baseDir . '/app/Module/GameItems/Validators/ItemQuantityValidator.php',
     'App\\Module\\Game\\AdminControllers\\Actions\\BatchActivateTagAction' => $baseDir . '/app/Module/Game/AdminControllers/Actions/BatchActivateTagAction.php',
     'App\\Module\\Game\\AdminControllers\\Actions\\BatchDeactivateTagAction' => $baseDir . '/app/Module/Game/AdminControllers/Actions/BatchDeactivateTagAction.php',
+    'App\\Module\\Game\\AdminControllers\\Actions\\BatchRandomRewardAction' => $baseDir . '/app/Module/Game/AdminControllers/Actions/BatchRandomRewardAction.php',
     'App\\Module\\Game\\AdminControllers\\Actions\\DuplicateConsumeGroupAction' => $baseDir . '/app/Module/Game/AdminControllers/Actions/DuplicateConsumeGroupAction.php',
     'App\\Module\\Game\\AdminControllers\\Actions\\DuplicateConsumeItemAction' => $baseDir . '/app/Module/Game/AdminControllers/Actions/DuplicateConsumeItemAction.php',
     'App\\Module\\Game\\AdminControllers\\Actions\\DuplicateRewardGroupAction' => $baseDir . '/app/Module/Game/AdminControllers/Actions/DuplicateRewardGroupAction.php',
+    'App\\Module\\Game\\AdminControllers\\Actions\\DuplicateRewardItemAction' => $baseDir . '/app/Module/Game/AdminControllers/Actions/DuplicateRewardItemAction.php',
+    'App\\Module\\Game\\AdminControllers\\Actions\\RandomRewardAction' => $baseDir . '/app/Module/Game/AdminControllers/Actions/RandomRewardAction.php',
     'App\\Module\\Game\\AdminControllers\\Actions\\ViewTempDataAction' => $baseDir . '/app/Module/Game/AdminControllers/Actions/ViewTempDataAction.php',
     'App\\Module\\Game\\AdminControllers\\Api\\RewardTargetController' => $baseDir . '/app/Module/Game/AdminControllers/Api/RewardTargetController.php',
     'App\\Module\\Game\\AdminControllers\\FarmUserSummaryController' => $baseDir . '/app/Module/Game/AdminControllers/FarmUserSummaryController.php',
@@ -725,6 +719,7 @@ return array(
     'App\\Module\\Game\\AdminControllers\\GameConsumeGroupController' => $baseDir . '/app/Module/Game/AdminControllers/GameConsumeGroupController.php',
     'App\\Module\\Game\\AdminControllers\\GameConsumeItemController' => $baseDir . '/app/Module/Game/AdminControllers/GameConsumeItemController.php',
     'App\\Module\\Game\\AdminControllers\\GameRewardGroupController' => $baseDir . '/app/Module/Game/AdminControllers/GameRewardGroupController.php',
+    'App\\Module\\Game\\AdminControllers\\GameRewardGroupPityCountController' => $baseDir . '/app/Module/Game/AdminControllers/GameRewardGroupPityCountController.php',
     'App\\Module\\Game\\AdminControllers\\GameRewardItemController' => $baseDir . '/app/Module/Game/AdminControllers/GameRewardItemController.php',
     'App\\Module\\Game\\AdminControllers\\GameRewardLogController' => $baseDir . '/app/Module/Game/AdminControllers/GameRewardLogController.php',
     'App\\Module\\Game\\AdminControllers\\GameTagController' => $baseDir . '/app/Module/Game/AdminControllers/GameTagController.php',
@@ -739,11 +734,13 @@ return array(
     'App\\Module\\Game\\AdminControllers\\LazyRenderable\\GameConditionGroupLazyRenderable' => $baseDir . '/app/Module/Game/AdminControllers/LazyRenderable/GameConditionGroupLazyRenderable.php',
     'App\\Module\\Game\\AdminControllers\\LazyRenderable\\GameConsumeGroupLazyRenderable' => $baseDir . '/app/Module/Game/AdminControllers/LazyRenderable/GameConsumeGroupLazyRenderable.php',
     'App\\Module\\Game\\AdminControllers\\LazyRenderable\\GameRewardGroupLazyRenderable' => $baseDir . '/app/Module/Game/AdminControllers/LazyRenderable/GameRewardGroupLazyRenderable.php',
+    'App\\Module\\Game\\AdminControllers\\LazyRenderable\\RandomRewardResultLazyRenderable' => $baseDir . '/app/Module/Game/AdminControllers/LazyRenderable/RandomRewardResultLazyRenderable.php',
     'App\\Module\\Game\\AdminControllers\\LazyRenderable\\RewardGroupLazyRenderable' => $baseDir . '/app/Module/Game/AdminControllers/LazyRenderable/RewardGroupLazyRenderable.php',
     'App\\Module\\Game\\AdminControllers\\TempDataController' => $baseDir . '/app/Module/Game/AdminControllers/TempDataController.php',
     'App\\Module\\Game\\AdminControllers\\Tools\\ItemGroupList' => $baseDir . '/app/Module/Game/AdminControllers/Tools/ItemGroupList.php',
     'App\\Module\\Game\\AdminControllers\\Tools\\RewareGroupInfo' => $baseDir . '/app/Module/Game/AdminControllers/Tools/RewareGroupInfo.php',
     'App\\Module\\Game\\AdminControllers\\Tools\\RewareItemGroupInfoList' => $baseDir . '/app/Module/Game/AdminControllers/Tools/RewareItemGroupInfoList.php',
+    'App\\Module\\Game\\AdminRepositories\\GameRewardGroupPityCountRepository' => $baseDir . '/app/Module/Game/AdminRepositories/GameRewardGroupPityCountRepository.php',
     'App\\Module\\Game\\Commands\\CleanExpiredRewardLogsCommand' => $baseDir . '/app/Module/Game/Commands/CleanExpiredRewardLogsCommand.php',
     'App\\Module\\Game\\Commands\\ImportRewardGroupsCommand' => $baseDir . '/app/Module/Game/Commands/ImportRewardGroupsCommand.php',
     'App\\Module\\Game\\Commands\\TestConditionCommand' => $baseDir . '/app/Module/Game/Commands/TestConditionCommand.php',
@@ -765,6 +762,7 @@ return array(
     'App\\Module\\Game\\DCache\\PetLevelJsonConfig' => $baseDir . '/app/Module/Game/DCache/PetLevelJsonConfig.php',
     'App\\Module\\Game\\DCache\\PetSkillJsonConfig' => $baseDir . '/app/Module/Game/DCache/PetSkillJsonConfig.php',
     'App\\Module\\Game\\DCache\\RecipeJsonConfig' => $baseDir . '/app/Module/Game/DCache/RecipeJsonConfig.php',
+    'App\\Module\\Game\\DCache\\ShopItemsJsonConfig' => $baseDir . '/app/Module/Game/DCache/ShopItemsJsonConfig.php',
     'App\\Module\\Game\\Dtos\\FundChangeTempDto' => $baseDir . '/app/Module/Game/Dtos/FundChangeTempDto.php',
     'App\\Module\\Game\\Dtos\\GodChangeTempDto' => $baseDir . '/app/Module/Game/Dtos/GodChangeTempDto.php',
     'App\\Module\\Game\\Dtos\\HouseChangeTempDto' => $baseDir . '/app/Module/Game/Dtos/HouseChangeTempDto.php',
@@ -810,16 +808,29 @@ return array(
     'App\\Module\\Game\\Logics\\FundTemp' => $baseDir . '/app/Module/Game/Logics/FundTemp.php',
     'App\\Module\\Game\\Logics\\GodTemp' => $baseDir . '/app/Module/Game/Logics/GodTemp.php',
     'App\\Module\\Game\\Logics\\HouseTemp' => $baseDir . '/app/Module/Game/Logics/HouseTemp.php',
+    'App\\Module\\Game\\Logics\\IndependentProbabilityReward' => $baseDir . '/app/Module/Game/Logics/IndependentProbabilityReward.php',
     'App\\Module\\Game\\Logics\\ItemTemp' => $baseDir . '/app/Module/Game/Logics/ItemTemp.php',
     'App\\Module\\Game\\Logics\\LandTemp' => $baseDir . '/app/Module/Game/Logics/LandTemp.php',
     'App\\Module\\Game\\Logics\\PetTemp' => $baseDir . '/app/Module/Game/Logics/PetTemp.php',
     'App\\Module\\Game\\Logics\\RewardCollectorLogic' => $baseDir . '/app/Module/Game/Logics/RewardCollectorLogic.php',
     'App\\Module\\Game\\Logics\\RewardLogic' => $baseDir . '/app/Module/Game/Logics/RewardLogic.php',
+    'App\\Module\\Game\\Logics\\RewardProcessors\\CurrencyRewardProcessor' => $baseDir . '/app/Module/Game/Logics/RewardProcessors/CurrencyRewardProcessor.php',
+    'App\\Module\\Game\\Logics\\RewardProcessors\\FarmShrineRewardProcessor' => $baseDir . '/app/Module/Game/Logics/RewardProcessors/FarmShrineRewardProcessor.php',
+    'App\\Module\\Game\\Logics\\RewardProcessors\\FundConfigRewardProcessor' => $baseDir . '/app/Module/Game/Logics/RewardProcessors/FundConfigRewardProcessor.php',
+    'App\\Module\\Game\\Logics\\RewardProcessors\\ItemRewardProcessor' => $baseDir . '/app/Module/Game/Logics/RewardProcessors/ItemRewardProcessor.php',
+    'App\\Module\\Game\\Logics\\RewardProcessors\\OtherRewardProcessor' => $baseDir . '/app/Module/Game/Logics/RewardProcessors/OtherRewardProcessor.php',
+    'App\\Module\\Game\\Logics\\RewardProcessors\\PetEnergyRewardProcessor' => $baseDir . '/app/Module/Game/Logics/RewardProcessors/PetEnergyRewardProcessor.php',
+    'App\\Module\\Game\\Logics\\RewardProcessors\\PetExpRewardProcessor' => $baseDir . '/app/Module/Game/Logics/RewardProcessors/PetExpRewardProcessor.php',
+    'App\\Module\\Game\\Logics\\RewardProcessors\\PetPowerRewardProcessor' => $baseDir . '/app/Module/Game/Logics/RewardProcessors/PetPowerRewardProcessor.php',
+    'App\\Module\\Game\\Logics\\RewardProcessors\\PetRewardProcessor' => $baseDir . '/app/Module/Game/Logics/RewardProcessors/PetRewardProcessor.php',
+    'App\\Module\\Game\\Logics\\RewardProcessors\\RewardProcessorDispatcher' => $baseDir . '/app/Module/Game/Logics/RewardProcessors/RewardProcessorDispatcher.php',
+    'App\\Module\\Game\\Logics\\WeightSelectionReward' => $baseDir . '/app/Module/Game/Logics/WeightSelectionReward.php',
     'App\\Module\\Game\\Models\\GameConditionGroup' => $baseDir . '/app/Module/Game/Models/GameConditionGroup.php',
     'App\\Module\\Game\\Models\\GameConditionItem' => $baseDir . '/app/Module/Game/Models/GameConditionItem.php',
     'App\\Module\\Game\\Models\\GameConsumeGroup' => $baseDir . '/app/Module/Game/Models/GameConsumeGroup.php',
     'App\\Module\\Game\\Models\\GameConsumeItem' => $baseDir . '/app/Module/Game/Models/GameConsumeItem.php',
     'App\\Module\\Game\\Models\\GameRewardGroup' => $baseDir . '/app/Module/Game/Models/GameRewardGroup.php',
+    'App\\Module\\Game\\Models\\GameRewardGroupPityCount' => $baseDir . '/app/Module/Game/Models/GameRewardGroupPityCount.php',
     'App\\Module\\Game\\Models\\GameRewardItem' => $baseDir . '/app/Module/Game/Models/GameRewardItem.php',
     'App\\Module\\Game\\Models\\GameRewardLog' => $baseDir . '/app/Module/Game/Models/GameRewardLog.php',
     'App\\Module\\Game\\Models\\GameTag' => $baseDir . '/app/Module/Game/Models/GameTag.php',
@@ -847,6 +858,7 @@ return array(
     'App\\Module\\Game\\Services\\JsonConfigService' => $baseDir . '/app/Module/Game/Services/JsonConfigService.php',
     'App\\Module\\Game\\Services\\LandTempService' => $baseDir . '/app/Module/Game/Services/LandTempService.php',
     'App\\Module\\Game\\Services\\PetTempService' => $baseDir . '/app/Module/Game/Services/PetTempService.php',
+    'App\\Module\\Game\\Services\\PityService' => $baseDir . '/app/Module/Game/Services/PityService.php',
     'App\\Module\\Game\\Services\\RewardCollectorService' => $baseDir . '/app/Module/Game/Services/RewardCollectorService.php',
     'App\\Module\\Game\\Services\\RewardGroupService' => $baseDir . '/app/Module/Game/Services/RewardGroupService.php',
     'App\\Module\\Game\\Services\\RewardService' => $baseDir . '/app/Module/Game/Services/RewardService.php',
@@ -976,6 +988,9 @@ return array(
     'App\\Module\\Shop\\AdminControllers\\ShopPromotionController' => $baseDir . '/app/Module/Shop/AdminControllers/ShopPromotionController.php',
     'App\\Module\\Shop\\AdminControllers\\ShopPurchaseLimitController' => $baseDir . '/app/Module/Shop/AdminControllers/ShopPurchaseLimitController.php',
     'App\\Module\\Shop\\AdminControllers\\ShopPurchaseLogController' => $baseDir . '/app/Module/Shop/AdminControllers/ShopPurchaseLogController.php',
+    'App\\Module\\Shop\\AdminControllers\\Tools\\SyncShopItemsJsonTool' => $baseDir . '/app/Module/Shop/AdminControllers/Tools/SyncShopItemsJsonTool.php',
+    'App\\Module\\Shop\\Casts\\ShopDisplayAttributesCast' => $baseDir . '/app/Module/Shop/Casts/ShopDisplayAttributesCast.php',
+    'App\\Module\\Shop\\Commands\\GenerateShopItemsJsonCommand' => $baseDir . '/app/Module/Shop/Commands/GenerateShopItemsJsonCommand.php',
     'App\\Module\\Shop\\Dtos\\ShopCategoryDto' => $baseDir . '/app/Module/Shop/Dtos/ShopCategoryDto.php',
     'App\\Module\\Shop\\Dtos\\ShopItemDto' => $baseDir . '/app/Module/Shop/Dtos/ShopItemDto.php',
     'App\\Module\\Shop\\Dtos\\ShopPromotionDto' => $baseDir . '/app/Module/Shop/Dtos/ShopPromotionDto.php',
@@ -9961,7 +9976,7 @@ return array(
     'Uraus\\Kku\\Request\\RequestHouseUp' => $baseDir . '/protophp/Uraus/Kku/Request/RequestHouseUp.php',
     'Uraus\\Kku\\Request\\RequestItemCraft' => $baseDir . '/protophp/Uraus/Kku/Request/RequestItemCraft.php',
     'Uraus\\Kku\\Request\\RequestItemDismantle' => $baseDir . '/protophp/Uraus/Kku/Request/RequestItemDismantle.php',
-    'Uraus\\Kku\\Request\\RequestItemOpenBox' => $baseDir . '/protophp/Uraus/Kku/Request/RequestItemOpenBox.php',
+    'Uraus\\Kku\\Request\\RequestItemOpenbox' => $baseDir . '/protophp/Uraus/Kku/Request/RequestItemOpenbox.php',
     'Uraus\\Kku\\Request\\RequestItemQuery' => $baseDir . '/protophp/Uraus/Kku/Request/RequestItemQuery.php',
     'Uraus\\Kku\\Request\\RequestLandFertilizer' => $baseDir . '/protophp/Uraus/Kku/Request/RequestLandFertilizer.php',
     'Uraus\\Kku\\Request\\RequestLandHarvest' => $baseDir . '/protophp/Uraus/Kku/Request/RequestLandHarvest.php',
@@ -10017,7 +10032,7 @@ return array(
     'Uraus\\Kku\\Request_RequestHouseUp' => $baseDir . '/protophp/Uraus/Kku/Request_RequestHouseUp.php',
     'Uraus\\Kku\\Request_RequestItemCraft' => $baseDir . '/protophp/Uraus/Kku/Request_RequestItemCraft.php',
     'Uraus\\Kku\\Request_RequestItemDismantle' => $baseDir . '/protophp/Uraus/Kku/Request_RequestItemDismantle.php',
-    'Uraus\\Kku\\Request_RequestItemOpenBox' => $baseDir . '/protophp/Uraus/Kku/Request_RequestItemOpenBox.php',
+    'Uraus\\Kku\\Request_RequestItemOpenbox' => $baseDir . '/protophp/Uraus/Kku/Request_RequestItemOpenbox.php',
     'Uraus\\Kku\\Request_RequestItemQuery' => $baseDir . '/protophp/Uraus/Kku/Request_RequestItemQuery.php',
     'Uraus\\Kku\\Request_RequestLandFertilizer' => $baseDir . '/protophp/Uraus/Kku/Request_RequestLandFertilizer.php',
     'Uraus\\Kku\\Request_RequestLandHarvest' => $baseDir . '/protophp/Uraus/Kku/Request_RequestLandHarvest.php',
@@ -10084,7 +10099,7 @@ return array(
     'Uraus\\Kku\\Response\\ResponseHouseUp' => $baseDir . '/protophp/Uraus/Kku/Response/ResponseHouseUp.php',
     'Uraus\\Kku\\Response\\ResponseItemCraft' => $baseDir . '/protophp/Uraus/Kku/Response/ResponseItemCraft.php',
     'Uraus\\Kku\\Response\\ResponseItemDismantle' => $baseDir . '/protophp/Uraus/Kku/Response/ResponseItemDismantle.php',
-    'Uraus\\Kku\\Response\\ResponseItemOpenBox' => $baseDir . '/protophp/Uraus/Kku/Response/ResponseItemOpenBox.php',
+    'Uraus\\Kku\\Response\\ResponseItemOpenbox' => $baseDir . '/protophp/Uraus/Kku/Response/ResponseItemOpenbox.php',
     'Uraus\\Kku\\Response\\ResponseItemQuery' => $baseDir . '/protophp/Uraus/Kku/Response/ResponseItemQuery.php',
     'Uraus\\Kku\\Response\\ResponseLandFertilizer' => $baseDir . '/protophp/Uraus/Kku/Response/ResponseLandFertilizer.php',
     'Uraus\\Kku\\Response\\ResponseLandHarvest' => $baseDir . '/protophp/Uraus/Kku/Response/ResponseLandHarvest.php',
@@ -10126,8 +10141,6 @@ return array(
     'Uraus\\Kku\\Response\\ResponseUserLogdata' => $baseDir . '/protophp/Uraus/Kku/Response/ResponseUserLogdata.php',
     'Uraus\\Kku\\Response\\ResponseUserLogout' => $baseDir . '/protophp/Uraus/Kku/Response/ResponseUserLogout.php',
     'Uraus\\Kku\\Response\\ResponseUserQueryData' => $baseDir . '/protophp/Uraus/Kku/Response/ResponseUserQueryData.php',
-    'Uraus\\Kku\\Response\\SHOP_BUY_LIMIT_TYPE' => $baseDir . '/protophp/Uraus/Kku/Response/SHOP_BUY_LIMIT_TYPE.php',
-    'Uraus\\Kku\\Response\\ShopGoodItem' => $baseDir . '/protophp/Uraus/Kku/Response/ShopGoodItem.php',
     'Uraus\\Kku\\Response\\UserInfo' => $baseDir . '/protophp/Uraus/Kku/Response/UserInfo.php',
     'Uraus\\Kku\\Response\\UserLog' => $baseDir . '/protophp/Uraus/Kku/Response/UserLog.php',
     'Uraus\\Kku\\Response_FRIEDND_APPLY_STATUS' => $baseDir . '/protophp/Uraus/Kku/Response_FRIEDND_APPLY_STATUS.php',
@@ -10154,7 +10167,7 @@ return array(
     'Uraus\\Kku\\Response_ResponseHouseUp' => $baseDir . '/protophp/Uraus/Kku/Response_ResponseHouseUp.php',
     'Uraus\\Kku\\Response_ResponseItemCraft' => $baseDir . '/protophp/Uraus/Kku/Response_ResponseItemCraft.php',
     'Uraus\\Kku\\Response_ResponseItemDismantle' => $baseDir . '/protophp/Uraus/Kku/Response_ResponseItemDismantle.php',
-    'Uraus\\Kku\\Response_ResponseItemOpenBox' => $baseDir . '/protophp/Uraus/Kku/Response_ResponseItemOpenBox.php',
+    'Uraus\\Kku\\Response_ResponseItemOpenbox' => $baseDir . '/protophp/Uraus/Kku/Response_ResponseItemOpenbox.php',
     'Uraus\\Kku\\Response_ResponseItemQuery' => $baseDir . '/protophp/Uraus/Kku/Response_ResponseItemQuery.php',
     'Uraus\\Kku\\Response_ResponseLandFertilizer' => $baseDir . '/protophp/Uraus/Kku/Response_ResponseLandFertilizer.php',
     'Uraus\\Kku\\Response_ResponseLandHarvest' => $baseDir . '/protophp/Uraus/Kku/Response_ResponseLandHarvest.php',
@@ -10196,8 +10209,6 @@ return array(
     'Uraus\\Kku\\Response_ResponseUserLogdata' => $baseDir . '/protophp/Uraus/Kku/Response_ResponseUserLogdata.php',
     'Uraus\\Kku\\Response_ResponseUserLogout' => $baseDir . '/protophp/Uraus/Kku/Response_ResponseUserLogout.php',
     'Uraus\\Kku\\Response_ResponseUserQueryData' => $baseDir . '/protophp/Uraus/Kku/Response_ResponseUserQueryData.php',
-    'Uraus\\Kku\\Response_SHOP_BUY_LIMIT_TYPE' => $baseDir . '/protophp/Uraus/Kku/Response_SHOP_BUY_LIMIT_TYPE.php',
-    'Uraus\\Kku\\Response_ShopGoodItem' => $baseDir . '/protophp/Uraus/Kku/Response_ShopGoodItem.php',
     'Uraus\\Kku\\Response_UserInfo' => $baseDir . '/protophp/Uraus/Kku/Response_UserInfo.php',
     'Uraus\\Kku\\Response_UserLog' => $baseDir . '/protophp/Uraus/Kku/Response_UserLog.php',
     'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',

+ 1 - 1
vendor/composer/autoload_psr4.php

@@ -59,7 +59,7 @@ return array(
     'Psy\\' => array($vendorDir . '/psy/psysh/src'),
     'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'),
     'Psr\\Log\\' => array($vendorDir . '/psr/log/src'),
-    'Psr\\Http\\Server\\' => array($vendorDir . '/psr/http-server-middleware/src', $vendorDir . '/psr/http-server-handler/src'),
+    'Psr\\Http\\Server\\' => array($vendorDir . '/psr/http-server-handler/src', $vendorDir . '/psr/http-server-middleware/src'),
     'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'),
     'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
     'Psr\\EventDispatcher\\' => array($vendorDir . '/psr/event-dispatcher/src'),

+ 38 - 27
vendor/composer/autoload_static.php

@@ -439,8 +439,8 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         ),
         'Psr\\Http\\Server\\' => 
         array (
-            0 => __DIR__ . '/..' . '/psr/http-server-middleware/src',
-            1 => __DIR__ . '/..' . '/psr/http-server-handler/src',
+            0 => __DIR__ . '/..' . '/psr/http-server-handler/src',
+            1 => __DIR__ . '/..' . '/psr/http-server-middleware/src',
         ),
         'Psr\\Http\\Message\\' => 
         array (
@@ -746,9 +746,11 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Console\\Commands\\InsertShopPurchaseLimitMenu' => __DIR__ . '/../..' . '/app/Console/Commands/InsertShopPurchaseLimitMenu.php',
         'App\\Console\\Commands\\InsertTeamAdminMenu' => __DIR__ . '/../..' . '/app/Console/Commands/InsertTeamAdminMenu.php',
         'App\\Console\\Commands\\RemoveDuplicateMenus' => __DIR__ . '/../..' . '/app/Console/Commands/RemoveDuplicateMenus.php',
+        'App\\Console\\Commands\\ReproduceErrorCommand' => __DIR__ . '/../..' . '/app/Console/Commands/ReproduceErrorCommand.php',
         'App\\Console\\Commands\\TestSizeRotatingLog' => __DIR__ . '/../..' . '/app/Console/Commands/TestSizeRotatingLog.php',
         'App\\Console\\Commands\\TranslateMenuTitles' => __DIR__ . '/../..' . '/app/Console/Commands/TranslateMenuTitles.php',
         'App\\Console\\Commands\\UpdateAdminMenuEmoji' => __DIR__ . '/../..' . '/app/Console/Commands/UpdateAdminMenuEmoji.php',
+        'App\\Console\\Commands\\UpdateChestAdminMenu' => __DIR__ . '/../..' . '/app/Console/Commands/UpdateChestAdminMenu.php',
         'App\\Console\\Kernel' => __DIR__ . '/../..' . '/app/Console/Kernel.php',
         'App\\Http\\Controllers\\Controller' => __DIR__ . '/../..' . '/app/Http/Controllers/Controller.php',
         'App\\Http\\Controllers\\DemoController' => __DIR__ . '/../..' . '/app/Http/Controllers/DemoController.php',
@@ -1291,18 +1293,14 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Module\\Fund\\Validators\\UserFundCheckValidator' => __DIR__ . '/../..' . '/app/Module/Fund/Validators/UserFundCheckValidator.php',
         'App\\Module\\GameItems\\AdminControllers\\Actions\\BatchActivateAction' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Actions/BatchActivateAction.php',
         'App\\Module\\GameItems\\AdminControllers\\Actions\\BatchDeactivateAction' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Actions/BatchDeactivateAction.php',
-        'App\\Module\\GameItems\\AdminControllers\\Actions\\ChestCostAction' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Actions/ChestCostAction.php',
-        'App\\Module\\GameItems\\AdminControllers\\Actions\\ChestManageAction' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Actions/ChestManageAction.php',
+        'App\\Module\\GameItems\\AdminControllers\\Actions\\ChestNewManageAction' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Actions/ChestNewManageAction.php',
         'App\\Module\\GameItems\\AdminControllers\\Actions\\CopyToAnotherChestAction' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Actions/CopyToAnotherChestAction.php',
-        'App\\Module\\GameItems\\AdminControllers\\Actions\\DuplicateChestContentAction' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Actions/DuplicateChestContentAction.php',
         'App\\Module\\GameItems\\AdminControllers\\Actions\\DuplicateRowAction' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Actions/DuplicateRowAction.php',
         'App\\Module\\GameItems\\AdminControllers\\Actions\\ItemQuantityAction' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Actions/ItemQuantityAction.php',
         'App\\Module\\GameItems\\AdminControllers\\Actions\\ItemQuantityForm' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Actions/ItemQuantityForm.php',
-        'App\\Module\\GameItems\\AdminControllers\\Actions\\ViewChestDetailAction' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Actions/ViewChestDetailAction.php',
         'App\\Module\\GameItems\\AdminControllers\\Actions\\ViewGroupDetailAction' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Actions/ViewGroupDetailAction.php',
         'App\\Module\\GameItems\\AdminControllers\\Actions\\ViewItemDetailAction' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Actions/ViewItemDetailAction.php',
         'App\\Module\\GameItems\\AdminControllers\\CategoryController' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/CategoryController.php',
-        'App\\Module\\GameItems\\AdminControllers\\ChestContentController' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/ChestContentController.php',
         'App\\Module\\GameItems\\AdminControllers\\ChestOpenLogController' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/ChestOpenLogController.php',
         'App\\Module\\GameItems\\AdminControllers\\CraftLogController' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/CraftLogController.php',
         'App\\Module\\GameItems\\AdminControllers\\DismantleLogController' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/DismantleLogController.php',
@@ -1316,7 +1314,7 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Module\\GameItems\\AdminControllers\\Helper\\GridHelper' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Helper/GridHelper.php',
         'App\\Module\\GameItems\\AdminControllers\\Helper\\ShowHelper' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/Helper/ShowHelper.php',
         'App\\Module\\GameItems\\AdminControllers\\InstanceController' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/InstanceController.php',
-        'App\\Module\\GameItems\\AdminControllers\\ItemChestOpenCostController' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/ItemChestOpenCostController.php',
+        'App\\Module\\GameItems\\AdminControllers\\ItemChestConfigController' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/ItemChestConfigController.php',
         'App\\Module\\GameItems\\AdminControllers\\ItemController' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/ItemController.php',
         'App\\Module\\GameItems\\AdminControllers\\LazyRenderable\\ChestLazyRenderable' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/LazyRenderable/ChestLazyRenderable.php',
         'App\\Module\\GameItems\\AdminControllers\\LazyRenderable\\ItemGroupLazyRenderable' => __DIR__ . '/../..' . '/app/Module/GameItems/AdminControllers/LazyRenderable/ItemGroupLazyRenderable.php',
@@ -1344,13 +1342,11 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Module\\GameItems\\Commands\\GenerateDismantleJsonCommand' => __DIR__ . '/../..' . '/app/Module/GameItems/Commands/GenerateDismantleJsonCommand.php',
         'App\\Module\\GameItems\\Commands\\GenerateItemsJsonCommand' => __DIR__ . '/../..' . '/app/Module/GameItems/Commands/GenerateItemsJsonCommand.php',
         'App\\Module\\GameItems\\Commands\\GenerateRecipeJsonCommand' => __DIR__ . '/../..' . '/app/Module/GameItems/Commands/GenerateRecipeJsonCommand.php',
-        'App\\Module\\GameItems\\Config\\ChestContentWhitelist' => __DIR__ . '/../..' . '/app/Module/GameItems/Config/ChestContentWhitelist.php',
-        'App\\Module\\GameItems\\Config\\ChestCostWhitelist' => __DIR__ . '/../..' . '/app/Module/GameItems/Config/ChestCostWhitelist.php',
         'App\\Module\\GameItems\\Config\\NumericAttributesWhitelist' => __DIR__ . '/../..' . '/app/Module/GameItems/Config/NumericAttributesWhitelist.php',
-        'App\\Module\\GameItems\\Dtos\\ItemChestOpenCostDto' => __DIR__ . '/../..' . '/app/Module/GameItems/Dtos/ItemChestOpenCostDto.php',
+        'App\\Module\\GameItems\\Console\\Commands\\MigrateChestToGroupSystemCommand' => __DIR__ . '/../..' . '/app/Module/GameItems/Console/Commands/MigrateChestToGroupSystemCommand.php',
+        'App\\Module\\GameItems\\Console\\Commands\\UpdateChestDatabaseCommand' => __DIR__ . '/../..' . '/app/Module/GameItems/Console/Commands/UpdateChestDatabaseCommand.php',
         'App\\Module\\GameItems\\Dtos\\ItemDto' => __DIR__ . '/../..' . '/app/Module/GameItems/Dtos/ItemDto.php',
         'App\\Module\\GameItems\\Dtos\\ItemUserDto' => __DIR__ . '/../..' . '/app/Module/GameItems/Dtos/ItemUserDto.php',
-        'App\\Module\\GameItems\\Enums\\CHEST_COST_TYPE' => __DIR__ . '/../..' . '/app/Module/GameItems/Enums/CHEST_COST_TYPE.php',
         'App\\Module\\GameItems\\Enums\\ITEM_BIND_TYPE' => __DIR__ . '/../..' . '/app/Module/GameItems/Enums/ITEM_BIND_TYPE.php',
         'App\\Module\\GameItems\\Enums\\ITEM_TYPE' => __DIR__ . '/../..' . '/app/Module/GameItems/Enums/ITEM_TYPE.php',
         'App\\Module\\GameItems\\Enums\\TRANSACTION_TYPE' => __DIR__ . '/../..' . '/app/Module/GameItems/Enums/TRANSACTION_TYPE.php',
@@ -1363,8 +1359,6 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Module\\GameItems\\Jobs\\TestJob' => __DIR__ . '/../..' . '/app/Module/GameItems/Jobs/TestJob.php',
         'App\\Module\\GameItems\\Listeners\\TestEventListener' => __DIR__ . '/../..' . '/app/Module/GameItems/Listeners/TestEventListener.php',
         'App\\Module\\GameItems\\Listeners\\TestListener' => __DIR__ . '/../..' . '/app/Module/GameItems/Listeners/TestListener.php',
-        'App\\Module\\GameItems\\Logics\\ChestContent' => __DIR__ . '/../..' . '/app/Module/GameItems/Logics/ChestContent.php',
-        'App\\Module\\GameItems\\Logics\\ChestOpenCostLogic' => __DIR__ . '/../..' . '/app/Module/GameItems/Logics/ChestOpenCostLogic.php',
         'App\\Module\\GameItems\\Logics\\Group' => __DIR__ . '/../..' . '/app/Module/GameItems/Logics/Group.php',
         'App\\Module\\GameItems\\Logics\\Item' => __DIR__ . '/../..' . '/app/Module/GameItems/Logics/Item.php',
         'App\\Module\\GameItems\\Logics\\ItemInstance' => __DIR__ . '/../..' . '/app/Module/GameItems/Logics/ItemInstance.php',
@@ -1375,8 +1369,7 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Module\\GameItems\\Logics\\UserRecipe' => __DIR__ . '/../..' . '/app/Module/GameItems/Logics/UserRecipe.php',
         'App\\Module\\GameItems\\Models\\Item' => __DIR__ . '/../..' . '/app/Module/GameItems/Models/Item.php',
         'App\\Module\\GameItems\\Models\\ItemCategory' => __DIR__ . '/../..' . '/app/Module/GameItems/Models/ItemCategory.php',
-        'App\\Module\\GameItems\\Models\\ItemChestContent' => __DIR__ . '/../..' . '/app/Module/GameItems/Models/ItemChestContent.php',
-        'App\\Module\\GameItems\\Models\\ItemChestOpenCost' => __DIR__ . '/../..' . '/app/Module/GameItems/Models/ItemChestOpenCost.php',
+        'App\\Module\\GameItems\\Models\\ItemChestConfig' => __DIR__ . '/../..' . '/app/Module/GameItems/Models/ItemChestConfig.php',
         'App\\Module\\GameItems\\Models\\ItemChestOpenLog' => __DIR__ . '/../..' . '/app/Module/GameItems/Models/ItemChestOpenLog.php',
         'App\\Module\\GameItems\\Models\\ItemCraftLog' => __DIR__ . '/../..' . '/app/Module/GameItems/Models/ItemCraftLog.php',
         'App\\Module\\GameItems\\Models\\ItemDismantleLog' => __DIR__ . '/../..' . '/app/Module/GameItems/Models/ItemDismantleLog.php',
@@ -1394,9 +1387,8 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Module\\GameItems\\Models\\ItemUserRecipe' => __DIR__ . '/../..' . '/app/Module/GameItems/Models/ItemUserRecipe.php',
         'App\\Module\\GameItems\\Providers\\GameItemsServiceProvider' => __DIR__ . '/../..' . '/app/Module/GameItems/Providers/GameItemsServiceProvider.php',
         'App\\Module\\GameItems\\Queues\\TestQueue' => __DIR__ . '/../..' . '/app/Module/GameItems/Queues/TestQueue.php',
+        'App\\Module\\GameItems\\Repositories\\ItemChestConfigRepository' => __DIR__ . '/../..' . '/app/Module/GameItems/Repositories/ItemChestConfigRepository.php',
         'App\\Module\\GameItems\\Repositorys\\ItemCategoryRepository' => __DIR__ . '/../..' . '/app/Module/GameItems/Repositorys/ItemCategoryRepository.php',
-        'App\\Module\\GameItems\\Repositorys\\ItemChestContentRepository' => __DIR__ . '/../..' . '/app/Module/GameItems/Repositorys/ItemChestContentRepository.php',
-        'App\\Module\\GameItems\\Repositorys\\ItemChestOpenCostRepository' => __DIR__ . '/../..' . '/app/Module/GameItems/Repositorys/ItemChestOpenCostRepository.php',
         'App\\Module\\GameItems\\Repositorys\\ItemChestOpenLogRepository' => __DIR__ . '/../..' . '/app/Module/GameItems/Repositorys/ItemChestOpenLogRepository.php',
         'App\\Module\\GameItems\\Repositorys\\ItemCraftLogRepository' => __DIR__ . '/../..' . '/app/Module/GameItems/Repositorys/ItemCraftLogRepository.php',
         'App\\Module\\GameItems\\Repositorys\\ItemDismantleLogRepository' => __DIR__ . '/../..' . '/app/Module/GameItems/Repositorys/ItemDismantleLogRepository.php',
@@ -1423,7 +1415,6 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Module\\GameItems\\Validations\\ItemCraftValidation' => __DIR__ . '/../..' . '/app/Module/GameItems/Validations/ItemCraftValidation.php',
         'App\\Module\\GameItems\\Validations\\ItemDismantleValidation' => __DIR__ . '/../..' . '/app/Module/GameItems/Validations/ItemDismantleValidation.php',
         'App\\Module\\GameItems\\Validators\\ChestItemValidator' => __DIR__ . '/../..' . '/app/Module/GameItems/Validators/ChestItemValidator.php',
-        'App\\Module\\GameItems\\Validators\\ChestOpenCostValidator' => __DIR__ . '/../..' . '/app/Module/GameItems/Validators/ChestOpenCostValidator.php',
         'App\\Module\\GameItems\\Validators\\ChestOwnershipValidator' => __DIR__ . '/../..' . '/app/Module/GameItems/Validators/ChestOwnershipValidator.php',
         'App\\Module\\GameItems\\Validators\\CraftMaterialsValidator' => __DIR__ . '/../..' . '/app/Module/GameItems/Validators/CraftMaterialsValidator.php',
         'App\\Module\\GameItems\\Validators\\CraftRecipeValidator' => __DIR__ . '/../..' . '/app/Module/GameItems/Validators/CraftRecipeValidator.php',
@@ -1433,9 +1424,12 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Module\\GameItems\\Validators\\ItemQuantityValidator' => __DIR__ . '/../..' . '/app/Module/GameItems/Validators/ItemQuantityValidator.php',
         'App\\Module\\Game\\AdminControllers\\Actions\\BatchActivateTagAction' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/Actions/BatchActivateTagAction.php',
         'App\\Module\\Game\\AdminControllers\\Actions\\BatchDeactivateTagAction' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/Actions/BatchDeactivateTagAction.php',
+        'App\\Module\\Game\\AdminControllers\\Actions\\BatchRandomRewardAction' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/Actions/BatchRandomRewardAction.php',
         'App\\Module\\Game\\AdminControllers\\Actions\\DuplicateConsumeGroupAction' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/Actions/DuplicateConsumeGroupAction.php',
         'App\\Module\\Game\\AdminControllers\\Actions\\DuplicateConsumeItemAction' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/Actions/DuplicateConsumeItemAction.php',
         'App\\Module\\Game\\AdminControllers\\Actions\\DuplicateRewardGroupAction' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/Actions/DuplicateRewardGroupAction.php',
+        'App\\Module\\Game\\AdminControllers\\Actions\\DuplicateRewardItemAction' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/Actions/DuplicateRewardItemAction.php',
+        'App\\Module\\Game\\AdminControllers\\Actions\\RandomRewardAction' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/Actions/RandomRewardAction.php',
         'App\\Module\\Game\\AdminControllers\\Actions\\ViewTempDataAction' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/Actions/ViewTempDataAction.php',
         'App\\Module\\Game\\AdminControllers\\Api\\RewardTargetController' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/Api/RewardTargetController.php',
         'App\\Module\\Game\\AdminControllers\\FarmUserSummaryController' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/FarmUserSummaryController.php',
@@ -1445,6 +1439,7 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Module\\Game\\AdminControllers\\GameConsumeGroupController' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/GameConsumeGroupController.php',
         'App\\Module\\Game\\AdminControllers\\GameConsumeItemController' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/GameConsumeItemController.php',
         'App\\Module\\Game\\AdminControllers\\GameRewardGroupController' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/GameRewardGroupController.php',
+        'App\\Module\\Game\\AdminControllers\\GameRewardGroupPityCountController' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/GameRewardGroupPityCountController.php',
         'App\\Module\\Game\\AdminControllers\\GameRewardItemController' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/GameRewardItemController.php',
         'App\\Module\\Game\\AdminControllers\\GameRewardLogController' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/GameRewardLogController.php',
         'App\\Module\\Game\\AdminControllers\\GameTagController' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/GameTagController.php',
@@ -1459,11 +1454,13 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Module\\Game\\AdminControllers\\LazyRenderable\\GameConditionGroupLazyRenderable' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/LazyRenderable/GameConditionGroupLazyRenderable.php',
         'App\\Module\\Game\\AdminControllers\\LazyRenderable\\GameConsumeGroupLazyRenderable' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/LazyRenderable/GameConsumeGroupLazyRenderable.php',
         'App\\Module\\Game\\AdminControllers\\LazyRenderable\\GameRewardGroupLazyRenderable' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/LazyRenderable/GameRewardGroupLazyRenderable.php',
+        'App\\Module\\Game\\AdminControllers\\LazyRenderable\\RandomRewardResultLazyRenderable' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/LazyRenderable/RandomRewardResultLazyRenderable.php',
         'App\\Module\\Game\\AdminControllers\\LazyRenderable\\RewardGroupLazyRenderable' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/LazyRenderable/RewardGroupLazyRenderable.php',
         'App\\Module\\Game\\AdminControllers\\TempDataController' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/TempDataController.php',
         'App\\Module\\Game\\AdminControllers\\Tools\\ItemGroupList' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/Tools/ItemGroupList.php',
         'App\\Module\\Game\\AdminControllers\\Tools\\RewareGroupInfo' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/Tools/RewareGroupInfo.php',
         'App\\Module\\Game\\AdminControllers\\Tools\\RewareItemGroupInfoList' => __DIR__ . '/../..' . '/app/Module/Game/AdminControllers/Tools/RewareItemGroupInfoList.php',
+        'App\\Module\\Game\\AdminRepositories\\GameRewardGroupPityCountRepository' => __DIR__ . '/../..' . '/app/Module/Game/AdminRepositories/GameRewardGroupPityCountRepository.php',
         'App\\Module\\Game\\Commands\\CleanExpiredRewardLogsCommand' => __DIR__ . '/../..' . '/app/Module/Game/Commands/CleanExpiredRewardLogsCommand.php',
         'App\\Module\\Game\\Commands\\ImportRewardGroupsCommand' => __DIR__ . '/../..' . '/app/Module/Game/Commands/ImportRewardGroupsCommand.php',
         'App\\Module\\Game\\Commands\\TestConditionCommand' => __DIR__ . '/../..' . '/app/Module/Game/Commands/TestConditionCommand.php',
@@ -1485,6 +1482,7 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Module\\Game\\DCache\\PetLevelJsonConfig' => __DIR__ . '/../..' . '/app/Module/Game/DCache/PetLevelJsonConfig.php',
         'App\\Module\\Game\\DCache\\PetSkillJsonConfig' => __DIR__ . '/../..' . '/app/Module/Game/DCache/PetSkillJsonConfig.php',
         'App\\Module\\Game\\DCache\\RecipeJsonConfig' => __DIR__ . '/../..' . '/app/Module/Game/DCache/RecipeJsonConfig.php',
+        'App\\Module\\Game\\DCache\\ShopItemsJsonConfig' => __DIR__ . '/../..' . '/app/Module/Game/DCache/ShopItemsJsonConfig.php',
         'App\\Module\\Game\\Dtos\\FundChangeTempDto' => __DIR__ . '/../..' . '/app/Module/Game/Dtos/FundChangeTempDto.php',
         'App\\Module\\Game\\Dtos\\GodChangeTempDto' => __DIR__ . '/../..' . '/app/Module/Game/Dtos/GodChangeTempDto.php',
         'App\\Module\\Game\\Dtos\\HouseChangeTempDto' => __DIR__ . '/../..' . '/app/Module/Game/Dtos/HouseChangeTempDto.php',
@@ -1530,16 +1528,29 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Module\\Game\\Logics\\FundTemp' => __DIR__ . '/../..' . '/app/Module/Game/Logics/FundTemp.php',
         'App\\Module\\Game\\Logics\\GodTemp' => __DIR__ . '/../..' . '/app/Module/Game/Logics/GodTemp.php',
         'App\\Module\\Game\\Logics\\HouseTemp' => __DIR__ . '/../..' . '/app/Module/Game/Logics/HouseTemp.php',
+        'App\\Module\\Game\\Logics\\IndependentProbabilityReward' => __DIR__ . '/../..' . '/app/Module/Game/Logics/IndependentProbabilityReward.php',
         'App\\Module\\Game\\Logics\\ItemTemp' => __DIR__ . '/../..' . '/app/Module/Game/Logics/ItemTemp.php',
         'App\\Module\\Game\\Logics\\LandTemp' => __DIR__ . '/../..' . '/app/Module/Game/Logics/LandTemp.php',
         'App\\Module\\Game\\Logics\\PetTemp' => __DIR__ . '/../..' . '/app/Module/Game/Logics/PetTemp.php',
         'App\\Module\\Game\\Logics\\RewardCollectorLogic' => __DIR__ . '/../..' . '/app/Module/Game/Logics/RewardCollectorLogic.php',
         'App\\Module\\Game\\Logics\\RewardLogic' => __DIR__ . '/../..' . '/app/Module/Game/Logics/RewardLogic.php',
+        'App\\Module\\Game\\Logics\\RewardProcessors\\CurrencyRewardProcessor' => __DIR__ . '/../..' . '/app/Module/Game/Logics/RewardProcessors/CurrencyRewardProcessor.php',
+        'App\\Module\\Game\\Logics\\RewardProcessors\\FarmShrineRewardProcessor' => __DIR__ . '/../..' . '/app/Module/Game/Logics/RewardProcessors/FarmShrineRewardProcessor.php',
+        'App\\Module\\Game\\Logics\\RewardProcessors\\FundConfigRewardProcessor' => __DIR__ . '/../..' . '/app/Module/Game/Logics/RewardProcessors/FundConfigRewardProcessor.php',
+        'App\\Module\\Game\\Logics\\RewardProcessors\\ItemRewardProcessor' => __DIR__ . '/../..' . '/app/Module/Game/Logics/RewardProcessors/ItemRewardProcessor.php',
+        'App\\Module\\Game\\Logics\\RewardProcessors\\OtherRewardProcessor' => __DIR__ . '/../..' . '/app/Module/Game/Logics/RewardProcessors/OtherRewardProcessor.php',
+        'App\\Module\\Game\\Logics\\RewardProcessors\\PetEnergyRewardProcessor' => __DIR__ . '/../..' . '/app/Module/Game/Logics/RewardProcessors/PetEnergyRewardProcessor.php',
+        'App\\Module\\Game\\Logics\\RewardProcessors\\PetExpRewardProcessor' => __DIR__ . '/../..' . '/app/Module/Game/Logics/RewardProcessors/PetExpRewardProcessor.php',
+        'App\\Module\\Game\\Logics\\RewardProcessors\\PetPowerRewardProcessor' => __DIR__ . '/../..' . '/app/Module/Game/Logics/RewardProcessors/PetPowerRewardProcessor.php',
+        'App\\Module\\Game\\Logics\\RewardProcessors\\PetRewardProcessor' => __DIR__ . '/../..' . '/app/Module/Game/Logics/RewardProcessors/PetRewardProcessor.php',
+        'App\\Module\\Game\\Logics\\RewardProcessors\\RewardProcessorDispatcher' => __DIR__ . '/../..' . '/app/Module/Game/Logics/RewardProcessors/RewardProcessorDispatcher.php',
+        'App\\Module\\Game\\Logics\\WeightSelectionReward' => __DIR__ . '/../..' . '/app/Module/Game/Logics/WeightSelectionReward.php',
         'App\\Module\\Game\\Models\\GameConditionGroup' => __DIR__ . '/../..' . '/app/Module/Game/Models/GameConditionGroup.php',
         'App\\Module\\Game\\Models\\GameConditionItem' => __DIR__ . '/../..' . '/app/Module/Game/Models/GameConditionItem.php',
         'App\\Module\\Game\\Models\\GameConsumeGroup' => __DIR__ . '/../..' . '/app/Module/Game/Models/GameConsumeGroup.php',
         'App\\Module\\Game\\Models\\GameConsumeItem' => __DIR__ . '/../..' . '/app/Module/Game/Models/GameConsumeItem.php',
         'App\\Module\\Game\\Models\\GameRewardGroup' => __DIR__ . '/../..' . '/app/Module/Game/Models/GameRewardGroup.php',
+        'App\\Module\\Game\\Models\\GameRewardGroupPityCount' => __DIR__ . '/../..' . '/app/Module/Game/Models/GameRewardGroupPityCount.php',
         'App\\Module\\Game\\Models\\GameRewardItem' => __DIR__ . '/../..' . '/app/Module/Game/Models/GameRewardItem.php',
         'App\\Module\\Game\\Models\\GameRewardLog' => __DIR__ . '/../..' . '/app/Module/Game/Models/GameRewardLog.php',
         'App\\Module\\Game\\Models\\GameTag' => __DIR__ . '/../..' . '/app/Module/Game/Models/GameTag.php',
@@ -1567,6 +1578,7 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Module\\Game\\Services\\JsonConfigService' => __DIR__ . '/../..' . '/app/Module/Game/Services/JsonConfigService.php',
         'App\\Module\\Game\\Services\\LandTempService' => __DIR__ . '/../..' . '/app/Module/Game/Services/LandTempService.php',
         'App\\Module\\Game\\Services\\PetTempService' => __DIR__ . '/../..' . '/app/Module/Game/Services/PetTempService.php',
+        'App\\Module\\Game\\Services\\PityService' => __DIR__ . '/../..' . '/app/Module/Game/Services/PityService.php',
         'App\\Module\\Game\\Services\\RewardCollectorService' => __DIR__ . '/../..' . '/app/Module/Game/Services/RewardCollectorService.php',
         'App\\Module\\Game\\Services\\RewardGroupService' => __DIR__ . '/../..' . '/app/Module/Game/Services/RewardGroupService.php',
         'App\\Module\\Game\\Services\\RewardService' => __DIR__ . '/../..' . '/app/Module/Game/Services/RewardService.php',
@@ -1696,6 +1708,9 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'App\\Module\\Shop\\AdminControllers\\ShopPromotionController' => __DIR__ . '/../..' . '/app/Module/Shop/AdminControllers/ShopPromotionController.php',
         'App\\Module\\Shop\\AdminControllers\\ShopPurchaseLimitController' => __DIR__ . '/../..' . '/app/Module/Shop/AdminControllers/ShopPurchaseLimitController.php',
         'App\\Module\\Shop\\AdminControllers\\ShopPurchaseLogController' => __DIR__ . '/../..' . '/app/Module/Shop/AdminControllers/ShopPurchaseLogController.php',
+        'App\\Module\\Shop\\AdminControllers\\Tools\\SyncShopItemsJsonTool' => __DIR__ . '/../..' . '/app/Module/Shop/AdminControllers/Tools/SyncShopItemsJsonTool.php',
+        'App\\Module\\Shop\\Casts\\ShopDisplayAttributesCast' => __DIR__ . '/../..' . '/app/Module/Shop/Casts/ShopDisplayAttributesCast.php',
+        'App\\Module\\Shop\\Commands\\GenerateShopItemsJsonCommand' => __DIR__ . '/../..' . '/app/Module/Shop/Commands/GenerateShopItemsJsonCommand.php',
         'App\\Module\\Shop\\Dtos\\ShopCategoryDto' => __DIR__ . '/../..' . '/app/Module/Shop/Dtos/ShopCategoryDto.php',
         'App\\Module\\Shop\\Dtos\\ShopItemDto' => __DIR__ . '/../..' . '/app/Module/Shop/Dtos/ShopItemDto.php',
         'App\\Module\\Shop\\Dtos\\ShopPromotionDto' => __DIR__ . '/../..' . '/app/Module/Shop/Dtos/ShopPromotionDto.php',
@@ -10681,7 +10696,7 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'Uraus\\Kku\\Request\\RequestHouseUp' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request/RequestHouseUp.php',
         'Uraus\\Kku\\Request\\RequestItemCraft' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request/RequestItemCraft.php',
         'Uraus\\Kku\\Request\\RequestItemDismantle' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request/RequestItemDismantle.php',
-        'Uraus\\Kku\\Request\\RequestItemOpenBox' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request/RequestItemOpenBox.php',
+        'Uraus\\Kku\\Request\\RequestItemOpenbox' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request/RequestItemOpenbox.php',
         'Uraus\\Kku\\Request\\RequestItemQuery' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request/RequestItemQuery.php',
         'Uraus\\Kku\\Request\\RequestLandFertilizer' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request/RequestLandFertilizer.php',
         'Uraus\\Kku\\Request\\RequestLandHarvest' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request/RequestLandHarvest.php',
@@ -10737,7 +10752,7 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'Uraus\\Kku\\Request_RequestHouseUp' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request_RequestHouseUp.php',
         'Uraus\\Kku\\Request_RequestItemCraft' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request_RequestItemCraft.php',
         'Uraus\\Kku\\Request_RequestItemDismantle' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request_RequestItemDismantle.php',
-        'Uraus\\Kku\\Request_RequestItemOpenBox' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request_RequestItemOpenBox.php',
+        'Uraus\\Kku\\Request_RequestItemOpenbox' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request_RequestItemOpenbox.php',
         'Uraus\\Kku\\Request_RequestItemQuery' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request_RequestItemQuery.php',
         'Uraus\\Kku\\Request_RequestLandFertilizer' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request_RequestLandFertilizer.php',
         'Uraus\\Kku\\Request_RequestLandHarvest' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Request_RequestLandHarvest.php',
@@ -10804,7 +10819,7 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'Uraus\\Kku\\Response\\ResponseHouseUp' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/ResponseHouseUp.php',
         'Uraus\\Kku\\Response\\ResponseItemCraft' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/ResponseItemCraft.php',
         'Uraus\\Kku\\Response\\ResponseItemDismantle' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/ResponseItemDismantle.php',
-        'Uraus\\Kku\\Response\\ResponseItemOpenBox' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/ResponseItemOpenBox.php',
+        'Uraus\\Kku\\Response\\ResponseItemOpenbox' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/ResponseItemOpenbox.php',
         'Uraus\\Kku\\Response\\ResponseItemQuery' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/ResponseItemQuery.php',
         'Uraus\\Kku\\Response\\ResponseLandFertilizer' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/ResponseLandFertilizer.php',
         'Uraus\\Kku\\Response\\ResponseLandHarvest' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/ResponseLandHarvest.php',
@@ -10846,8 +10861,6 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'Uraus\\Kku\\Response\\ResponseUserLogdata' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/ResponseUserLogdata.php',
         'Uraus\\Kku\\Response\\ResponseUserLogout' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/ResponseUserLogout.php',
         'Uraus\\Kku\\Response\\ResponseUserQueryData' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/ResponseUserQueryData.php',
-        'Uraus\\Kku\\Response\\SHOP_BUY_LIMIT_TYPE' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/SHOP_BUY_LIMIT_TYPE.php',
-        'Uraus\\Kku\\Response\\ShopGoodItem' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/ShopGoodItem.php',
         'Uraus\\Kku\\Response\\UserInfo' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/UserInfo.php',
         'Uraus\\Kku\\Response\\UserLog' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response/UserLog.php',
         'Uraus\\Kku\\Response_FRIEDND_APPLY_STATUS' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_FRIEDND_APPLY_STATUS.php',
@@ -10874,7 +10887,7 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'Uraus\\Kku\\Response_ResponseHouseUp' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_ResponseHouseUp.php',
         'Uraus\\Kku\\Response_ResponseItemCraft' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_ResponseItemCraft.php',
         'Uraus\\Kku\\Response_ResponseItemDismantle' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_ResponseItemDismantle.php',
-        'Uraus\\Kku\\Response_ResponseItemOpenBox' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_ResponseItemOpenBox.php',
+        'Uraus\\Kku\\Response_ResponseItemOpenbox' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_ResponseItemOpenbox.php',
         'Uraus\\Kku\\Response_ResponseItemQuery' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_ResponseItemQuery.php',
         'Uraus\\Kku\\Response_ResponseLandFertilizer' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_ResponseLandFertilizer.php',
         'Uraus\\Kku\\Response_ResponseLandHarvest' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_ResponseLandHarvest.php',
@@ -10916,8 +10929,6 @@ class ComposerStaticInita2207959542f13e6e79e83f2b0d9a425
         'Uraus\\Kku\\Response_ResponseUserLogdata' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_ResponseUserLogdata.php',
         'Uraus\\Kku\\Response_ResponseUserLogout' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_ResponseUserLogout.php',
         'Uraus\\Kku\\Response_ResponseUserQueryData' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_ResponseUserQueryData.php',
-        'Uraus\\Kku\\Response_SHOP_BUY_LIMIT_TYPE' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_SHOP_BUY_LIMIT_TYPE.php',
-        'Uraus\\Kku\\Response_ShopGoodItem' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_ShopGoodItem.php',
         'Uraus\\Kku\\Response_UserInfo' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_UserInfo.php',
         'Uraus\\Kku\\Response_UserLog' => __DIR__ . '/../..' . '/protophp/Uraus/Kku/Response_UserLog.php',
         'ValueError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',

+ 3 - 1
work/疑问.md

@@ -12,4 +12,6 @@
 
 
 
-本项目,所有的种子的各阶段时长是一样的么?
+本项目,所有的种子的各阶段时长是一样的么?
+
+php artisan debug:reproduce-error  68973989  --clear-logs