get(); $list = $this->service->getList($param,'*',$param['page']??0,$param['limit']??0); return successTrans("success.data",$list); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } #[Route(path: "save[/{id}]",methods: "post")] public function save(Request $request,$id = 0): Response { try { $param = $request->post(); if (!$this->validate->check($param)) return error($this->validate->getError()); $param = $this->validate->checked($param); $level = $this->service->getOne(['grade'=>$param['grade'],'is_del'=>0]); if(!$level->isEmpty() && (!$id || $level->id != $id)){ return errorTrans("该等级已存在"); } $level = $this->service->getOne([['grade','<',$param['grade']],['is_del','=',0]],'*','grade desc'); if(!$level->isEmpty() && $level['exp_num'] >= $param['exp_num']){ return errorTrans("经验值必须大于上一级别,上级经验值为:{$level['exp_num']}"); } $level = $this->service->getOne([['grade','>',$param['grade']],['is_del','=',0]],'*','exp_num asc'); if(!$level->isEmpty() && $level['exp_num'] <= $param['exp_num']){ return errorTrans("经验值必须小于下一级别,下级经验值为:{$level['exp_num']}"); } if($id){ $state = $this->service->update($id,$param); }else{ $state = $this->service->save($param); } if (!$state) return errorTrans("empty.error"); return successTrans("success.data"); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } #[Route(path: "info/{id}",methods: "get")] public function info($id): Response { try { $take = $this->service->getOne(["id"=>$id,'is_del'=>0]); if ($take->isEmpty()) return errorTrans("empty.error"); return successTrans("success.data",$take->toArray()); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } #[Route(path: "set_show/{id}/{show}",methods: "get")] public function set_show($id,$show): Response { try { $state = $this->service->update($id,['is_show'=>$show]); if (!$state) return errorTrans("empty.error"); return successTrans($show?'显示成功':'禁用成功'); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } #[Route(path: "del/{id}",methods: "delete")] public function delete($id): Response { try { $state = $this->service->update($id,['is_del'=>1]); if (!$state) return errorTrans("empty.error"); return successTrans('删除成功'); } catch (\Throwable $throwable) { return error($throwable->getMessage()); } } }