Your Name vor 8 Monaten
Ursprung
Commit
fd3f036dd9
37 geänderte Dateien mit 1979 neuen und 187 gelöschten Zeilen
  1. 2 2
      UCore/Commands/GenerateModelAnnotation.php
  2. 3 3
      UCore/DcatAdmin/Grid/Views/GridHeader.php
  3. 3 8
      app/Module/GameItems/AdminControllers/TestController.php
  4. 2 2
      app/Module/GameItems/Commands/TestCommands.php
  5. 1 1
      app/Module/GameItems/Enums/TEST_TYPE.php
  6. 1 1
      app/Module/GameItems/Events/TestEvent.php
  7. 1 1
      app/Module/GameItems/Exceptions/TestException.php
  8. 20 0
      app/Module/GameItems/GUILD.md
  9. 1 1
      app/Module/GameItems/Jobs/TestJob.php
  10. 1 1
      app/Module/GameItems/Listeners/TestEventListener.php
  11. 1 1
      app/Module/GameItems/Listeners/TestListener.php
  12. 1 0
      app/Module/GameItems/Models/README.md
  13. 1 1
      app/Module/GameItems/Providers/TestServiceProvider.php
  14. 1 1
      app/Module/GameItems/Queues/TestQueue.php
  15. 495 22
      app/Module/GameItems/README.md
  16. 1 0
      app/Module/GameItems/Repositorys/README.md
  17. 4 4
      app/Module/System/Models/AdminGridView.php
  18. 0 11
      app/Module/System/Models/ReceiveAddress.php
  19. 1 1
      app/Module/Test/README.md
  20. 0 30
      app/Module/Transaction/Models/Transaction.php
  21. 0 8
      app/Module/Transaction/Models/TransactionRecharge.php
  22. 0 16
      app/Module/Transaction/Models/TransactionTransfer.php
  23. 0 16
      app/Module/Transaction/Models/TransactionWithdrawal.php
  24. 1 1
      app/Module/Ulogic/Models/AppMessage.php
  25. 2 10
      app/Module/Ulogic/Models/UserBans.php
  26. 4 4
      app/Module/Ulogic/Models/UserDaytime.php
  27. 5 5
      app/Module/Ulogic/Models/UserPunish.php
  28. 2 9
      app/Module/Ulogic/Models/UserRelation.php
  29. 4 4
      app/Module/Ulogic/Models/UserTime.php
  30. 2 5
      app/Module/Ulogic/Models/UserWord.php
  31. 2 10
      app/Module/Ulogic/Models/WalletAddress.php
  32. 1 1
      app/Module/User/Models/User.php
  33. 3 0
      composer.json
  34. 4 3
      config/app.php
  35. 1 1
      config/database.php
  36. 1402 0
      database/online.sql
  37. 6 3
      resources/views/welcome.blade.php

+ 2 - 2
UCore/Commands/GenerateModelAnnotation.php

@@ -14,7 +14,7 @@ use UCore\ModelCore;
  * 并提供fillable字段自动维护功能。
  *
  * 功能特性:
- * 1. 自动识别字段类型并生成对应@property注释
+ * 1. 自动识别字段类型并生成对应property注释
  * 2. 特殊时间字段自动识别为Carbon类型
  * 3. 自动维护模型$attrlist属性包含所有字段
  *
