为 FarmCrop 模型增加土地等级字段,种植时记录当前土地等级,后续确认作物产出使用该字段的等级,避免土地升级后影响已种植作物的产出计算。
app/Module/Farm/Databases/Migrations/add_land_level_to_farm_crops.sqlkku_farm_crops 表增加 land_level 字段(tinyint unsigned,默认值1)idx_land_level 提高查询性能app/Module/Farm/Models/FarmCrop.php@property int $land_level 注释$fillable 数组中添加 land_level 字段app/Module/Farm/Logics/CropLogic.phpplantCrop 方法中记录 $crop->land_level = $land->land_typecalculateMatureOutput 方法中使用作物记录的土地等级而不是当前土地等级$crop->land_level 字段app/Module/Farm/AdminControllers/FarmCropController.phpland_level 字段land_type 字段tinyint unsigned 类型,节省存储空间$crop->land_level = $land->land_type$landType = FarmLandType::find($crop->land_level)'land_type' => $crop->land_level农场作物增加土地等级字段功能
- 为 farm_crops 表增加 land_level 字段,记录种植时的土地等级
- 更新 FarmCrop 模型,增加 land_level 字段定义和 fillable 配置
- 修改种植逻辑,在 CropLogic::plantCrop 中记录当前土地等级
- 更新产出计算逻辑,使用作物记录的 land_level 而不是当前土地等级
- 修改所有作物日志记录,使用 crop->land_level 字段确保一致性
- 更新后台管理界面,增加土地等级字段的显示、编辑和筛选功能
- 数据库迁移:更新现有 28 条作物记录的土地等级数据
功能说明:
- 种植时记录土地等级,后续确认作物产出使用该字段的等级
- 避免土地升级后影响已种植作物的产出计算
- 保证作物产出计算的一致性和准确性
✅ 已完成 - 所有功能已实现并测试通过,代码已提交到远程仓库