diff --git a/src/main/java/com/xujie/sys/modules/orderIssure/vo/SysUserConfig.java b/src/main/java/com/xujie/sys/modules/orderIssure/vo/SysUserConfig.java new file mode 100644 index 00000000..5436ac9a --- /dev/null +++ b/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; + } +} + diff --git a/src/main/java/com/xujie/sys/modules/sys/controller/SysMenuController.java b/src/main/java/com/xujie/sys/modules/sys/controller/SysMenuController.java index 4d2bcc89..398f8643 100644 --- a/src/main/java/com/xujie/sys/modules/sys/controller/SysMenuController.java +++ b/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 menuList = sysMenuService.getUserMenuList(getUserId(),l,menuType); Set 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(); } /** diff --git a/src/main/java/com/xujie/sys/modules/sys/dao/SysUserTokenDao.java b/src/main/java/com/xujie/sys/modules/sys/dao/SysUserTokenDao.java index 89f026b8..b0e8f240 100644 --- a/src/main/java/com/xujie/sys/modules/sys/dao/SysUserTokenDao.java +++ b/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 queryByToken(String token); List getUserIdByUserName(SysLoginForm form); + + List getUserConfig(String username); + + void insertUserConfig(SysUserConfig inData); + + void updateNavbarLayoutType(SysUserConfig inData); + + void updateSidebarLayoutSkin(SysUserConfig inData); } diff --git a/src/main/java/com/xujie/sys/modules/sys/service/ShiroService.java b/src/main/java/com/xujie/sys/modules/sys/service/ShiroService.java index ee973f9e..011bdf07 100644 --- a/src/main/java/com/xujie/sys/modules/sys/service/ShiroService.java +++ b/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); } diff --git a/src/main/java/com/xujie/sys/modules/sys/service/impl/ShiroServiceImpl.java b/src/main/java/com/xujie/sys/modules/sys/service/impl/ShiroServiceImpl.java index 2e06f85d..c99f424e 100644 --- a/src/main/java/com/xujie/sys/modules/sys/service/impl/ShiroServiceImpl.java +++ b/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 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); + } + } diff --git a/src/main/resources/mapper/sys/SysUserTokenDao.xml b/src/main/resources/mapper/sys/SysUserTokenDao.xml index 571d78c4..7b6350c8 100644 --- a/src/main/resources/mapper/sys/SysUserTokenDao.xml +++ b/src/main/resources/mapper/sys/SysUserTokenDao.xml @@ -19,4 +19,24 @@ from sys_user where username = #{username} + + + + + insert into sys_user_config(username,navbarLayoutType,sidebarLayoutSkin) + values(#{username},#{navbarLayoutType},#{sidebarLayoutSkin}) + + + + update sys_user_config set navbarLayoutType=#{navbarLayoutType} where username=#{username} + + + + update sys_user_config set sidebarLayoutSkin=#{sidebarLayoutSkin} where username=#{username} + \ No newline at end of file