ruanqi 2 years ago
parent
commit
e453ed7298
  1. 43
      src/main/java/com/xujie/sys/modules/orderIssure/vo/SysUserConfig.java
  2. 19
      src/main/java/com/xujie/sys/modules/sys/controller/SysMenuController.java
  3. 9
      src/main/java/com/xujie/sys/modules/sys/dao/SysUserTokenDao.java
  4. 8
      src/main/java/com/xujie/sys/modules/sys/service/ShiroService.java
  5. 30
      src/main/java/com/xujie/sys/modules/sys/service/impl/ShiroServiceImpl.java
  6. 20
      src/main/resources/mapper/sys/SysUserTokenDao.xml

43
src/main/java/com/xujie/sys/modules/orderIssure/vo/SysUserConfig.java

@ -0,0 +1,43 @@
package com.xujie.sys.modules.orderIssure.vo;
public class SysUserConfig {
/**
*
*/
private String username;
/**
*
*/
private String navbarLayoutType;
/**
*
*/
private String sidebarLayoutSkin;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getNavbarLayoutType() {
return navbarLayoutType;
}
public void setNavbarLayoutType(String navbarLayoutType) {
this.navbarLayoutType = navbarLayoutType;
}
public String getSidebarLayoutSkin() {
return sidebarLayoutSkin;
}
public void setSidebarLayoutSkin(String sidebarLayoutSkin) {
this.sidebarLayoutSkin = sidebarLayoutSkin;
}
}

19
src/main/java/com/xujie/sys/modules/sys/controller/SysMenuController.java

@ -6,6 +6,8 @@ import com.xujie.sys.common.annotation.SysLog;
import com.xujie.sys.common.exception.XJException;
import com.xujie.sys.common.utils.Constant;
import com.xujie.sys.common.utils.R;
import com.xujie.sys.modules.orderIssure.entity.SOIssueNotifyHeaderData;
import com.xujie.sys.modules.orderIssure.vo.SysUserConfig;
import com.xujie.sys.modules.sys.entity.SysMenuEntity;
import com.xujie.sys.modules.sys.entity.SysObjectLanguageMenu;
import com.xujie.sys.modules.sys.entity.dto.SysMenuEntityDto;
@ -44,7 +46,22 @@ public class SysMenuController extends AbstractController {
public R nav(@RequestParam("l") String l, @RequestParam("menuType") String menuType){
List<SysMenuEntity> menuList = sysMenuService.getUserMenuList(getUserId(),l,menuType);
Set<String> permissions = shiroService.getUserPermissions(getUserId());
return R.ok().put("menuList", menuList).put("permissions", permissions);
SysUserConfig userConfig= shiroService.getUserConfig();
return R.ok().put("menuList", menuList).put("permissions", permissions).put("userConfig",userConfig);
}
@PostMapping("/updateNavbarLayoutType")
@ResponseBody
public R updateNavbarLayoutType(@RequestBody SysUserConfig data){
shiroService.updateNavbarLayoutType(data);
return R.ok();
}
@PostMapping("/updateSidebarLayoutSkin")
@ResponseBody
public R updateSidebarLayoutSkin(@RequestBody SysUserConfig data){
shiroService.updateSidebarLayoutSkin(data);
return R.ok();
}
/**

9
src/main/java/com/xujie/sys/modules/sys/dao/SysUserTokenDao.java

@ -3,6 +3,7 @@
package com.xujie.sys.modules.sys.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xujie.sys.modules.orderIssure.vo.SysUserConfig;
import com.xujie.sys.modules.sys.entity.SysUserEntity;
import com.xujie.sys.modules.sys.entity.SysUserTokenEntity;
import com.xujie.sys.modules.sys.form.SysLoginForm;
@ -21,4 +22,12 @@ public interface SysUserTokenDao extends BaseMapper<SysUserTokenEntity> {
SysUserTokenEntity queryByToken(String token);
List<SysUserEntity> getUserIdByUserName(SysLoginForm form);
List<SysUserConfig> getUserConfig(String username);
void insertUserConfig(SysUserConfig inData);
void updateNavbarLayoutType(SysUserConfig inData);
void updateSidebarLayoutSkin(SysUserConfig inData);
}

8
src/main/java/com/xujie/sys/modules/sys/service/ShiroService.java

@ -2,9 +2,11 @@
package com.xujie.sys.modules.sys.service;
import com.xujie.sys.modules.orderIssure.vo.SysUserConfig;
import com.xujie.sys.modules.sys.entity.SysUserEntity;
import com.xujie.sys.modules.sys.entity.SysUserTokenEntity;
import java.util.List;
import java.util.Set;
@ -21,4 +23,10 @@ public interface ShiroService {
* @param userId
*/
SysUserEntity queryUser(Long userId);
SysUserConfig getUserConfig();
void updateNavbarLayoutType(SysUserConfig inData);
void updateSidebarLayoutSkin(SysUserConfig inData);
}

30
src/main/java/com/xujie/sys/modules/sys/service/impl/ShiroServiceImpl.java

@ -4,6 +4,7 @@ package com.xujie.sys.modules.sys.service.impl;
import com.xujie.sys.common.utils.Constant;
import com.xujie.sys.datasource.annotation.DataSource;
import com.xujie.sys.modules.orderIssure.vo.SysUserConfig;
import com.xujie.sys.modules.sys.dao.SysMenuDao;
import com.xujie.sys.modules.sys.dao.SysUserDao;
import com.xujie.sys.modules.sys.dao.SysUserTokenDao;
@ -12,6 +13,7 @@ import com.xujie.sys.modules.sys.entity.SysUserEntity;
import com.xujie.sys.modules.sys.entity.SysUserTokenEntity;
import com.xujie.sys.modules.sys.service.ShiroService;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -61,4 +63,32 @@ public class ShiroServiceImpl implements ShiroService {
public SysUserEntity queryUser(Long userId) {
return sysUserDao.selectById(userId);
}
@Override
public SysUserConfig getUserConfig(){
List<SysUserConfig> result= sysUserTokenDao.getUserConfig(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername());
if(result.size()==0){
SysUserConfig data=new SysUserConfig();
data.setUsername(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername());
data.setNavbarLayoutType("default");
data.setSidebarLayoutSkin("dark");
sysUserTokenDao.insertUserConfig(data);
return data;
}
return result.get(0);
}
@Override
public void updateNavbarLayoutType(SysUserConfig inData){
sysUserTokenDao.updateNavbarLayoutType(inData);
}
@Override
public void updateSidebarLayoutSkin(SysUserConfig inData){
sysUserTokenDao.updateSidebarLayoutSkin(inData);
}
}

20
src/main/resources/mapper/sys/SysUserTokenDao.xml

@ -19,4 +19,24 @@
from sys_user
where username = #{username}
</select>
<select id="getUserConfig" resultType="com.xujie.sys.modules.orderIssure.vo.SysUserConfig">
select
username,navbarLayoutType,sidebarLayoutSkin
from sys_user_config
where username = #{username}
</select>
<insert id="insertUserConfig" >
insert into sys_user_config(username,navbarLayoutType,sidebarLayoutSkin)
values(#{username},#{navbarLayoutType},#{sidebarLayoutSkin})
</insert>
<update id="updateNavbarLayoutType">
update sys_user_config set navbarLayoutType=#{navbarLayoutType} where username=#{username}
</update>
<update id="updateSidebarLayoutSkin">
update sys_user_config set sidebarLayoutSkin=#{sidebarLayoutSkin} where username=#{username}
</update>
</mapper>
Loading…
Cancel
Save