package com.stylefeng.guns.modular.system.controller.system; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.shiro.ShiroUser; import com.stylefeng.guns.core.util.DateUtil; import com.stylefeng.guns.core.util.JwtTokenUtil; import com.stylefeng.guns.modular.system.model.Dept; import com.stylefeng.guns.modular.system.model.LoginLog; import com.stylefeng.guns.modular.system.model.Role; import com.stylefeng.guns.modular.system.model.User; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.ResultUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.Date; /** * 总览信息 * * @author fengshuonan * @Date 2017年3月4日23:05:54 */ @Controller @RequestMapping("/blackboard") public class BlackboardController extends BaseController { @Autowired private ILoginLogService loginLogService; @Autowired private IUserService userService; @Autowired private IRoleService roleService; @Autowired private IDeptService deptService; @Autowired private ITCompanyService companyService; private ResultUtil resultUtil; @Value("${embedded.route-switch-url}") private String routeSwitchUrl; @Value("${embedded.statistical-table-url}") private String statisticalTableUrl; /** * 跳转到黑板 */ @RequestMapping("") public String blackboard(Model model, Integer type) throws UnsupportedEncodingException { //查询当前用户是否有"首页"菜单的权限 Integer id = ShiroKit.getUser().getId(); User user = userService.selectById(id); Integer menuNum = userService.getMenuNumByRole(user.getRoleid()); model.addAttribute("routeSwitchUrl", buildTokenUrl(routeSwitchUrl)); model.addAttribute("statisticalTableUrl", buildTokenUrl(statisticalTableUrl)); if (menuNum > 0) { return "/home.html"; } else { //查询登录次数 int count = loginLogService.selectCount(new EntityWrapper().eq("userid", ShiroKit.getUser().getId())); model.addAttribute("loginNum", count); Role role = roleService.selectById(user.getRoleid()); Dept dept = deptService.selectById(user.getDeptid()); model.addAttribute("deptName",dept==null?"顶级":dept.getFullname()); model.addAttribute("roleName", role.getName()); model.addAttribute("userName", user.getName()); model.addAttribute("date", DateUtil.getTime(new Date())); model.addAttribute("user", user); return "/blackboardBlank.html"; } } /** * 根据当前登录账户id获取对应公司详细信息 * @param uid * @return */ @RequestMapping(value = "/getCompanyInfoByUserId", method = RequestMethod.POST) @ResponseBody public ResultUtil getCompanyInfoByUserId(String uid){ try { User user = userService.selectById(uid); // resultUtil = companyService.selectCompanyInfoById(user.getObjectId().toString()); }catch (Exception e){ e.printStackTrace(); resultUtil = ResultUtil.runErr(); } return resultUtil; } private String buildTokenUrl(String baseUrl) throws UnsupportedEncodingException { return baseUrl + generateCurrentUserToken(); } private String generateCurrentUserToken() throws UnsupportedEncodingException { ShiroUser user = ShiroKit.getUser(); if (user == null || user.getId() == null) { return ""; } String token = JwtTokenUtil.generateToken(user.getId().toString()); return URLEncoder.encode(token, "UTF-8"); } }