| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <?php
- namespace app\controller\adminapi\user;
- use app\extra\basic\Base;
- use app\extra\service\user\UserLevelService;
- use app\middleware\AuthMiddleware;
- use app\validate\adminapi\user\UserLevelValidate;
- use DI\Attribute\Inject;
- use LinFly\Annotation\Route\Controller;
- use LinFly\Annotation\Route\Middleware;
- use LinFly\Annotation\Route\Route;
- use support\Request;
- use support\Response;
- #[Controller(prefix: "/adminapi/user/level"),Middleware(AuthMiddleware::class)]
- class UserLevel extends Base
- {
- #[Inject]
- protected UserLevelService $service;
- #[Inject]
- protected UserLevelValidate $validate;
- #[Route(path: "list",methods: "get")]
- public function getList(Request $request): Response
- {
- try {
- $param = $request->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());
- }
- }
- }
|