diff --git a/src/taoshop-manager/taoshop-manager-api/src/main/java/com/muses/taoshop/manager/service/ISysRoleService.java b/src/taoshop-manager/taoshop-manager-api/src/main/java/com/muses/taoshop/manager/service/ISysRoleService.java new file mode 100644 index 0000000000000000000000000000000000000000..8f14fe5e12cac917781d6fb65085ec02c10c142b --- /dev/null +++ b/src/taoshop-manager/taoshop-manager-api/src/main/java/com/muses/taoshop/manager/service/ISysRoleService.java @@ -0,0 +1,25 @@ +package com.muses.taoshop.manager.service; + +import com.muses.taoshop.manager.entity.SysRole; + +import java.util.List; + +/** + *
+ *  角色业务接口
+ * 
+ * + * @author nicky + * @version 1.00.00 + *
+ * 修改记录
+ *    修改后版本:     修改人:  修改日期: 2018.10.21 21:57    修改内容:
+ * 
+ */ +public interface ISysRoleService { + /** + * 获取所有用户角色 + * @return + */ + List listUserRole(int userId); +} diff --git a/src/taoshop-manager/taoshop-manager-api/src/main/java/com/muses/taoshop/manager/service/ISysUserService.java b/src/taoshop-manager/taoshop-manager-api/src/main/java/com/muses/taoshop/manager/service/ISysUserService.java index 1788ebbc7b4d1b2770c1178ca5cb8d1596827ad4..0e7d08fa772d8d972df0a0b65bb5ae59ed51b98b 100644 --- a/src/taoshop-manager/taoshop-manager-api/src/main/java/com/muses/taoshop/manager/service/ISysUserService.java +++ b/src/taoshop-manager/taoshop-manager-api/src/main/java/com/muses/taoshop/manager/service/ISysUserService.java @@ -1,5 +1,6 @@ package com.muses.taoshop.manager.service; +import com.muses.taoshop.manager.entity.SysRole; import com.muses.taoshop.manager.entity.SysUser; import java.util.Set; @@ -45,4 +46,11 @@ public interface ISysUserService { * @return */ SysUser getUserInfoByUsername(String username); + + /** + * 通过用户id获取用户角色集合 + * @param userId + * @return + */ + Set getUserRoles(int userId); } diff --git a/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/mapper/SysRoleMapper.java b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/mapper/SysRoleMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..5431baaa6d99691057912d44360cb8ac9db032b3 --- /dev/null +++ b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/mapper/SysRoleMapper.java @@ -0,0 +1,26 @@ +package com.muses.taoshop.manager.mapper; + +import com.muses.taoshop.common.core.database.annotation.MybatisRepository; +import com.muses.taoshop.manager.entity.SysRole; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *
+ *  角色操作Mapper接口
+ * 
+ * + * @author nicky + * @version 1.00.00 + *
+ * 修改记录
+ *    修改后版本:     修改人:  修改日期: 2018.10.21 21:55    修改内容:
+ * 
+ */ +@MybatisRepository +public interface SysRoleMapper { + + List listUserRole(@Param("userId")int userId); + +} diff --git a/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/MenuServiceImpl.java b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/MenuServiceImpl.java index 377cb6513b27116a0af3bc3745cbca71c2cdd4dc..0485d81f843780d3530aa1eaab1ec3b6b850020d 100644 --- a/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/MenuServiceImpl.java +++ b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/MenuServiceImpl.java @@ -13,4 +13,5 @@ package com.muses.taoshop.manager.service; * */ public class MenuServiceImpl { + } diff --git a/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/SysRoleServiceImpl.java b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/SysRoleServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..d632046641955e9cfa413b6e3d5281ba03f0dc83 --- /dev/null +++ b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/SysRoleServiceImpl.java @@ -0,0 +1,38 @@ +package com.muses.taoshop.manager.service; + +import com.muses.taoshop.manager.entity.SysRole; +import com.muses.taoshop.manager.mapper.SysRoleMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + *
+ *  角色业务类
+ * 
+ * + * @author nicky + * @version 1.00.00 + *
+ * 修改记录
+ *    修改后版本:     修改人:  修改日期: 2018.10.21 21:59    修改内容:
+ * 
+ */ +@Service +public class SysRoleServiceImpl implements ISysRoleService { + + @Autowired + SysRoleMapper sysRoleMapper; + + /** + * 获取所有用户角色 + * + * @param userId + * @return + */ + @Override + public List listUserRole(int userId) { + return sysRoleMapper.listUserRole(userId); + } +} diff --git a/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/SysUserServiceImpl.java b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/SysUserServiceImpl.java index 75c18be1ea89b056bf4e6aa01f24226c051cc9f9..de3244989c3c1c88a90b0763a4658d457d6eb3e3 100644 --- a/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/SysUserServiceImpl.java +++ b/src/taoshop-manager/taoshop-manager-service/src/main/java/com/muses/taoshop/manager/service/SysUserServiceImpl.java @@ -3,6 +3,7 @@ package com.muses.taoshop.manager.service; import com.muses.taoshop.manager.entity.Operation; import com.muses.taoshop.manager.entity.Permission; import com.muses.taoshop.manager.entity.SysRole; +import com.muses.taoshop.manager.mapper.SysRoleMapper; import com.muses.taoshop.manager.mapper.SysUserMapper; import com.muses.taoshop.manager.entity.SysUser; import com.muses.taoshop.manager.service.ISysUserService; @@ -12,6 +13,7 @@ import org.springframework.stereotype.Service; import javax.management.relation.Role; import java.util.HashSet; +import java.util.List; import java.util.Set; /** @@ -31,6 +33,8 @@ public class SysUserServiceImpl implements ISysUserService{ @Autowired SysUserMapper sysUserMapper; + @Autowired + SysRoleMapper sysRoleMapper; @Override public SysUser getSysUser(String username , String password) { @@ -53,6 +57,18 @@ public class SysUserServiceImpl implements ISysUserService{ return roleStrs; } + /** + * 通过用户id获取用户角色集合 + * @param userId + * @return + */ + @Override + public Set getUserRoles(int userId) { + List roleList = sysRoleMapper.listUserRole(userId); + Set roles = new HashSet<>(roleList); + return roles; + } + /** * 获取用户权限 * @param username @@ -61,7 +77,7 @@ public class SysUserServiceImpl implements ISysUserService{ public Set getPermissions(String username) { SysUser user = this.getUserInfoByUsername(username); Set roles = user.getRoles(); - /** 创建一个HashSet来存放角色权限信息 **/ + /* 创建一个HashSet来存放角色权限信息 */ Set permissions = new HashSet(); for(SysRole r : roles) { for (Permission p : r.getPermissions()){ diff --git a/src/taoshop-manager/taoshop-manager-service/src/main/resources/mybatis/SysRoleMapper.xml b/src/taoshop-manager/taoshop-manager-service/src/main/resources/mybatis/SysRoleMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..5fa8313e8ab6089687811befa552cb21bbeda2ab --- /dev/null +++ b/src/taoshop-manager/taoshop-manager-service/src/main/resources/mybatis/SysRoleMapper.xml @@ -0,0 +1,20 @@ + + + + + + roleId, roleName, roleDesc, role + + + + + \ No newline at end of file diff --git a/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/core/shiro/ShiroRealm.java b/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/core/shiro/ShiroRealm.java index 75f87f91461e24e3c8ad90a508547091f7a00b9a..c374ccb85eed07f47de10ff1391cb53fc970996b 100644 --- a/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/core/shiro/ShiroRealm.java +++ b/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/core/shiro/ShiroRealm.java @@ -41,15 +41,15 @@ public class ShiroRealm extends AuthorizingRealm { SysUser user = userService.getUserInfoByUsername(username); - /**检测是否有此用户 **/ + /* 检测是否有此用户 */ if(user == null){ throw new UnknownAccountException();//没有找到账号异常 } - /**检验账号是否被锁定 **/ + /* 检验账号是否被锁定 */ if(Boolean.TRUE.equals(user.getLocked())){ throw new LockedAccountException();//抛出账号锁定异常 } - /**AuthenticatingRealm使用CredentialsMatcher进行密码匹配**/ + /* AuthenticatingRealm使用CredentialsMatcher进行密码匹配 */ if(null != username && null != password){ return new SimpleAuthenticationInfo(username, password, getName()); }else{ diff --git a/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/web/controller/LoginController.java b/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/web/controller/LoginController.java index f5a365295cf2e6aeb5f2774970ebaffb09f95806..ab6d30f7d8eef0f0ba4fe3f741b0adf9970abd9c 100644 --- a/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/web/controller/LoginController.java +++ b/src/taoshop-manager/taoshop-manager-web/src/main/java/com/muses/taoshop/manager/web/controller/LoginController.java @@ -7,6 +7,7 @@ import com.muses.taoshop.manager.entity.Menu; import com.muses.taoshop.manager.entity.Permission; import com.muses.taoshop.manager.entity.SysRole; import com.muses.taoshop.manager.entity.SysUser; +import com.muses.taoshop.manager.service.ISysRoleService; import com.muses.taoshop.manager.service.ISysUserService; import com.muses.taoshop.manager.util.MenuTreeUtil; import org.apache.commons.lang3.StringUtils; @@ -56,6 +57,8 @@ public class LoginController extends BaseController { @Autowired ISysUserService iSysUserService; + @Autowired + ISysRoleService iSysRoleService; @RequestMapping(value = "/toLogin") @GetMapping @@ -137,13 +140,13 @@ public class LoginController extends BaseController { @RequestMapping(value="/toIndex") public ModelAndView toMain() throws AuthenticationException{ ModelAndView mv = this.getModelAndView(); - /**获取Shiro管理的Session**/ + /* 获取Shiro管理的Session */ Subject subject = SecurityUtils.getSubject(); Session session = subject.getSession(); SysUser user = (SysUser)session.getAttribute(Constants.SESSION_USER); if(user != null){ - Set roles = user.getRoles(); + Set roles = iSysUserService.getUserRoles(user.getId()); Set permissions = new HashSet(); if(!CollectionUtils.isEmpty(roles)) { for (SysRole r : roles) { @@ -151,7 +154,7 @@ public class LoginController extends BaseController { } } - /**获取用户可以查看的菜单**/ + /* 获取用户可以查看的菜单 */ List menuList = new ArrayList(); for(Permission p : permissions){ menuList.add(p.getMenu()); @@ -160,12 +163,12 @@ public class LoginController extends BaseController { MenuTreeUtil treeUtil = new MenuTreeUtil(); List treemenus= treeUtil.menuList(menuList); - String json = JSON.toJSONString(treemenus); - - json = json.replaceAll("menuId","id").replaceAll("parentId","pId"). - replaceAll("menuName","name").replaceAll("hasSubMenu","checked"); +// String json = JSON.toJSONString(treemenus); +// +// json = json.replaceAll("menuId","id").replaceAll("parentId","pId"). +// replaceAll("menuName","name").replaceAll("hasSubMenu","checked"); - mv.addObject("menus",json); + mv.addObject("menus",treemenus); mv.setViewName("admin/frame/index"); }else{ //会话失效,返回登录界面 @@ -175,7 +178,25 @@ public class LoginController extends BaseController { return mv; } - + /** + * 注销登录 + * @return + */ + @RequestMapping(value="/logout") + public ModelAndView logout(){ + ModelAndView mv = this.getModelAndView(); + /* Shiro管理Session */ + Subject sub = SecurityUtils.getSubject(); + Session session = sub.getSession(); + session.removeAttribute(Constants.SESSION_USER); + session.removeAttribute(Constants.SESSION_SECURITY_CODE); + /* Shiro销毁登录 */ + Subject subject = SecurityUtils.getSubject(); + subject.logout(); + /* 返回后台系统登录界面 */ + mv.setViewName("login"); + return mv; + } } diff --git a/src/taoshop-manager/taoshop-manager-web/src/main/resources/templates/admin/frame/sider_bar_bk.html b/src/taoshop-manager/taoshop-manager-web/src/main/resources/templates/admin/frame/sider_bar_bk.html index 391fe878b72f5e620dd6642093dd6335c1714eff..a5fd8a592772afc136fd6b48b1b91bc00b009385 100644 --- a/src/taoshop-manager/taoshop-manager-web/src/main/resources/templates/admin/frame/sider_bar_bk.html +++ b/src/taoshop-manager/taoshop-manager-web/src/main/resources/templates/admin/frame/sider_bar_bk.html @@ -1,68 +1,24 @@ -
+ \ No newline at end of file diff --git a/src/taoshop-manager/taoshop-manager-web/src/main/resources/templates/admin/user/user_content_wrap.html b/src/taoshop-manager/taoshop-manager-web/src/main/resources/templates/admin/user/user_content_wrap.html index c507dda84b0c4753d8b7edec5449323dd16769a6..5869896c309b5e564fea6ffd82aee2e73438a815 100644 --- a/src/taoshop-manager/taoshop-manager-web/src/main/resources/templates/admin/user/user_content_wrap.html +++ b/src/taoshop-manager/taoshop-manager-web/src/main/resources/templates/admin/user/user_content_wrap.html @@ -47,7 +47,7 @@
上次登录:
- 2018-08-08 + 2018-08-08
diff --git a/src/taoshop-portal/src/main/resources/templates/item/item_detail.html b/src/taoshop-portal/src/main/resources/templates/item/item_detail.html index 631e5be7ad01cdf37a6e41d6313e7c25737cf937..e08f7bcb237bcd7588464437fb698767047f8ed3 100644 --- a/src/taoshop-portal/src/main/resources/templates/item/item_detail.html +++ b/src/taoshop-portal/src/main/resources/templates/item/item_detail.html @@ -373,6 +373,10 @@ $("body,html").stop().animate({scrollTop:$(".detail .detail-main").eq(index).offset().top},600); }); }); + /* 跳转到添加购物车 */ + function toAddCart() { + + }