mirror of https://gitee.com/stylefeng/guns
整理首页信息获取封装到service
parent
c3532f7918
commit
26e761a710
|
@ -1,24 +1,14 @@
|
||||||
package cn.stylefeng.guns.modular.index.controller;
|
package cn.stylefeng.guns.modular.index.controller;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.stylefeng.guns.modular.index.service.IndexService;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
|
||||||
import cn.stylefeng.roses.kernel.auth.api.context.LoginContext;
|
import cn.stylefeng.roses.kernel.auth.api.context.LoginContext;
|
||||||
import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser;
|
|
||||||
import cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleRoleInfo;
|
|
||||||
import cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleUserInfo;
|
|
||||||
import cn.stylefeng.roses.kernel.menu.modular.service.SysMenuService;
|
|
||||||
import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource;
|
import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource;
|
||||||
import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
|
import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.organization.entity.HrOrganization;
|
|
||||||
import cn.stylefeng.roses.kernel.system.modular.organization.service.HrOrganizationService;
|
|
||||||
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService;
|
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.menu.layui.LayuiAppIndexMenus;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 首页相关的界面渲染
|
* 首页相关的界面渲染
|
||||||
|
@ -32,13 +22,7 @@ import java.util.List;
|
||||||
public class IndexViewController {
|
public class IndexViewController {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private SysMenuService sysMenuService;
|
private IndexService indexService;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private SysUserService sysUserService;
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private HrOrganizationService hrOrganizationService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 首页界面
|
* 首页界面
|
||||||
|
@ -51,20 +35,7 @@ public class IndexViewController {
|
||||||
|
|
||||||
// 当前用户已经登录,跳转到首页
|
// 当前用户已经登录,跳转到首页
|
||||||
if (LoginContext.me().hasLogin()) {
|
if (LoginContext.me().hasLogin()) {
|
||||||
|
model.addAllAttributes(indexService.createIndexRenderAttributes());
|
||||||
LoginUser loginUser = LoginContext.me().getLoginUser();
|
|
||||||
SimpleUserInfo simpleUserInfo = loginUser.getSimpleUserInfo();
|
|
||||||
|
|
||||||
// 渲染首页的菜单
|
|
||||||
List<LayuiAppIndexMenus> layuiAppIndexMenus = sysMenuService.getLayuiIndexMenus();
|
|
||||||
model.addAttribute("layuiAppIndexMenus", layuiAppIndexMenus);
|
|
||||||
|
|
||||||
// 获取首页的头像
|
|
||||||
model.addAttribute("avatar", sysUserService.getUserAvatarUrl(simpleUserInfo.getAvatar()));
|
|
||||||
|
|
||||||
// 获取人员姓名
|
|
||||||
model.addAttribute("name", simpleUserInfo.getRealName());
|
|
||||||
|
|
||||||
return "/index.html";
|
return "/index.html";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,29 +51,7 @@ public class IndexViewController {
|
||||||
*/
|
*/
|
||||||
@GetResource(name = "个人中心界面", path = "/personal", requiredLogin = false)
|
@GetResource(name = "个人中心界面", path = "/personal", requiredLogin = false)
|
||||||
public String personal(Model model) {
|
public String personal(Model model) {
|
||||||
LoginUser loginUser = LoginContext.me().getLoginUser();
|
model.addAllAttributes(indexService.createPersonInfoRenderAttributes());
|
||||||
|
|
||||||
// 用户基本信息
|
|
||||||
SimpleUserInfo simpleUserInfo = loginUser.getSimpleUserInfo();
|
|
||||||
model.addAllAttributes(BeanUtil.beanToMap(simpleUserInfo));
|
|
||||||
|
|
||||||
// 角色名称
|
|
||||||
List<SimpleRoleInfo> simpleRoleInfoList = loginUser.getSimpleRoleInfoList();
|
|
||||||
if (ObjectUtil.isNotEmpty(simpleRoleInfoList)) {
|
|
||||||
String roleName = simpleRoleInfoList.get(0).getRoleName();
|
|
||||||
model.addAttribute("roleName", roleName);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 组织机构名称
|
|
||||||
Long organizationId = loginUser.getOrganizationId();
|
|
||||||
HrOrganization hrOrganization = hrOrganizationService.getById(organizationId);
|
|
||||||
if (hrOrganization != null) {
|
|
||||||
model.addAttribute("orgName", hrOrganization.getOrgName());
|
|
||||||
}
|
|
||||||
|
|
||||||
// 渲染头像的url
|
|
||||||
model.addAttribute("avatar", sysUserService.getUserAvatarUrl(simpleUserInfo.getAvatar()));
|
|
||||||
|
|
||||||
return "/modular/index/personal_info.html";
|
return "/modular/index/personal_info.html";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,23 @@
|
||||||
package cn.stylefeng.guns.modular.index.service;
|
package cn.stylefeng.guns.modular.index.service;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.stylefeng.roses.kernel.auth.api.context.LoginContext;
|
||||||
|
import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser;
|
||||||
|
import cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleRoleInfo;
|
||||||
|
import cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleUserInfo;
|
||||||
|
import cn.stylefeng.roses.kernel.menu.modular.service.SysMenuService;
|
||||||
|
import cn.stylefeng.roses.kernel.system.modular.organization.entity.HrOrganization;
|
||||||
|
import cn.stylefeng.roses.kernel.system.modular.organization.service.HrOrganizationService;
|
||||||
|
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService;
|
||||||
|
import cn.stylefeng.roses.kernel.system.pojo.menu.layui.LayuiAppIndexMenus;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 首页相关数据组装服务
|
* 首页相关数据组装服务
|
||||||
*
|
*
|
||||||
|
@ -11,5 +27,76 @@ import org.springframework.stereotype.Service;
|
||||||
@Service
|
@Service
|
||||||
public class IndexService {
|
public class IndexService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SysMenuService sysMenuService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SysUserService sysUserService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private HrOrganizationService hrOrganizationService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取首页需要渲染的参数
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/1/1 18:27
|
||||||
|
*/
|
||||||
|
public Map<String, Object> createIndexRenderAttributes() {
|
||||||
|
|
||||||
|
HashMap<String, Object> renderMap = new HashMap<>();
|
||||||
|
|
||||||
|
LoginUser loginUser = LoginContext.me().getLoginUser();
|
||||||
|
SimpleUserInfo simpleUserInfo = loginUser.getSimpleUserInfo();
|
||||||
|
|
||||||
|
// 渲染首页的菜单
|
||||||
|
List<LayuiAppIndexMenus> layuiAppIndexMenus = sysMenuService.getLayuiIndexMenus();
|
||||||
|
renderMap.put("layuiAppIndexMenus", layuiAppIndexMenus);
|
||||||
|
|
||||||
|
// 获取首页的头像
|
||||||
|
renderMap.put("avatar", sysUserService.getUserAvatarUrl(simpleUserInfo.getAvatar()));
|
||||||
|
|
||||||
|
// 获取人员姓名
|
||||||
|
renderMap.put("name", simpleUserInfo.getRealName());
|
||||||
|
|
||||||
|
return renderMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建个人中心页面需要渲染的值
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/1/1 18:38
|
||||||
|
*/
|
||||||
|
public Map<String, Object> createPersonInfoRenderAttributes() {
|
||||||
|
|
||||||
|
HashMap<String, Object> renderMap = new HashMap<>();
|
||||||
|
renderMap.put("roleName", "角色空");
|
||||||
|
renderMap.put("orgName", "组织架构空");
|
||||||
|
|
||||||
|
// 添加用户基本信息字段
|
||||||
|
LoginUser loginUser = LoginContext.me().getLoginUser();
|
||||||
|
SimpleUserInfo simpleUserInfo = loginUser.getSimpleUserInfo();
|
||||||
|
renderMap.putAll(BeanUtil.beanToMap(simpleUserInfo));
|
||||||
|
|
||||||
|
// 角色名称
|
||||||
|
List<SimpleRoleInfo> simpleRoleInfoList = loginUser.getSimpleRoleInfoList();
|
||||||
|
if (ObjectUtil.isNotEmpty(simpleRoleInfoList)) {
|
||||||
|
String roleName = simpleRoleInfoList.get(0).getRoleName();
|
||||||
|
renderMap.put("roleName", roleName);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 组织机构名称
|
||||||
|
Long organizationId = loginUser.getOrganizationId();
|
||||||
|
HrOrganization hrOrganization = hrOrganizationService.getById(organizationId);
|
||||||
|
if (hrOrganization != null) {
|
||||||
|
renderMap.put("orgName", hrOrganization.getOrgName());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 渲染头像的url
|
||||||
|
renderMap.put("avatar", sysUserService.getUserAvatarUrl(simpleUserInfo.getAvatar()));
|
||||||
|
|
||||||
|
return renderMap;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue