package com.tuoheng.system.controller;


import com.tuoheng.common.common.BaseController;
import com.tuoheng.common.utils.JsonResult;
import com.tuoheng.system.dto.UpdatePwdDto;
import com.tuoheng.system.dto.UpdateUserInfoDto;
import com.tuoheng.system.entity.Menu;
import com.tuoheng.system.service.IMenuService;
import com.tuoheng.system.service.IUserService;
import com.tuoheng.system.utils.ShiroUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * <p>
 * 系统主页 前端控制器
 * </p>
 *
 * @author 拓恒
 * @since 2020-10-30
 */
@RestController
@RequestMapping("/index")
public class IndexController extends BaseController {

    @Autowired
    private IMenuService menuService;
    @Autowired
    private IUserService userService;

    /**
     * 获取导航菜单
     *
     * @return
     */
    @GetMapping("/getMenuList")
    public JsonResult getMenuList() {
        List<Menu> menuList = menuService.getMenuList(ShiroUtils.getUserId());
        return JsonResult.success(menuList);
    }

    /**
     * 获取用户信息
     *
     * @return
     */
    @GetMapping("/getUserInfo")
    public JsonResult getUserInfo() {
        return userService.getUserInfo();
    }

    /**
     * 修改密码
     *
     * @param updatePwdDto 参数
     * @return
     */
    @PutMapping("/updatePwd")
    public JsonResult updatePwd(@RequestBody UpdatePwdDto updatePwdDto) {
        return userService.updatePwd(updatePwdDto);
    }

    /**
     * 更新个人资料
     *
     * @param updateUserInfoDto 参数
     * @return
     */
    @PutMapping("/updateUserInfo")
    public JsonResult updateUserInfo(@RequestBody UpdateUserInfoDto updateUserInfoDto) {
        return userService.updateUserInfo(updateUserInfoDto);
    }
}
