|
|
@@ -69,6 +69,14 @@ class UserItemController extends AdminController
|
|
|
$grid->column('item.name', '物品名称');
|
|
|
$grid->column('instance_id', '实例ID');
|
|
|
$grid->column('quantity', '数量');
|
|
|
+
|
|
|
+ // 添加是否冻结列
|
|
|
+ $grid->column('is_frozen', '是否冻结')->display(function ($value) {
|
|
|
+ return $value ?
|
|
|
+ '<span class="badge badge-danger">已冻结</span>' :
|
|
|
+ '<span class="badge badge-success">正常</span>';
|
|
|
+ });
|
|
|
+
|
|
|
$grid->column('expire_at', '过期时间');
|
|
|
$grid->column('created_at', '创建时间');
|
|
|
$grid->column('updated_at', '更新时间');
|
|
|
@@ -81,6 +89,14 @@ class UserItemController extends AdminController
|
|
|
$helper->equalSelectModelItem('item_id', '物品');
|
|
|
$helper->equal('instance_id', '实例ID');
|
|
|
$filter->between('quantity', '数量');
|
|
|
+
|
|
|
+ // 添加冻结状态筛选
|
|
|
+ $filter->equal('is_frozen', '是否冻结')->select([
|
|
|
+ '' => '全部',
|
|
|
+ '0' => '正常',
|
|
|
+ '1' => '已冻结'
|
|
|
+ ]);
|
|
|
+
|
|
|
$filter->between('expire_at', '过期时间')->datetime();
|
|
|
});
|
|
|
// 添加自定义"增加物品"按钮
|
|
|
@@ -119,9 +135,9 @@ class UserItemController extends AdminController
|
|
|
*/
|
|
|
protected function detail($id)
|
|
|
{
|
|
|
- $model = (new ItemUserRepository())->findOrFail($id);
|
|
|
+ $model = \App\Module\GameItems\Models\ItemUser::with(['item', 'instance', 'freezeLog'])->findOrFail($id);
|
|
|
|
|
|
- return Show::make($model, function (Show $show) {
|
|
|
+ return Show::make($model, function (Show $show) use ($model) {
|
|
|
$helper = new ShowHelper($show, $this);
|
|
|
$helper->field('id', 'ID');
|
|
|
$helper->field('user_id', '用户ID');
|
|
|
@@ -139,7 +155,7 @@ class UserItemController extends AdminController
|
|
|
});
|
|
|
|
|
|
// 如果是单独属性物品,显示实例信息
|
|
|
- if ($show->getModel()->instance_id) {
|
|
|
+ if ($model->instance_id) {
|
|
|
$show->field('instance_id', '实例ID');
|
|
|
$show->field('instance.name', '实例名称');
|
|
|
|
|
|
@@ -215,11 +231,20 @@ class UserItemController extends AdminController
|
|
|
}
|
|
|
|
|
|
$helper->field('quantity', '数量');
|
|
|
+
|
|
|
+ // 添加冻结状态显示
|
|
|
+ $show->field('is_frozen', '是否冻结')->as(function ($value) {
|
|
|
+ return $value ? '已冻结' : '正常';
|
|
|
+ });
|
|
|
+
|
|
|
$helper->field('expire_at', '过期时间');
|
|
|
|
|
|
// 检查是否过期
|
|
|
$show->field('is_expired', '是否过期')->as(function () {
|
|
|
- return $this->isExpired() ? '是' : '否';
|
|
|
+ if (!$this->expire_at) {
|
|
|
+ return '永不过期';
|
|
|
+ }
|
|
|
+ return now()->gt($this->expire_at) ? '是' : '否';
|
|
|
});
|
|
|
|
|
|
$show->field('created_at', '创建时间');
|