Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xzxt-rest
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-rest
Commits
2e411428
Commit
2e411428
authored
Aug 16, 2018
by
chang_chao@founder.com.cn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改redis模糊查询服务
parent
7553d3aa
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
60 additions
and
102 deletions
+60
-102
src/main/java/com/cc/controller/RedisRsetController.java
+35
-87
src/main/java/com/cc/dao/JedisClient.java
+2
-1
src/main/java/com/cc/dao/imp/JedisClientCluster.java
+4
-1
src/main/java/com/cc/dao/imp/JedisClientSingle.java
+7
-1
src/main/java/com/cc/service/RedisService.java
+4
-4
src/main/java/com/cc/service/imp/RedisServiceImpl.java
+8
-8
No files found.
src/main/java/com/cc/controller/RedisRsetController.java
View file @
2e411428
...
...
@@ -41,131 +41,79 @@ public class RedisRsetController {
private
SysDictitemService
dictitemService
;
/**
* redis存储服务
* hkey:省份 山西:14_CODE_UNIT
* key:hkey_CODE_UNIT_141181991700
* value:字典对应的数据
* type:save:更新,read:读取
* name 模糊条件 name
* key:查询条件 (15_CODE_AJDLB_05000300_诈骗案_05000000)
* 15_CODE_AJDLB_0500*
* 15_CODE_AJDLB_0500*_诈*
*/
@RequestMapping
(
value
=
"/ReadRedisRest
List
"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@RequestMapping
(
value
=
"/ReadRedisRest"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@ResponseBody
public
XzxtRestResult
ReadRedisRest
List
(
@RequestParam
String
hkey
,
@RequestParam
String
key
,
String
name
,
String
pid
)
{
public
XzxtRestResult
ReadRedisRest
(
@RequestParam
String
key
)
{
//存储redis
XzxtRestResult
result
=
new
XzxtRestResult
(
100
,
""
,
""
);
//读取redis
Set
<
String
>
dictitemKeys
=
(
Set
<
String
>)
(
redisService
.
HkeysRedisRest
(
h
key
)).
getData
();
Set
<
String
>
dictitemKeys
=
(
Set
<
String
>)
(
redisService
.
keysRedisRest
(
key
)).
getData
();
String
AllKey
=
""
;
String
keys
=
""
;
List
<
SysDictitem
>
SysDictitems
=
new
ArrayList
<
SysDictitem
>();
List
<
SysDictitem
>
SysDictitems2
=
new
ArrayList
<
SysDictitem
>();
//模糊查询
//1.shiro 项目字典特殊处理
if
(
key
.
equals
(
"15_SHIRO_UNIT"
)){
result
=
redisService
.
ReadRedisRest
(
key
);
return
XzxtRestResult
.
build
(
202
,
"成功读取redis"
,
result
);
}
else
{
for
(
String
key1
:
dictitemKeys
)
{
if
(
key1
.
contains
(
key
)){
AllKey
+=
key1
+
"__"
;
result
=
redisService
.
ReadRedisRest
(
hkey
,
key1
);
result
=
redisService
.
ReadRedisRest
(
key1
);
String
json
=
JSONObject
.
toJSONString
(
result
);
XzxtRestResult
XzxtRestResult1
=
XzxtRestResult
.
formatToPojo
(
json
,
SysDictitem
.
class
);
SysDictitems
.
add
((
SysDictitem
)
XzxtRestResult1
.
getData
());
}
}
System
.
out
.
print
(
"AllKey========================="
+
AllKey
);
//模糊条件2进行筛选
if
(!
StringUtils
.
isEmpty
(
name
))
{
for
(
SysDictitem
SysDictitem
:
SysDictitems
)
{
if
(
SysDictitem
.
getName
().
contains
(
name
))
{
SysDictitems2
.
add
(
SysDictitem
);
}
}
return
XzxtRestResult
.
build
(
202
,
"成功读取redis"
,
SysDictitems2
);
}
else
if
(!
StringUtils
.
isEmpty
(
pid
)){
for
(
SysDictitem
SysDictitem
:
SysDictitems
){
if
(
pid
.
equals
(
"null"
)){
if
(
SysDictitem
.
getPid
()==
null
){
SysDictitems2
.
add
(
SysDictitem
);
}
}
else
{
if
(
null
!=
SysDictitem
.
getPid
()
&&
SysDictitem
.
getPid
().
equals
(
pid
)){
SysDictitems2
.
add
(
SysDictitem
);
}
}
}
return
XzxtRestResult
.
build
(
202
,
"成功读取redis"
,
SysDictitems2
);
}
else
{
return
XzxtRestResult
.
build
(
202
,
"成功读取redis"
,
SysDictitems
);
}
}
/**
* redis存储服务 shiro字典
* hkey:省份 山西:14
* key:hkey_CODE_UNIT_141181991700
* value:字典对应的数据
* type:save:更新,read:读取
*/
@RequestMapping
(
value
=
"/ReadRedisRest"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@ResponseBody
public
XzxtRestResult
ReadRedisRest
(
@RequestParam
String
hkey
,
@RequestParam
String
key
)
{
//存储redis
XzxtRestResult
result
=
new
XzxtRestResult
(
100
,
""
,
""
);
//读取redis
Set
<
String
>
dictitemKeys
=
(
Set
<
String
>)
(
redisService
.
HkeysRedisRest
(
hkey
)).
getData
();
String
AllKey
=
""
;
List
<
SysDictitem
>
SysDictitems
=
new
ArrayList
<
SysDictitem
>();
//模糊查询
for
(
String
key1
:
dictitemKeys
)
{
if
(
key1
.
contains
(
key
)){
AllKey
+=
key1
+
"__"
;
result
=
redisService
.
ReadRedisRest
(
hkey
,
key1
);
}
}
System
.
out
.
print
(
"AllKey========================="
+
AllKey
);
return
result
;
}
/**
* redis存储服务
* hkey:省份 山西:14_CODE_UNIT
* type::CODE_UNIT 去匹配 1、 14_CODE_UNIT_141181991700
* CODE_UNIT_ALL 去匹配 2、 14_CODE_UNIT_ALL
* ssdw:省份 山西:14
* type::CODE_UNIT
*/
@RequestMapping
(
value
=
"/UpdateRedisRest"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@ResponseBody
public
XzxtRestResult
UpdateRedisRest
(
@RequestParam
String
hkey
,
String
type
)
{
public
XzxtRestResult
UpdateRedisRest
(
String
ssdw
,
String
type
)
{
//存储redis
XzxtRestResult
result
=
new
XzxtRestResult
();
SysDictitem
dictitem
=
new
SysDictitem
();
//先删除指定key缓存
result
=
redisService
.
HkeysRedisRest
(
hkey
);
String
keys
=
""
;
if
(
null
!=
type
&&
"null"
!=
type
){
keys
=
ssdw
+
"_"
+
type
+
"*"
;
}
else
{
keys
=
ssdw
+
"*"
;
}
result
=
redisService
.
keysRedisRest
(
keys
);
Set
<
String
>
dictitemKeys
=
(
Set
<
String
>)
result
.
getData
();
String
AllKey
=
""
;
//删除对应的数据源
for
(
String
key1
:
dictitemKeys
)
{
if
(
key1
.
contains
(
type
)){
AllKey
+=
key1
+
"__"
;
redisService
.
DelRedisRest
(
hkey
,
key1
);
for
(
String
key
:
dictitemKeys
)
{
AllKey
+=
key
+
"__"
;
redisService
.
DelRedisRest
(
key
);
}
}
System
.
out
.
print
(
"AllKey========================="
+
AllKey
);
System
.
out
.
print
(
"匹配出的AllKey========================="
+
AllKey
);
//存储所有字典------------------------------------------------------
//1.shiro 项目
字典特殊处理
//shiro 单位
字典特殊处理
if
(
type
.
equals
(
"SHIRO_UNIT"
)){
dictitem
.
setGroupid
(
"CODE_UNIT"
);
dictitem
.
setCode
(
hkey
+
"%"
);
dictitem
.
setCode
(
ssdw
+
"%"
);
JSONArray
unit
=
dictitemService
.
selectDictitemByCondition
(
dictitem
);
result
=
redisService
.
SaveRedisRest
(
hkey
,
"SHIRO_UNIT"
,
unit
.
toString
());
}
//2.传统项目字典特殊处理
else
{
result
=
redisService
.
SaveRedisRest
(
"15_SHIRO_UNIT"
,
unit
.
toString
());
}
else
{
//传统项目字典特殊处理
dictitem
.
setGroupid
(
type
);
List
<
SysDictitem
>
SysDictitemList
=
dictitemService
.
findCodeAllByType
(
dictitem
);
for
(
SysDictitem
node:
SysDictitemList
){
String
nodeStr
=
JSON
.
toJSONString
(
node
);
String
key1
=
hkey
+
"_"
+
node
.
getCode
()+
"_"
+
node
.
getName
()+
"_"
+
node
.
getPid
();
result
=
redisService
.
SaveRedisRest
(
hkey
,
key1
,
nodeStr
);
String
key
=
ssdw
+
"_"
+
node
.
getGroupid
()
+
"_"
+
node
.
getCode
()+
"_"
+
node
.
getName
()+
"_"
+
node
.
getPid
();
result
=
redisService
.
SaveRedisRest
(
key
,
nodeStr
);
}
}
return
result
;
...
...
src/main/java/com/cc/dao/JedisClient.java
View file @
2e411428
...
...
@@ -14,6 +14,7 @@ public interface JedisClient {
long
ttl
(
String
key
);
long
del
(
String
key
);
long
hdel
(
String
hkey
,
String
key
);
Set
<
String
>
hkeys
(
String
hkey
);
Set
<
String
>
hkeys
(
String
key
);
Set
<
String
>
keys
(
String
key
);
List
<
String
>
hvals
(
String
hkey
);
}
src/main/java/com/cc/dao/imp/JedisClientCluster.java
View file @
2e411428
...
...
@@ -65,7 +65,10 @@ public class JedisClientCluster implements JedisClient {
public
Set
<
String
>
hkeys
(
String
hkey
)
{
return
jedisCluster
.
hkeys
(
hkey
);
}
@Override
public
Set
<
String
>
keys
(
String
key
)
{
return
jedisCluster
.
hkeys
(
key
);
}
@Override
public
List
<
String
>
hvals
(
String
hkey
)
{
return
jedisCluster
.
hvals
(
hkey
);
...
...
src/main/java/com/cc/dao/imp/JedisClientSingle.java
View file @
2e411428
...
...
@@ -98,7 +98,13 @@ public class JedisClientSingle implements JedisClient {
jedis
.
close
();
return
result
;
}
@Override
public
Set
<
String
>
keys
(
String
key
)
{
Jedis
jedis
=
jedisPool
.
getResource
();
Set
<
String
>
result
=
jedis
.
keys
(
key
);
jedis
.
close
();
return
result
;
}
@Override
public
List
<
String
>
hvals
(
String
hkey
)
{
Jedis
jedis
=
jedisPool
.
getResource
();
...
...
src/main/java/com/cc/service/RedisService.java
View file @
2e411428
...
...
@@ -4,9 +4,9 @@ package com.cc.service;
public
interface
RedisService
{
XzxtRestResult
SaveRedisRest
(
String
hkey
,
String
key
,
String
value
);
XzxtRestResult
ReadRedisRest
(
String
hkey
,
String
key
);
XzxtRestResult
DelRedisRest
(
String
hkey
,
String
key
);
XzxtRestResult
HkeysRedisRest
(
String
h
key
);
XzxtRestResult
SaveRedisRest
(
String
key
,
String
value
);
XzxtRestResult
ReadRedisRest
(
String
key
);
XzxtRestResult
DelRedisRest
(
String
key
);
XzxtRestResult
keysRedisRest
(
String
key
);
XzxtRestResult
hvalsRedisRest
(
String
hkey
);
}
src/main/java/com/cc/service/imp/RedisServiceImpl.java
View file @
2e411428
...
...
@@ -27,9 +27,9 @@ public class RedisServiceImpl implements RedisService {
* 返回状态码:205:获取指定key对应的value
**/
@Override
public
XzxtRestResult
SaveRedisRest
(
String
hkey
,
String
key
,
String
value
)
{
public
XzxtRestResult
SaveRedisRest
(
String
key
,
String
value
)
{
try
{
jedisClient
.
hset
(
hkey
,
key
,
value
);
jedisClient
.
set
(
key
,
value
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
XzxtRestResult
.
build
(
500
,
ExceptionUtil
.
getStackTrace
(
e
));
...
...
@@ -37,10 +37,10 @@ public class RedisServiceImpl implements RedisService {
return
XzxtRestResult
.
build
(
201
,
"成功存入redis"
);
}
@Override
public
XzxtRestResult
ReadRedisRest
(
String
hkey
,
String
key
)
{
public
XzxtRestResult
ReadRedisRest
(
String
key
)
{
String
result
=
""
;
try
{
result
=
jedisClient
.
hget
(
hkey
,
key
);
result
=
jedisClient
.
get
(
key
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
XzxtRestResult
.
build
(
500
,
ExceptionUtil
.
getStackTrace
(
e
));
...
...
@@ -49,10 +49,10 @@ public class RedisServiceImpl implements RedisService {
}
@Override
public
XzxtRestResult
DelRedisRest
(
String
hkey
,
String
key
)
{
public
XzxtRestResult
DelRedisRest
(
String
key
)
{
long
result
=
0
;
try
{
result
=
jedisClient
.
hdel
(
hkey
,
key
);
result
=
jedisClient
.
del
(
key
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
XzxtRestResult
.
build
(
500
,
ExceptionUtil
.
getStackTrace
(
e
));
...
...
@@ -61,10 +61,10 @@ public class RedisServiceImpl implements RedisService {
}
@Override
public
XzxtRestResult
HkeysRedisRest
(
String
h
key
)
{
public
XzxtRestResult
keysRedisRest
(
String
key
)
{
Set
<
String
>
result
=
new
HashSet
<>();
try
{
result
=
jedisClient
.
hkeys
(
h
key
);
result
=
jedisClient
.
keys
(
key
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
XzxtRestResult
.
build
(
500
,
ExceptionUtil
.
getStackTrace
(
e
));
...
...
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