package com.hs.api.unusecontroller;

import com.hs.api.common.base.RequestResult;
import com.hs.api.common.enums.RequestResultType;
import com.hs.api.model.SysMenu;
import com.hs.api.model.respmodel.ListPage;
import com.hs.api.service.SysMenuService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@Api(tags = {"菜单"}, hidden = true)
@RequestMapping("menu")
@RestController
public class SysMenuController {
    @Autowired
    private SysMenuService sysMenuService;


    @GetMapping("list")
    public Object list() {
        List<SysMenu> list = sysMenuService.findAll();
        return new RequestResult(RequestResultType.SUCCESS.getValue(),RequestResultType.SUCCESS.getDesc(),list);
    }

    @GetMapping("listpage")
    public Object listpage(Integer pageSize,Integer pageIndex) {
        List<SysMenu> list = sysMenuService.findAll();
        ListPage<SysMenu> listPage = new ListPage(list,pageSize,pageIndex,0);
        return new RequestResult(RequestResultType.SUCCESS.getValue(),RequestResultType.SUCCESS.getDesc(),list);
    }

    @GetMapping("info")
    public Object info(Long id) {
        sysMenuService.find(id);
        return new RequestResult(RequestResultType.SUCCESS.getValue(),RequestResultType.SUCCESS.getDesc(),null);
    }

    @PostMapping("add")
    public Object add(SysMenu sysMenu) {
        sysMenuService.add(sysMenu);
        return new RequestResult(RequestResultType.SUCCESS.getValue(),RequestResultType.SUCCESS.getDesc(),null);
    }

    @PostMapping("update")
    public Object update(SysMenu sysMenu) {
        sysMenuService.update(sysMenu);
        return new RequestResult(RequestResultType.SUCCESS.getValue(),RequestResultType.SUCCESS.getDesc(),null);
    }

    @PostMapping("delete")
    public Object delete(Long id) {
        sysMenuService.delete(id);
        return new RequestResult(RequestResultType.SUCCESS.getValue(),RequestResultType.SUCCESS.getDesc(),null);
    }
}
