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
ac7ed7dc
Commit
ac7ed7dc
authored
Jul 30, 2018
by
chang_chao@founder.com.cn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
字典修改
parent
d8aab99b
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
297 additions
and
13 deletions
+297
-13
src/main/java/com/xzxtshiro/controller/admin/SysUserController.java
+11
-7
src/main/java/com/xzxtshiro/redis/JedisClient.java
+15
-0
src/main/java/com/xzxtshiro/redis/impl/JedisClientCluster.java
+62
-0
src/main/java/com/xzxtshiro/redis/impl/JedisClientSingle.java
+90
-0
src/main/java/com/xzxtshiro/util/ZtreeDataUtil.java
+43
-6
src/main/resources/spring/applicationContext-jedis.xml
+76
-0
No files found.
src/main/java/com/xzxtshiro/controller/admin/SysUserController.java
View file @
ac7ed7dc
package
com
.
xzxtshiro
.
controller
.
admin
;
import
com.xzxtshiro.pojo.*
;
import
com.xzxtshiro.redis.JedisClient
;
import
com.xzxtshiro.service.SysDictitemService
;
import
com.xzxtshiro.service.SysRoleService
;
import
com.xzxtshiro.service.SysUserService
;
...
...
@@ -41,6 +42,9 @@ public class SysUserController {
@Autowired
private
SysDictitemService
dictitemService
;
@Autowired
private
JedisClient
jedisClient
;
/**
* 跳转到用户列表
*
...
...
@@ -51,7 +55,7 @@ public class SysUserController {
/*if (msg!=null&&msg!=""){
model.addAttribute("msg","用户添加成功!");
}*/
setZtreeData
(
model
,
userService
,
dictitemService
,
roleService
);
setZtreeData
(
model
,
userService
,
dictitemService
,
roleService
,
jedisClient
);
return
"admin/user/list"
;
}
...
...
@@ -114,15 +118,15 @@ public class SysUserController {
*/
@RequestMapping
(
value
=
"/add"
,
method
=
RequestMethod
.
GET
)
public
String
addIndex
(
Model
model
)
{
setZtreeData
(
model
,
userService
,
dictitemService
,
roleService
);
setZtreeData
(
model
,
userService
,
dictitemService
,
roleService
,
jedisClient
);
return
"admin/user/add"
;
}
/**
* 设置添加用户页面所需要的角色和单位代码数据
*/
private
static
void
setZtreeData
(
Model
model
,
SysUserService
userService
,
SysDictitemService
dictitemService
,
SysRoleService
roleService
)
{
new
ZtreeDataUtil
().
setUnitAndRole
(
model
,
dictitemService
,
userService
,
roleService
);
private
static
void
setZtreeData
(
Model
model
,
SysUserService
userService
,
SysDictitemService
dictitemService
,
SysRoleService
roleService
,
JedisClient
jedisClient
)
{
new
ZtreeDataUtil
().
setUnitAndRole
(
model
,
dictitemService
,
userService
,
roleService
,
jedisClient
);
}
/**
...
...
@@ -145,7 +149,7 @@ public class SysUserController {
public
String
add
(
SysUser
user
,
Model
model
)
{
SysUser
add
=
userService
.
add
(
user
);
if
(
add
.
getUsername
()
==
null
)
{
setZtreeData
(
model
,
userService
,
dictitemService
,
roleService
);
setZtreeData
(
model
,
userService
,
dictitemService
,
roleService
,
jedisClient
);
model
.
addAttribute
(
"user"
,
user
);
model
.
addAttribute
(
"msg"
,
"用户名已存在,请修改用户名!"
);
return
"admin/user/add"
;
...
...
@@ -209,7 +213,7 @@ public class SysUserController {
user
.
setPassword
(
new
Base64PasswordEncrypter
().
decryptPassword
(
user
.
getPassword
()));
List
<
SysRole
>
roles
=
userService
.
selectSysRoleByUserId
(
id
);
JSONArray
oldRole
=
JSONArray
.
fromObject
(
roles
);
setZtreeData
(
model
,
userService
,
dictitemService
,
roleService
);
setZtreeData
(
model
,
userService
,
dictitemService
,
roleService
,
jedisClient
);
model
.
addAttribute
(
"oldRole"
,
oldRole
);
model
.
addAttribute
(
"user"
,
user
);
return
"admin/user/update"
;
...
...
@@ -231,7 +235,7 @@ public class SysUserController {
//查询用户原先的角色
List
<
SysRole
>
roles
=
userService
.
selectSysRoleByUserId
(
user
.
getId
());
JSONArray
oldRole
=
JSONArray
.
fromObject
(
roles
);
setZtreeData
(
model
,
userService
,
dictitemService
,
roleService
);
setZtreeData
(
model
,
userService
,
dictitemService
,
roleService
,
jedisClient
);
model
.
addAttribute
(
"oldRole"
,
oldRole
);
model
.
addAttribute
(
"user"
,
user
);
model
.
addAttribute
(
"msg"
,
"用户修改失败!"
);
...
...
src/main/java/com/xzxtshiro/redis/JedisClient.java
0 → 100644
View file @
ac7ed7dc
package
com
.
xzxtshiro
.
redis
;
public
interface
JedisClient
{
String
get
(
String
key
);
String
set
(
String
key
,
String
value
);
String
hget
(
String
hkey
,
String
key
);
long
hset
(
String
hkey
,
String
key
,
String
value
);
long
incr
(
String
key
);
// Incr 命令将 key 中储存的数字值增一
long
expire
(
String
key
,
int
second
);
//为给定 key 设置生存时间,默认1000
long
ttl
(
String
key
);
//TTL 命令以秒为单位返回 key 的剩余过期时间 判断key是否过期 -1 就是正常,
long
del
(
String
key
);
//删除给定的一个或多个 key 。
long
hdel
(
String
hkey
,
String
key
);
//
}
src/main/java/com/xzxtshiro/redis/impl/JedisClientCluster.java
0 → 100644
View file @
ac7ed7dc
package
com
.
xzxtshiro
.
redis
.
impl
;
import
com.xzxtshiro.redis.JedisClient
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
redis.clients.jedis.JedisCluster
;
public
class
JedisClientCluster
implements
JedisClient
{
@Autowired
private
JedisCluster
jedisCluster
;
@Override
public
String
get
(
String
key
)
{
return
jedisCluster
.
get
(
key
);
}
@Override
public
String
set
(
String
key
,
String
value
)
{
return
jedisCluster
.
set
(
key
,
value
);
}
@Override
public
String
hget
(
String
hkey
,
String
key
)
{
return
jedisCluster
.
hget
(
hkey
,
key
);
}
@Override
public
long
hset
(
String
hkey
,
String
key
,
String
value
)
{
return
jedisCluster
.
hset
(
hkey
,
key
,
value
);
}
@Override
public
long
incr
(
String
key
)
{
return
jedisCluster
.
incr
(
key
);
}
@Override
public
long
expire
(
String
key
,
int
second
)
{
return
jedisCluster
.
expire
(
key
,
second
);
}
@Override
public
long
ttl
(
String
key
)
{
return
jedisCluster
.
ttl
(
key
);
}
@Override
public
long
del
(
String
key
)
{
return
jedisCluster
.
del
(
key
);
}
@Override
public
long
hdel
(
String
hkey
,
String
key
)
{
return
jedisCluster
.
hdel
(
hkey
,
key
);
}
}
src/main/java/com/xzxtshiro/redis/impl/JedisClientSingle.java
0 → 100644
View file @
ac7ed7dc
package
com
.
xzxtshiro
.
redis
.
impl
;
import
com.xzxtshiro.redis.JedisClient
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
redis.clients.jedis.Jedis
;
import
redis.clients.jedis.JedisPool
;
public
class
JedisClientSingle
implements
JedisClient
{
@Autowired
private
JedisPool
jedisPool
;
@Override
public
String
get
(
String
key
)
{
Jedis
jedis
=
jedisPool
.
getResource
();
String
string
=
jedis
.
get
(
key
);
jedis
.
close
();
return
string
;
}
@Override
public
String
set
(
String
key
,
String
value
)
{
Jedis
jedis
=
jedisPool
.
getResource
();
String
string
=
jedis
.
set
(
key
,
value
);
jedis
.
close
();
return
string
;
}
@Override
public
String
hget
(
String
hkey
,
String
key
)
{
Jedis
jedis
=
jedisPool
.
getResource
();
String
string
=
jedis
.
hget
(
hkey
,
key
);
jedis
.
close
();
return
string
;
}
@Override
public
long
hset
(
String
hkey
,
String
key
,
String
value
)
{
Jedis
jedis
=
jedisPool
.
getResource
();
Long
result
=
jedis
.
hset
(
hkey
,
key
,
value
);
jedis
.
close
();
return
result
;
}
@Override
//incr递增1并返回递增后的结果
public
long
incr
(
String
key
)
{
Jedis
jedis
=
jedisPool
.
getResource
();
Long
result
=
jedis
.
incr
(
key
);
jedis
.
close
();
return
result
;
}
@Override
//为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。
public
long
expire
(
String
key
,
int
second
)
{
Jedis
jedis
=
jedisPool
.
getResource
();
Long
result
=
jedis
.
expire
(
key
,
second
);
jedis
.
close
();
return
result
;
}
@Override
//以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)
public
long
ttl
(
String
key
)
{
Jedis
jedis
=
jedisPool
.
getResource
();
Long
result
=
jedis
.
ttl
(
key
);
jedis
.
close
();
return
result
;
}
@Override
public
long
del
(
String
key
)
{
Jedis
jedis
=
jedisPool
.
getResource
();
Long
result
=
jedis
.
del
(
key
);
jedis
.
close
();
return
result
;
}
@Override
public
long
hdel
(
String
hkey
,
String
key
)
{
Jedis
jedis
=
jedisPool
.
getResource
();
Long
result
=
jedis
.
hdel
(
hkey
,
key
);
jedis
.
close
();
return
result
;
}
}
src/main/java/com/xzxtshiro/util/ZtreeDataUtil.java
View file @
ac7ed7dc
...
...
@@ -4,11 +4,14 @@ import com.xzxtshiro.pojo.SysDictitem;
import
com.xzxtshiro.pojo.SysPermissionNew
;
import
com.xzxtshiro.pojo.SysRole
;
import
com.xzxtshiro.pojo.SysUser
;
import
com.xzxtshiro.redis.JedisClient
;
import
com.xzxtshiro.service.SysDictitemService
;
import
com.xzxtshiro.service.SysPermissionNewService
;
import
com.xzxtshiro.service.SysRoleService
;
import
com.xzxtshiro.service.SysUserService
;
import
net.sf.json.JSONArray
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.ui.Model
;
import
java.util.List
;
...
...
@@ -20,7 +23,6 @@ import java.util.List;
*/
public
class
ZtreeDataUtil
{
/**
* 设置单位和角色ztree数据
* @param model
...
...
@@ -28,8 +30,8 @@ public class ZtreeDataUtil {
* @param userService
* @param roleService
*/
public
static
void
setUnitAndRole
(
Model
model
,
SysDictitemService
dictitemService
,
SysUserService
userService
,
SysRoleService
roleService
)
{
setUnitZtreeData
(
model
,
dictitemService
);
public
static
void
setUnitAndRole
(
Model
model
,
SysDictitemService
dictitemService
,
SysUserService
userService
,
SysRoleService
roleService
,
JedisClient
jedisClient
)
{
setUnitZtreeData
(
model
,
dictitemService
,
jedisClient
);
setRoleZtreeData
(
model
,
userService
,
roleService
);
}
...
...
@@ -43,14 +45,49 @@ public class ZtreeDataUtil {
* @param model
* @param dictitemService
*/
public
static
void
setUnitZtreeData
(
Model
model
,
SysDictitemService
dictitemService
){
public
static
void
setUnitZtreeData
(
Model
model
,
SysDictitemService
dictitemService
,
JedisClient
jedisClient
){
SysUser
user
=
TokenUtil
.
getUser
();
String
unitStr
=
user
.
getUnitcode
();
String
usergrade
=
user
.
getGrade
();
SysDictitem
dictitem
=
new
SysDictitem
();
dictitem
.
setGroupid
(
"CODE_UNIT"
);
dictitem
.
setCodeStr
(
unitStr
.
substring
(
0
,
2
)+
"%"
);
if
(
usergrade
==
null
||
usergrade
.
equals
(
""
)){
dictitem
.
setCodeStr
(
unitStr
+
"%"
);
}
else
{
if
(
usergrade
.
equals
(
"S"
)
||
usergrade
.
equals
(
"T"
))
{
dictitem
.
setCodeStr
(
unitStr
.
substring
(
0
,
2
)+
"%"
);
}
else
if
(
usergrade
.
equals
(
"D"
))
{
if
(
unitStr
.
equals
(
"150000S10000"
)){
//内蒙特殊处理
dictitem
.
setCodeStr
(
unitStr
.
substring
(
0
,
8
)+
"%"
);
}
else
{
dictitem
.
setCodeStr
(
unitStr
.
substring
(
0
,
4
)+
"%"
);
}
}
else
if
(
usergrade
.
equals
(
"X"
))
{
dictitem
.
setCodeStr
(
unitStr
.
substring
(
0
,
6
)+
"%"
);
}
else
if
(
usergrade
.
equals
(
"P"
))
{
dictitem
.
setCodeStr
(
unitStr
+
"%"
);
}
}
//从缓存中取内容
try
{
String
result
=
jedisClient
.
hget
(
"CODE_UNIT"
,
dictitem
.
getCodeStr
());
if
(!
StringUtils
.
isBlank
(
result
))
{
//把字符串转换成JSONArray
JSONArray
unit
=
JSONArray
.
fromObject
(
result
);
model
.
addAttribute
(
"unit"
,
unit
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
JSONArray
unit
=
dictitemService
.
selectDictitemByCondition
(
dictitem
);
model
.
addAttribute
(
"unit"
,
unit
);
//向缓存中添加内容
try
{
jedisClient
.
hset
(
"CODE_UNIT"
,
dictitem
.
getCodeStr
(),
unit
.
toString
());
model
.
addAttribute
(
"unit"
,
unit
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
/**
...
...
src/main/resources/spring/applicationContext-jedis.xml
0 → 100644
View file @
ac7ed7dc
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns=
"http://www.springframework.org/schema/beans"
xmlns:context=
"http://www.springframework.org/schema/context"
xmlns:p=
"http://www.springframework.org/schema/p"
xmlns:aop=
"http://www.springframework.org/schema/aop"
xmlns:tx=
"http://www.springframework.org/schema/tx"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"
>
<!-- 连接池配置 -->
<bean
id=
"jedisPoolConfig"
class=
"redis.clients.jedis.JedisPoolConfig"
>
<!-- 最大连接数 -->
<property
name=
"maxTotal"
value=
"30"
/>
<!-- 最大空闲连接数 -->
<property
name=
"maxIdle"
value=
"10"
/>
<!-- 每次释放连接的最大数目 -->
<property
name=
"numTestsPerEvictionRun"
value=
"1024"
/>
<!-- 释放连接的扫描间隔(毫秒) -->
<property
name=
"timeBetweenEvictionRunsMillis"
value=
"30000"
/>
<!-- 连接最小空闲时间 -->
<property
name=
"minEvictableIdleTimeMillis"
value=
"1800000"
/>
<!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 -->
<property
name=
"softMinEvictableIdleTimeMillis"
value=
"10000"
/>
<!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 -->
<property
name=
"maxWaitMillis"
value=
"1500"
/>
<!-- 在获取连接的时候检查有效性, 默认false -->
<property
name=
"testOnBorrow"
value=
"true"
/>
<!-- 在空闲时检查有效性, 默认false -->
<property
name=
"testWhileIdle"
value=
"true"
/>
<!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true -->
<property
name=
"blockWhenExhausted"
value=
"false"
/>
</bean>
<!-- jedis客户端单机版 -->
<bean
id=
"redisClient"
class=
"redis.clients.jedis.JedisPool"
>
<constructor-arg
name=
"host"
value=
"192.168.193.128"
></constructor-arg>
<constructor-arg
name=
"port"
value=
"6379"
></constructor-arg>
<constructor-arg
name=
"poolConfig"
ref=
"jedisPoolConfig"
></constructor-arg>
</bean>
<bean
id=
"jedisClient"
class=
"com.xzxtshiro.redis.impl.JedisClientSingle"
/>
<!-- jedis集群版配置 -->
<!--<bean id="redisClient" class="redis.clients.jedis.JedisCluster">
<constructor-arg name="nodes">
<set>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.193.128"></constructor-arg>
<constructor-arg name="port" value="7001"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.193.128"></constructor-arg>
<constructor-arg name="port" value="7002"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.193.128"></constructor-arg>
<constructor-arg name="port" value="7003"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.193.128"></constructor-arg>
<constructor-arg name="port" value="7004"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.193.128"></constructor-arg>
<constructor-arg name="port" value="7005"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.193.128"></constructor-arg>
<constructor-arg name="port" value="7006"></constructor-arg>
</bean>
</set>
</constructor-arg>
<constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg>
</bean>
<bean id="jedisClientCluster" class="com.taotao.rest.dao.impl.JedisClientCluster"></bean>-->
</beans>
\ No newline at end of file
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