فهرست منبع

refactor(pet): 优化宠物配置模型和数据库结构

- 在 pet_configs 表中添加 name 字段,用于存储宠物名字
- 更新 PetConfig 模型,添加 name 属性的注释
- 调整 DisplayAttributesCast 类,添加 image 属性
- 更新数据库结构:
  - game_condition_groups 表设置 AUTO_INCREMENT=2  - game_reward_groups 表设置 AUTO_INCREMENT=5
  - game_reward_items 表设置 AUTO_INCREMENT=5
  - admin_menu 表设置 AUTO_INCREMENT=505- 优化 GenerateModelAnnotation命令中的代码结构
notfff 7 ماه پیش
والد
کامیت
9bec3c2176

+ 2 - 3
UCore/Commands/GenerateModelAnnotation.php

@@ -574,9 +574,8 @@ class GenerateModelAnnotation extends Command
                 } catch (\Throwable $e) {
                     $this->debug("无法分析 Cast 类 {$castType}: " . $e->getMessage(), 'warning');
                 }
-            }
-            // 检查是否是 Illuminate\Contracts\Database\Eloquent\CastsAttributes 的实现
-            else if (in_array('Illuminate\Contracts\Database\Eloquent\CastsAttributes', class_implements($castType))) {
+            } else if (in_array('Illuminate\Contracts\Database\Eloquent\CastsAttributes', class_implements($castType))) {
+                // 检查是否是 Illuminate\Contracts\Database\Eloquent\CastsAttributes 的实现
                 $this->debug("{$castType} 实现了 Illuminate\Contracts\Database\Eloquent\CastsAttributes 接口");
                 return $castType;
             }

+ 1 - 1
app/Module/Game/Databases/GenerateSql/game_condition_groups.sql

@@ -14,4 +14,4 @@ CREATE TABLE `kku_game_condition_groups` (
   `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
   PRIMARY KEY (`id`),
   UNIQUE KEY `game_condition_groups_code_unique` (`code`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='条件组';
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='条件组';

+ 1 - 1
app/Module/Game/Databases/GenerateSql/game_reward_groups.sql

@@ -15,4 +15,4 @@ CREATE TABLE `kku_game_reward_groups` (
   `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE KEY `idx_code` (`code`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖励组表';
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖励组表';

+ 1 - 1
app/Module/Game/Databases/GenerateSql/game_reward_items.sql

@@ -21,4 +21,4 @@ CREATE TABLE `kku_game_reward_items` (
   KEY `idx_group_id` (`group_id`) USING BTREE,
   KEY `idx_reward_type` (`reward_type`) USING BTREE,
   CONSTRAINT `fk_reward_group` FOREIGN KEY (`group_id`) REFERENCES `kku_game_reward_groups` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖励项表';
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖励项表';

+ 5 - 0
app/Module/Pet/Casts/DisplayAttributesCast.php

@@ -8,6 +8,11 @@ use UCore\Model\CastsAttributes;
 class DisplayAttributesCast extends CastsAttributes
 {
 
+    /**
+     * 图片
+     * @var string $image
+     */
+    public $image= '';
 
 
 }

+ 1 - 0
app/Module/Pet/Databases/GenerateSql/pet_configs.sql

@@ -7,6 +7,7 @@
 CREATE TABLE `kku_pet_configs` (
   `id` int unsigned NOT NULL AUTO_INCREMENT,
   `pet_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '宠物类型',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '宠物名字',
   `grade_probability` json NOT NULL COMMENT '品阶概率配置',
   `display_attributes` json DEFAULT NULL COMMENT '显示属性配置',
   `numeric_attributes` json DEFAULT NULL COMMENT '数值属性配置',

+ 7 - 5
app/Module/Pet/Models/PetConfig.php

@@ -10,14 +10,15 @@ use App\Module\Pet\Casts\NumericAttributesCast;
 /**
  * 宠物配置模型
  *
- * field start
- * @property  int  $id
+ * field start 
+ * @property  int  $id  
  * @property  string  $pet_type  宠物类型
+ * @property  string  $name  宠物名字
  * @property  \App\Module\Pet\Casts\GradeProbability  $grade_probability  品阶概率配置
  * @property  \App\Module\Pet\Casts\DisplayAttributesCast  $display_attributes  显示属性配置
  * @property  \App\Module\Pet\Casts\NumericAttributesCast  $numeric_attributes  数值属性配置
- * @property  \Carbon\Carbon  $created_at
- * @property  \Carbon\Carbon  $updated_at
+ * @property  \Carbon\Carbon  $created_at  
+ * @property  \Carbon\Carbon  $updated_at  
  * field end
  */
 class PetConfig extends ModelCore
@@ -30,10 +31,11 @@ class PetConfig extends ModelCore
      */
     protected $table = 'pet_configs';
 
-    // attrlist start
+    // attrlist start 
     protected $fillable = [
         'id',
         'pet_type',
+        'name',
         'grade_probability',
         'display_attributes',
         'numeric_attributes',

+ 1 - 1
app/Module/Pet/Models/PetLevelConfig.php

@@ -19,7 +19,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsToMany;
  * @property  int  $level  等级
  * @property  int  $exp_required  升级所需经验值
  * @property  array  $skills  可用技能
- * @property  App\Module\Pet\Casts\DisplayAttributesCast  $display_attributes  等级显示属性配置
+ * @property  \App\Module\Pet\Casts\DisplayAttributesCast  $display_attributes  等级显示属性配置
  * @property  \App\Module\Pet\Casts\NumericAttributesCast  $numeric_attributes  等级数值属性配置
  * @property  \Carbon\Carbon  $created_at  
  * @property  \Carbon\Carbon  $updated_at  

+ 1 - 1
app/Module/System/Databases/GenerateSql/admin_menu.sql

@@ -16,4 +16,4 @@ CREATE TABLE `kku_admin_menu` (
   `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
   `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=498 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+) ENGINE=InnoDB AUTO_INCREMENT=505 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;