From 18c1a0a69347b3214d06b741190717a47e5f571b Mon Sep 17 00:00:00 2001 From: zhenhui <1276357500@qq.com> Date: Tue, 3 Mar 2026 15:49:12 +0800 Subject: [PATCH] =?UTF-8?q?[=E8=89=B2=E5=AD=90=E6=B8=B8=E6=88=8F]=E5=A5=96?= =?UTF-8?q?=E6=B1=A0=E9=85=8D=E7=BD=AE-=E4=BC=98=E5=8C=96=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/dice/api/reward_config/index.ts | 65 +++++++ .../plugin/dice/reward_config/index/index.vue | 140 ++++++++++++++ .../index/modules/edit-dialog.vue | 179 ++++++++++++++++++ .../index/modules/table-search.vue | 137 ++++++++++++++ .../DiceRewardConfigController.php | 126 ++++++++++++ .../reward_config/DiceRewardConfigLogic.php | 27 +++ .../model/reward_config/DiceRewardConfig.php | 86 +++++++++ .../DiceRewardConfigValidate.php | 54 ++++++ 8 files changed, 814 insertions(+) create mode 100644 saiadmin-artd/src/views/plugin/dice/api/reward_config/index.ts create mode 100644 saiadmin-artd/src/views/plugin/dice/reward_config/index/index.vue create mode 100644 saiadmin-artd/src/views/plugin/dice/reward_config/index/modules/edit-dialog.vue create mode 100644 saiadmin-artd/src/views/plugin/dice/reward_config/index/modules/table-search.vue create mode 100644 server/app/dice/controller/reward_config/DiceRewardConfigController.php create mode 100644 server/app/dice/logic/reward_config/DiceRewardConfigLogic.php create mode 100644 server/app/dice/model/reward_config/DiceRewardConfig.php create mode 100644 server/app/dice/validate/reward_config/DiceRewardConfigValidate.php diff --git a/saiadmin-artd/src/views/plugin/dice/api/reward_config/index.ts b/saiadmin-artd/src/views/plugin/dice/api/reward_config/index.ts new file mode 100644 index 0000000..54a8270 --- /dev/null +++ b/saiadmin-artd/src/views/plugin/dice/api/reward_config/index.ts @@ -0,0 +1,65 @@ +import request from '@/utils/http' + +/** + * 奖励配置 API接口 + */ +export default { + /** + * 获取数据列表 + * @param params 搜索参数 + * @returns 数据列表 + */ + list(params: Record) { + return request.get({ + url: '/dice/reward_config/DiceRewardConfig/index', + params + }) + }, + + /** + * 读取数据 + * @param id 数据ID + * @returns 数据详情 + */ + read(id: number | string) { + return request.get({ + url: '/dice/reward_config/DiceRewardConfig/read?id=' + id + }) + }, + + /** + * 创建数据 + * @param params 数据参数 + * @returns 执行结果 + */ + save(params: Record) { + return request.post({ + url: '/dice/reward_config/DiceRewardConfig/save', + data: params + }) + }, + + /** + * 更新数据 + * @param params 数据参数 + * @returns 执行结果 + */ + update(params: Record) { + return request.put({ + url: '/dice/reward_config/DiceRewardConfig/update', + data: params + }) + }, + + /** + * 删除数据 + * @param id 数据ID + * @returns 执行结果 + */ + delete(params: Record) { + return request.del({ + url: '/dice/reward_config/DiceRewardConfig/destroy', + data: params + }) + } +} diff --git a/saiadmin-artd/src/views/plugin/dice/reward_config/index/index.vue b/saiadmin-artd/src/views/plugin/dice/reward_config/index/index.vue new file mode 100644 index 0000000..700456d --- /dev/null +++ b/saiadmin-artd/src/views/plugin/dice/reward_config/index/index.vue @@ -0,0 +1,140 @@ + + + diff --git a/saiadmin-artd/src/views/plugin/dice/reward_config/index/modules/edit-dialog.vue b/saiadmin-artd/src/views/plugin/dice/reward_config/index/modules/edit-dialog.vue new file mode 100644 index 0000000..d0a6eb6 --- /dev/null +++ b/saiadmin-artd/src/views/plugin/dice/reward_config/index/modules/edit-dialog.vue @@ -0,0 +1,179 @@ + + + diff --git a/saiadmin-artd/src/views/plugin/dice/reward_config/index/modules/table-search.vue b/saiadmin-artd/src/views/plugin/dice/reward_config/index/modules/table-search.vue new file mode 100644 index 0000000..cfd094f --- /dev/null +++ b/saiadmin-artd/src/views/plugin/dice/reward_config/index/modules/table-search.vue @@ -0,0 +1,137 @@ + + + + + diff --git a/server/app/dice/controller/reward_config/DiceRewardConfigController.php b/server/app/dice/controller/reward_config/DiceRewardConfigController.php new file mode 100644 index 0000000..e835205 --- /dev/null +++ b/server/app/dice/controller/reward_config/DiceRewardConfigController.php @@ -0,0 +1,126 @@ +logic = new DiceRewardConfigLogic(); + $this->validate = new DiceRewardConfigValidate; + parent::__construct(); + } + + /** + * 数据列表 + * @param Request $request + * @return Response + */ + #[Permission('奖励配置列表', 'dice:reward_config:index:index')] + public function index(Request $request): Response + { + $where = $request->more([ + ['grid_number_min', ''], + ['grid_number_max', ''], + ['ui_text', ''], + ['real_ev_min', ''], + ['real_ev_max', ''], + ['tier', ''], + ]); + $query = $this->logic->search($where); + $data = $this->logic->getList($query); + return $this->success($data); + } + + /** + * 读取数据 + * @param Request $request + * @return Response + */ + #[Permission('奖励配置读取', 'dice:reward_config:index:read')] + public function read(Request $request): Response + { + $id = $request->input('id', ''); + $model = $this->logic->read($id); + if ($model) { + $data = is_array($model) ? $model : $model->toArray(); + return $this->success($data); + } else { + return $this->fail('未查找到信息'); + } + } + + /** + * 保存数据 + * @param Request $request + * @return Response + */ + #[Permission('奖励配置添加', 'dice:reward_config:index:save')] + public function save(Request $request): Response + { + $data = $request->post(); + $this->validate('save', $data); + $result = $this->logic->add($data); + if ($result) { + return $this->success('添加成功'); + } else { + return $this->fail('添加失败'); + } + } + + /** + * 更新数据 + * @param Request $request + * @return Response + */ + #[Permission('奖励配置修改', 'dice:reward_config:index:update')] + public function update(Request $request): Response + { + $data = $request->post(); + $this->validate('update', $data); + $result = $this->logic->edit($data['id'], $data); + if ($result) { + return $this->success('修改成功'); + } else { + return $this->fail('修改失败'); + } + } + + /** + * 删除数据 + * @param Request $request + * @return Response + */ + #[Permission('奖励配置删除', 'dice:reward_config:index:destroy')] + public function destroy(Request $request): Response + { + $ids = $request->post('ids', ''); + if (empty($ids)) { + return $this->fail('请选择要删除的数据'); + } + $result = $this->logic->destroy($ids); + if ($result) { + return $this->success('删除成功'); + } else { + return $this->fail('删除失败'); + } + } + +} diff --git a/server/app/dice/logic/reward_config/DiceRewardConfigLogic.php b/server/app/dice/logic/reward_config/DiceRewardConfigLogic.php new file mode 100644 index 0000000..2640b8a --- /dev/null +++ b/server/app/dice/logic/reward_config/DiceRewardConfigLogic.php @@ -0,0 +1,27 @@ +model = new DiceRewardConfig(); + } + +} diff --git a/server/app/dice/model/reward_config/DiceRewardConfig.php b/server/app/dice/model/reward_config/DiceRewardConfig.php new file mode 100644 index 0000000..145333f --- /dev/null +++ b/server/app/dice/model/reward_config/DiceRewardConfig.php @@ -0,0 +1,86 @@ +where('grid_number', '>=', $value); + } + } + + /** 色子点数上限 */ + public function searchGridNumberMaxAttr($query, $value) + { + if ($value !== '' && $value !== null) { + $query->where('grid_number', '<=', $value); + } + } + + /** 前端显示文本模糊 */ + public function searchUiTextAttr($query, $value) + { + if ($value !== '' && $value !== null) { + $query->where('ui_text', 'like', '%' . $value . '%'); + } + } + + /** 真实资金结算下限 */ + public function searchRealEvMinAttr($query, $value) + { + if ($value !== '' && $value !== null) { + $query->where('real_ev', '>=', $value); + } + } + + /** 真实资金结算上限 */ + public function searchRealEvMaxAttr($query, $value) + { + if ($value !== '' && $value !== null) { + $query->where('real_ev', '<=', $value); + } + } + + /** 所属档位 */ + public function searchTierAttr($query, $value) + { + if ($value !== '' && $value !== null) { + $query->where('tier', '=', $value); + } + } +} diff --git a/server/app/dice/validate/reward_config/DiceRewardConfigValidate.php b/server/app/dice/validate/reward_config/DiceRewardConfigValidate.php new file mode 100644 index 0000000..4aadbc6 --- /dev/null +++ b/server/app/dice/validate/reward_config/DiceRewardConfigValidate.php @@ -0,0 +1,54 @@ + 'require', + 'ui_text' => 'require', + 'real_ev' => 'require', + 'tier' => 'require', + ]; + + /** + * 定义错误信息 + */ + protected $message = [ + 'grid_number' => '色子点数必须填写', + 'ui_text' => '前端显示文本必须填写', + 'real_ev' => '真实资金结算必须填写', + 'tier' => '所属档位必须填写', + ]; + + /** + * 定义场景 + */ + protected $scene = [ + 'save' => [ + 'grid_number', + 'ui_text', + 'real_ev', + 'tier', + ], + 'update' => [ + 'grid_number', + 'ui_text', + 'real_ev', + 'tier', + ], + ]; + +}