Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xzxt-shiro
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
常超
xzxt-shiro
Commits
5a295782
Commit
5a295782
authored
Jul 06, 2018
by
liuyongshuai
Committed by
liuyongshuai
Jul 06, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完善ztree相关调用,添加增加角色功能。
parent
bb475adb
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
392 additions
and
173 deletions
+392
-173
doc/sql/A0001_20180706创建权限表sys_permission_new.txt
+103
-0
doc/sql/A0002_20180706调整sys_role表-增加字段.txt
+10
-0
src/main/java/com/xzxtshiro/controller/admin/PermissionNewController.java
+2
-3
src/main/java/com/xzxtshiro/dao/SysRoleDao.java
+17
-2
src/main/java/com/xzxtshiro/mapper/SysRoleMapper.xml
+67
-13
src/main/java/com/xzxtshiro/pojo/BaseModel.java
+18
-1
src/main/java/com/xzxtshiro/pojo/SysPermissionNew.java
+1
-15
src/main/java/com/xzxtshiro/pojo/SysRole.java
+10
-13
src/main/java/com/xzxtshiro/pojo/SysRolePermission.java
+3
-11
src/main/java/com/xzxtshiro/pojo/SysUserRole.java
+3
-16
src/main/java/com/xzxtshiro/pojo/TreeData.java
+0
-36
src/main/java/com/xzxtshiro/service/SysPermissionNewService.java
+2
-2
src/main/java/com/xzxtshiro/service/SysRoleService.java
+11
-3
src/main/java/com/xzxtshiro/service/imp/SysPermissionNewServiceImpl.java
+3
-3
src/main/java/com/xzxtshiro/service/imp/SysRoleServiceImpl.java
+46
-27
src/main/java/com/xzxtshiro/util/SequenceUtil.java
+33
-0
src/main/webapp/WEB-INF/jsp/admin/permission/add.jsp
+2
-3
src/main/webapp/WEB-INF/jsp/admin/permission/update.jsp
+2
-2
src/main/webapp/WEB-INF/jsp/admin/role/add.jsp
+32
-9
src/main/webapp/WEB-INF/jsp/admin/role/list.jsp
+1
-1
src/main/webapp/resources/common/common.js
+24
-11
src/main/webapp/resources/ztree/metroStyle/metroStyle.css
+2
-2
No files found.
doc/sql/A0001_20180706创建权限表sys_permission_new.txt
0 → 100644
View file @
5a295782
ALTER TABLE XZXT.SYS_PERMISSION_NEW
ALTER TABLE XZXT.SYS_PERMISSION_NEW
DROP PRIMARY KEY CASCADE;
DROP TABLE XZXT.SYS_PERMISSION_NEW CASCADE CONSTRAINTS;
CREATE TABLE XZXT.SYS_PERMISSION_NEW
(
ID VARCHAR2(32 BYTE) NOT NULL,
NAME VARCHAR2(50 BYTE),
MENUNAME VARCHAR2(50 BYTE),
PID VARCHAR2(32 BYTE),
PERMISSION VARCHAR2(255 BYTE),
URL VARCHAR2(255 BYTE),
DESCRIPTION VARCHAR2(1200 BYTE),
TYPE VARCHAR2(2 BYTE),
LRR VARCHAR2(75 BYTE),
LRSJ DATE DEFAULT sysdate,
GXR VARCHAR2(75 BYTE),
GXSJ DATE,
LRDWDM VARCHAR2(12 BYTE),
LRDWMC VARCHAR2(300 BYTE),
SCBZ NUMBER(2),
IP VARCHAR2(20 BYTE) DEFAULT null,
ZINDEX NUMBER,
FLAG NUMBER DEFAULT 0
)
TABLESPACE TBS_XZXT_XTZY
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 192K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
COMMENT ON COLUMN XZXT.SYS_PERMISSION_NEW.ID IS '权限id';
COMMENT ON COLUMN XZXT.SYS_PERMISSION_NEW.NAME IS ' 权限名称';
COMMENT ON COLUMN XZXT.SYS_PERMISSION_NEW.MENUNAME IS '菜单名称';
COMMENT ON COLUMN XZXT.SYS_PERMISSION_NEW.PID IS '父级权限id';
COMMENT ON COLUMN XZXT.SYS_PERMISSION_NEW.PERMISSION IS '资源权限字符串';
COMMENT ON COLUMN XZXT.SYS_PERMISSION_NEW.URL IS '资源 url';
COMMENT ON COLUMN XZXT.SYS_PERMISSION_NEW.DESCRIPTION IS '描述';
COMMENT ON COLUMN XZXT.SYS_PERMISSION_NEW.TYPE IS '权限类型';
COMMENT ON COLUMN XZXT.SYS_PERMISSION_NEW.IP IS 'ip地址';
COMMENT ON COLUMN XZXT.SYS_PERMISSION_NEW.ZINDEX IS '菜单排序';
COMMENT ON COLUMN XZXT.SYS_PERMISSION_NEW.FLAG IS '是否生成菜单,0:默认不生成菜单,1:生成菜单';
CREATE UNIQUE INDEX XZXT.SYS_PERMISSION_NEW_PK ON XZXT.SYS_PERMISSION_NEW
(ID)
LOGGING
TABLESPACE TBS_XZXT_SHZK
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;
ALTER TABLE XZXT.SYS_PERMISSION_NEW ADD (
CONSTRAINT SYS_PERMISSION_NEW_PK
PRIMARY KEY
(ID)
USING INDEX
TABLESPACE TBS_XZXT_SHZK
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
));
doc/sql/A0002_20180706调整sys_role表-增加字段.txt
0 → 100644
View file @
5a295782
-- Add/modify columns
-- Add/modify columns
alter table SYS_ROLE add PID VARCHAR2(32);
alter table SYS_ROLE add TYPE VARCHAR2(2);
-- Add comments to the columns
comment on column SYS_ROLE.PID
is '父级角色id';
comment on column SYS_ROLE.TYPE
is '角色类型';
\ No newline at end of file
src/main/java/com/xzxtshiro/controller/admin/PermissionNewController.java
View file @
5a295782
package
com
.
xzxtshiro
.
controller
.
admin
;
import
com.xzxtshiro.pojo.
Page
;
import
com.xzxtshiro.pojo.
BaseModel
;
import
com.xzxtshiro.pojo.SysPermissionNew
;
import
com.xzxtshiro.service.SysPermissionNewService
;
import
net.sf.json.JSONArray
;
...
...
@@ -14,7 +14,6 @@ import org.springframework.web.bind.annotation.ResponseBody;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author liuys
...
...
@@ -48,7 +47,7 @@ public class PermissionNewController {
*/
@ResponseBody
@RequestMapping
(
value
=
"/list"
,
method
=
RequestMethod
.
GET
)
public
Page
list
(
SysPermissionNew
permission
)
{
public
BaseModel
list
(
SysPermissionNew
permission
)
{
return
permissionService
.
selectSysPermissionNewPage
(
permission
);
}
...
...
src/main/java/com/xzxtshiro/dao/SysRoleDao.java
View file @
5a295782
package
com
.
xzxtshiro
.
dao
;
import
com.xzxtshiro.pojo.SysPermissionNew
;
import
com.xzxtshiro.pojo.SysRole
;
import
com.xzxtshiro.pojo.SysRolePermission
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -40,7 +41,7 @@ public interface SysRoleDao {
* @param SysRole
* @return
*/
int
add
(
@Param
(
"SysRole"
)
SysRole
SysRole
);
Integer
add
(
SysRole
SysRole
);
/**
* 批量添加角色权限关联
...
...
@@ -56,7 +57,7 @@ public interface SysRoleDao {
* @param id
* @return
*/
List
<
Sys
Role
>
selectPermissionBySysRoleId
(
@Param
(
"id"
)
String
id
);
List
<
Sys
PermissionNew
>
selectPermissionBySysRoleId
(
@Param
(
"id"
)
String
id
);
/**
* 根据ID修改角色信息
...
...
@@ -96,4 +97,18 @@ public interface SysRoleDao {
* @return
*/
SysRole
selectSysRoleByUserId
(
Integer
userId
);
/**
* 根据条件过滤出需要的角色
* @param sysRole
* @return
*/
List
<
SysRole
>
selectSysRolesByCondition
(
SysRole
sysRole
);
/**
* 批量添加角色的权限
* @param sysRolePermissionList
* @return
*/
int
batchAddSysRolePermission
(
List
<
SysRolePermission
>
sysRolePermissionList
);
}
src/main/java/com/xzxtshiro/mapper/SysRoleMapper.xml
View file @
5a295782
...
...
@@ -14,10 +14,12 @@
<result
column=
"SCBZ"
property=
"scbz"
jdbcType=
"DECIMAL"
/>
<result
column=
"IP"
property=
"ip"
jdbcType=
"VARCHAR"
/>
<result
column=
"SFFB"
property=
"sffb"
jdbcType=
"VARCHAR"
/>
<result
column=
"PID"
property=
"pid"
jdbcType=
"VARCHAR"
/>
<result
column=
"TYPE"
property=
"type"
jdbcType=
"VARCHAR"
/>
<result
column=
"rn"
property=
"rn"
jdbcType=
"INTEGER"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
ID, ROLENAME, DESCRIPTION, LRR, LRSJ, GXR, GXSJ, LRDWDM, LRDWMC, SCBZ, IP, SFFB
ID, ROLENAME, DESCRIPTION, LRR, LRSJ, GXR, GXSJ, LRDWDM, LRDWMC, SCBZ, IP, SFFB
, PID , TYPE
</sql>
<select
id=
"selectByPrimaryKey"
resultMap=
"BaseResultMap"
parameterType=
"java.lang.String"
>
select
...
...
@@ -44,19 +46,71 @@
SYS_ROLE
WHERE scbz='0'
</select>
<select
id=
"selectSysRolesByCondition"
parameterType=
"com.xzxtshiro.pojo.SysRole"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM SYS_ROLE
WHERE 1=1
<include
refid=
"queryWhere"
/>
</select>
<sql
id=
"queryWhere"
>
<if
test=
"id != null"
>
AND id = #{id,jdbcType=VARCHAR},
</if>
<if
test=
"rolename != null"
>
AND rolename = #{rolename,jdbcType=VARCHAR},
</if>
<if
test=
"description != null"
>
AND description = #{description,jdbcType=VARCHAR},
</if>
<if
test=
"lrr != null"
>
AND lrr = #{lrr,jdbcType=VARCHAR},
</if>
<if
test=
"lrsj != null"
>
AND lrsj = #{lrsj,jdbcType=DATE},
</if>
<if
test=
"gxr != null"
>
AND gxr = #{gxr,jdbcType=VARCHAR},
</if>
<if
test=
"gxsj != null"
>
AND gxsj = #{gxsj,jdbcType=DATE},
</if>
<if
test=
"lrdwdm != null"
>
AND lrdwdm = #{lrdwdm,jdbcType=VARCHAR},
</if>
<if
test=
"lrdwmc != null"
>
AND lrdwmc = #{lrdwmc,jdbcType=VARCHAR},
</if>
<if
test=
"scbz != null"
>
AND scbz = #{scbz,jdbcType=DECIMAL},
</if>
<if
test=
"ip != null"
>
AND ip = #{ip,jdbcType=VARCHAR},
</if>
<if
test=
"sffb != null"
>
AND sffb = #{sffb,jdbcType=VARCHAR},
</if>
<if
test=
"pid != null"
>
AND pid = #{pid,jdbcType=VARCHAR},
</if>
<if
test=
"type != null"
>
AND type = #{type,jdbcType=VARCHAR},
</if>
</sql>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.String"
>
delete from SYS_ROLE
where ID = #{id,jdbcType=VARCHAR}
</delete>
<insert
id=
"
insert"
parameterType=
"com.xzxtshiro.pojo.SysRole"
>
<insert
id=
"
add"
parameterType=
"com.xzxtshiro.pojo.SysRole"
>
insert into SYS_ROLE (ID, ROLENAME, DESCRIPTION,
LRR, LRSJ, GXR, GXSJ,
LRDWDM, LRDWMC, SCBZ,
IP, SFFB)
IP, SFFB
, PID, TYPE
)
values (#{id,jdbcType=VARCHAR}, #{rolename,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR},
#{lrr,jdbcType=VARCHAR}, #{lrsj,jdbcType=DATE}, #{gxr,jdbcType=VARCHAR}, #{gxsj,jdbcType=DATE},
#{lrdwdm,jdbcType=VARCHAR}, #{lrdwmc,jdbcType=VARCHAR}, #{scbz,jdbcType=DECIMAL},
#{ip,jdbcType=VARCHAR}, #{sffb,jdbcType=VARCHAR})
#{ip,jdbcType=VARCHAR}, #{sffb,jdbcType=VARCHAR}
, #{pid,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}
)
</insert>
<insert
id=
"insertSelective"
parameterType=
"com.xzxtshiro.pojo.SysRole"
>
insert into SYS_ROLE
...
...
@@ -153,11 +207,10 @@
where ID = #{id,jdbcType=VARCHAR}
</update>
<!--批量添加角色权限-->
<insert
id=
"batchAddRoleAndPermission"
>
<!---->
INSERT INTO `sys_role_permission` (`ROLEID`, `PERMISSIONID`) VALUES
<foreach
collection=
"roleAndPermissions"
item=
"roleAndPermission"
separator=
","
>
(#{roleAndPermission.roleId}, #{roleAndPermission.permissionId})
<insert
id=
"batchAddSysRolePermission"
parameterType=
"java.util.List"
>
INSERT INTO sys_role_permission (ID, ROLEID,PERMISSIONID,LRR,LRSJ)
<foreach
collection=
"list"
item=
"sysRolePermission"
index=
"index"
separator=
"union all"
>
SELECT #{sysRolePermission.id},#{sysRolePermission.roleid}, #{sysRolePermission.permissionid}, #{sysRolePermission.lrr}, #{sysRolePermission.lrsj} FROM DUAL
</foreach>
</insert>
<!--根据用户id查询角色id-->
...
...
@@ -165,12 +218,12 @@
select ROLE_ID as id from sys_user_role where USER_ID = #{user.userId}
</select>
<!--根据角色id查询角色所拥有的权限名(暂时用权限描述代替)-->
<select
id=
"selectPermissionBySysRoleId"
result
Map=
"BaseResultMap
"
>
SELECT
action
description
<select
id=
"selectPermissionBySysRoleId"
result
Type=
"com.xzxtshiro.pojo.SysPermissionNew
"
>
select id,name from sys_permission_new where id in (
SELECT
permissionid
description
FROM
sys_role_permission
where ROLEID=#{id,jdbcType=VARCHAR}
where ROLEID=#{id,jdbcType=VARCHAR}
)
</select>
</mapper>
\ No newline at end of file
src/main/java/com/xzxtshiro/pojo/
Page
.java
→
src/main/java/com/xzxtshiro/pojo/
BaseModel
.java
View file @
5a295782
...
...
@@ -6,6 +6,7 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
lombok.extern.log4j.Log4j
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -17,9 +18,25 @@ import java.util.List;
@Log4j
@NoArgsConstructor
@AllArgsConstructor
public
class
Page
{
public
class
BaseModel
{
protected
Integer
page
;
//页码
protected
Integer
limit
;
//当页总条数
protected
Integer
rn
;
//条数序列
protected
Integer
code
=
0
;
protected
String
msg
;
protected
Integer
count
=
0
;
protected
Object
data
;
protected
String
lrr
;
protected
Date
lrsj
;
protected
String
gxr
;
protected
Date
gxsj
;
protected
String
lrdwdm
;
protected
String
lrdwmc
;
protected
Integer
scbz
;
}
src/main/java/com/xzxtshiro/pojo/SysPermissionNew.java
View file @
5a295782
...
...
@@ -18,7 +18,7 @@ import java.util.Date;
@Log4j
@NoArgsConstructor
@AllArgsConstructor
public
class
SysPermissionNew
extends
PageBean
implements
Serializable
{
public
class
SysPermissionNew
extends
BaseModel
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
protected
String
id
;
...
...
@@ -36,20 +36,6 @@ public class SysPermissionNew extends PageBean implements Serializable {
protected
String
type
;
protected
String
lrr
;
protected
Date
lrsj
;
protected
String
gxr
;
protected
Date
gxsj
;
protected
String
lrdwdm
;
protected
String
lrdwmc
;
protected
Integer
scbz
;
protected
String
ip
;
protected
Integer
zindex
;
...
...
src/main/java/com/xzxtshiro/pojo/SysRole.java
View file @
5a295782
...
...
@@ -12,7 +12,7 @@ import java.util.Date;
@Log4j
@NoArgsConstructor
@AllArgsConstructor
public
class
SysRole
extends
PageBean
implements
Serializable
{
public
class
SysRole
extends
BaseModel
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
protected
String
id
;
...
...
@@ -20,23 +20,19 @@ public class SysRole extends PageBean implements Serializable {
protected
String
description
;
protected
String
lrr
;
protected
Date
lrsj
;
protected
String
gxr
;
protected
Date
gxsj
;
protected
String
ip
;
protected
String
lrdwdm
;
protected
String
sffb
;
protected
String
lrdwmc
;
protected
String
type
;
protected
S
hort
scbz
;
protected
S
tring
pid
;
protected
String
ip
;
/**权限组的id合集*/
protected
String
permissionId
;
protected
String
sffb
;
/**权限组的name合集*/
protected
String
permissionName
;
}
\ No newline at end of file
src/main/java/com/xzxtshiro/pojo/SysRolePermission.java
View file @
5a295782
...
...
@@ -5,12 +5,13 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
lombok.extern.log4j.Log4j
;
import
java.
util.Dat
e
;
import
java.
io.Serializabl
e
;
@Data
@Log4j
@NoArgsConstructor
@AllArgsConstructor
public
class
SysRolePermission
{
public
class
SysRolePermission
extends
BaseModel
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
protected
String
id
;
protected
String
roleid
;
...
...
@@ -19,14 +20,6 @@ public class SysRolePermission {
protected
String
action
;
protected
String
lrdwdm
;
protected
String
lrdwmc
;
protected
Date
lrsj
;
protected
String
lrr
;
protected
String
ip
;
}
\ No newline at end of file
src/main/java/com/xzxtshiro/pojo/SysUserRole.java
View file @
5a295782
...
...
@@ -5,31 +5,19 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
lombok.extern.log4j.Log4j
;
import
java.io.Serializable
;
import
java.util.Date
;
@Data
@Log4j
@NoArgsConstructor
@AllArgsConstructor
public
class
SysUserRole
{
public
class
SysUserRole
extends
BaseModel
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
protected
String
id
;
protected
String
userId
;
protected
String
roleId
;
protected
String
lrr
;
protected
Date
lrsj
;
protected
String
gxr
;
protected
Date
gxsj
;
protected
String
lrdwdm
;
protected
String
lrdwmc
;
protected
Short
scbz
;
protected
String
ip
;
}
\ No newline at end of file
src/main/java/com/xzxtshiro/pojo/TreeData.java
deleted
100644 → 0
View file @
bb475adb
package
com
.
xzxtshiro
.
pojo
;
/**
* @author liuys
* @desc
* @date 2018-07-03 17:04
*/
public
class
TreeData
{
private
String
title
;
private
String
value
;
private
Object
data
;
public
String
getTitle
()
{
return
title
;
}
public
void
setTitle
(
String
title
)
{
this
.
title
=
title
;
}
public
String
getValue
()
{
return
value
;
}
public
void
setValue
(
String
value
)
{
this
.
value
=
value
;
}
public
Object
getData
()
{
return
data
;
}
public
void
setData
(
Object
data
)
{
this
.
data
=
data
;
}
}
src/main/java/com/xzxtshiro/service/SysPermissionNewService.java
View file @
5a295782
package
com
.
xzxtshiro
.
service
;
import
com.xzxtshiro.pojo.
Page
;
import
com.xzxtshiro.pojo.
BaseModel
;
import
com.xzxtshiro.pojo.SysPermissionNew
;
import
java.util.List
;
...
...
@@ -25,7 +25,7 @@ public interface SysPermissionNewService {
* @return
*/
Page
selectSysPermissionNewPage
(
SysPermissionNew
permission
);
BaseModel
selectSysPermissionNewPage
(
SysPermissionNew
permission
);
/**
* 获取所有父级菜单
...
...
src/main/java/com/xzxtshiro/service/SysRoleService.java
View file @
5a295782
package
com
.
xzxtshiro
.
service
;
import
com.xzxtshiro.pojo.
Page
;
import
com.xzxtshiro.pojo.
BaseModel
;
import
com.xzxtshiro.pojo.SysRole
;
import
java.util.List
;
...
...
@@ -18,11 +18,19 @@ public interface SysRoleService {
List
<
SysRole
>
selectSysRoles
();
/**
* 根据条件获取所有角色,考虑后期需要根据一定的条件查询相关角色
* @param sysRole
* @return
*/
List
<
SysRole
>
selectSysRolesByCondition
(
SysRole
sysRole
);
/**
* 获取角色列表(分页)
* @param SysRole
* @return
*/
Page
selectSysRolePage
(
SysRole
SysRole
);
BaseModel
selectSysRolePage
(
SysRole
SysRole
);
/**
* 添加角色信息,并进行授权
...
...
@@ -36,7 +44,7 @@ public interface SysRoleService {
* @param id
* @return
*/
SysRole
selectSysRoleById
(
Integer
id
);
SysRole
selectSysRoleById
(
String
id
);
/**
* 修改角色,删除授权并重新授权
...
...
src/main/java/com/xzxtshiro/service/imp/SysPermissionNewServiceImpl.java
View file @
5a295782
package
com
.
xzxtshiro
.
service
.
imp
;
import
com.xzxtshiro.dao.SysPermissionNewDao
;
import
com.xzxtshiro.pojo.
Page
;
import
com.xzxtshiro.pojo.
BaseModel
;
import
com.xzxtshiro.pojo.SysPermissionNew
;
import
com.xzxtshiro.service.SysPermissionNewService
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -57,10 +57,10 @@ public class SysPermissionNewServiceImpl implements SysPermissionNewService {
* @return
*/
@Override
public
Page
selectSysPermissionNewPage
(
SysPermissionNew
permission
)
{
public
BaseModel
selectSysPermissionNewPage
(
SysPermissionNew
permission
)
{
List
<
SysPermissionNew
>
permissions
=
permissionNewDao
.
selectSysPermissionNewByCondition
(
permission
);
Integer
count
=
permissionNewDao
.
selectSysPermissionNewCountByCondition
(
permission
);
Page
permissionPage
=
new
Page
();
BaseModel
permissionPage
=
new
BaseModel
();
permissionPage
.
setCount
(
count
);
permissionPage
.
setData
(
permissions
);
return
permissionPage
;
...
...
src/main/java/com/xzxtshiro/service/imp/SysRoleServiceImpl.java
View file @
5a295782
...
...
@@ -3,13 +3,18 @@ package com.xzxtshiro.service.imp;
import
com.shiro.demo.pojo.User
;
import
com.shiro.demo.util.TokenUtil
;
import
com.xzxtshiro.dao.SysRoleDao
;
import
com.xzxtshiro.pojo.Page
;
import
com.xzxtshiro.pojo.BaseModel
;
import
com.xzxtshiro.pojo.SysPermissionNew
;
import
com.xzxtshiro.pojo.SysRole
;
import
com.xzxtshiro.pojo.SysRolePermission
;
import
com.xzxtshiro.service.SysRoleService
;
import
com.xzxtshiro.util.SequenceUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -38,49 +43,63 @@ public class SysRoleServiceImpl implements SysRoleService{
}
@Override
public
Page
selectSysRolePage
(
SysRole
SysRole
)
{
public
List
<
SysRole
>
selectSysRolesByCondition
(
SysRole
sysRole
)
{
return
sysRoleDao
.
selectSysRolesByCondition
(
sysRole
);
}
@Override
public
BaseModel
selectSysRolePage
(
SysRole
SysRole
)
{
List
<
SysRole
>
data
=
sysRoleDao
.
selectSysRoles
(
SysRole
);
for
(
SysRole
role1
:
data
)
{
List
<
Sys
Role
>
role
s
=
sysRoleDao
.
selectPermissionBySysRoleId
(
role1
.
getId
());
List
<
Sys
PermissionNew
>
permissionNew
s
=
sysRoleDao
.
selectPermissionBySysRoleId
(
role1
.
getId
());
StringBuffer
permission
=
new
StringBuffer
();
for
(
Sys
Role
role2
:
role
s
)
{
if
(
role2
!=
null
)
{
permission
.
append
(
role2
.
getDescription
()
+
"
"
);
for
(
Sys
PermissionNew
per
:
permissionNew
s
)
{
if
(
permissionNews
!=
null
)
{
permission
.
append
(
per
.
getName
()
+
",
"
);
}
}
role1
.
setDescription
(
permission
.
toString
());
System
.
out
.
println
(
"permission"
+
permission
);
role1
.
setPermissionName
(
permission
.
toString
());
}
Integer
count
=
sysRoleDao
.
selectSysRoleCountByCondition
(
SysRole
);
Page
rolePage
=
new
Page
();
BaseModel
rolePage
=
new
BaseModel
();
rolePage
.
setCount
(
count
);
rolePage
.
setData
(
data
);
return
rolePage
;
}
@Override
public
SysRole
add
(
SysRole
SysRole
)
{
public
SysRole
add
(
SysRole
sysRole
)
{
String
roleZj
=
SequenceUtil
.
getNextXxzjbh
();
sysRole
.
setScbz
(
0
);
sysRole
.
setId
(
roleZj
);
sysRole
.
setLrr
(
"admin"
);
sysRole
.
setLrsj
(
new
Date
());
//添加角色,并返回主键
// int i = sysRoleDao.add(SysRole);
// //进行授权
// if (SysRole.getDescription() != null) {
// String[] permissions = SysRole.getDescription().split(",");
// List<RoleAndPermission> roleAndPermissions = new ArrayList<>();
// for (int j = 0; j < permissions.length; j++) {
// SysRolePermission sysRolePermission = new SysRolePermission();
// Integer permission = Integer.parseInt(permissions[j]);
// sysRolePermission(SysRole.getId());
// sysRolePermission.setPermissionId(permission);
// roleAndPermissions.add(sysRolePermission);
// }
// int j = roleDao.batchAddRoleAndPermission(roleAndPermissions);
// }
// return role;
return
null
;
Integer
count
=
sysRoleDao
.
add
(
sysRole
);
//确保角色保存成功再进行授权
if
(
count
>
0
){
if
(
sysRole
.
getDescription
()
!=
null
)
{
String
[]
permissions
=
sysRole
.
getPermissionId
().
split
(
","
);
List
<
SysRolePermission
>
roleAndPermissions
=
new
ArrayList
<
SysRolePermission
>();
for
(
int
i
=
0
;
i
<
permissions
.
length
;
i
++)
{
SysRolePermission
sysRolePermission
=
new
SysRolePermission
();
sysRolePermission
.
setId
(
SequenceUtil
.
getNextXxzjbh
().
substring
(
0
,
23
));
sysRolePermission
.
setRoleid
(
roleZj
);
sysRolePermission
.
setPermissionid
(
permissions
[
i
]);
sysRolePermission
.
setLrr
(
"admin"
);
sysRolePermission
.
setLrsj
(
new
Date
());
sysRolePermission
.
setScbz
(
0
);
roleAndPermissions
.
add
(
sysRolePermission
);
}
int
j
=
sysRoleDao
.
batchAddSysRolePermission
(
roleAndPermissions
);
}
}
return
sysRole
;
}
@Override
public
SysRole
selectSysRoleById
(
Integer
id
)
{
public
SysRole
selectSysRoleById
(
String
id
)
{
sysRoleDao
.
selectSysRoleById
(
id
);
return
null
;
}
...
...
src/main/java/com/xzxtshiro/util/SequenceUtil.java
0 → 100644
View file @
5a295782
package
com
.
xzxtshiro
.
util
;
import
java.util.Random
;
import
java.util.UUID
;
/**
* Created by Administrator on 2018/5/24 0024.
*/
public
class
SequenceUtil
{
/**
* 获取信息主键编号:暂定规则,30位
* 前8位为UUID的前10位
* 9-16位为当前时间秒数的后六位,
* 17-30位为字母小写和0-9的随机混合
*/
public
static
String
getNextXxzjbh
(){
StringBuffer
xxzjbh
=
new
StringBuffer
();
xxzjbh
.
append
(
UUID
.
randomUUID
().
toString
().
substring
(
0
,
8
));
String
now
=
String
.
valueOf
(
System
.
currentTimeMillis
());
xxzjbh
.
append
(
now
.
substring
(
0
,
8
));
String
sail
=
"abcdefjhijklmnopqrstuvwxyz0123456789"
;
Random
random
=
new
Random
();
for
(
int
i
=
0
;
i
<
14
;
i
++){
int
index
=
random
.
nextInt
(
36
);
xxzjbh
.
append
(
sail
.
charAt
(
index
));
}
return
xxzjbh
.
toString
();
}
public
static
void
main
(
String
[]
args
){
// System.out.println(getNextXxzjbh());
}
}
src/main/webapp/WEB-INF/jsp/admin/permission/add.jsp
View file @
5a295782
...
...
@@ -73,7 +73,7 @@
<input
type=
"text"
name=
"pidName"
id=
"pidName"
lay-verify=
"required"
class=
"layui-input"
>
<input
type=
"text"
id=
"pid"
Name=
"pid"
style=
"display: none;"
>
<span
class=
"layui-btn"
id=
"checkPer"
onclick=
"check
Permission(
);"
style=
"left: 363px"
>
选择父级
</span>
<span
class=
"layui-btn"
id=
"checkPer"
onclick=
"check
Tree('mytree'
);"
style=
"left: 363px"
>
选择父级
</span>
<div
id=
"mytree"
style=
"display: none"
>
<ul
id=
"tree"
class=
"ztree"
></ul>
</div>
...
...
@@ -186,11 +186,10 @@
}
var
data
=
$
{
parantMenus
};
var
zNodes
=
[];
var
bool
;
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
zNodes
.
push
({
id
:
data
[
i
].
id
,
pId
:
data
[
i
].
pid
,
name
:
data
[
i
].
name
,
open
:
false
,
file
:
"core/simpleData"
});
}
setTree
(
zNodes
,
"
nocheck
"
);
setTree
(
zNodes
,
"
tree"
,
"nocheck"
,
"pid"
,
"pidName
"
);
});
</script>
...
...
src/main/webapp/WEB-INF/jsp/admin/permission/update.jsp
View file @
5a295782
...
...
@@ -75,7 +75,7 @@
<input
type=
"text"
name=
"pidName"
id=
"pidName"
lay-verify=
"required"
class=
"layui-input"
>
<input
type=
"text"
id=
"pid"
Name=
"pid"
style=
"display: none;"
>
<span
class=
"layui-btn"
id=
"checkPer"
onclick=
"check
Permission(
);"
style=
"left: 363px"
>
选择父级
</span>
<span
class=
"layui-btn"
id=
"checkPer"
onclick=
"check
Tree('mytree'
);"
style=
"left: 363px"
>
选择父级
</span>
<div
id=
"mytree"
style=
"display: none"
>
<ul
id=
"tree"
class=
"ztree"
></ul>
</div>
...
...
@@ -130,7 +130,7 @@
$
(
"#pidName"
).
val
(
data
[
i
].
name
);
}
}
setTree
(
zNodes
,
"
nocheck
"
);
setTree
(
zNodes
,
"
tree"
,
"nocheck"
,
"pid"
,
"pidName
"
);
});
</script>
...
...
src/main/webapp/WEB-INF/jsp/admin/role/add.jsp
View file @
5a295782
...
...
@@ -41,33 +41,50 @@
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
角色名称
</label>
<div
class=
"layui-input-block"
>
<input
type=
"text"
name=
"name"
lay-verify=
"required"
placeholder=
"请输入角色名称"
<input
type=
"text"
name=
"
role
name"
lay-verify=
"required"
placeholder=
"请输入角色名称"
class=
"layui-input"
>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
角色类型
</label>
<div
class=
"layui-input-block"
>
<input
type=
"text"
name=
"sn"
lay-verify=
"required"
placeholder=
"请输入角色类型"
class=
"layui-input"
>
<select
id=
"type"
name=
"type"
lay-verify=
""
lay-filter=
"type"
>
<option
value=
""
>
请选择
</option>
<option
value=
"01"
>
命案
</option>
<option
value=
"02"
>
盗窃
</option>
<option
value=
"03"
>
未知名尸体
</option>
<option
value=
"04"
>
盗抢车辆
</option>
</select>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
拥有权限
</label>
<div
class=
"layui-input-block"
>
<input
type=
"text"
name=
"permissionName"
id=
"permissionName"
lay-verify=
"required"
class=
"layui-input"
>
<input
type=
"text"
id=
"permissionId"
Name=
"permissionId"
style=
"display: none;"
>
<span
class=
"layui-btn"
id=
"checkPer"
onclick=
"checkTree('myPermissionTree');"
>
选择权限
</span>
<div
id=
"myPermissionTree"
style=
"display: none"
>
<ul
id=
"permissionTree"
class=
"ztree"
></ul>
</div>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
父级角色
</label>
<div
class=
"layui-input-block"
>
<input
type=
"text"
name=
"pidName"
id=
"pidName"
lay-verify=
"required"
class=
"layui-input"
>
<input
type=
"text"
id=
"pid"
Name=
"pid"
style=
"display: none;"
>
<span
class=
"layui-btn"
id=
"check
Per"
onclick=
"checkPermission();"
>
选择权限
</span>
<div
id=
"my
t
ree"
style=
"display: none"
>
<ul
id=
"
t
ree"
class=
"ztree"
></ul>
<span
class=
"layui-btn"
id=
"check
RolePid"
onclick=
"checkTree('myRoleTree');"
>
选择父级
</span>
<div
id=
"my
RoleT
ree"
style=
"display: none"
>
<ul
id=
"
roleT
ree"
class=
"ztree"
></ul>
</div>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
备注
</label>
<div
class=
"layui-input-block"
>
<input
type=
"text"
name=
"
remark"
placeholder=
"请输入备注
信息"
<input
type=
"text"
name=
"
description"
placeholder=
"请输入角色描述
信息"
class=
"layui-input"
>
</div>
</div>
...
...
@@ -114,11 +131,17 @@
var
data
=
$
{
permission
};
var
zNodes
=
[];
var
bool
;
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
zNodes
.
push
({
id
:
data
[
i
].
id
,
pId
:
data
[
i
].
pid
,
name
:
data
[
i
].
name
,
open
:
false
,
file
:
"core/simpleData"
});
}
setTree
(
zNodes
,
"check"
);
setTree
(
zNodes
,
"permissionTree"
,
"check"
,
"permissionId"
,
"permissionName"
);
var
data
=
$
{
role
};
console
.
log
(
data
);
var
zNodes
=
[];
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
zNodes
.
push
({
id
:
data
[
i
].
id
,
pId
:
data
[
i
].
pid
,
name
:
data
[
i
].
rolename
,
open
:
false
,
file
:
"core/simpleData"
});
}
setTree
(
zNodes
,
"roleTree"
,
"nocheck"
,
"pid"
,
"pidName"
);
});
...
...
src/main/webapp/WEB-INF/jsp/admin/role/list.jsp
View file @
5a295782
...
...
@@ -43,7 +43,7 @@
<th
lay-data=
"{field:'rolename',align:'center', width:200, sort: true}"
>
角色名称
</th>
<
%
--
<
th
lay-data=
"{field:'sn', align:'center',width:100, sort: true}"
>
角色类型
</th>
<th
lay-data=
"{field:'permission', align:'center',width:300, sort: true,templet: '#permissionTpl'}"
>
拥有权限
</th>
--%>
<th
lay-data=
"{field:'
description', align:'center',width:300, sort: true}"
>
描述
</th>
<th
lay-data=
"{field:'
permissionName', align:'center',width:400, sort: true}"
>
拥有权限
</th>
<th
lay-data=
"{width:120, align:'center', toolbar: '#toolBar'}"
>
操作
</th>
</tr>
</thead>
...
...
src/main/webapp/resources/common/common.js
View file @
5a295782
var
timestamp
=
new
Date
().
getTime
();
/**ztree树形字典设置*/
function
setTree
(
data
,
type
)
{
/**
*
* @param data 数据
* @param treeId 树的id
* @param type 树类型,check为带多选框的,nocheck为不带多选框的
* @param kid 即页面所需要传到后台的数据的input的id
* @param vid 即页面所需要展现数据的input的id
*/
function
setTree
(
data
,
treeId
,
type
,
kid
,
vid
)
{
var
setting
=
{}
if
(
type
==
"check"
){
setting
=
{
...
...
@@ -21,8 +29,8 @@ function setTree(data,type) {
}
},
callback
:
{
onCheck
:
function
(
e
,
treeId
,
treeNode
)
{
var
treeObj
=
$
.
fn
.
zTree
.
getZTreeObj
(
"tree"
),
onCheck
:
function
(
e
,
treeId
)
{
var
treeObj
=
$
.
fn
.
zTree
.
getZTreeObj
(
treeId
),
nodes
=
treeObj
.
getCheckedNodes
(
true
),
v
=
""
,
k
=
""
;
for
(
var
i
=
0
;
i
<
nodes
.
length
;
i
++
){
...
...
@@ -30,8 +38,8 @@ function setTree(data,type) {
k
+=
nodes
[
i
].
id
+
","
;
console
.
log
(
"节点id:"
+
k
+
"节点名称"
+
v
);
//获取选中节点的值
}
$
(
"#
pid"
).
val
(
k
);
$
(
"#
pidName"
).
val
(
v
);
$
(
"#
"
+
kid
).
val
(
k
);
$
(
"#
"
+
vid
).
val
(
v
);
// closeTree();
},
}
...
...
@@ -56,9 +64,9 @@ function setTree(data,type) {
onDblClick
:
function
(
treeId
,
treeNode
)
{
var
treeObj
=
$
.
fn
.
zTree
.
getZTreeObj
(
treeNode
);
var
selectedNode
=
treeObj
.
getSelectedNodes
()[
0
];
$
(
"#
pid"
).
val
(
selectedNode
.
id
);
$
(
"#
"
+
kid
).
val
(
selectedNode
.
id
);
console
.
log
(
selectedNode
.
name
);
$
(
"#
pidName"
).
val
(
selectedNode
.
name
);
$
(
"#
"
+
vid
).
val
(
selectedNode
.
name
);
closeTree
();
},
}
...
...
@@ -66,7 +74,7 @@ function setTree(data,type) {
}
//收起树:只展开根节点下的一级节点
function
closeTree
()
{
var
tree
=
$
.
fn
.
zTree
.
getZTreeObj
(
'tree'
);
var
tree
=
$
.
fn
.
zTree
.
getZTreeObj
(
treeId
);
//获取 zTree 的全部节点数据将节点数据转换为简单 Array 格式
var
nodes
=
tree
.
transformToArray
(
tree
.
getNodes
());
for
(
var
i
=
0
;
i
<
nodes
.
length
;
i
++
)
{
...
...
@@ -74,15 +82,19 @@ function setTree(data,type) {
}
}
$
(
document
).
ready
(
function
()
{
$
.
fn
.
zTree
.
init
(
$
(
"#
tree"
),
setting
,
data
);
$
.
fn
.
zTree
.
init
(
$
(
"#
"
+
treeId
),
setting
,
data
);
});
}
function
checkPermission
(){
/**
*
* @param treeId 所需要展现树的div的id
*/
function
checkTree
(
treeId
){
layer
.
open
({
type
:
1
,
area
:[
'350px'
,
'400px'
],
title
:
'请选择'
,
skin
:
'layui-layer-demo'
,
//加上边框
content
:
$
(
"#
mytree"
)
content
:
$
(
"#
"
+
treeId
)
});
}
\ No newline at end of file
src/main/webapp/resources/ztree/metroStyle/metroStyle.css
View file @
5a295782
...
...
@@ -94,12 +94,12 @@ span.tmpzTreeMove_arrow {width:16px; height:21px; display: inline-block; padding
ul
.ztree.zTreeDragUL
{
margin
:
0
;
padding
:
0
;
position
:
absolute
;
width
:
auto
;
height
:
auto
;
overflow
:
hidden
;
background-color
:
#cfcfcf
;
border
:
1px
#00B83F
dotted
;
opacity
:
0.8
;
filter
:
alpha
(
opacity
=
80
)}
.ztreeMask
{
z-index
:
10000
;
background-color
:
#cfcfcf
;
opacity
:
0.0
;
filter
:
alpha
(
opacity
=
0
);
position
:
absolute
}
#tree
{
.layui-form-item
>
.layui-input-block
>
ul
{
position
:
relative
;
top
:
5px
;
left
:
0px
;
}
#checkPer
{
.layui-form-item
>
.layui-input-block
>
span
{
position
:
relative
;
left
:
553px
;
top
:
-37px
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment