Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
aserver
Project
Project
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
15所TongWeb
aserver
Commits
cca7de71
Commit
cca7de71
authored
Nov 27, 2020
by
李德才
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
将用户、系统、机构信息保存到redis,提供保存和查询的方式
parent
2bfe1e9d
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
130 additions
and
71 deletions
+130
-71
SystemController.java
...java/com/archser/aserver/controller/SystemController.java
+11
-0
UserController.java
...n/java/com/archser/aserver/controller/UserController.java
+39
-60
InfoOrgan.java
src/main/java/com/archser/aserver/util/redis/InfoOrgan.java
+24
-0
InfoSystem.java
src/main/java/com/archser/aserver/util/redis/InfoSystem.java
+22
-0
InfoUser.java
src/main/java/com/archser/aserver/util/redis/InfoUser.java
+13
-7
RedisConvert.java
...ain/java/com/archser/aserver/util/redis/RedisConvert.java
+12
-4
task.properties
src/main/resources/task.properties
+9
-0
No files found.
src/main/java/com/archser/aserver/controller/SystemController.java
View file @
cca7de71
...
...
@@ -5,6 +5,8 @@ import com.archser.aserver.model.System;
import
com.archser.aserver.service.LogService
;
import
com.archser.aserver.service.SystemService
;
import
com.archser.aserver.util.JwtUtils
;
import
com.archser.aserver.util.redis.InfoSystem
;
import
com.archser.aserver.util.redis.RedisConvert
;
import
com.jfinal.aop.Before
;
import
com.jfinal.aop.Clear
;
import
com.jfinal.aop.Inject
;
...
...
@@ -13,6 +15,7 @@ import com.jfinal.kit.Ret;
import
com.jfinal.kit.StrKit
;
import
com.jfinal.plugin.activerecord.tx.Tx
;
import
com.jfinal.plugin.redis.Redis
;
import
java.util.List
;
/**
...
...
@@ -46,6 +49,7 @@ public class SystemController extends Controller {
System
system
=
getModel
(
System
.
class
,
""
,
true
);
if
(
system
==
null
)
{
renderJson
(
Ret
.
fail
(
"msg"
,
"请填写完整数据"
));
return
;
}
else
if
(
system
.
getId
()
==
null
||
system
.
getId
()
==
0
)
{
system
.
set
(
"ID"
,
System
.
SEQ_NEXTVAL
);
system
.
save
();
...
...
@@ -58,6 +62,9 @@ public class SystemController extends Controller {
logService
.
saveAsLog
(
"operate"
,
getAttr
(
"username"
),
JwtInterceptor
.
getIpAddr
(
getRequest
()),
"修改-"
+
system
.
getName
()
+
"-系统模块成功"
,
"aserver"
);
}
new
Thread
(()
->{
InfoSystem
.
saveSystem
(
system
);
}).
start
();
}
/**
...
...
@@ -80,6 +87,10 @@ public class SystemController extends Controller {
}
if
(
success
)
{
renderJson
(
Ret
.
ok
());
String
finalSystemName
=
systemName
;
new
Thread
(()
->{
InfoSystem
.
deleteSystem
(
finalSystemName
);
}).
start
();
logService
.
saveAsLog
(
"operate"
,
getAttr
(
"username"
),
JwtInterceptor
.
getIpAddr
(
getRequest
()),
"删除"
+
systemName
,
"aserver"
);
}
else
{
...
...
src/main/java/com/archser/aserver/controller/UserController.java
View file @
cca7de71
package
com
.
archser
.
aserver
.
controller
;
import
com.archser.aserver.util.redis.InfoUser
;
import
com.jfinal.upload.UploadFile
;
import
java.io.File
;
import
java.io.FileInputStream
;
...
...
@@ -17,6 +18,7 @@ import com.jfinal.kit.Ret;
import
com.jfinal.plugin.activerecord.Db
;
import
com.jfinal.plugin.activerecord.Record
;
import
com.jfinal.plugin.redis.Redis
;
import
javax.sound.sampled.Line.Info
;
import
org.apache.commons.codec.binary.Base64
;
/**
...
...
@@ -27,8 +29,6 @@ import org.apache.commons.codec.binary.Base64;
*/
public
class
UserController
extends
Controller
{
@Inject
UserService
userService
;
private
static
final
String
_INFO
=
"_INFO"
;
...
...
@@ -37,8 +37,8 @@ public class UserController extends Controller {
*/
public
void
info
()
{
String
username
=
this
.
getAttr
(
"username"
);
User
user
=
User
.
dao
.
template
(
"getUser"
,
username
).
findFirst
(
);
user
.
remove
(
"password"
);
User
user
=
InfoUser
.
getUser
(
username
);
user
.
remove
(
"password"
);
Organ
organ
=
Organ
.
dao
.
findById
(
user
.
getOrganId
());
if
(
organ
!=
null
)
{
Iterator
<
Entry
<
String
,
Object
>>
organIterator
=
organ
.
_getAttrsEntrySet
().
iterator
();
...
...
@@ -55,21 +55,17 @@ public class UserController extends Controller {
* 修改用户密码
* @throws SQLException
*/
public
void
updatePwd
()
{
String
username
=
this
.
getAttr
(
"username"
);
String
password
=
this
.
getPara
(
"newPwd"
);
password
=
HashKit
.
sha256
(
password
);
int
flag
=
Db
.
update
(
Db
.
getSql
(
"updatePassword"
),
password
,
username
);
if
(
flag
==
0
)
{
this
.
renderJson
(
Ret
.
fail
(
"msg"
,
"修改失败"
));
return
;
}
try
{
Redis
.
use
().
hset
(
username
+
_INFO
,
"password"
,
password
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
this
.
renderJson
(
Ret
.
ok
(
"msg"
,
"修改成功"
));
public
void
updatePwd
()
{
String
username
=
this
.
getAttr
(
"username"
);
String
password
=
this
.
getPara
(
"newPwd"
);
password
=
HashKit
.
sha256
(
password
);
int
flag
=
Db
.
update
(
Db
.
getSql
(
"updatePassword"
),
password
,
username
);
if
(
flag
==
0
)
{
this
.
renderJson
(
Ret
.
fail
(
"msg"
,
"修改失败"
));
return
;
}
this
.
renderJson
(
Ret
.
ok
(
"msg"
,
"修改成功"
));
InfoUser
.
saveUser
(
InfoUser
.
getUser
(
username
).
setPassword
(
password
));
}
/**
...
...
@@ -83,56 +79,36 @@ public class UserController extends Controller {
}
boolean
flag
=
user
.
update
();
if
(
flag
)
{
updateUserForRedis
(
user
);
renderJson
(
Ret
.
ok
(
"msg"
,
"数据修改成功!"
));
return
;
InfoUser
.
saveUser
(
user
)
;
}
else
{
renderJson
(
Ret
.
fail
(
"msg"
,
"Error ! 请联系管理员解决。"
));
}
}
/**
* 修改Redis中的用户信息
*@Time:2020年7月10日 - 上午8:48:48
* @author:李德才
* @param: @param user
* @return: void
* @throws
*/
public
void
updateUserForRedis
(
User
user
)
{
try
{
Iterator
<
Entry
<
String
,
Object
>>
userIterator
=
user
.
_getAttrsEntrySet
().
iterator
();
Map
<
Object
,
Object
>
userMap
=
new
HashMap
<>();
Entry
<
String
,
Object
>
userAttr
=
null
;
while
(
userIterator
.
hasNext
())
{
userAttr
=
userIterator
.
next
();
userMap
.
put
(
userAttr
.
getKey
().
toString
().
trim
().
toLowerCase
(),
userAttr
.
getValue
());
}
Redis
.
use
().
hmset
(
user
.
getUsername
()
+
_INFO
,
userMap
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
/**
* 查询角色
*/
public
void
getRoleData
()
{
String
username
=
this
.
getAttr
(
"username"
);
User
user
=
User
.
dao
.
template
(
"getUser"
,
username
).
findFirst
();
int
userId
=
user
.
getId
();
List
<
Record
>
records
=
Db
.
find
(
Db
.
getSql
(
"getRolesByUserId"
),
userId
);
List
<
Integer
>
ids
=
new
ArrayList
<
Integer
>();
for
(
Record
record
:
records
)
{
ids
.
add
(
record
.
getInt
(
"ROLE_ID"
));
}
List
<
Record
>
dataList
=
Db
.
find
(
Db
.
getSqlPara
(
"getRole"
,
Kv
.
by
(
"ids"
,
ids
)));
if
(
dataList
!=
null
)
{
this
.
renderJson
(
Ret
.
ok
(
"list"
,
dataList
));
}
else
{
this
.
renderJson
(
Ret
.
fail
(
"msg"
,
"未找到数据"
));
}
String
username
=
this
.
getAttr
(
"username"
);
if
(
"admin"
.
equals
(
username
))
{
this
.
renderJson
(
Ret
.
ok
(
"list"
,
null
));
return
;
}
User
user
=
InfoUser
.
getUser
(
username
);
int
userId
=
user
.
getId
();
List
<
Record
>
records
=
Db
.
find
(
Db
.
getSql
(
"getRolesByUserId"
),
userId
);
List
<
Integer
>
ids
=
new
ArrayList
<
Integer
>();
for
(
Record
record
:
records
)
{
ids
.
add
(
record
.
getInt
(
"ROLE_ID"
));
}
List
<
Record
>
dataList
=
Db
.
find
(
Db
.
getSqlPara
(
"getRole"
,
Kv
.
by
(
"ids"
,
ids
)));
if
(
dataList
!=
null
)
{
this
.
renderJson
(
Ret
.
ok
(
"list"
,
dataList
));
}
else
{
this
.
renderJson
(
Ret
.
fail
(
"msg"
,
"未找到数据"
));
}
}
/**
...
...
@@ -162,6 +138,9 @@ public class UserController extends Controller {
if
(
imgBase
!=
null
)
{
user
.
setImage
(
imgBase
);
user
.
update
();
new
Thread
(()
->
{
InfoUser
.
saveUser
(
InfoUser
.
getUser
(
username
).
setImage
(
imgBase
));
}).
start
();
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
...
...
@@ -188,7 +167,7 @@ public class UserController extends Controller {
public
void
getImage
()
{
String
username
=
this
.
getAttr
(
"username"
);
User
user
=
User
.
dao
.
template
(
"getUser"
,
username
).
findFirst
(
);
User
user
=
InfoUser
.
getUser
(
username
);
byte
[]
image
=
user
.
getImage
();
if
(
image
==
null
)
{
renderJson
(
Ret
.
ok
(
"baseStr"
,
image
));
...
...
src/main/java/com/archser/aserver/util/redis/InfoOrgan.java
0 → 100644
View file @
cca7de71
package
com
.
archser
.
aserver
.
util
.
redis
;
import
com.archser.aserver.model.Organ
;
/**
* 20201127 lidecai
* 操作redis中的机构信息
*/
public
class
InfoOrgan
{
private
static
final
String
ORGAN
=
"ORGAN_"
;
/**
* 保存机构信息
*
* @param organ
* @return
*/
public
static
boolean
saveOrgan
(
Organ
organ
)
{
return
RedisConvert
.
saveObject
(
ORGAN
+
organ
.
getId
(),
organ
);
}
}
src/main/java/com/archser/aserver/util/redis/InfoSystem.java
View file @
cca7de71
...
...
@@ -38,4 +38,26 @@ public class InfoSystem {
return
system
;
}
/**
* 保存系统信息
*
* @param system
* @return
*/
public
static
boolean
saveSystem
(
System
system
)
{
return
RedisConvert
.
saveObject
(
SYSTEM
+
system
.
getName
()
+
_INFO
,
system
);
}
/**
* 删除系统信息
*
* @param systemName
* @return
*/
public
static
boolean
deleteSystem
(
String
systemName
)
{
return
RedisConvert
.
deleteKey
(
SYSTEM
+
systemName
+
_INFO
)
>
0
;
}
}
src/main/java/com/archser/aserver/util/redis/InfoUser.java
View file @
cca7de71
...
...
@@ -2,9 +2,11 @@ package com.archser.aserver.util.redis;
import
com.alibaba.fastjson.JSONObject
;
import
com.archser.aserver.model.User
;
import
java.io.Serializable
;
public
class
InfoUser
implements
Serializable
{
/**
* 20201127 lidecai 操作redis中的用户信息
*/
public
class
InfoUser
{
private
static
final
String
_INFO
=
"_INFO"
;
private
static
final
String
USER
=
"USER_"
;
...
...
@@ -19,22 +21,26 @@ public class InfoUser implements Serializable {
Object
object
=
RedisConvert
.
getObject
(
USER
+
userName
+
_INFO
);
User
user
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
object
),
User
.
class
);
if
(
user
.
getId
()
==
null
)
{
return
getUserByDataBase
(
userName
);
User
userByDataBase
=
getUserByDataBase
(
userName
);
saveUser
(
userByDataBase
);
return
userByDataBase
;
}
return
user
;
}
public
static
boolean
saveUser
(
User
user
)
{
return
RedisConvert
.
saveObject
(
USER
+
user
.
getUsername
()
+
_INFO
,
user
);
}
/**
* 备用方案,从数据库获取用户信息
*
* @param userName
* @return
*/
private
static
User
getUserByDataBase
(
String
userName
)
{
User
user
=
User
.
dao
.
template
(
"getUser"
,
userName
).
findFirst
();
RedisConvert
.
saveObject
(
USER
+
userName
+
_INFO
,
user
);
return
user
;
public
static
User
getUserByDataBase
(
String
userName
)
{
return
User
.
dao
.
template
(
"getUser"
,
userName
).
findFirst
();
}
...
...
src/main/java/com/archser/aserver/util/redis/RedisConvert.java
View file @
cca7de71
...
...
@@ -38,8 +38,9 @@ public class RedisConvert {
* @param key
* @param object
*/
public
static
void
saveObject
(
String
key
,
Object
object
)
{
Redis
.
use
().
hmset
(
key
,
objectToMap
(
object
));
public
static
boolean
saveObject
(
String
key
,
Object
object
)
{
String
hamlet
=
Redis
.
use
().
hmset
(
key
,
objectToMap
(
object
));
return
hamlet
.
equalsIgnoreCase
(
"Ok"
);
}
/**
...
...
@@ -52,13 +53,20 @@ public class RedisConvert {
return
Redis
.
use
().
hgetAll
(
key
);
}
public
static
Long
deleteKey
(
String
key
){
return
Redis
.
use
().
del
(
key
);
}
/**
* 反射获取对象全部属性
*
* 对象转map
* @param obj
* @return
*/
public
static
Map
objectToMap
(
Object
obj
)
{
return
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
obj
),
Map
.
class
);
}
}
src/main/resources/task.properties
0 → 100644
View file @
cca7de71
cron4j
=
task
#凌晨4点执行一次
##每间隔一分钟删除一次
##task.cron=*/1 * * * *
##凌晨一点执行一次
task.cron
=
0 1 * * *
task.class
=
com.archser.aserver.itask.GoodSync
task.enable
=
true
#task1用于删除批量导出时产生的临时文件
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