作者 朱兆平

前端改为树形结构.返回所有权限数据

... ... @@ -3,7 +3,7 @@
web:
upload-path: upload/
server:
port: 8002
port: 8066
servlet:
context-path: ${SERVER_CONTEXTPATH:}
spring:
... ...
... ... @@ -169,12 +169,11 @@
不能设置为INHERITED或者同义词NULL。默认是DEBUG
可以包含零个或多个元素,标识这个appender将会添加到这个logger。
-->
<logger name="com.tianbo.warehouse.dao" level="info" />
<!--开发环境:打印控制台-->
<springProfile name="dev">
<logger name="org.springframework.security" level="debug"/>
<logger name="org.apache.tomcat" level="info" />
<logger name="com.tianbo.warehouse.dao" level="DEBUG" />
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="DEBUG_FILE" />
... ...
... ... @@ -2,9 +2,9 @@ FROM java:8u111
VOLUME /tmp
ADD /target/warehouse-0.0.1-SNAPSHOT.jar app.jar
ADD *.jar app.jar
EXPOSE 8002
EXPOSE 8066
ENTRYPOINT ["java","-jar","/app.jar"]
... ...
... ... @@ -6,9 +6,9 @@ import com.github.pagehelper.PageInfo;
import com.tianbo.warehouse.dao.PERMISSIONMapper;
import com.tianbo.warehouse.model.PERMISSION;
import com.tianbo.warehouse.service.PermissionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
... ... @@ -17,12 +17,12 @@ import java.util.Map;
@Service("PermissionService")
public class PermissionServiceImp implements PermissionService {
@Autowired
@Resource
PERMISSIONMapper permissionMapper;
@Override
public PageInfo<PERMISSION> findAll(int pageNum, int pageSize, String name) {
Page<PERMISSION> page = PageHelper.startPage(pageNum, pageSize);
Page<PERMISSION> page = PageHelper.startPage(pageNum, 0,true,true,true);
List<PERMISSION> list = permissionMapper.findAll(name);
PageInfo<PERMISSION> result = new PageInfo<>(getPermissionList(list, 0));
return result;
... ... @@ -56,28 +56,28 @@ public class PermissionServiceImp implements PermissionService {
try {
//查询所有菜单
List<PERMISSION> allMenu = permissionMapper.findByUserId(userId);
//根节点
List<PERMISSION> rootMenu = new ArrayList<PERMISSION>();
for (PERMISSION nav : allMenu) {
if (nav.getParentId() == 0) {//父节点是0的,为根节点。
rootMenu.add(nav);
}
}
// //根节点
// List<PERMISSION> rootMenu = new ArrayList<PERMISSION>();
// for (PERMISSION nav : allMenu) {
// if (nav.getParentId() == 0) {//父节点是0的,为根节点。
// rootMenu.add(nav);
// }
// }
/* 根据Menu类的order排序 */
// Collections.sort(rootMenu, order());
//为根菜单设置子菜单,getClild是递归调用的
for (PERMISSION nav : rootMenu) {
/* 获取根节点下的所有子节点 使用getChild方法*/
List<PERMISSION> childList = getChild(nav.getPermissionId(), allMenu);
nav.setChildren(childList);//给根节点设置子节点
}
// for (PERMISSION nav : rootMenu) {
// /* 获取根节点下的所有子节点 使用getChild方法*/
// List<PERMISSION> childList = getChild(nav.getPermissionId(), allMenu);
// nav.setChildren(childList);//给根节点设置子节点
// }
/**
* 输出构建好的菜单数据。
*
*/
data.put("success", "true");
data.put("list", rootMenu);
data.put("list", allMenu);
return data;
} catch (Exception e) {
data.put("success", "false");
... ...
... ... @@ -15,6 +15,22 @@
<result column="iconCls" property="iconCls" jdbcType="VARCHAR" />
<result column="component" property="component" jdbcType="VARCHAR" />
</resultMap>
<resultMap id="treeResultMap" type="com.tianbo.warehouse.model.PERMISSION" >
<id column="permission_id" property="permissionId" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="permission_order" property="permissionOrder" jdbcType="VARCHAR" />
<result column="description" property="description" jdbcType="VARCHAR" />
<result column="ismenu" property="ismenu" jdbcType="BOOLEAN" />
<result column="hidden" property="hidden" jdbcType="BOOLEAN" />
<result column="parent_id" property="parentId" jdbcType="INTEGER" />
<result column="path" property="path" jdbcType="VARCHAR" />
<result column="url" property="url" jdbcType="VARCHAR" />
<result column="method" property="method" jdbcType="VARCHAR" />
<result column="iconCls" property="iconCls" jdbcType="VARCHAR" />
<result column="component" property="component" jdbcType="VARCHAR" />
<collection property="children" column="permission_id" javaType="java.util.ArrayList" ofType="com.tianbo.warehouse.model.PERMISSION" select="selectByParentId">
</collection>
</resultMap>
<sql id="Base_Column_List" >
permission_id, name, permission_order, description, ismenu,hidden,parent_id,
path, url, method, iconCls, component
... ... @@ -37,7 +53,7 @@
</choose>
ORDER BY parent_id,permission_order
</select>
<select id="selectByParentId" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
<select id="selectByParentId" resultMap="treeResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from permission
... ... @@ -93,7 +109,7 @@ FROM
LEFT JOIN role R ON R.role_id= RP.role_id
where P.url = #{permissionUrl,jdbcType=VARCHAR} ORDER BY permission_order
</select>
<select id="findByUserId" parameterType="java.lang.Integer" resultMap="BaseResultMap">
<select id="findByUserId" parameterType="java.lang.Integer" resultMap="treeResultMap">
SELECT
P.*
FROM
... ... @@ -120,7 +136,9 @@ where P.url = #{permissionUrl,jdbcType=VARCHAR} ORDER BY permission_order
UR.user_id = #{userId,jdbcType=INTEGER}
)
)
) ORDER BY permission_order
)
AND P.parent_id = 0
ORDER BY permission_order
</select>
<select id="findByRoleId" resultMap="BaseResultMap" parameterType="integer">
SELECT
... ...