Browse Source

Merge remote-tracking branch 'origin/test'

anderx 8 years ago
parent
commit
a44f9b5a62

+ 4 - 2
src/main/java/com/goafanti/common/dao/PermissionMapper.java

@@ -3,6 +3,8 @@ package com.goafanti.common.dao;
 import java.util.List;
 import java.util.Set;
 
+import org.apache.ibatis.annotations.Param;
+
 import com.goafanti.common.model.Permission;
 import com.goafanti.permission.bo.Navigation;
 import com.goafanti.permission.bo.PermissionBo;
@@ -67,7 +69,7 @@ public interface PermissionMapper {
 	
 	int selectCountByid(String id);
 	
-	List<Navigation> selectNavList(String aid);
+	List<Navigation> selectNavList(@Param("aid")String aid);
 
-	List<SubMenu> selectMenuList(String superId);
+	List<SubMenu> selectMenuList(@Param("superId")String superId,@Param("aid")String aid);
 }

+ 29 - 9
src/main/java/com/goafanti/common/mapper/PermissionMapper.xml

@@ -311,14 +311,34 @@
 		</choose>
   </select>
   <select id="selectMenuList" parameterType="java.lang.String" resultType="com.goafanti.permission.bo.SubMenu">
-		select
-			id,
-			name,
-			url
-		from
-			permission
-		where
-			super_id = #{superId,jdbcType=VARCHAR}
-			and (type = 1 or type = 2)
+  		<choose>
+  			<when test="aid == null">
+		  		select
+					id,
+					name,
+					url
+				from
+					permission
+				where
+					super_id = #{superId,jdbcType=VARCHAR}
+					and (type = 1 or type = 2)
+  			</when>
+  			<otherwise>				
+				select
+					d.id,
+					d.name,
+					d.url
+				from
+					user_role a left join role b on
+					a.rid = b.id left join role_permission c on
+					b.id = c.rid left join permission d on
+					c.pid = d.id
+				where
+					(d.type = 1 or d.type = 2)
+					and d.super_id = #{superId,jdbcType=VARCHAR}
+					and a.uid = #{aid,jdbcType=VARCHAR}
+  			</otherwise>
+  		</choose>
+		
   </select>
 </mapper>

+ 2 - 7
src/main/java/com/goafanti/permission/controller/NewPermissionApiController.java

@@ -8,13 +8,11 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.goafanti.common.bo.Result;
-import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseApiController;
 import com.goafanti.common.dao.PermissionMapper;
 import com.goafanti.common.model.Permission;
 import com.goafanti.common.utils.StringUtils;
-import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.permission.service.PermissionService;
 
 @RestController
@@ -213,16 +211,13 @@ public class NewPermissionApiController extends BaseApiController {
 	
 	/**
 	 * 查询导航
-	 * @param navId 导航
+	 * @param navId 导航	
 	 * @return
 	 */
 	@RequestMapping(value = "/selectNavList",method=RequestMethod.GET)
 	public Result selectNavList(){
 		Result res = new Result();
-		if(TokenManager.hasRole(AFTConstants.SUPERADMIN))
-			res.setData(permissionService.selectNavList(null));
-		else
-			res.setData(permissionService.selectNavList(TokenManager.getAdminId()));
+		res.setData(permissionService.selectNavList());
 		return res;
 	}
 	

+ 1 - 1
src/main/java/com/goafanti/permission/service/PermissionService.java

@@ -35,7 +35,7 @@ public interface PermissionService {
 	
 	Map<String,Object> findPermissionsAll();
 	
-	List<Navigation> selectNavList(String aid);
+	List<Navigation> selectNavList();
 
 	List<Menu> selectMenuList(String superId);
 }

+ 6 - 3
src/main/java/com/goafanti/permission/service/impl/PermissionServiceImpl.java

@@ -13,6 +13,7 @@ import org.apache.commons.beanutils.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.dao.PermissionMapper;
 import com.goafanti.common.dao.RolePermissionMapper;
 import com.goafanti.common.dao.UserMapper;
@@ -252,13 +253,15 @@ public class PermissionServiceImpl extends BaseMybatisDao<PermissionMapper> impl
 	}
 	
 	@Override
-	public List<Navigation> selectNavList(String aid){
+	public List<Navigation> selectNavList(){
+		String aid = TokenManager.hasRole(AFTConstants.SUPERADMIN) ? null : TokenManager.getAdminId();
 		return permissionMapper.selectNavList(aid);
 	}
 
 	@Override
 	public List<Menu> selectMenuList(String superId) {
-		List<SubMenu> subMenus = permissionMapper.selectMenuList(superId);
+		String aid = TokenManager.hasRole(AFTConstants.SUPERADMIN) ? null : TokenManager.getAdminId();
+		List<SubMenu> subMenus = permissionMapper.selectMenuList(superId,aid);
 		List<Menu> menus = new ArrayList<Menu>();
 		try {
 			Menu m = null;
@@ -269,7 +272,7 @@ public class PermissionServiceImpl extends BaseMybatisDao<PermissionMapper> impl
 			}
 			if(menus != null && menus.size()>0){
 				for(Menu menu: menus){
-					subMenus = permissionMapper.selectMenuList(menu.getId());
+					subMenus = permissionMapper.selectMenuList(menu.getId(),aid);
 					menu.setSubMenus(subMenus);
 				}
 			}

+ 1 - 1
src/main/resources/shiro_base_auth.ini

@@ -24,7 +24,7 @@
 /api/user/partner/**=anon
 /api/user/**=login
 /admin/servicesManage/**=admin
-/admin/**=admin,permission
+/admin/**=admin
 /role/**=admin,permission
 /permission/**=admin,permission
 /**=login