@@ -55,7 +55,7 @@ class GenerateModelAnnotation extends Command
     public function handle()
     {
         // 扫描核心模型目录
-        $this->call1(app_path('../ucore'), '\App\Models\\');
+        $this->call1(app_path('../UCore'), '\UCore\Models\\');
 
         // 扫描模块下的Models目录
         $modulesPath = app_path('Module');

+ 3 - 3
UCore/DcatAdmin/Grid/Views/GridHeader.php

@@ -2,7 +2,7 @@
 
 namespace UCore\DcatAdmin\Grid\Views;
 
-use App\Module\System\Enums\ViewType;
+use App\Module\System\Enums\VIEW_TYPE;
 use App\Module\System\Models\AdminGridView;
 use Illuminate\Contracts\Support\Renderable;
 use Dcat\Admin\Admin;
@@ -29,11 +29,11 @@ class GridHeader
 
         // 视图按钮
         $listPublic  = AdminGridView::query()
-            ->where('type1', ViewType::PUBLIC)
+            ->where('type1', VIEW_TYPE::PUBLIC)
             ->where('router_name', $router_name)
             ->get();
         $listPrivate = AdminGridView::query()
-            ->where('type1', ViewType::PRIVATE)
+            ->where('type1', VIEW_TYPE::PRIVATE)
             ->where('router_name', $router_name)
 
             ->get();

+ 3 - 8
app/Module/GameItems/AdminControllers/TestController.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Module\Test\AdminControllers;
+namespace App\Module\GameItems\AdminControllers;
 
 use Dcat\Admin\Http\Controllers\AdminController;
 use Illuminate\Routing\Controller;
@@ -8,13 +8,8 @@ use Illuminate\Support\Facades\Log;
 use Spatie\RouteAttributes\Attributes\Get;
 use Spatie\RouteAttributes\Attributes\Prefix;
 
-#[Prefix('test')]
+#[Prefix('game-items-test')]
 class TestController extends AdminController
 {
-    #[Get('/test')]
-    public function test()
-    {
-        Log::info(123);
-        echo 1;die;
-    }
+
 }

+ 2 - 2
app/Module/GameItems/Commands/TestCommands.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Module\Test\Commands;
+namespace App\Module\GameItems\Commands;
 
 
 
@@ -14,7 +14,7 @@ class TestCommands extends Command
      *
      * @var string
      */
-    protected $signature = 'test';
+    protected $signature = 'GameItems-test';
 
     /**
      * 命令描述

+ 1 - 1
app/Module/GameItems/Enums/TEST_TYPE.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Module\Test\Enums;
+namespace App\Module\GameItems\Enums;
 
 enum TEST_TYPE: int
 {

+ 1 - 1
app/Module/GameItems/Events/TestEvent.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Module\Test\Events;
+namespace App\Module\GameItems\Events;
 
 use App\Module\Test\Models\Test;
 use Illuminate\Broadcasting\InteractsWithSockets;

+ 1 - 1
app/Module/GameItems/Exceptions/TestException.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Module\Test\Exceptions;
+namespace App\Module\GameItems\Exceptions;
 
 class TestException extends \Exception
 {

+ 20 - 0
app/Module/GameItems/GUILD.md

@@ -0,0 +1,20 @@
+# GameItems模块
+
+
+
+## 物品
+
+- 物品基础属性管理(名称、TID、类型等)
+- 物品获取与消耗逻辑
+- 物品库存管理
+    * 库存变更事件
+## 宝箱类物品
+- 宝箱类物品管理与开启机制
+- 宝箱类物品的开启记录
+- 物品过期时间管理(全局过期和用户特定过期)
+
+核心功能特点:
+
+1. **多物品宝箱系统**:支持一个宝箱同时掉落多个物品,并可配置每个物品的数量范围和概率
+2. **灵活的过期机制**:支持全局过期时间和用户特定过期时间,适应不同的游戏需求
+3. **完善的属性系统**:通过键值对存储物品属性,支持复杂的物品效果实现

+ 1 - 1
app/Module/GameItems/Jobs/TestJob.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Module\Test\Jobs;
+namespace App\Module\GameItems\Jobs;
 
 use App\Module\Test\Models\Test;
 use Illuminate\Bus\Queueable;

+ 1 - 1
app/Module/GameItems/Listeners/TestEventListener.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Module\Test\Listeners;
+namespace App\Module\GameItems\Listeners;
 
 use App\Module\Test\Events\TestEvent;
 use Illuminate\Contracts\Queue\ShouldQueue;

+ 1 - 1
app/Module/GameItems/Listeners/TestListener.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Module\Test\Listeners;
+namespace App\Module\GameItems\Listeners;
 
 use App\Module\Test\Events\TestEvent;
 use Illuminate\Contracts\Queue\ShouldQueue;

+ 1 - 0
app/Module/GameItems/Models/README.md

@@ -0,0 +1 @@
+# Model - 游戏物品

+ 1 - 1
app/Module/GameItems/Providers/TestServiceProvider.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Module\Test\Providers;
+namespace App\Module\GameItems\Providers;
 
 use App\Module\Test\Events\TestEvent;
 use App\Module\Test\Listeners\TestEventListener;

+ 1 - 1
app/Module/GameItems/Queues/TestQueue.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Module\Test\Queues;
+namespace App\Module\GameItems\Queues;
 
 class TestQueue
 {

+ 495 - 22
app/Module/GameItems/README.md

@@ -1,28 +1,501 @@
-# Test 模块
+# GameItems模块
+> 游戏物品模块
 
-## 模块说明
-Test 模块是一个示例模块,用于展示模块化开发的最佳实践。
+## 1. 模块功能和目的
 
-## 目录结构
+GameItems模块主要负责游戏内所有物品的管理,包括但不限于:
+
+- 物品基础属性管理(名称、描述、图标、类型等)
+- 物品获取与消耗逻辑
+- 物品库存管理
+- 物品交易系统
+- 特殊物品效果实现
+- 宝箱类物品管理与开启机制
+- 物品过期时间管理(全局过期和用户特定过期)
+
+核心功能特点:
+
+1. **多物品宝箱系统**:支持一个宝箱同时掉落多个物品,并可配置每个物品的数量范围和概率
+2. **灵活的过期机制**:支持全局过期时间和用户特定过期时间,适应不同的游戏需求
+3. **完善的属性系统**:通过键值对存储物品属性,支持复杂的物品效果实现
+
+该模块为游戏内经济系统和玩家进度提供基础支持,是连接游戏多个子系统的核心模块。
+
+## 2. 数据结构设计
+
+游戏物品模块采用关系型数据库设计,通过多个相互关联的数据表实现物品管理、用户物品关联、属性存储和宝箱配置等功能。数据结构设计遵循以下原则:
+
+1. **模块化**:各个表结构清晰,职责单一
+2. **扩展性**:支持通过属性表扩展物品特性,无需修改数据库结构
+3. **性能优化**:合理的索引设计和关联关系
+
+### 2.1 数据表设计
+
+#### items表(物品基础信息)
+
+| 字段名 | 类型 | 说明 |
+| --- | --- | --- |
+| id | int | 物品ID,主键 |
+| name | varchar | 物品名称 |
+| description | text | 物品描述 |
+| type | tinyint | 物品类型(1:消耗品, 2:装备, 3:材料, 4:任务物品, 5:宝箱...) |
+| rarity | tinyint | 稀有度(1:普通, 2:稀有, 3:史诗, 4:传说...) |
+| icon | varchar | 物品图标路径 |
+| max_stack | int | 最大堆叠数量 |
+| sell_price | int | 出售价格 |
+| min_drop_count | int | 宝箱最小掉落物品数量(仅宝箱类型物品有效) |
+| max_drop_count | int | 宝箱最大掉落物品数量(仅宝箱类型物品有效) |
+| global_expire_at | timestamp | 物品全局过期时间(可为空) |
+| created_at | timestamp | 创建时间 |
+| updated_at | timestamp | 更新时间 |
+
+#### user_items表(用户物品关联)
+
+| 字段名 | 类型 | 说明 |
+| --- | --- | --- |
+| id | int | 记录ID,主键 |
+| user_id | int | 用户ID,外键 |
+| item_id | int | 物品ID,外键 |
+| quantity | int | 数量 |
+| expire_at | timestamp | 用户物品过期时间(可为空) |
+| created_at | timestamp | 获取时间 |
+| updated_at | timestamp | 更新时间 |
+
+#### item_attributes表(物品属性)
+
+| 字段名 | 类型 | 说明 |
+| --- | --- | --- |
+| id | int | 记录ID,主键 |
+| item_id | int | 物品ID,外键 |
+| attribute_key | varchar | 属性键名 |
+| attribute_value | varchar | 属性值 |
+
+#### chest_items表(宝箱内容配置)
+
+| 字段名 | 类型 | 说明 |
+| --- | --- | --- |
+| id | int | 记录ID,主键 |
+| chest_id | int | 宝箱物品ID,外键关联items表 |
+| item_id | int | 可能获得的物品ID |
+| min_quantity | int | 最小数量 |
+| max_quantity | int | 最大数量 |
+| weight | int | 权重,决定获取概率 |
+| allow_duplicate | tinyint | 是否允许在同一宝箱中重复掉落(0:不允许, 1:允许) |
+| created_at | timestamp | 创建时间 |
+| updated_at | timestamp | 更新时间 |
+
+### 2.2 数据库索引设计
+
+为了确保系统的高性能运行,我们对关键字段进行了索引设计:
+
+| 表名 | 索引字段 | 索引类型 | 说明 |
+| --- | --- | --- | --- |
+| items | id | 主键 | 物品ID主键索引 |
+| items | type | 普通索引 | 加速按物品类型查询 |
+| items | global_expire_at | 普通索引 | 加速过期物品查询 |
+| user_items | user_id, item_id | 复合索引 | 加速用户物品查询 |
+| user_items | expire_at | 普通索引 | 加速过期物品查询 |
+| item_attributes | item_id | 普通索引 | 加速物品属性查询 |
+| chest_items | chest_id | 普通索引 | 加速宝箱内容查询 |
+| chest_items | item_id | 普通索引 | 加速物品在宝箱中的查询 |
+
+### 2.3 模型关系
+
+使用Laravel Eloquent ORM实现数据模型之间的关联关系:
+
+```php
+// Item模型与User多对多关系
+Item::belongsToMany(User::class, 'user_items')
+    ->withPivot('quantity', 'expire_at')
+    ->withTimestamps();
+
+// Item模型与ItemAttribute一对多关系
+Item::hasMany(ItemAttribute::class);
+
+// 宝箱物品与其内容物品的关系
+Item::hasMany(ChestItem::class, 'chest_id')
+    ->where('type', 5); // 类型5为宝箱
+
+// ChestItem模型与宝箱物品的关系
+ChestItem::belongsTo(Item::class, 'chest_id');
+
+// ChestItem模型与内容物品的关系
+ChestItem::belongsTo(Item::class, 'item_id');
+
+// User模型与Item多对多关系
+User::belongsToMany(Item::class, 'user_items')
+    ->withPivot('quantity', 'expire_at')
+    ->withTimestamps();
+```
+
+### 2.4 数据库事务
+
+在涉及多表操作的关键业务逻辑中,使用数据库事务确保数据一致性:
+
+1. **宝箱开启操作**:包含宝箱扣除和物品添加的原子性操作
+2. **物品交易**:确保物品转移的原子性
+3. **批量物品操作**:如批量删除过期物品
+
+## 3. 与其他模块的交互
+
+### 3.1 与用户模块交互
+- 用户模块通过GameItems提供的服务接口获取用户拥有的物品
+- 用户等级提升时,可通过GameItems模块发放奖励物品
+
+### 3.2 与商店模块交互
+- 商店模块调用GameItems的接口进行物品购买和出售
+- 商店模块从GameItems获取物品基础信息用于展示
+
+### 3.3 与任务模块交互
+- 任务完成时,通过GameItems模块发放奖励物品
+- 任务进度可能需要检查用户是否拥有特定物品或数量
+
+### 3.4 与战斗模块交互
+- 战斗中使用消耗品时,调用GameItems模块的物品使用接口
+- 战斗结束后,通过GameItems模块发放掉落物品
+
+## 4. 使用示例
+
+### 4.1 获取用户物品并展示
+
+```php
+// 控制器中
+public function showUserItems(Request $request)
+{
+    $user = Auth::user();
+    $items = app(GameItemService::class)->getUserItems($user->id);
+
+    return view('inventory', ['items' => $items]);
+}
+```
+
+### 4.2 使用物品示例
+
+```php
+// 控制器中
+public function useItem(Request $request)
+{
+    $user = Auth::user();
+    $itemId = $request->input('item_id');
+    $quantity = $request->input('quantity', 1);
+
+    $result = app(GameItemService::class)->useItem($user->id, $itemId, $quantity);
+
+    if ($result['success']) {
+        return response()->json([
+            'code' => 0,
+            'message' => '物品使用成功',
+            'data' => $result['data']
+        ]);
+    }
+
+    return response()->json([
+        'code' => 1,
+        'message' => $result['message']
+    ]);
+}
+```
+
+### 4.3 添加物品到用户背包
+
+```php
+// 在任务完成奖励中
+public function completeQuest($userId, $questId)
+{
+    // 处理任务完成逻辑...
+
+    // 发放物品奖励
+    $rewards = [
+        ['item_id' => 1, 'quantity' => 5],  // 5个生命药水
+        ['item_id' => 10, 'quantity' => 1, 'expire_days' => 7],  // 1把稀有武器,7天后过期
+    ];
+
+    foreach ($rewards as $reward) {
+        $expireAt = null;
+        if (isset($reward['expire_days'])) {
+            $expireAt = now()->addDays($reward['expire_days']);
+        }
+
+        app(GameItemService::class)->addItemToUser(
+            $userId,
+            $reward['item_id'],
+            $reward['quantity'],
+            $expireAt
+        );
+    }
+
+    // 返回奖励信息...
+}
+```
+
+### 4.4 检查物品是否过期
+
+```php
+// 在使用物品前检查
+public function checkItemValidity($userId, $itemId)
+{
+    $userItem = UserItem::where('user_id', $userId)
+        ->where('item_id', $itemId)
+        ->first();
+
+    if (!$userItem) {
+        return ['valid' => false, 'message' => '物品不存在'];
+    }
+
+    // 检查用户物品过期时间
+    if ($userItem->expire_at && $userItem->expire_at < now()) {
+        return ['valid' => false, 'message' => '物品已过期'];
+    }
+
+    // 检查全局过期时间
+    $item = Item::find($itemId);
+    if ($item->global_expire_at && $item->global_expire_at < now()) {
+        return ['valid' => false, 'message' => '物品已全局过期'];
+    }
+
+    return ['valid' => true];
+}
 ```
-├── AdminControllers/    # 后台控制器
-├── Commands/            # 命令目录
-├── Config/              # 配置目录
-├── Database/            # 数据库目录
-│   └── create.sql       # 创建数据表的SQL
-└── Enums/               # 枚举(枚举的名和Case全大写)
-├── Models/              # 模型目录
-├── Providers/           # Providers
-├── Events/              # 事件目录
-├── Logic/               # Logic目录/逻辑目录
-├── Listeners/           # 监听器目录 
-├── Queues/              # 事件目录
-├── Repositorys/         # 仓库目录(后台控制器专用,其他场景不要用)
-├── Services/            # 服务目录(供其他模块使用)
-│   └──  TestService.php       # 服务之一
-├── Validations/         # Validation 目录(不是Laravel的Validation规则)
-├── Validators/          # Validator目录
-└── Tests/               # 测试目录
+
+### 4.5 打开宝箱示例
+
+```php
+// 宝箱服务中
+public function openChest($userId, $chestId, $quantity = 1)
+{
+    // 验证用户是否拥有足够的宝箱
+    $userChest = UserItem::where('user_id', $userId)
+        ->where('item_id', $chestId)
+        ->first();
+
+    if (!$userChest || $userChest->quantity < $quantity) {
+        return [
+            'success' => false,
+            'message' => '宝箱数量不足'
+        ];
+    }
+
+    // 检查宝箱是否过期
+    $validityCheck = $this->checkItemValidity($userId, $chestId);
+    if (!$validityCheck['valid']) {
+        return [
+            'success' => false,
+            'message' => $validityCheck['message']
+        ];
+    }
+
+    // 获取宝箱配置
+    $chestConfig = ChestItem::where('chest_id', $chestId)->get();
+    if ($chestConfig->isEmpty()) {
+        return [
+            'success' => false,
+            'message' => '宝箱配置错误'
+        ];
+    }
+
+    // 开始事务
+    DB::beginTransaction();
+
+    try {
+        // 扣除宝箱
+        $userChest->quantity -= $quantity;
+        if ($userChest->quantity <= 0) {
+            $userChest->delete();
+        } else {
+            $userChest->save();
+        }
+
+        $rewards = [];
+
+        // 处理每个宝箱
+        for ($i = 0; $i < $quantity; $i++) {
+            // 获取当前宝箱的掉落物品数量范围
+            $chest = Item::find($chestId);
+            $dropItemsCount = mt_rand(
+                $chest->getAttribute('min_drop_count', 1),
+                $chest->getAttribute('max_drop_count', 3)
+            );
+
+            // 为每个宝箱随机选择多个物品
+            $selectedItems = [];
+            $availableConfigs = $chestConfig->toArray();
+
+            // 选择多个物品
+            for ($j = 0; $j < $dropItemsCount; $j++) {
+                if (empty($availableConfigs)) {
+                    break;
+                }
+
+                // 随机选择物品
+                $totalWeight = array_sum(array_column($availableConfigs, 'weight'));
+                $randomWeight = mt_rand(1, $totalWeight);
+                $currentWeight = 0;
+                $selectedIndex = 0;
+
+                foreach ($availableConfigs as $index => $config) {
+                    $currentWeight += $config['weight'];
+
+                    if ($randomWeight <= $currentWeight) {
+                        $selectedIndex = $index;
+                        break;
+                    }
+                }
+
+                // 获取选中的配置
+                $selectedConfig = $availableConfigs[$selectedIndex];
+
+                // 随机决定数量
+                $itemQuantity = mt_rand($selectedConfig['min_quantity'], $selectedConfig['max_quantity']);
+
+                // 获取物品信息
+                $item = Item::find($selectedConfig['item_id']);
+
+                // 添加到用户背包
+                $this->addItemToUser($userId, $selectedConfig['item_id'], $itemQuantity);
+
+                // 记录奖励
+                $rewards[] = [
+                    'item_id' => $item->id,
+                    'name' => $item->name,
+                    'quantity' => $itemQuantity,
+                    'icon' => $item->icon
+                ];
+
+                // 如果该物品不允许重复掉落,则从可选列表中移除
+                if (!$selectedConfig['allow_duplicate'] ?? false) {
+                    array_splice($availableConfigs, $selectedIndex, 1);
+                }
+            }
+        }
+
+        DB::commit();
+
+        return [
+            'success' => true,
+            'chests' => [
+                [
+                    'chest_id' => $chestId,
+                    'chest_name' => $chest->name,
+                    'rewards' => $rewards
+                ]
+            ],
+            'remaining_chests' => $userChest->quantity ?? 0
+        ];
+
+    } catch (\Exception $e) {
+        DB::rollBack();
+
+        return [
+            'success' => false,
+            'message' => '宝箱打开失败: ' . $e->getMessage()
+        ];
+    }
+}
+```
+
+## 5. 物品过期时间管理
+
+物品模块支持两种过期时间机制:
+
+### 5.1 全局过期时间
+
+全局过期时间定义在`items`表的`global_expire_at`字段中,表示该物品在所有用户中的绝对过期时间。当超过这个时间点后,所有用户的该物品均失效。
+
+应用场景:
+- 限时活动物品
+- 赠送的体验物品
+- 版本更新后需要清除的物品
+
+### 5.2 用户物品过期时间
+
+用户物品过期时间定义在`user_items`表的`expire_at`字段中,表示特定用户的特定物品的过期时间。这允许每个用户的同一物品有不同的过期时间。
+
+应用场景:
+- 限时使用的装备或道具
+- 会员特权物品
+- 活动奖励物品
+
+### 5.3 过期处理机制
+
+系统应定期运行任务检查并处理过期物品:
+
+```php
+// 计划任务中
+public function handleExpiredItems()
+{
+    // 处理全局过期物品
+    $expiredGlobalItems = Item::where('global_expire_at', '<', now())
+        ->whereNotNull('global_expire_at')
+        ->get();
+
+    foreach ($expiredGlobalItems as $item) {
+        // 删除所有用户的该物品或标记为失效
+        UserItem::where('item_id', $item->id)->delete();
+
+        // 可选操作:发送通知给用户
+    }
+
+    // 处理用户物品过期
+    $expiredUserItems = UserItem::where('expire_at', '<', now())
+        ->whereNotNull('expire_at')
+        ->get();
+
+    foreach ($expiredUserItems as $userItem) {
+        // 删除过期的用户物品
+        $userItem->delete();
+
+        // 可选操作:发送通知给用户
+    }
+}
 ```
 
+## 6. 宝箱系统设计
+
+### 6.1 宝箱类型
+
+宝箱可以根据稀有度和内容分为不同类型:
+
+1. **普通宝箱**:包含基础消耗品和少量资源
+2. **稀有宝箱**:有机会获得稀有装备和较多资源
+3. **限定宝箱**:只在特定活动期间可获得,包含限定物品
+4. **主题宝箱**:围绕特定主题设计,如节日宝箱、职业宝箱等
+
+### 6.2 宝箱掉落机制
+
+#### 6.2.1 多物品掉落
+
+每个宝箱可以同时掉落多个物品:
+
+- 每个宝箱类型物品在`items`表中定义了`min_drop_count`和`max_drop_count`字段
+- 系统在打开宝箱时会随机决定实际掉落的物品数量
+- 可以通过`chest_items`表中的`allow_duplicate`字段控制物品是否可以在同一宝箱中重复掉落
+
+#### 6.2.2 概率机制
+
+宝箱内容的概率由`chest_items`表中的`weight`字段决定:
+
+- 每个物品的概率 = 该物品权重 / 所有物品权重之和
+- 系统支持不同程度的保底机制,确保玩家在多次开启后能获得稀有物品
+
+### 6.3 宝箱日志记录
+
+每次宝箱开启都应记录详细日志,包括:
+
+- 用户信息
+- 宝箱类型
+- 开启时间
+- 获得的物品详情
+
+这些日志可用于数据分析和问题排查。
+
+## 7. 注意事项
 
+1. 物品使用逻辑应根据物品类型进行不同处理
+2. 需要考虑物品数量上限和背包容量限制
+3. 稀有物品获取应有日志记录
+4. 物品交易需考虑并发安全问题,建议使用数据库事务
+5. 敏感操作(如删除物品)需要有权限验证
+6. 在获取用户物品时,始终检查过期时间,不展示已过期物品
+7. 在添加物品到用户背包时,需要检查全局过期时间
+8. 宝箱开启操作应使用事务确保原子性
+9. 宝箱配置应由管理员仔细调整和测试,确保概率合理

+ 1 - 0
app/Module/GameItems/Repositorys/README.md

@@ -0,0 +1 @@
+# 后台仓库 - GameItems

+ 4 - 4
app/Module/System/Models/AdminGridView.php

@@ -12,10 +12,10 @@ use App\Module\System\Enums\VIEW_TYPE;
  *
  * Class AdminActionlog
  *
- * field start
- * @property   int  $id
+ * field start 
+ * @property   int  $id  
  * @property   int  $admin_id  操作的Admin ID
- * @property   string  $type1
+ * @property   string  $type1  
  * @property   string  $title  视图标题
  * @property   string  $router_name  路由名字
  * @property   string  $p1  参数1
@@ -26,7 +26,7 @@ use App\Module\System\Enums\VIEW_TYPE;
  */
 class AdminGridView extends ModelCore
 {
-    // attrlist start
+    // attrlist start 
     protected $fillable = [
         'id',
         'admin_id',

+ 0 - 11
app/Module/System/Models/ReceiveAddress.php

@@ -8,23 +8,12 @@ use Illuminate\Database\Eloquent\SoftDeletes;
 
 /**
  * field start 
- * @property   int  $id  
- * @property   string  $name  地址
- * @property   int  $status  状态
- * @property   string  $address  地址
- * @property   \Carbon\Carbon  $created_at  创建时间
- * @property   \Carbon\Carbon  $updated_at  更新时间
- * @property   \Carbon\Carbon  $deleted_at  删除时间
  * field end
  */
 class ReceiveAddress extends Model
 {
     //attrlist start 
     protected $fillable = [
-        'id',
-        'name',
-        'status',
-        'address',
     ];
     // attrlist end
 	use HasDateTimeFormatter;

+ 1 - 1
app/Module/Test/README.md

@@ -16,7 +16,7 @@ Test 模块是一个示例模块,用于展示模块化开发的最佳实践。
 ├── Events/              # 事件目录
 ├── Logic/               # Logic目录/逻辑目录
 ├── Listeners/           # 监听器目录 
-├── Queues/              # 事件目录
+├── Queues/              # 队列目录
 ├── Repositorys/         # 仓库目录(后台控制器专用,其他场景不要用)
 ├── Services/            # 服务目录(供其他模块使用)
 │   └──  TestService.php       # 服务之一

+ 0 - 30
app/Module/Transaction/Models/Transaction.php

@@ -9,42 +9,12 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * field start 
- * @property   int  $id  
- * @property   string  $transaction_no  交易单号
- * @property   int  $user_id  用户id
- * @property   int  $from_user_id  付款用户id
- * @property   int  $to_user_id  收款用户id
-充值单/提现单该字段为0
- * @property   int  $coin_type  币种类型
-1:uraus
-2:usdt
-3:bnb
- * @property   int  $type  交易类型
-1:充值
-2:转账(转赠) 3:提现(往链上转)
- * @property   float  $amount  交易金额
- * @property   int  $status  交易状态
- * @property   string  $memo  备注
- * @property   string  $ok_time  完成时间
- * @property   \Carbon\Carbon  $created_at  创建时间
- * @property   \Carbon\Carbon  $updated_at  更新时间
  * field end
  */
 class Transaction extends Model
 {
     // attrlist start 
     protected $fillable = [
-        'id',
-        'transaction_no',
-        'user_id',
-        'from_user_id',
-        'to_user_id',
-        'coin_type',
-        'type',
-        'amount',
-        'status',
-        'memo',
-        'ok_time',
     ];
     // attrlist end
     use HasDateTimeFormatter;

+ 0 - 8
app/Module/Transaction/Models/TransactionRecharge.php

@@ -9,14 +9,6 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * field start 
- * @property   int  $id  
- * @property   int  $transaction_id  交易单id
- * @property   string  $from_address  付款地址
- * @property   string  $to_address  收款地址
- * @property   string  $tx_hash  交易哈希
- * @property   \Carbon\Carbon  $created_at  创建时间
- * @property   \Carbon\Carbon  $updated_at  更新时间
- * @property   int  $status  交易状态
  * field end
  */
 class TransactionRecharge extends Model

+ 0 - 16
app/Module/Transaction/Models/TransactionTransfer.php

@@ -9,28 +9,12 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * field start 
- * @property   int  $id  
- * @property   int  $transaction_id  交易单id
- * @property   string  $from_address  付款地址
- * @property   string  $to_address  收款地址
- * @property   string  $tx_hash  hash
- * @property   string  $miner_amount  矿工费
- * @property   int  $status  交易状态
- * @property   \Carbon\Carbon  $created_at  
- * @property   \Carbon\Carbon  $updated_at  
  * field end
  */
 class TransactionTransfer extends Model
 {
     // attrlist start 
     protected $fillable = [
-        'id',
-        'transaction_id',
-        'from_address',
-        'to_address',
-        'tx_hash',
-        'miner_amount',
-        'status',
     ];
     // attrlist end
 	use HasDateTimeFormatter;

+ 0 - 16
app/Module/Transaction/Models/TransactionWithdrawal.php

@@ -9,28 +9,12 @@ use Illuminate\Database\Eloquent\Model;
 
 /**
  * field start 
- * @property   int  $id  
- * @property   int  $transaction_id  交易单号
- * @property   string  $from_address  付款地址
- * @property   string  $to_address  收款地址
- * @property   string  $tx_hash  hash
- * @property   int  $status  交易状态
- * @property   string  $miner_amount  矿工费
- * @property   \Carbon\Carbon  $created_at  
- * @property   \Carbon\Carbon  $updated_at  
  * field end
  */
 class TransactionWithdrawal extends Model
 {
     // attrlist start 
     protected $fillable = [
-        'id',
-        'transaction_id',
-        'from_address',
-        'to_address',
-        'tx_hash',
-        'status',
-        'miner_amount',
     ];
     // attrlist end
 	use HasDateTimeFormatter;

+ 1 - 1
app/Module/Ulogic/Models/AppMessage.php

@@ -10,7 +10,7 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
 
 /**
  * 应用消息模型
- * field start
+ * field start 
  * field end
  *
  * @property-read \Illuminate\Database\Eloquent\Collection|AppMessageRecipient[] $recipients 消息接收者列表

+ 2 - 10
app/Module/Ulogic/Models/UserBans.php

@@ -9,16 +9,8 @@ use Illuminate\Database\Eloquent\Model;
 /**
  * 用户封禁记录
  * *
- * * field start
- * * @property   int $id  主键id
- * * @property   int $user_id  用户id
- * * @property   int $type  封禁类型
- * * @property   int $admin_id  操作人
- * * @property   int $end_time 封禁结束时间
- * * @property   string $created_at
- * * @property   string $updated_at
- * * @property   string $deleted_at
- * * field end
+ * * field start 
+ * field end
  */
 class UserBans extends Model
 {

+ 4 - 4
app/Module/Ulogic/Models/UserDaytime.php

@@ -8,16 +8,16 @@ use UCore\ModelCore;
 /**
  * 用户每日计数
  *
- * field start
+ * field start 
  * @property   int  $id  主键id
  * @property   int  $user_id  用户id
  * @property   string  $stype  产品类型
  * @property   int  $sid  产品id
  * @property   int  $number  计数
  * @property   int  $day  日期
- * @property   \Carbon\Carbon  $created_at
- * @property   \Carbon\Carbon  $updated_at
- * @property   \Carbon\Carbon  $deleted_at
+ * @property   \Carbon\Carbon  $created_at  
+ * @property   \Carbon\Carbon  $updated_at  
+ * @property   \Carbon\Carbon  $deleted_at  
  * field end
  *
  */

+ 5 - 5
app/Module/Ulogic/Models/UserPunish.php

@@ -10,15 +10,15 @@ use Illuminate\Database\Eloquent\Relations\HasOne;
  * 用户 惩罚(违规记录)
  * punish
  *
- * field start
- * @property   int  $id
+ * field start 
+ * @property   int  $id  
  * @property   int  $user_id  用户ID
  * @property   string  $type  类型
- * @property   \Carbon\Carbon  $created_at
- * @property   \Carbon\Carbon  $updated_at
+ * @property   \Carbon\Carbon  $created_at  
+ * @property   \Carbon\Carbon  $updated_at  
  * @property   string  $desc  描述
  * @property   int  $level  惩罚等级
- * @property   \Carbon\Carbon  $deleted_at
+ * @property   \Carbon\Carbon  $deleted_at  
  * @property   int  $admin_id  做出惩罚的管理员ID
  * field end
  *

+ 2 - 9
app/Module/Ulogic/Models/UserRelation.php

@@ -9,15 +9,8 @@ use Illuminate\Database\Eloquent\Model;
 /**
  * 用户关系表
  * *
- * * field start
- * * @property   int $id  主键id
- * * @property   int $user_id  用户id
- * * @property   int $relation_user_id  关系用户id
- * * @property   int $level 用户是关系用户的第几代
- * * @property   int $create_date  创建日期
- * * @property   string $create_time
- * * @property   string $update_time
- * * field end
+ * * field start 
+ * field end
  */
 class UserRelation extends Model
 {

+ 4 - 4
app/Module/Ulogic/Models/UserTime.php

@@ -7,15 +7,15 @@ use UCore\ModelCore;
 
 /**
  * 用户计数
- * field start
+ * field start 
  * @property   int  $id  主键id
  * @property   int  $user_id  用户id
  * @property   string  $stype  产品类型
  * @property   int  $sid  产品id
  * @property   int  $number  计数
- * @property   \Carbon\Carbon  $created_at
- * @property   \Carbon\Carbon  $updated_at
- * @property   \Carbon\Carbon  $deleted_at
+ * @property   \Carbon\Carbon  $created_at  
+ * @property   \Carbon\Carbon  $updated_at  
+ * @property   \Carbon\Carbon  $deleted_at  
  * field end
  *
  */

+ 2 - 5
app/Module/Ulogic/Models/UserWord.php

@@ -9,11 +9,8 @@ use Illuminate\Database\Eloquent\Model;
 /**
  * 用户钱包地址
  * *
- * * field start
- * * @property   int $id  主键id
- * * @property   int $user_id  用户id
- * * @property   int $word  助记词id
- * * field end
+ * * field start 
+ * field end
  */
 class UserWord extends Model
 {

+ 2 - 10
app/Module/Ulogic/Models/WalletAddress.php

@@ -12,16 +12,8 @@ use Illuminate\Support\Str;
 /**
  * 用户钱包地址
  * *
- * * field start
- * * @property   int $id  主键id
- * * @property   int $user_id  用户id
- * * @property   string $type  地址类型 1:URAUS 2:BNB 3:USDT
- * * @property   int $status  状态 0删除 1生效
- * * @property   string $address  地址
- * * @property   \Carbon\Carbon $created_at
- * * @property   \Carbon\Carbon $updated_at
- * * @property   \Carbon\Carbon $deleted_at
- * * field end
+ * * field start 
+ * field end
  */
 class WalletAddress extends Model
 {

+ 1 - 1
app/Module/User/Models/User.php

@@ -31,7 +31,7 @@ class User extends ModelCore
 
     protected $table = 'user';
 
-    protected $primaryKey = 'user_id';
+    protected $primaryKey = 'id';
 
 
 

+ 3 - 0
composer.json

@@ -84,6 +84,9 @@
         ],
         "demo1": [
             "php artisan transaction:status50to202"
+        ],
+        "dbgen": [
+            "php artisan ucore:generate-model-annotation"
         ]
     },
     "extra": {

+ 4 - 3
config/app.php

@@ -14,6 +14,7 @@ return [
     */
 
     'name' => env('APP_NAME', 'Laravel'),
+    'name2' => env('APP_NAME2', 'Laravel'),
 
     /*
     |--------------------------------------------------------------------------
@@ -78,11 +79,11 @@ return [
     |
     */
 
-    'locale' => env('APP_LOCALE', 'en'),
+    'locale' => env('APP_LOCALE', 'zh_CN'),
 
-    'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'),
+    'fallback_locale' => env('APP_FALLBACK_LOCALE', 'zh_CN'),
 
-    'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'),
+    'faker_locale' => env('APP_FAKER_LOCALE', 'zh_CN'),
 
     /*
     |--------------------------------------------------------------------------

+ 1 - 1
config/database.php

@@ -53,7 +53,7 @@ return [
             'unix_socket' => env('DB_SOCKET', ''),
             'charset' => env('DB_CHARSET', 'utf8mb4'),
             'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
-            'prefix' => '',
+            'prefix' => 'kku_',
             'prefix_indexes' => true,
             'strict' => true,
             'engine' => null,

+ 1402 - 0
database/online.sql

@@ -0,0 +1,1402 @@
+/*
+ Navicat Premium Dump SQL
+
+ Source Server         : 47.96.0.212.56
+ Source Server Type    : MySQL
+ Source Server Version : 50651 (5.6.51)
+ Source Host           : 47.96.0.212:3356
+ Source Schema         : online
+
+ Target Server Type    : MySQL
+ Target Server Version : 50651 (5.6.51)
+ File Encoding         : 65001
+
+ Date: 22/04/2025 13:36:48
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+
+-- ----------------------------
+-- Table structure for dhc_article_raiders
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_article_raiders`;
+CREATE TABLE `dhc_article_raiders` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
+  `operator` int(11) DEFAULT NULL COMMENT '操作员id',
+  `auth` varchar(100) NOT NULL COMMENT '用户帐号',
+  `title` varchar(100) NOT NULL COMMENT '攻略标题',
+  `content` longtext NOT NULL COMMENT '攻略内容',
+  `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '审核状态',
+  `createtime` int(11) unsigned NOT NULL COMMENT '发表日期',
+  `readtimes` int(11) unsigned DEFAULT '1' COMMENT '阅读次数',
+  `reward` int(11) unsigned DEFAULT '0' COMMENT '打赏',
+  `praise` int(11) unsigned DEFAULT '0' COMMENT '好评',
+  `comments` int(11) unsigned DEFAULT '0' COMMENT '中评',
+  `bad` int(11) unsigned DEFAULT '0' COMMENT '差评',
+  `type` tinyint(4) NOT NULL COMMENT '阅读类型',
+  `reason` varchar(100) DEFAULT '' COMMENT '审核原因',
+  `rewardproduct` int(11) DEFAULT NULL COMMENT '打赏产品',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='攻略表';
+
+
+-- ----------------------------
+-- Table structure for dhc_card_collect_activity
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_card_collect_activity`;
+CREATE TABLE `dhc_card_collect_activity` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `apple` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '苹果数量',
+  `pumpkin` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '南瓜数量',
+  `radish` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '萝卜',
+  `pepper` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '辣椒',
+  `strawberry` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '草莓',
+  `reunion` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '团圆',
+  `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE,
+  KEY `type` (`apple`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=8165 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_card_collect_num
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_card_collect_num`;
+CREATE TABLE `dhc_card_collect_num` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `num` int(11) unsigned NOT NULL COMMENT '次数',
+  `real_num` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '活动期间实名人数',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+
+
+
+-- ----------------------------
+-- Table structure for dhc_distribution_list
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_distribution_list`;
+CREATE TABLE `dhc_distribution_list` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) unsigned NOT NULL,
+  `cUid` int(11) unsigned NOT NULL COMMENT '下级uid',
+  `level` tinyint(1) unsigned NOT NULL COMMENT '层级',
+  `gold` float(11,4) NOT NULL COMMENT '金币变化',
+  `type` tinyint(1) unsigned NOT NULL COMMENT '返佣类型: 兑换钻石=1 大盘手续费=2',
+  `disType` enum('common','channel') NOT NULL COMMENT '分销商类型1',
+  `rebate` float(11,2) unsigned NOT NULL COMMENT '当前分佣比例',
+  `amount` float(11,4) unsigned NOT NULL COMMENT '佣金数量',
+  `effectTime` int(11) unsigned NOT NULL COMMENT '生效时间',
+  `createTime` int(11) unsigned NOT NULL COMMENT '创建时间',
+  `updateTime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '领取时间',
+  `status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0=未到账 1=已到账',
+  `log` varchar(255) NOT NULL COMMENT '日志备注',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `createTime` (`createTime`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_game_commodity
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_game_commodity`;
+CREATE TABLE `dhc_game_commodity` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `gid` int(11) unsigned NOT NULL COMMENT '果实id',
+  `gname` varchar(255) NOT NULL COMMENT '果实名称',
+  `price` decimal(10,3) unsigned NOT NULL COMMENT '市场单价',
+  `min_buy_price` decimal(10,3) NOT NULL COMMENT '最低购买价格',
+  `max_num` int(11) unsigned NOT NULL COMMENT '单笔订单最大值',
+  `total_num` int(11) NOT NULL COMMENT '历史成交数量',
+  `flow_num` int(11) NOT NULL COMMENT '可交易数量',
+  `del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0否1是',
+  `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='交易市场商品指导价格';
+
+-- ----------------------------
+-- Table structure for dhc_game_notice
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_game_notice`;
+CREATE TABLE `dhc_game_notice` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `title` varchar(255) NOT NULL COMMENT '标题',
+  `content` text NOT NULL COMMENT '公告内容',
+  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='游戏公告(新)';
+
+-- ----------------------------
+-- Table structure for dhc_game_transaction
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_game_transaction`;
+CREATE TABLE `dhc_game_transaction` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `gid` int(11) NOT NULL COMMENT '果实id',
+  `num` int(11) unsigned NOT NULL COMMENT '果实数量',
+  `gname` varchar(20) NOT NULL DEFAULT '0' COMMENT '果实名称',
+  `price` decimal(10,3) unsigned NOT NULL COMMENT '果实单价',
+  `total_price` decimal(10,3) NOT NULL COMMENT '真实总价',
+  `actual_price` int(10) NOT NULL COMMENT '整数总价',
+  `type` tinyint(1) NOT NULL COMMENT '类型0买如1卖出',
+  `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态0待审核1已完成2已撤销',
+  `update_at` datetime DEFAULT NULL COMMENT '更新时间',
+  `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `u` (`uid`,`gid`) USING BTREE,
+  KEY `gid` (`gid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=269753 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='农贸市场订单表';
+
+-- ----------------------------
+-- Table structure for dhc_game_transaction_err_log
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_game_transaction_err_log`;
+CREATE TABLE `dhc_game_transaction_err_log` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `content` varchar(1000) NOT NULL COMMENT '日志内容',
+  `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='计划任务有错误内容时存储表';
+
+-- ----------------------------
+-- Table structure for dhc_game_transaction_statistics
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_game_transaction_statistics`;
+CREATE TABLE `dhc_game_transaction_statistics` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `ymd` int(11) NOT NULL COMMENT '时间',
+  `k_sell` int(11) NOT NULL DEFAULT '0' COMMENT '卖出k钻的数量',
+  `k_buy` int(11) NOT NULL DEFAULT '0' COMMENT '买入k钻的数量',
+  `content` text NOT NULL COMMENT '果实相关数据',
+  `create_at` date NOT NULL,
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `ymd` (`ymd`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_game_video
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_game_video`;
+CREATE TABLE `dhc_game_video` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `title` varchar(255) NOT NULL COMMENT '视频标题',
+  `content` varchar(255) NOT NULL COMMENT '内容',
+  `author` varchar(20) NOT NULL COMMENT '作者',
+  `img_url` varchar(255) NOT NULL COMMENT '图片地址',
+  `video_url` varchar(255) NOT NULL COMMENT '视频地址',
+  `type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '类型1游戏攻略',
+  `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_k
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_k`;
+CREATE TABLE `dhc_k` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `surplus` int(11) unsigned NOT NULL COMMENT '剩余k钻',
+  `retained` int(11) unsigned NOT NULL COMMENT '平台留存k钻',
+  `consume` int(11) unsigned NOT NULL COMMENT '用户消耗k钻',
+  `produce` int(11) unsigned NOT NULL COMMENT '用户持有k钻',
+  `release` int(11) unsigned NOT NULL COMMENT '平台释放k钻',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='平台k钻数据汇总';
+
+-- ----------------------------
+-- Table structure for dhc_lnvitation_code
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_lnvitation_code`;
+CREATE TABLE `dhc_lnvitation_code` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `code` char(20) NOT NULL COMMENT '邀请码',
+  `uid` int(11) NOT NULL DEFAULT '0' COMMENT '用户id',
+  `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否被使用0否1是',
+  `time` datetime DEFAULT NULL COMMENT '使用时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `code` (`code`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='内测邀请码(新)';
+
+-- ----------------------------
+-- Table structure for dhc_menus
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_menus`;
+CREATE TABLE `dhc_menus` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `pid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '父级ID',
+  `title` varchar(255) NOT NULL,
+  `icon` varchar(255) NOT NULL,
+  `route` varchar(255) NOT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_message_error_log
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_message_error_log`;
+CREATE TABLE `dhc_message_error_log` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `content` varchar(255) NOT NULL COMMENT '内容',
+  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=6656 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='短信发送失败日志表';
+
+-- ----------------------------
+-- Table structure for dhc_operator_log
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_operator_log`;
+CREATE TABLE `dhc_operator_log` (
+  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `title` varchar(255) NOT NULL COMMENT '操作内容',
+  `operator` int(11) NOT NULL COMMENT '操作员',
+  `createtime` int(11) NOT NULL COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=62 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='后台操作员操作日志';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_animal
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_animal`;
+CREATE TABLE `dhc_orchard_animal` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) unsigned NOT NULL DEFAULT '0',
+  `aid` tinyint(1) unsigned NOT NULL DEFAULT '0',
+  `nums` int(11) unsigned NOT NULL DEFAULT '0',
+  `title` varchar(50) NOT NULL,
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0',
+  `updatetime` int(11) unsigned NOT NULL DEFAULT '0',
+  `days` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '剩余天数',
+  `info` varchar(500) DEFAULT NULL COMMENT '备注信息',
+  `feedtime` int(11) unsigned NOT NULL DEFAULT '0',
+  `status` tinyint(1) unsigned NOT NULL DEFAULT '0',
+  `feednums` int(11) unsigned NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`,`aid`,`status`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='农场 牧场信息表';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_background
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_background`;
+CREATE TABLE `dhc_orchard_background` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) unsigned NOT NULL DEFAULT '0',
+  `backId` tinyint(11) unsigned NOT NULL DEFAULT '1',
+  `backName` varchar(50) NOT NULL DEFAULT '0',
+  `status` tinyint(1) unsigned NOT NULL DEFAULT '0',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0',
+  `updatetime` int(11) unsigned NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uid` (`uid`,`backId`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=44986 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='果园背景管理';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_chest
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_chest`;
+CREATE TABLE `dhc_orchard_chest` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) unsigned NOT NULL DEFAULT '0',
+  `tId` tinyint(3) unsigned NOT NULL DEFAULT '0',
+  `nums` int(11) unsigned NOT NULL DEFAULT '0',
+  `price` decimal(11,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '钻石价格',
+  `uidStr` varchar(500) DEFAULT NULL COMMENT '会员信息',
+  `starttime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '开始时间',
+  `endtime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '结束时间',
+  `status` tinyint(1) unsigned NOT NULL DEFAULT '0',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0',
+  `updatetime` int(11) unsigned NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uid` (`uid`,`tId`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='宝箱记录';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_chestlist
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_chestlist`;
+CREATE TABLE `dhc_orchard_chestlist` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) unsigned DEFAULT '0',
+  `tId` int(11) unsigned DEFAULT '0',
+  `cid` int(11) unsigned DEFAULT '0',
+  `disUid` int(11) unsigned DEFAULT '0',
+  `price` decimal(11,2) unsigned DEFAULT '0.00',
+  `status` tinyint(1) unsigned NOT NULL DEFAULT '0',
+  `starttime` int(11) unsigned DEFAULT '0' COMMENT '开始时间',
+  `endtime` int(11) unsigned DEFAULT '0',
+  `createtime` int(11) unsigned DEFAULT '0',
+  `updatetime` int(11) unsigned NOT NULL DEFAULT '0',
+  `isRed` tinyint(1) unsigned NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uid` (`uid`,`tId`,`cid`,`createtime`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='宝箱邀请记录表';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_config
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_config`;
+CREATE TABLE `dhc_orchard_config` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `title` varchar(50) NOT NULL,
+  `total` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '库存种子',
+  `diamond` text NOT NULL COMMENT '果实兑换钻石信息',
+  `upGrade` tinyint(2) unsigned NOT NULL DEFAULT '12' COMMENT '用户最高等级',
+  `landInfo` text NOT NULL COMMENT '土地信息',
+  `landFruit` varchar(500) NOT NULL DEFAULT '0' COMMENT '产生果实信息',
+  `landUpInfo` varchar(600) NOT NULL DEFAULT '0' COMMENT '土地升级信息',
+  `duiInfo` varchar(500) NOT NULL DEFAULT '0' COMMENT '兑换设置',
+  `houseInfo` text NOT NULL COMMENT '房屋升级耗材',
+  `dogInfo` text NOT NULL COMMENT '宠物升级经验信息',
+  `statueInfo` varchar(500) NOT NULL DEFAULT '0' COMMENT '神像设置',
+  `recharge` varchar(500) NOT NULL DEFAULT '0' COMMENT '充值信息',
+  `background` varchar(500) NOT NULL DEFAULT '0' COMMENT '背景信息',
+  `rebate` varchar(500) NOT NULL DEFAULT '0' COMMENT '充值返佣金额',
+  `package` varchar(300) DEFAULT '0' COMMENT '礼包信息',
+  `indemnify` varchar(300) NOT NULL DEFAULT '0' COMMENT '补偿礼包',
+  `newGiftPack` varchar(300) DEFAULT NULL COMMENT '新人礼包信息',
+  `realName` varchar(500) NOT NULL COMMENT '认证礼包',
+  `sign` varchar(500) NOT NULL DEFAULT '0' COMMENT '签到信息',
+  `steal` text NOT NULL COMMENT '好友互偷信息',
+  `downgrade` text COMMENT '土地降级信息',
+  `EMG` varchar(100) DEFAULT NULL COMMENT 'emg授权',
+  `status` tinyint(1) unsigned NOT NULL DEFAULT '0',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0',
+  `updatetime` int(11) unsigned NOT NULL DEFAULT '0',
+  `Ouid` int(11) unsigned NOT NULL DEFAULT '0',
+  `pasture` text NOT NULL COMMENT '牧场信息',
+  `SDiamondHave` int(11) unsigned DEFAULT NULL COMMENT '推荐人需拥有钻石',
+  `authCodeInfo` varchar(500) DEFAULT NULL COMMENT '商城对接授权信息',
+  `team` text NOT NULL COMMENT '推广设置',
+  `teamPoster` text NOT NULL COMMENT '推广海报',
+  `teamRule` text NOT NULL COMMENT '团队规则',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='淘金果园参数';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_dog
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_dog`;
+CREATE TABLE `dhc_orchard_dog` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户编号',
+  `nickname` varchar(50) NOT NULL COMMENT '用户昵称',
+  `mobile` varchar(50) NOT NULL COMMENT '用户电话',
+  `goodsId` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '商品id或0',
+  `dogName` varchar(50) NOT NULL COMMENT '宠物昵称',
+  `dogLevel` tinyint(2) unsigned NOT NULL DEFAULT '1' COMMENT '宠物等级',
+  `experience` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '宠物经验值',
+  `power` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '体力活力动力值',
+  `powerUlimit` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '体力生活上限',
+  `otherInfo` varchar(500) NOT NULL DEFAULT '0' COMMENT '宠物其他基本信息',
+  `harvestTime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '收货时效',
+  `sowingTime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '播种时效',
+  `speed` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '进度玫瑰1000 规0',
+  `score` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '评分',
+  `status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '状态',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
+  `updatetime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
+  `optime` int(11) unsigned NOT NULL DEFAULT '0',
+  `isDel` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '删除状态 1',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=44260 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='淘金果园宠物记录表';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_double_effect
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_double_effect`;
+CREATE TABLE `dhc_orchard_double_effect` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL,
+  `types` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '类型',
+  `mark` varchar(50) NOT NULL DEFAULT '0',
+  `nums` int(11) unsigned NOT NULL DEFAULT '0',
+  `msg` varchar(500) NOT NULL DEFAULT '0' COMMENT '消息',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0',
+  `status` tinyint(1) unsigned NOT NULL DEFAULT '0',
+  `lasttime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '到期时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=4202 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_orchard_downgrade
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_downgrade`;
+CREATE TABLE `dhc_orchard_downgrade` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) unsigned NOT NULL DEFAULT '0',
+  `types` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '类型 1房屋 2 土地 3记录',
+  `houseLv` int(11) unsigned NOT NULL DEFAULT '0',
+  `grade` int(11) unsigned NOT NULL DEFAULT '0',
+  `htime` int(11) unsigned NOT NULL DEFAULT '0',
+  `info` varchar(500) NOT NULL,
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0',
+  `status` tinyint(1) unsigned NOT NULL DEFAULT '1',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uid` (`uid`,`houseLv`,`grade`,`htime`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='房屋掉级记录';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_goods
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_goods`;
+CREATE TABLE `dhc_orchard_goods` (
+  `tId` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品ID',
+  `type` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '定义类型',
+  `tName` varchar(50) NOT NULL COMMENT '商品名字',
+  `depict` varchar(500) NOT NULL COMMENT '商品简介',
+  `price` decimal(10,3) unsigned NOT NULL DEFAULT '0.000' COMMENT '商品价格',
+  `effect` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '效果值',
+  `pack` int(11) unsigned NOT NULL DEFAULT '1' COMMENT '一次性购买量 打包购买',
+  `buyOut` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '购买上限',
+  `cost` varchar(500) NOT NULL COMMENT '宝箱需要信息',
+  `chanceInfo` varchar(2000) NOT NULL COMMENT '各商品概率',
+  `giftDetail` varchar(500) NOT NULL COMMENT '推荐礼包详细信息',
+  `reclaimLimit` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '会员购买需等级',
+  `seedUser` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '赠送种子用户',
+  `seedShop` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '返回平台种子数量',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
+  `updatetime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
+  `status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '状态0禁用1启用',
+  `isDel` tinyint(1) NOT NULL DEFAULT '0',
+  PRIMARY KEY (`tId`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='淘金果园商品表';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_hail_fellow
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_hail_fellow`;
+CREATE TABLE `dhc_orchard_hail_fellow` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) unsigned NOT NULL DEFAULT '0',
+  `huid` int(11) unsigned NOT NULL DEFAULT '0',
+  `nickname` varchar(50) NOT NULL,
+  `mobile` varchar(50) NOT NULL,
+  `status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '1 通过 0 审核 9 拒绝',
+  `isAdd` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '发起身份',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0',
+  `updatetime` int(11) unsigned NOT NULL DEFAULT '0',
+  `isDel` tinyint(1) unsigned NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2201 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='淘金果园好友记录表';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_land
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_land`;
+CREATE TABLE `dhc_orchard_land` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) unsigned NOT NULL DEFAULT '0',
+  `nickname` varchar(50) NOT NULL DEFAULT '无昵称',
+  `mobile` varchar(50) NOT NULL DEFAULT '0',
+  `landLevel` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '土地类型 1普 2红 3 黑 4 金',
+  `landId` tinyint(2) NOT NULL DEFAULT '1',
+  `goodsId` int(11) NOT NULL DEFAULT '0' COMMENT '产生种子ID',
+  `goodsNums` int(11) NOT NULL DEFAULT '0' COMMENT '产生种子数量',
+  `goodsName` varchar(50) NOT NULL DEFAULT '无',
+  `fertilize` varchar(500) NOT NULL DEFAULT '0' COMMENT '施肥次数状态',
+  `plowing` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '翻地状态',
+  `landStatus` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '土地状态0未种植1种子2嫩芽期3生长期4成熟期5枯萎期',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
+  `updatetime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '最后一次更新时间',
+  `optime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户操作时间',
+  `seedtime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '种子播种时间',
+  `wcan` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '浇水状态',
+  `hcide` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '除草状态',
+  `icide` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '除虫状态',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uid_2` (`uid`,`landId`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=45305 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='土地信息';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_logs
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_logs`;
+CREATE TABLE `dhc_orchard_logs` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) unsigned NOT NULL DEFAULT '0',
+  `mobile` varchar(50) NOT NULL,
+  `disUid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '来源uid',
+  `landId` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '土地编号',
+  `types` varchar(50) NOT NULL,
+  `nums` decimal(11,2) NOT NULL DEFAULT '0.00',
+  `msg` varchar(500) NOT NULL,
+  `dataInfo` varchar(5000) NOT NULL DEFAULT '0' COMMENT '附带数据存储',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0',
+  `status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除1否2是',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE,
+  KEY `uid_2` (`uid`,`landId`,`types`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=5776043 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='淘金果园日志表';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_order
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_order`;
+CREATE TABLE `dhc_orchard_order` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '会员uid',
+  `nickname` varchar(50) NOT NULL COMMENT '会员信息',
+  `mobile` varchar(50) NOT NULL COMMENT '会员信息',
+  `orderId` varchar(50) NOT NULL COMMENT '订单号',
+  `types` varchar(50) NOT NULL COMMENT '类型',
+  `coing` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '扣除数量',
+  `fruit` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '获得数量',
+  `payStatus` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '支付状态',
+  `payTime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '支付时间',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=52899 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='淘金果园订单记录表';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_package
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_package`;
+CREATE TABLE `dhc_orchard_package` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) unsigned NOT NULL,
+  `types` varchar(50) NOT NULL,
+  `info` varchar(500) NOT NULL DEFAULT '0',
+  `status` tinyint(1) unsigned NOT NULL DEFAULT '0',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0',
+  `updatetime` int(11) unsigned NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=93 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='果园礼包';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_sign
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_sign`;
+CREATE TABLE `dhc_orchard_sign` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) unsigned NOT NULL DEFAULT '0',
+  `config` varchar(500) NOT NULL DEFAULT '0',
+  `signLevel` tinyint(1) unsigned NOT NULL DEFAULT '0',
+  `info` varchar(500) NOT NULL DEFAULT '0',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=163571 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='果园签到记录表';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_statue
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_statue`;
+CREATE TABLE `dhc_orchard_statue` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `tid` int(11) NOT NULL COMMENT '神像id',
+  `uid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT 'uid',
+  `model` varchar(50) NOT NULL DEFAULT '0' COMMENT '类型',
+  `statueName` varchar(50) NOT NULL DEFAULT '0' COMMENT '名称',
+  `nums` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '兑换数量',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
+  `updatetime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
+  `lasttime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '过期时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uid_2` (`uid`,`tid`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=89 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='果园神像记录表';
+
+-- ----------------------------
+-- Table structure for dhc_orchard_steal
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_steal`;
+CREATE TABLE `dhc_orchard_steal` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL,
+  `huid` int(11) NOT NULL,
+  `dogInfo` text NOT NULL,
+  `dogStatus` tinyint(1) NOT NULL DEFAULT '0' COMMENT '宠物状态',
+  `chance` tinyint(4) unsigned NOT NULL DEFAULT '0',
+  `mt` tinyint(3) unsigned NOT NULL DEFAULT '0',
+  `landInfo` varchar(5000) NOT NULL DEFAULT '0',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=22662 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_orchard_user
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_orchard_user`;
+CREATE TABLE `dhc_orchard_user` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL DEFAULT '0' COMMENT '会员uid',
+  `nickname` varchar(50) NOT NULL DEFAULT '无' COMMENT '昵称',
+  `mobile` varchar(50) NOT NULL DEFAULT '0',
+  `avatar` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '头像选择id',
+  `diamonds` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '钻石',
+  `skin` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '皮肤',
+  `wood` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '木材',
+  `stone` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '石材',
+  `steel` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '钢材',
+  `grade` tinyint(2) unsigned NOT NULL DEFAULT '1' COMMENT '房屋等级',
+  `dogFood1` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '普通狗粮',
+  `dogFood2` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '优质狗粮2',
+  `roseSeed` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '玫瑰花种子',
+  `seed` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '普通种子 废弃',
+  `choe` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '铜锄头',
+  `shoe` int(1) unsigned NOT NULL DEFAULT '0' COMMENT '银锄头',
+  `cchest` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '铜宝箱',
+  `schest` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '银宝箱',
+  `gchest` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '金宝箱',
+  `dchest` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '钻石宝箱',
+  `ccchest` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '超级铜宝箱',
+  `cschest` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '超级银宝箱',
+  `cgchest` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '超级金宝箱',
+  `cfert` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '化肥',
+  `wcan` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '洒水壶',
+  `hcide` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '除草剂',
+  `icide` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '除虫剂',
+  `emerald` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '绿宝石',
+  `purplegem` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '紫宝石',
+  `sapphire` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '蓝宝石',
+  `topaz` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '黄宝石',
+  `gifts` int(11) NOT NULL DEFAULT '0' COMMENT '推荐礼包个数',
+  `kuguazhi` int(11) unsigned NOT NULL DEFAULT '0',
+  `feed` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '饲料',
+  `pasture` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '牧场等级',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0',
+  `updatetime` int(11) unsigned NOT NULL DEFAULT '0',
+  `status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '状态 1正常 9 禁用',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=45110 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='果园会员信息表';
+
+-- ----------------------------
+-- Table structure for dhc_pay
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_pay`;
+CREATE TABLE `dhc_pay` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `price` decimal(10,2) unsigned NOT NULL COMMENT '价格',
+  `num` int(11) unsigned NOT NULL COMMENT '钻石数量',
+  `additional` int(11) unsigned NOT NULL COMMENT '赠送的钻石数',
+  `all` int(11) NOT NULL COMMENT '钻石总数',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户购买钻石列表(新)';
+
+-- ----------------------------
+-- Table structure for dhc_raiders_reward
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_raiders_reward`;
+CREATE TABLE `dhc_raiders_reward` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
+  `rid` int(11) unsigned NOT NULL COMMENT '攻略id',
+  `uid` int(11) unsigned NOT NULL COMMENT '打赏用户id',
+  `auth` int(11) unsigned NOT NULL COMMENT '作者id',
+  `productid` int(11) unsigned NOT NULL COMMENT '打赏产品id',
+  `productnum` int(11) unsigned NOT NULL COMMENT '打赏产品数量',
+  `createtime` int(11) unsigned NOT NULL COMMENT '打赏时间',
+  `discuss` varchar(100) NOT NULL COMMENT '评论',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='打赏记录表';
+
+-- ----------------------------
+-- Table structure for dhc_strategy
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_strategy`;
+CREATE TABLE `dhc_strategy` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `cid` int(11) NOT NULL COMMENT '分类id',
+  `title` varchar(255) NOT NULL COMMENT '标题',
+  `thumb` varchar(255) NOT NULL COMMENT '图片',
+  `content` text NOT NULL COMMENT '内容',
+  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='游戏攻略内容(新)';
+
+-- ----------------------------
+-- Table structure for dhc_strategy_category
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_strategy_category`;
+CREATE TABLE `dhc_strategy_category` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `name` varchar(50) NOT NULL,
+  `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='游戏攻略分类(新)';
+
+-- ----------------------------
+-- Table structure for dhc_test
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_test`;
+CREATE TABLE `dhc_test` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `content` text NOT NULL COMMENT '测试内容',
+  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=8718 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='存放测试数据的表(新)';
+
+-- ----------------------------
+-- Table structure for dhc_trade_dailydate
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_trade_dailydate`;
+CREATE TABLE `dhc_trade_dailydate` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `sid` int(11) unsigned NOT NULL COMMENT '产品id',
+  `OpeningPrice` decimal(10,5) unsigned DEFAULT '0.00000' COMMENT '开盘价格',
+  `ClosingPrice` decimal(10,5) unsigned DEFAULT '0.00000' COMMENT '收盘价格',
+  `HighestPrice` decimal(10,5) unsigned NOT NULL COMMENT '最高价格',
+  `LowestPrice` decimal(10,5) unsigned NOT NULL COMMENT '最低价格',
+  `Volume` int(11) unsigned DEFAULT '0' COMMENT '成交数量',
+  `Date` int(11) unsigned NOT NULL COMMENT '当日时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='日数据表';
+
+-- ----------------------------
+-- Table structure for dhc_trade_dailydates
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_trade_dailydates`;
+CREATE TABLE `dhc_trade_dailydates` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `sid` int(11) unsigned NOT NULL COMMENT '产品id',
+  `OpeningPrice` decimal(10,5) unsigned DEFAULT '0.00000' COMMENT '开盘价格',
+  `ClosingPrice` decimal(10,5) unsigned DEFAULT '0.00000' COMMENT '收盘价格',
+  `HighestPrice` decimal(10,5) unsigned NOT NULL COMMENT '最高价格',
+  `LowestPrice` decimal(10,5) unsigned NOT NULL COMMENT '最低价格',
+  `Volume` int(11) unsigned DEFAULT '0' COMMENT '成交数量',
+  `Date` int(11) unsigned NOT NULL COMMENT '当日时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='日数据表';
+
+-- ----------------------------
+-- Table structure for dhc_trade_logs
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_trade_logs`;
+CREATE TABLE `dhc_trade_logs` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `uid` int(11) unsigned NOT NULL COMMENT '用户id',
+  `mobile` varchar(100) NOT NULL COMMENT '手机号',
+  `num` decimal(10,5) NOT NULL COMMENT '数量',
+  `logs` varchar(255) NOT NULL COMMENT '操作内容',
+  `createtime` int(11) unsigned NOT NULL COMMENT '操作时间',
+  `status` tinyint(4) unsigned NOT NULL COMMENT '状态',
+  `type` varchar(100) NOT NULL COMMENT '操作类型',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=63 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='大盘日志表';
+
+-- ----------------------------
+-- Table structure for dhc_trade_order
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_trade_order`;
+CREATE TABLE `dhc_trade_order` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `uid` int(11) unsigned NOT NULL COMMENT '挂单用户id',
+  `sid` int(11) unsigned NOT NULL COMMENT '产品id',
+  `number` int(11) unsigned NOT NULL COMMENT '挂单数量',
+  `price` decimal(10,5) unsigned NOT NULL COMMENT '挂单价格',
+  `goods` varchar(255) NOT NULL COMMENT '挂单货物名称',
+  `createtime` int(11) unsigned NOT NULL COMMENT '挂单时间',
+  `type` tinyint(4) NOT NULL COMMENT '挂单类型',
+  `status` int(11) unsigned NOT NULL COMMENT '挂单状态',
+  `endtime` int(11) unsigned DEFAULT NULL COMMENT '结束时间',
+  `dealnum` int(11) unsigned DEFAULT '0' COMMENT '已成交数量',
+  `bid` int(11) unsigned DEFAULT NULL COMMENT '交易用户id',
+  `fee` decimal(10,5) DEFAULT '0.00000' COMMENT '手续费',
+  `dealprice` decimal(10,5) DEFAULT NULL COMMENT '成交价格',
+  `dealMoney` decimal(11,5) DEFAULT '0.00000' COMMENT '成交价格',
+  `crontabtime` int(11) unsigned NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE,
+  KEY `sid` (`sid`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='挂单表';
+
+-- ----------------------------
+-- Table structure for dhc_trade_product
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_trade_product`;
+CREATE TABLE `dhc_trade_product` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `thumb` varchar(255) NOT NULL COMMENT '产品缩略图',
+  `startprice` decimal(10,5) unsigned NOT NULL COMMENT '初始价格',
+  `createtime` int(11) NOT NULL COMMENT '创建时间',
+  `status` tinyint(4) NOT NULL COMMENT '状态0停用1启用',
+  `title` varchar(255) NOT NULL COMMENT '产品名称',
+  `depict` varchar(500) DEFAULT NULL COMMENT '简介',
+  `rise` decimal(10,4) NOT NULL COMMENT '涨幅',
+  `fall` decimal(10,4) NOT NULL COMMENT '跌幅',
+  `poundage` decimal(10,4) NOT NULL COMMENT '交易手续费',
+  `seedTime` decimal(5,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '种子周期',
+  `sproutingTime` decimal(5,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '发芽周期',
+  `growTime` decimal(5,2) NOT NULL DEFAULT '0.00' COMMENT '生长周期',
+  `displayorder` int(11) unsigned DEFAULT '0',
+  `tradeStatus` tinyint(4) DEFAULT '1' COMMENT '开盘状态',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=90005 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='产品表';
+
+-- ----------------------------
+-- Table structure for dhc_user
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user`;
+CREATE TABLE `dhc_user` (
+  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `is_real` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已经实名0否1是',
+  `user` varchar(50) NOT NULL COMMENT '用户账号',
+  `superior` varchar(2000) NOT NULL DEFAULT '0' COMMENT '导师推广码',
+  `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '用户状态(1启用 9 停用)',
+  `salt` varchar(100) NOT NULL COMMENT '盐值',
+  `token` varchar(500) DEFAULT NULL COMMENT 'token 验证信息',
+  `password` varchar(100) NOT NULL COMMENT '密码',
+  `nickname` varchar(255) DEFAULT NULL COMMENT '用户昵称',
+  `avatar` varchar(255) DEFAULT NULL COMMENT '用户头像',
+  `balance` int(11) DEFAULT '0' COMMENT '用户余额',
+  `coing` decimal(12,5) unsigned DEFAULT '0.00000' COMMENT '用户金币数量',
+  `level` int(11) DEFAULT '1' COMMENT '用户等级',
+  `realname` varchar(255) DEFAULT '' COMMENT '用户真实姓名',
+  `idcard` varchar(255) DEFAULT '' COMMENT '用户身份证号',
+  `idcardFront` varchar(255) DEFAULT NULL COMMENT '身份证正面照片',
+  `idcardback` varchar(255) DEFAULT NULL COMMENT '身份证反面照片',
+  `Frozen` decimal(15,5) unsigned DEFAULT '0.00000' COMMENT '金币冻结数量',
+  `spread` int(11) DEFAULT '0' COMMENT '推广码',
+  `tencent` varchar(100) DEFAULT NULL COMMENT 'qq号',
+  `wechet` varchar(100) DEFAULT NULL COMMENT '微信',
+  `telphone` varchar(100) DEFAULT NULL COMMENT '手机号',
+  `phone` varchar(100) DEFAULT NULL COMMENT '联系手机号',
+  `dueBankAccount` varchar(255) DEFAULT NULL COMMENT '开户行用户名',
+  `dueBank` varchar(255) DEFAULT NULL COMMENT '提现银行',
+  `accountNumber` varchar(255) DEFAULT NULL COMMENT '提现账户',
+  `province` varchar(100) DEFAULT NULL COMMENT '省/直辖市',
+  `city` varchar(100) DEFAULT NULL COMMENT '市/县',
+  `country` varchar(100) DEFAULT NULL COMMENT '开户区',
+  `bankaccount` varchar(100) DEFAULT NULL COMMENT '开户行',
+  `channelRebate` float(10,2) unsigned DEFAULT '0.00' COMMENT '渠道分佣比例',
+  `salesmanRebate` varchar(500) DEFAULT NULL COMMENT '推广佣金',
+  `usergroup` varchar(100) DEFAULT '普通用户' COMMENT '用户组',
+  `spreadfee` decimal(10,5) DEFAULT NULL COMMENT '推广手续费',
+  `spreadCount` int(11) NOT NULL DEFAULT '0' COMMENT '淘金推荐礼包推荐人数统计',
+  `smallfruit` tinyint(4) DEFAULT '0' COMMENT '小额果实赠送开关(1开启 0 关闭)',
+  `authLevel` tinyint(4) DEFAULT '0' COMMENT '作者认证等级',
+  `idcardStatus` tinyint(4) DEFAULT '0' COMMENT '用户身份证图片验证状态(0为空或失败2审核中1审核通过)',
+  `lasttime` int(11) DEFAULT NULL COMMENT '登录时间',
+  `createTime` int(11) NOT NULL COMMENT '注册时间',
+  `trade_limit_level` int(11) DEFAULT '0' COMMENT '领取大礼包等级',
+  `payPassword` varchar(100) DEFAULT NULL COMMENT '支付密码',
+  `userCode` varchar(50) DEFAULT NULL COMMENT 'EMG编号',
+  `openid` varchar(255) DEFAULT NULL COMMENT '微信openid',
+  `voucher` text COMMENT '收款凭证',
+  `repassword` varchar(500) DEFAULT NULL COMMENT '记住密码',
+  `is_infinite` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否拥有无限代分佣资格0否1是',
+  `extend_level` tinyint(1) NOT NULL DEFAULT '1' COMMENT '分佣等级',
+  `invitation_code` char(6) NOT NULL DEFAULT '' COMMENT '邀请码',
+  `invitation_img` varchar(5000) DEFAULT NULL COMMENT '推广图片的地址',
+  `pid` int(11) NOT NULL COMMENT '直推用户id',
+  `wallet_token` char(32) NOT NULL COMMENT '钱包app绑定用的token',
+  `is_bind_wallet` tinyint(1) NOT NULL DEFAULT '0' COMMENT '该用户是否绑定钱包0否1是',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `user` (`user`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=49009 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户表';
+
+-- ----------------------------
+-- Table structure for dhc_user_config
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_config`;
+CREATE TABLE `dhc_user_config` (
+  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `payType` varchar(100) NOT NULL COMMENT '支付类型',
+  `merchant_no` varchar(100) DEFAULT NULL COMMENT '商户号',
+  `terminal_id` varchar(100) DEFAULT NULL COMMENT '终端号',
+  `status` tinyint(4) DEFAULT NULL COMMENT '支付启用状态',
+  `access_token` varchar(100) DEFAULT NULL COMMENT '签名',
+  `other` text COMMENT '其他配置参数',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='支付配置表';
+
+-- ----------------------------
+-- Table structure for dhc_user_contribution_log
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_contribution_log`;
+CREATE TABLE `dhc_user_contribution_log` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `time` int(11) NOT NULL COMMENT '日期',
+  `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '类型0三代1无限代',
+  `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `utt` (`uid`,`time`,`type`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=415886 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_user_copy
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_copy`;
+CREATE TABLE `dhc_user_copy` (
+  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `is_real` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已经实名0否1是',
+  `user` varchar(50) NOT NULL COMMENT '用户账号',
+  `superior` varchar(2000) NOT NULL DEFAULT '0' COMMENT '导师推广码',
+  `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '用户状态(1启用 9 停用)',
+  `salt` varchar(100) NOT NULL COMMENT '盐值',
+  `token` varchar(500) DEFAULT NULL COMMENT 'token 验证信息',
+  `password` varchar(100) NOT NULL COMMENT '密码',
+  `nickname` varchar(255) DEFAULT NULL COMMENT '用户昵称',
+  `avatar` varchar(255) DEFAULT NULL COMMENT '用户头像',
+  `balance` int(11) DEFAULT '0' COMMENT '用户余额',
+  `coing` decimal(12,5) unsigned DEFAULT '0.00000' COMMENT '用户金币数量',
+  `level` int(11) DEFAULT '1' COMMENT '用户等级',
+  `realname` varchar(255) DEFAULT '' COMMENT '用户真实姓名',
+  `idcard` varchar(255) DEFAULT '' COMMENT '用户身份证号',
+  `idcardFront` varchar(255) DEFAULT NULL COMMENT '身份证正面照片',
+  `idcardback` varchar(255) DEFAULT NULL COMMENT '身份证反面照片',
+  `Frozen` decimal(15,5) unsigned DEFAULT '0.00000' COMMENT '金币冻结数量',
+  `spread` int(11) DEFAULT '0' COMMENT '推广码',
+  `tencent` varchar(100) DEFAULT NULL COMMENT 'qq号',
+  `wechet` varchar(100) DEFAULT NULL COMMENT '微信',
+  `telphone` varchar(100) DEFAULT NULL COMMENT '手机号',
+  `phone` varchar(100) DEFAULT NULL COMMENT '联系手机号',
+  `dueBankAccount` varchar(255) DEFAULT NULL COMMENT '开户行用户名',
+  `dueBank` varchar(255) DEFAULT NULL COMMENT '提现银行',
+  `accountNumber` varchar(255) DEFAULT NULL COMMENT '提现账户',
+  `province` varchar(100) DEFAULT NULL COMMENT '省/直辖市',
+  `city` varchar(100) DEFAULT NULL COMMENT '市/县',
+  `country` varchar(100) DEFAULT NULL COMMENT '开户区',
+  `bankaccount` varchar(100) DEFAULT NULL COMMENT '开户行',
+  `channelRebate` float(10,2) unsigned DEFAULT '0.00' COMMENT '渠道分佣比例',
+  `salesmanRebate` varchar(500) DEFAULT NULL COMMENT '推广佣金',
+  `usergroup` varchar(100) DEFAULT '普通用户' COMMENT '用户组',
+  `spreadfee` decimal(10,5) DEFAULT NULL COMMENT '推广手续费',
+  `spreadCount` int(11) NOT NULL DEFAULT '0' COMMENT '淘金推荐礼包推荐人数统计',
+  `smallfruit` tinyint(4) DEFAULT '0' COMMENT '小额果实赠送开关(1开启 0 关闭)',
+  `authLevel` tinyint(4) DEFAULT '0' COMMENT '作者认证等级',
+  `idcardStatus` tinyint(4) DEFAULT '0' COMMENT '用户身份证图片验证状态(0为空或失败2审核中1审核通过)',
+  `lasttime` int(11) DEFAULT NULL COMMENT '登录时间',
+  `createTime` int(11) NOT NULL COMMENT '注册时间',
+  `trade_limit_level` int(11) DEFAULT '0' COMMENT '领取大礼包等级',
+  `payPassword` varchar(100) DEFAULT NULL COMMENT '支付密码',
+  `userCode` varchar(50) DEFAULT NULL COMMENT 'EMG编号',
+  `openid` varchar(255) DEFAULT NULL COMMENT '微信openid',
+  `voucher` text COMMENT '收款凭证',
+  `repassword` varchar(500) DEFAULT NULL COMMENT '记住密码',
+  `is_infinite` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否拥有无限代分佣资格0否1是',
+  `extend_level` tinyint(1) NOT NULL DEFAULT '1' COMMENT '分佣等级',
+  `invitation_code` char(6) NOT NULL DEFAULT '' COMMENT '邀请码',
+  `invitation_img` varchar(5000) DEFAULT NULL COMMENT '推广图片的地址',
+  `pid` int(11) NOT NULL COMMENT '直推用户id',
+  `wallet_token` char(32) DEFAULT NULL COMMENT '钱包app绑定用的token',
+  `is_bind_wallet` tinyint(1) NOT NULL DEFAULT '0' COMMENT '该用户是否绑定钱包0否1是',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `user` (`user`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=25844 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户表';
+
+-- ----------------------------
+-- Table structure for dhc_user_cost
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_cost`;
+CREATE TABLE `dhc_user_cost` (
+  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `orderNumber` varchar(255) NOT NULL COMMENT '订单号',
+  `createtime` int(11) NOT NULL COMMENT '创建时间',
+  `endtime` int(11) unsigned DEFAULT NULL COMMENT '结束时间',
+  `sum` decimal(10,5) NOT NULL COMMENT '消费金额',
+  `charge` decimal(10,5) DEFAULT '0.00000' COMMENT '手续费',
+  `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态1 成功 0 审核 2失败',
+  `type` varchar(100) NOT NULL COMMENT '消费类型',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=15678 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户消费表';
+
+-- ----------------------------
+-- Table structure for dhc_user_give
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_give`;
+CREATE TABLE `dhc_user_give` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
+  `uid` int(11) unsigned NOT NULL COMMENT '赠送用户id',
+  `accept` varchar(100) NOT NULL COMMENT '接受用户id或者帐号',
+  `productid` int(11) unsigned NOT NULL COMMENT '产品id',
+  `number` int(11) unsigned NOT NULL COMMENT '产品数量',
+  `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '赠送状态1结束(接受或者2退回撤销),0等待接受',
+  `title` varchar(100) NOT NULL COMMENT '产品名称',
+  `createtime` int(11) NOT NULL COMMENT '赠送时间',
+  `fee` decimal(10,5) NOT NULL COMMENT '手续费',
+  `giveGold` int(11) unsigned DEFAULT '0' COMMENT '索取金币数量',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户赠送产品表';
+
+-- ----------------------------
+-- Table structure for dhc_user_gold
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_gold`;
+CREATE TABLE `dhc_user_gold` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `oid` int(11) unsigned NOT NULL COMMENT '操作员id',
+  `uid` int(11) unsigned NOT NULL COMMENT '充值用户id',
+  `gold` float(11,2) DEFAULT '0.00' COMMENT '充值金币数量',
+  `frozen` float(11,2) DEFAULT '0.00' COMMENT '冻结金币数量',
+  `createtime` int(11) unsigned NOT NULL COMMENT '操作时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='充值操作表';
+
+-- ----------------------------
+-- Table structure for dhc_user_level_log
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_level_log`;
+CREATE TABLE `dhc_user_level_log` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `conetnt` varchar(255) NOT NULL COMMENT '内容',
+  `level` tinyint(1) NOT NULL COMMENT '新的等级',
+  `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否通知用户0否1是',
+  `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=162 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_user_log
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_log`;
+CREATE TABLE `dhc_user_log` (
+  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
+  `uid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户id',
+  `user` varchar(100) NOT NULL COMMENT '用户帐号',
+  `ip` varchar(100) NOT NULL COMMENT '用户ip',
+  `logintime` int(11) NOT NULL COMMENT '用户登录时间',
+  `info` text NOT NULL COMMENT '用户信息',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户登录表';
+
+-- ----------------------------
+-- Table structure for dhc_user_message
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_message`;
+CREATE TABLE `dhc_user_message` (
+  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `mobile` char(11) NOT NULL COMMENT '手机号',
+  `sendTime` int(11) NOT NULL COMMENT '发送时间',
+  `code` char(6) NOT NULL COMMENT '验证码',
+  `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0未使用1已使用',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=26964 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户验证短信表';
+
+-- ----------------------------
+-- Table structure for dhc_user_pay_order
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_pay_order`;
+CREATE TABLE `dhc_user_pay_order` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `order_sn` varchar(100) NOT NULL COMMENT '订单编号',
+  `money` decimal(11,2) NOT NULL COMMENT '金额',
+  `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态0待支付1已经支付2支付失败-1未进行支付',
+  `pay_id` tinyint(1) NOT NULL DEFAULT '0' COMMENT '钻石表id',
+  `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '类型0身份认证1购买钻石',
+  `number` int(11) NOT NULL DEFAULT '0' COMMENT '充值的钻石数量',
+  `pay_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '支付类型0支付宝',
+  `pay_time` datetime DEFAULT NULL COMMENT '回调通知时间',
+  `sn` varchar(255) DEFAULT '' COMMENT '第三方订单号',
+  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=20158 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户支付日志表(新)';
+
+-- ----------------------------
+-- Table structure for dhc_user_pay_order_bak
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_pay_order_bak`;
+CREATE TABLE `dhc_user_pay_order_bak` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `order_sn` varchar(100) NOT NULL COMMENT '订单编号',
+  `money` decimal(11,2) NOT NULL COMMENT '金额',
+  `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态0待支付1已经支付2支付失败',
+  `is_certify_id` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否获取过支付宝身份认证信息0否1是',
+  `pay_id` tinyint(1) NOT NULL DEFAULT '0' COMMENT '钻石表id',
+  `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '类型0身份认证1购买钻石',
+  `number` int(11) NOT NULL DEFAULT '0' COMMENT '充值的钻石数量',
+  `pay_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '支付类型0支付宝',
+  `token` varchar(255) NOT NULL COMMENT '用户保持在线的身份认证',
+  `pay_time` datetime DEFAULT NULL COMMENT '回调通知时间',
+  `sn` varchar(255) DEFAULT '' COMMENT '第三方订单号',
+  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_user_product
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_product`;
+CREATE TABLE `dhc_user_product` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
+  `uid` int(11) unsigned NOT NULL COMMENT '用户id',
+  `sid` int(11) unsigned NOT NULL COMMENT '产品id',
+  `number` int(11) unsigned DEFAULT '0' COMMENT '产品数量果实',
+  `frozen` int(11) unsigned DEFAULT '0' COMMENT '产品冻结数量',
+  `createtime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
+  `updatetime` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uid` (`uid`,`sid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=108103 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户产品仓库表';
+
+-- ----------------------------
+-- Table structure for dhc_user_real
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_real`;
+CREATE TABLE `dhc_user_real` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `pid` int(11) NOT NULL COMMENT 'user_pay_order表id',
+  `name` varchar(255) NOT NULL COMMENT '用户真实姓名',
+  `idcard` char(18) NOT NULL COMMENT '用户身份证号码 ',
+  `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否成功0待认证1成功2失败',
+  `certify_id` varchar(255) NOT NULL DEFAULT '',
+  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `pid` (`pid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=20158 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户实名认证信息(新)';
+
+-- ----------------------------
+-- Table structure for dhc_user_real_bak
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_real_bak`;
+CREATE TABLE `dhc_user_real_bak` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `order_sn` varchar(100) NOT NULL COMMENT '订单编号',
+  `pid` int(11) NOT NULL COMMENT 'user_pay_order表id',
+  `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否成功0待认证1成功2失败',
+  `token` varchar(255) NOT NULL DEFAULT '' COMMENT '用户保持在线的身份认证',
+  `certify_id` varchar(255) NOT NULL DEFAULT '',
+  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_user_real_data
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_real_data`;
+CREATE TABLE `dhc_user_real_data` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `order_sn` varchar(100) NOT NULL COMMENT '订单号',
+  `pid` int(11) NOT NULL COMMENT '支付表id',
+  `name` varchar(100) NOT NULL COMMENT '用户名',
+  `card_no` char(18) NOT NULL COMMENT '身份证',
+  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `order_sn` (`order_sn`) USING BTREE,
+  KEY `pid` (`pid`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户实名时输入的身份信息(新)';
+
+-- ----------------------------
+-- Table structure for dhc_user_recharge
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_recharge`;
+CREATE TABLE `dhc_user_recharge` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `uid` int(11) unsigned NOT NULL COMMENT '用户id',
+  `orderNumber` varchar(100) NOT NULL COMMENT '订单号',
+  `number` int(11) NOT NULL COMMENT '充值数量',
+  `payType` varchar(100) NOT NULL COMMENT '支付类型',
+  `payStatus` tinyint(3) unsigned NOT NULL DEFAULT '2' COMMENT '支付状态(1支付成功2待支付3支付失败)',
+  `createTime` int(11) unsigned NOT NULL COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户充值表';
+
+-- ----------------------------
+-- Table structure for dhc_user_renascence
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_renascence`;
+CREATE TABLE `dhc_user_renascence` (
+  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
+  `uid` int(11) NOT NULL COMMENT '重生用户',
+  `title` varchar(100) NOT NULL COMMENT '产品名称',
+  `price` decimal(10,5) NOT NULL COMMENT '当前价格',
+  `number` varchar(100) NOT NULL COMMENT '重生数量',
+  `createtime` int(11) NOT NULL COMMENT '创建时间',
+  `charge` decimal(10,5) NOT NULL COMMENT '手续费',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户产品重生表';
+
+-- ----------------------------
+-- Table structure for dhc_user_service
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_service`;
+CREATE TABLE `dhc_user_service` (
+  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
+  `title` varchar(100) NOT NULL COMMENT '服务名称',
+  `way` varchar(100) NOT NULL COMMENT '联系方式',
+  `type` varchar(20) DEFAULT '0' COMMENT '服务类型',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='前台服务联系方式展示';
+
+-- ----------------------------
+-- Table structure for dhc_user_team
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_team`;
+CREATE TABLE `dhc_user_team` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `parents` text NOT NULL COMMENT '所有级用户',
+  `direct_amount` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户直推人数',
+  `team_amount` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户团队推广人数',
+  `effective_direct` int(11) NOT NULL DEFAULT '0' COMMENT '直推有效用户人数',
+  `effective_team` int(11) NOT NULL DEFAULT '0' COMMENT '团队有效用户人数',
+  `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=47105 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_user_team_data
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_team_data`;
+CREATE TABLE `dhc_user_team_data` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '注册用户id',
+  `pid` int(11) NOT NULL COMMENT '上级id',
+  `level` tinyint(1) NOT NULL COMMENT '第几级上级1直推2二级以此类推',
+  `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `pid` (`pid`,`level`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=345756 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_user_team_infinite
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_team_infinite`;
+CREATE TABLE `dhc_user_team_infinite` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `gid` int(11) NOT NULL COMMENT '果实类型id(1化肥,其他一一对应)',
+  `number` int(11) NOT NULL COMMENT '果实数量',
+  `xiaoshu` int(11) DEFAULT '0' COMMENT '小数部分',
+  `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_user_team_infinite_date
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_team_infinite_date`;
+CREATE TABLE `dhc_user_team_infinite_date` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `gid` int(11) NOT NULL COMMENT '果实类型id(1化肥,其他一一对应)',
+  `number` int(11) NOT NULL COMMENT '果实数量',
+  `xiaoshu` int(11) DEFAULT '0' COMMENT '小数部分',
+  `create_at` date NOT NULL COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_user_team_product
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_team_product`;
+CREATE TABLE `dhc_user_team_product` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `gid` int(11) NOT NULL COMMENT '果实类型id(1化肥,其他一一对应)',
+  `number` int(11) NOT NULL COMMENT '果实数量',
+  `xiaoshu` int(4) DEFAULT '0' COMMENT '小数部分',
+  `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=204252 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_user_team_product_date
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_team_product_date`;
+CREATE TABLE `dhc_user_team_product_date` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `gid` int(11) NOT NULL COMMENT '果实类型id(1化肥,其他一一对应)',
+  `number` int(11) NOT NULL COMMENT '果实数量',
+  `xiaoshu` int(11) DEFAULT '0' COMMENT '小数部分',
+  `create_at` date NOT NULL COMMENT '创建时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=304426 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_user_team_statistics
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_team_statistics`;
+CREATE TABLE `dhc_user_team_statistics` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户',
+  `direct_amount` int(11) DEFAULT '0' COMMENT '直推今日新增',
+  `team_amount` int(11) DEFAULT '0' COMMENT '团队今日新增',
+  `create_at` date NOT NULL COMMENT '日期',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uid_time` (`uid`,`create_at`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=8683 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
+
+-- ----------------------------
+-- Table structure for dhc_user_withdraw
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_user_withdraw`;
+CREATE TABLE `dhc_user_withdraw` (
+  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `createtime` int(11) NOT NULL COMMENT '创建时间',
+  `accountnumber` varchar(100) NOT NULL COMMENT '银行帐号',
+  `goldnumber` int(11) NOT NULL COMMENT '提现金币数量',
+  `fee` decimal(10,5) NOT NULL COMMENT '手续费',
+  `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态1审核通过 0 审核中 2已完成 3返回信息有误',
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `bankaccount` varchar(100) NOT NULL COMMENT '收款开户银行',
+  `withdrawtype` varchar(4) DEFAULT NULL COMMENT '提现类型(1行内转账 2 同城跨行3异地跨行)',
+  `province` varchar(100) NOT NULL COMMENT '省份/直辖市',
+  `city` varchar(100) NOT NULL COMMENT '市/县',
+  `costname` varchar(100) NOT NULL COMMENT '消费类型',
+  `realname` varchar(100) DEFAULT NULL COMMENT '提现用户',
+  `voucher` text COMMENT '支付凭证',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户提现表';
+
+-- ----------------------------
+-- Table structure for dhc_virtual_withdraw
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_virtual_withdraw`;
+CREATE TABLE `dhc_virtual_withdraw` (
+  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `goldnumber` decimal(11,5) NOT NULL COMMENT '提现金币数量',
+  `number` decimal(11,5) NOT NULL COMMENT '提现数量',
+  `address` varchar(255) NOT NULL COMMENT '收货地址',
+  `createtime` int(11) NOT NULL COMMENT '提现时间',
+  `rebate` decimal(10,2) NOT NULL COMMENT '兑换比例',
+  `status` tinyint(4) DEFAULT '0' COMMENT '审核状态',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='虚拟币提现表';
+
+-- ----------------------------
+-- Table structure for dhc_wallet_log
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_wallet_log`;
+CREATE TABLE `dhc_wallet_log` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL COMMENT '用户id',
+  `num` int(11) NOT NULL COMMENT 'k钻数量',
+  `actual_num` int(11) NOT NULL COMMENT '实际数量(减去手续费)',
+  `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0转入到农场1转出到钱包',
+  `content` varchar(255) NOT NULL COMMENT '参数',
+  `create_at` int(11) NOT NULL COMMENT '时间',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `uid` (`uid`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=31986 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='农场-钱包转入转出记录';
+
+-- ----------------------------
+-- Table structure for dhc_withdraw_address
+-- ----------------------------
+DROP TABLE IF EXISTS `dhc_withdraw_address`;
+CREATE TABLE `dhc_withdraw_address` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `uid` int(11) unsigned NOT NULL COMMENT '用户id',
+  `address` varchar(255) NOT NULL COMMENT '收货地址',
+  `createtime` int(11) NOT NULL COMMENT '添加时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户虚拟币提现收货地址表';
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 6 - 3
resources/views/welcome.blade.php

@@ -3,8 +3,9 @@
     <head>
         <meta charset="utf-8">
         <meta name="viewport" content="width=device-width, initial-scale=1">
-        <title>Laravel</title>
-            <style>
+        <title>{{config('app.name2')}}</title>
+
+        <style>
             * { margin: 0; padding: 0; }
             html, body {
                 height: 100%;
@@ -22,6 +23,8 @@
             </style>
     </head>
     <body>
-        <h1>Laravel</h1>
+        <h1>
+            {{config('app.name2')}}
+        </h1>
     </body>
 </html>