Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sample-form-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
sample-form-platform
Commits
694557ea
Commit
694557ea
authored
Nov 14, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改部分权限
parent
8fe219a8
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
217 additions
and
252 deletions
+217
-252
sample-form-manager/src/main/java/com/mortals/xhx/base/framework/security/AuthTokenServiceImpl.java
...als/xhx/base/framework/security/AuthTokenServiceImpl.java
+50
-10
sample-form-manager/src/main/java/com/mortals/xhx/base/system/resource/web/ResourceForm.java
...om/mortals/xhx/base/system/resource/web/ResourceForm.java
+0
-47
sample-form-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleAuthServiceImpl.java
...hx/base/system/role/service/impl/RoleAuthServiceImpl.java
+33
-14
sample-form-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleServiceImpl.java
...ls/xhx/base/system/role/service/impl/RoleServiceImpl.java
+40
-12
sample-form-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleUserServiceImpl.java
...hx/base/system/role/service/impl/RoleUserServiceImpl.java
+42
-14
sample-form-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleAuthForm.java
...va/com/mortals/xhx/base/system/role/web/RoleAuthForm.java
+0
-47
sample-form-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleForm.java
...n/java/com/mortals/xhx/base/system/role/web/RoleForm.java
+0
-58
sample-form-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleUserForm.java
...va/com/mortals/xhx/base/system/role/web/RoleUserForm.java
+0
-47
sample-form-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntityExt.java
...com/mortals/xhx/base/system/user/model/UserEntityExt.java
+10
-0
sample-form-manager/src/main/java/com/mortals/xhx/base/system/user/service/UserService.java
...com/mortals/xhx/base/system/user/service/UserService.java
+2
-1
sample-form-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java
...ls/xhx/base/system/user/service/impl/UserServiceImpl.java
+9
-1
sample-form-manager/src/main/java/com/mortals/xhx/common/key/RedisKey.java
...er/src/main/java/com/mortals/xhx/common/key/RedisKey.java
+1
-1
sample-form-manager/src/main/java/com/mortals/xhx/common/utils/MenuEncodeUtil.java
...ain/java/com/mortals/xhx/common/utils/MenuEncodeUtil.java
+30
-0
No files found.
sample-form-manager/src/main/java/com/mortals/xhx/base/framework/security/AuthTokenServiceImpl.java
View file @
694557ea
...
@@ -7,7 +7,13 @@ import com.mortals.framework.service.ICacheService;
...
@@ -7,7 +7,13 @@ import com.mortals.framework.service.ICacheService;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.util.DateUtils
;
import
com.mortals.framework.util.DateUtils
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.xhx.base.system.resource.service.ResourceService
;
import
com.mortals.xhx.base.system.user.model.UserEntity
;
import
com.mortals.xhx.base.system.user.model.UserEntity
;
import
com.mortals.xhx.base.system.user.model.UserQuery
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.common.key.RedisKey
;
import
com.mortals.xhx.common.utils.MenuEncodeUtil
;
import
com.mortals.xhx.feign.user.IUserFeign
;
import
io.jsonwebtoken.Claims
;
import
io.jsonwebtoken.Claims
;
import
io.jsonwebtoken.Jwts
;
import
io.jsonwebtoken.Jwts
;
import
io.jsonwebtoken.SignatureAlgorithm
;
import
io.jsonwebtoken.SignatureAlgorithm
;
...
@@ -17,11 +23,13 @@ import org.springframework.beans.factory.annotation.Value;
...
@@ -17,11 +23,13 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Base64
;
import
java.util.Base64
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Set
;
/**
/**
* token验证处理
* token验证处理
...
@@ -33,6 +41,10 @@ import java.util.Map;
...
@@ -33,6 +41,10 @@ import java.util.Map;
@Order
(
1
)
@Order
(
1
)
@Slf4j
@Slf4j
public
class
AuthTokenServiceImpl
implements
IAuthTokenService
{
public
class
AuthTokenServiceImpl
implements
IAuthTokenService
{
@Autowired
private
UserService
userService
;
// 令牌自定义标识
// 令牌自定义标识
@Value
(
"${token.header:Authorization}"
)
@Value
(
"${token.header:Authorization}"
)
private
String
header
;
private
String
header
;
...
@@ -70,6 +82,10 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
...
@@ -70,6 +82,10 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
@Autowired
@Autowired
private
ICacheService
cacheService
;
private
ICacheService
cacheService
;
@Autowired
private
ResourceService
resourceService
;
/**
/**
* 获取信息
* 获取信息
*
*
...
@@ -82,22 +98,39 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
...
@@ -82,22 +98,39 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
String
token
=
getToken
(
request
);
String
token
=
getToken
(
request
);
if
(
StringUtils
.
isNotEmpty
(
token
))
{
if
(
StringUtils
.
isNotEmpty
(
token
))
{
try
{
try
{
boolean
signed
=
Jwts
.
parser
().
isSigned
(
token
);
if
(!
signed
)
{
log
.
error
(
"token非法!=>{}"
,
token
);
return
null
;
}
Claims
claims
=
parseToken
(
token
);
Claims
claims
=
parseToken
(
token
);
String
uuid
=
(
String
)
claims
.
get
(
SysConstains
.
LOGIN_USER_KEY
);
String
uuid
=
(
String
)
claims
.
get
(
SysConstains
.
LOGIN_USER_KEY
);
String
userKey
=
getTokenKey
(
uuid
);
String
userKey
=
getTokenKey
(
uuid
);
cacheService
.
select
(
portalDb
);
cacheService
.
select
(
portalDb
);
String
userStr
=
cacheService
.
get
(
userKey
);
String
userStr
=
cacheService
.
get
(
userKey
);
//刷新token时间
UserEntity
userEntity
=
JSONObject
.
parseObject
(
userStr
,
UserEntity
.
class
);
if
(!
ObjectUtils
.
isEmpty
(
userEntity
))
{
verifyToken
(
userEntity
);
}
cacheService
.
select
(
db
);
cacheService
.
select
(
db
);
if
(!
ObjectUtils
.
isEmpty
(
userEntity
))
{
// Rest<String> rest = userFeign.getToken(userKey);
UserEntity
temp
=
userService
.
getExtCache
(
userEntity
.
getLoginName
());
// String userStr = rest.getData();
if
(!
ObjectUtils
.
isEmpty
(
temp
))
{
if
(
StringUtils
.
isNotEmpty
(
userStr
))
{
userEntity
.
setId
(
temp
.
getId
());
UserEntity
userEntity
=
JSONObject
.
parseObject
(
userStr
,
UserEntity
.
class
);
}
userEntity
.
setToken
(
token
);
//更新resource 路径
String
menuUrlCode
=
cacheService
.
hget
(
RedisKey
.
KEY_USER_MENU_CACHE
,
userEntity
.
getId
().
toString
(),
String
.
class
);
if
(
ObjectUtils
.
isEmpty
(
menuUrlCode
))
{
Set
<
String
>
urls
=
resourceService
.
findUrlSetByUserId
(
userEntity
.
getId
());
menuUrlCode
=
MenuEncodeUtil
.
generateMenuUrlCode
(
urls
);
cacheService
.
hset
(
RedisKey
.
KEY_USER_MENU_CACHE
,
userEntity
.
getId
().
toString
(),
menuUrlCode
);
}
userEntity
.
setMenuUrl
(
menuUrlCode
);
return
userEntity
;
return
userEntity
;
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"解析jwt token异常!
"
,
e
);
log
.
error
(
"解析jwt token异常!
,token:{}"
,
token
,
e
);
return
null
;
return
null
;
}
}
}
}
...
@@ -151,8 +184,8 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
...
@@ -151,8 +184,8 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
public
void
verifyToken
(
IUser
user
)
{
public
void
verifyToken
(
IUser
user
)
{
long
expireTime
=
user
.
getExpireTime
();
long
expireTime
=
user
.
getExpireTime
();
long
currentTime
=
System
.
currentTimeMillis
();
long
currentTime
=
System
.
currentTimeMillis
();
if
(
expireTime
-
currentTime
<=
SECOND_MINUTE_TEN
)
{
if
(
expireTime
-
currentTime
<=
SECOND_MINUTE_TEN
*
1000
)
{
log
.
info
(
"不足十分钟,刷新过期时间"
);
log
.
info
(
"不足
二
十分钟,刷新过期时间"
);
refreshToken
(
user
);
refreshToken
(
user
);
}
}
}
}
...
@@ -164,7 +197,7 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
...
@@ -164,7 +197,7 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
*/
*/
public
void
refreshToken
(
IUser
user
)
{
public
void
refreshToken
(
IUser
user
)
{
//user.setLoginTime(System.currentTimeMillis());
//user.setLoginTime(System.currentTimeMillis());
user
.
setExpireTime
(
user
.
getLoginTime
()
==
null
?
System
.
currentTimeMillis
()
:
user
.
getLoginTime
()
+
expireTime
*
SECOND_MINUTE
);
user
.
setExpireTime
(
user
.
getLoginTime
()
==
null
?
System
.
currentTimeMillis
()
:
user
.
getLoginTime
()
+
expireTime
*
SECOND_MINUTE
*
1000
);
// 根据uuid将user缓存
// 根据uuid将user缓存
String
userKey
=
getTokenKey
(
user
.
getToken
());
String
userKey
=
getTokenKey
(
user
.
getToken
());
//设置有效时间 单位秒
//设置有效时间 单位秒
...
@@ -231,4 +264,11 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
...
@@ -231,4 +264,11 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
private
String
getTokenKey
(
String
uuid
)
{
private
String
getTokenKey
(
String
uuid
)
{
return
SysConstains
.
LOGIN_TOKEN_KEY
+
uuid
;
return
SysConstains
.
LOGIN_TOKEN_KEY
+
uuid
;
}
}
public
static
void
main
(
String
[]
args
)
{
// boolean signed = Jwts.parser().isSigned("123");
boolean
signed
=
Jwts
.
parser
().
isSigned
(
"eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJuaW5naGFvLm5ldCIsImV4cCI6IjE0Mzg5NTU0NDUiLCJuYW1lIjoid2FuZ2hhbyIsImFkbWluIjp0cnVlfQ.SwyHTEx_RQppr97g4J5lKXtabJecpejuef8AqKYMAJc"
);
System
.
out
.
println
(
signed
);
}
}
}
sample-form-manager/src/main/java/com/mortals/xhx/base/system/resource/web/ResourceForm.java
deleted
100644 → 0
View file @
8fe219a8
/**
* 文件:ResourceForm.java
* 版本:1.0.0
* 日期:
* Copyright ®
* All right reserved.
*/
package
com.mortals.xhx.base.system.resource.web
;
import
com.mortals.framework.web.BaseCRUDFormLong
;
import
com.mortals.xhx.base.system.resource.model.ResourceEntity
;
import
com.mortals.xhx.base.system.resource.model.ResourceQuery
;
/**
* <p>Title: 资源信息</p>
* <p>Description: ResourceForm </p>
* <p>Copyright: Copyright ® </p>
* <p>Company: </p>
* @author
* @version 1.0.0
*/
public
class
ResourceForm
extends
BaseCRUDFormLong
<
ResourceEntity
>
{
private
ResourceEntity
entity
=
new
ResourceEntity
();
private
ResourceQuery
query
=
new
ResourceQuery
();
public
ResourceForm
(){
}
@Override
public
ResourceEntity
getEntity
()
{
return
entity
;
}
public
void
setEntity
(
ResourceEntity
entity
)
{
this
.
entity
=
entity
;
}
@Override
public
ResourceQuery
getQuery
()
{
return
query
;
}
public
void
setQuery
(
ResourceQuery
query
)
{
this
.
query
=
query
;
}
}
\ No newline at end of file
sample-form-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleAuthServiceImpl.java
View file @
694557ea
/**
/**
* 文件:RoleAuthServiceImpl.java
* 文件:RoleAuthServiceImpl.java
* 版本:1.0.0
* 版本:1.0.0
* 日期:
* 日期:
* Copyright ®
* Copyright ®
* All right reserved.
* All right reserved.
*/
*/
package
com.mortals.xhx.base.system.role.service.impl
;
package
com.mortals.xhx.base.system.role.service.impl
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.util.DataUtil
;
import
com.mortals.xhx.base.system.resource.service.ResourceService
;
import
com.mortals.xhx.base.system.role.dao.RoleAuthDao
;
import
com.mortals.xhx.base.system.role.dao.RoleAuthDao
;
import
com.mortals.xhx.base.system.role.model.RoleAuthEntity
;
import
com.mortals.xhx.base.system.role.model.RoleAuthEntity
;
import
com.mortals.xhx.base.system.role.model.RoleAuthQuery
;
import
com.mortals.xhx.base.system.role.model.RoleAuthQuery
;
import
com.mortals.xhx.base.system.role.service.RoleAuthService
;
import
com.mortals.xhx.base.system.role.service.RoleAuthService
;
import
com.mortals.xhx.common.key.RedisKey
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.List
;
import
static
com
.
mortals
.
xhx
.
common
.
utils
.
MenuEncodeUtil
.
generateMenuUrlCode
;
import
java.util.Map
;
/**
/**
* <p>Title: 角色资源权限</p>
* <p>Title: 角色资源权限</p>
* <p>Description: RoleAuthServiceImpl service接口 </p>
* <p>Description: RoleAuthServiceImpl service接口 </p>
* <p>Copyright: Copyright ® </p>
* <p>Copyright: Copyright ® </p>
* <p>Company: </p>
* <p>Company: </p>
* @author
* @author
* @version 1.0.0
* @version 1.0.0
*/
*/
@Service
(
"roleAuthService"
)
@Service
(
"roleAuthService"
)
public
class
RoleAuthServiceImpl
extends
AbstractCRUDServiceImpl
<
RoleAuthDao
,
RoleAuthEntity
,
Long
>
implements
RoleAuthService
{
public
class
RoleAuthServiceImpl
extends
AbstractCRUDServiceImpl
<
RoleAuthDao
,
RoleAuthEntity
,
Long
>
implements
RoleAuthService
{
@Autowired
private
ICacheService
cacheService
;
@Autowired
private
ResourceService
resourceService
;
@Override
@Override
public
void
doDistributionSource
(
RoleAuthQuery
query
)
{
public
void
doDistributionSource
(
RoleAuthQuery
query
)
{
...
@@ -49,6 +56,18 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao,Rol
...
@@ -49,6 +56,18 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao,Rol
list
.
add
(
entity
);
list
.
add
(
entity
);
}
}
this
.
dao
.
insertBatch
(
list
);
this
.
dao
.
insertBatch
(
list
);
this
.
updateUserMenuUrlCache
();
}
}
private
void
updateUserMenuUrlCache
()
{
//更新用户菜单
Set
<
String
>
hkeys
=
cacheService
.
hkeys
(
RedisKey
.
KEY_USER_MENU_CACHE
);
for
(
String
userId
:
hkeys
)
{
Set
<
String
>
urls
=
resourceService
.
findUrlSetByUserId
(
DataUtil
.
converStr2Long
(
userId
,
0L
));
String
menuUrlCode
=
generateMenuUrlCode
(
urls
);
cacheService
.
hset
(
RedisKey
.
KEY_USER_MENU_CACHE
,
userId
,
menuUrlCode
);
}
}
}
}
\ No newline at end of file
sample-form-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleServiceImpl.java
View file @
694557ea
/**
/**
* 文件:RoleServiceImpl.java
* 文件:RoleServiceImpl.java
* 版本:1.0.0
* 版本:1.0.0
* 日期:
* 日期:
* Copyright ®
* Copyright ®
* All right reserved.
* All right reserved.
*/
*/
package
com.mortals.xhx.base.system.role.service.impl
;
package
com.mortals.xhx.base.system.role.service.impl
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.xhx.base.system.role.dao.RoleDao
;
import
com.mortals.xhx.base.system.role.dao.RoleDao
;
import
com.mortals.xhx.base.system.role.model.RoleEntity
;
import
com.mortals.xhx.base.system.role.model.*
;
import
com.mortals.xhx.base.system.role.service.RoleAuthService
;
import
com.mortals.xhx.base.system.role.service.RoleService
;
import
com.mortals.xhx.base.system.role.service.RoleService
;
import
com.mortals.xhx.base.system.role.service.RoleUserService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Arrays
;
/**
/**
* <p>Title: 角色信息</p>
* <p>Title: 角色信息</p>
* <p>Description: RoleServiceImpl service接口 </p>
* <p>Description: RoleServiceImpl service接口 </p>
* <p>Copyright: Copyright ® </p>
* <p>Copyright: Copyright ® </p>
* <p>Company: </p>
* <p>Company: </p>
* @author
* @author
* @version 1.0.0
* @version 1.0.0
*/
*/
@Service
(
"roleService"
)
@Service
(
"roleService"
)
public
class
RoleServiceImpl
extends
AbstractCRUDServiceImpl
<
RoleDao
,
RoleEntity
,
Long
>
implements
RoleService
{
public
class
RoleServiceImpl
extends
AbstractCRUDServiceImpl
<
RoleDao
,
RoleEntity
,
Long
>
implements
RoleService
{
@Autowired
private
RoleAuthService
roleAuthService
;
@Autowired
private
RoleUserService
roleUserService
;
@Override
protected
void
removeAfter
(
Long
[]
ids
,
Context
context
,
int
result
)
throws
AppException
{
//删除关联角色
Arrays
.
asList
(
ids
).
stream
().
peek
(
roleId
->{
RoleAuthQuery
roleAuthQuery
=
new
RoleAuthQuery
();
roleAuthQuery
.
setRoleId
(
roleId
);
Long
[]
roleAuthIds
=
roleAuthService
.
find
(
roleAuthQuery
).
stream
().
map
(
RoleAuthEntity:
:
getId
).
toArray
(
Long
[]::
new
);
roleAuthService
.
remove
(
roleAuthIds
,
context
);
RoleUserQuery
roleUserQuery
=
new
RoleUserQuery
();
roleUserQuery
.
setRoleId
(
roleId
);
Long
[]
roleUserIds
=
roleUserService
.
find
(
roleUserQuery
).
stream
().
map
(
RoleUserEntity:
:
getId
).
toArray
(
Long
[]::
new
);
roleUserService
.
remove
(
roleUserIds
,
context
);
}).
count
();
super
.
removeAfter
(
ids
,
context
,
result
);
}
}
}
\ No newline at end of file
sample-form-manager/src/main/java/com/mortals/xhx/base/system/role/service/impl/RoleUserServiceImpl.java
View file @
694557ea
/**
/**
* 文件:RoleUserServiceImpl.java
* 文件:RoleUserServiceImpl.java
* 版本:1.0.0
* 版本:1.0.0
* 日期:
* 日期:
* Copyright ®
* Copyright ®
* All right reserved.
* All right reserved.
*/
*/
package
com.mortals.xhx.base.system.role.service.impl
;
package
com.mortals.xhx.base.system.role.service.impl
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.util.DataUtil
;
import
com.mortals.xhx.base.system.resource.service.ResourceService
;
import
com.mortals.xhx.base.system.role.dao.RoleUserDao
;
import
com.mortals.xhx.base.system.role.dao.RoleUserDao
;
import
com.mortals.xhx.base.system.role.model.RoleUserEntity
;
import
com.mortals.xhx.base.system.role.model.RoleUserEntity
;
import
com.mortals.xhx.base.system.role.model.RoleUserQuery
;
import
com.mortals.xhx.base.system.role.model.RoleUserQuery
;
import
com.mortals.xhx.base.system.role.service.RoleUserService
;
import
com.mortals.xhx.base.system.role.service.RoleUserService
;
import
com.mortals.xhx.common.key.RedisKey
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.List
;
import
static
com
.
mortals
.
xhx
.
common
.
utils
.
MenuEncodeUtil
.
generateMenuUrlCode
;
import
java.util.Map
;
/**
/**
* <p>Title: 角色用户</p>
* <p>Title: 角色用户</p>
* <p>Description: RoleUserServiceImpl service接口 </p>
* <p>Description: RoleUserServiceImpl service接口 </p>
* <p>Copyright: Copyright ® </p>
* <p>Copyright: Copyright ® </p>
* <p>Company: </p>
* <p>Company: </p>
* @author
* @author
* @version 1.0.0
* @version 1.0.0
*/
*/
@Service
(
"roleUserService"
)
@Service
(
"roleUserService"
)
public
class
RoleUserServiceImpl
extends
AbstractCRUDServiceImpl
<
RoleUserDao
,
RoleUserEntity
,
Long
>
implements
RoleUserService
{
public
class
RoleUserServiceImpl
extends
AbstractCRUDServiceImpl
<
RoleUserDao
,
RoleUserEntity
,
Long
>
implements
RoleUserService
{
@Autowired
private
ICacheService
cacheService
;
@Autowired
private
ResourceService
resourceService
;
@Override
@Override
public
void
doDistributionUser
(
RoleUserQuery
query
)
{
public
void
doDistributionUser
(
RoleUserQuery
query
)
{
...
@@ -49,6 +60,7 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol
...
@@ -49,6 +60,7 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol
list
.
add
(
rolseUser
);
list
.
add
(
rolseUser
);
}
}
this
.
dao
.
insertBatch
(
list
);
this
.
dao
.
insertBatch
(
list
);
updateUserMenuUrlCache
();
}
}
@Override
@Override
...
@@ -67,6 +79,22 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol
...
@@ -67,6 +79,22 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol
list
.
add
(
rolseUser
);
list
.
add
(
rolseUser
);
}
}
this
.
dao
.
insertBatch
(
list
);
this
.
dao
.
insertBatch
(
list
);
updateUserMenuUrlCache
();
}
@Override
protected
void
removeAfter
(
Long
[]
ids
,
Context
context
,
int
result
)
throws
AppException
{
updateUserMenuUrlCache
();
}
private
void
updateUserMenuUrlCache
()
{
//更新用户菜单
Set
<
String
>
hkeys
=
cacheService
.
hkeys
(
RedisKey
.
KEY_USER_MENU_CACHE
);
for
(
String
userId
:
hkeys
)
{
Set
<
String
>
urls
=
resourceService
.
findUrlSetByUserId
(
DataUtil
.
converStr2Long
(
userId
,
0L
));
String
menuUrlCode
=
generateMenuUrlCode
(
urls
);
cacheService
.
hset
(
RedisKey
.
KEY_USER_MENU_CACHE
,
userId
,
menuUrlCode
);
}
}
}
}
}
\ No newline at end of file
sample-form-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleAuthForm.java
deleted
100644 → 0
View file @
8fe219a8
/**
* 文件:RoleAuthForm.java
* 版本:1.0.0
* 日期:
* Copyright ®
* All right reserved.
*/
package
com.mortals.xhx.base.system.role.web
;
import
com.mortals.framework.web.BaseCRUDFormLong
;
import
com.mortals.xhx.base.system.role.model.RoleAuthEntity
;
import
com.mortals.xhx.base.system.role.model.RoleAuthQuery
;
/**
* <p>Title: 角色资源权限</p>
* <p>Description: RoleAuthForm </p>
* <p>Copyright: Copyright ® </p>
* <p>Company: </p>
* @author
* @version 1.0.0
*/
public
class
RoleAuthForm
extends
BaseCRUDFormLong
<
RoleAuthEntity
>
{
private
RoleAuthEntity
entity
=
new
RoleAuthEntity
();
private
RoleAuthQuery
query
=
new
RoleAuthQuery
();
public
RoleAuthForm
(){
}
@Override
public
RoleAuthEntity
getEntity
()
{
return
entity
;
}
public
void
setEntity
(
RoleAuthEntity
entity
)
{
this
.
entity
=
entity
;
}
@Override
public
RoleAuthQuery
getQuery
()
{
return
query
;
}
public
void
setQuery
(
RoleAuthQuery
query
)
{
this
.
query
=
query
;
}
}
\ No newline at end of file
sample-form-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleForm.java
deleted
100644 → 0
View file @
8fe219a8
/**
* 文件:RoleForm.java
* 版本:1.0.0
* 日期:
* Copyright ®
* All right reserved.
*/
package
com.mortals.xhx.base.system.role.web
;
import
com.mortals.framework.web.BaseCRUDFormLong
;
import
com.mortals.xhx.base.system.role.model.RoleEntity
;
import
com.mortals.xhx.base.system.role.model.RoleQuery
;
/**
* <p>Title: 角色信息</p>
* <p>Description: RoleForm </p>
* <p>Copyright: Copyright ® </p>
* <p>Company: </p>
* @author
* @version 1.0.0
*/
public
class
RoleForm
extends
BaseCRUDFormLong
<
RoleEntity
>
{
private
RoleEntity
entity
=
new
RoleEntity
();
private
RoleQuery
query
=
new
RoleQuery
();
/** 用户ID */
private
Long
userId
;
public
RoleForm
(){
}
@Override
public
RoleEntity
getEntity
()
{
return
entity
;
}
public
void
setEntity
(
RoleEntity
entity
)
{
this
.
entity
=
entity
;
}
@Override
public
RoleQuery
getQuery
()
{
return
query
;
}
public
void
setQuery
(
RoleQuery
query
)
{
this
.
query
=
query
;
}
public
Long
getUserId
()
{
return
userId
;
}
public
void
setUserId
(
Long
userId
)
{
this
.
userId
=
userId
;
}
}
\ No newline at end of file
sample-form-manager/src/main/java/com/mortals/xhx/base/system/role/web/RoleUserForm.java
deleted
100644 → 0
View file @
8fe219a8
/**
* 文件:RoleUserForm.java
* 版本:1.0.0
* 日期:
* Copyright ®
* All right reserved.
*/
package
com.mortals.xhx.base.system.role.web
;
import
com.mortals.framework.web.BaseCRUDFormLong
;
import
com.mortals.xhx.base.system.role.model.RoleUserEntity
;
import
com.mortals.xhx.base.system.role.model.RoleUserQuery
;
/**
* <p>Title: 角色用户</p>
* <p>Description: RoleUserForm </p>
* <p>Copyright: Copyright ® </p>
* <p>Company: </p>
* @author
* @version 1.0.0
*/
public
class
RoleUserForm
extends
BaseCRUDFormLong
<
RoleUserEntity
>
{
private
RoleUserEntity
entity
=
new
RoleUserEntity
();
private
RoleUserQuery
query
=
new
RoleUserQuery
();
public
RoleUserForm
(){
}
@Override
public
RoleUserEntity
getEntity
()
{
return
entity
;
}
public
void
setEntity
(
RoleUserEntity
entity
)
{
this
.
entity
=
entity
;
}
@Override
public
RoleUserQuery
getQuery
()
{
return
query
;
}
public
void
setQuery
(
RoleUserQuery
query
)
{
this
.
query
=
query
;
}
}
\ No newline at end of file
sample-form-manager/src/main/java/com/mortals/xhx/base/system/user/model/UserEntityExt.java
View file @
694557ea
...
@@ -36,4 +36,14 @@ public class UserEntityExt extends BaseEntityLong {
...
@@ -36,4 +36,14 @@ public class UserEntityExt extends BaseEntityLong {
private
String
oldPassword
;
private
String
oldPassword
;
private
String
newPassword
;
private
String
newPassword
;
private
String
siteIds
;
private
String
siteIds
;
/**
* 菜单栏
*/
private
String
menuUrl
;
/**
* 所属区域code,多个逗号分隔
*/
private
String
areaCodes
;
}
}
\ No newline at end of file
sample-form-manager/src/main/java/com/mortals/xhx/base/system/user/service/UserService.java
View file @
694557ea
...
@@ -10,6 +10,7 @@ package com.mortals.xhx.base.system.user.service;
...
@@ -10,6 +10,7 @@ package com.mortals.xhx.base.system.user.service;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.service.ICRUDCacheService
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.xhx.base.system.menu.model.MenuEntity
;
import
com.mortals.xhx.base.system.menu.model.MenuEntity
;
...
@@ -28,7 +29,7 @@ import java.util.Set;
...
@@ -28,7 +29,7 @@ import java.util.Set;
* @version 1.0.0
* @version 1.0.0
*/
*/
public
interface
UserService
extends
ICRUDService
<
UserEntity
,
Long
>
{
public
interface
UserService
extends
ICRUD
Cache
Service
<
UserEntity
,
Long
>
{
/**
/**
* 用户登录
* 用户登录
*
*
...
...
sample-form-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java
View file @
694557ea
...
@@ -15,6 +15,7 @@ import com.mortals.framework.model.Context;
...
@@ -15,6 +15,7 @@ import com.mortals.framework.model.Context;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.util.SecurityUtil
;
import
com.mortals.framework.util.SecurityUtil
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.framework.util.StringUtils
;
...
@@ -43,7 +44,7 @@ import java.util.*;
...
@@ -43,7 +44,7 @@ import java.util.*;
* @version 1.0.0
* @version 1.0.0
*/
*/
@Service
(
"userService"
)
@Service
(
"userService"
)
public
class
UserServiceImpl
extends
AbstractCRUDServiceImpl
<
UserDao
,
UserEntity
,
Long
>
implements
UserService
{
public
class
UserServiceImpl
extends
AbstractCRUD
Cache
ServiceImpl
<
UserDao
,
UserEntity
,
Long
>
implements
UserService
{
@Autowired
@Autowired
...
@@ -53,6 +54,13 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
...
@@ -53,6 +54,13 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
@Autowired
@Autowired
private
RoleUserDao
roleUserDao
;
private
RoleUserDao
roleUserDao
;
@Override
protected
String
getExtKey
(
UserEntity
data
)
{
return
data
.
getLoginName
();
}
private
void
doHandlerUser
(
UserEntity
entity
)
throws
AppException
{
private
void
doHandlerUser
(
UserEntity
entity
)
throws
AppException
{
if
(
StringUtils
.
isNotEmpty
(
entity
.
getLoginPwd
()))
{
if
(
StringUtils
.
isNotEmpty
(
entity
.
getLoginPwd
()))
{
try
{
try
{
...
...
sample-form-manager/src/main/java/com/mortals/xhx/common/key/RedisKey.java
View file @
694557ea
...
@@ -15,7 +15,7 @@ public class RedisKey {
...
@@ -15,7 +15,7 @@ public class RedisKey {
public
static
final
String
KEY_DAY_VIEW_TOTAL
=
"dayViewTotal:"
;
public
static
final
String
KEY_DAY_VIEW_TOTAL
=
"dayViewTotal:"
;
public
static
final
String
KEY_USER_MENU_CACHE
=
"user:menu"
;
...
...
sample-form-manager/src/main/java/com/mortals/xhx/common/utils/MenuEncodeUtil.java
0 → 100644
View file @
694557ea
package
com.mortals.xhx.common.utils
;
import
com.mortals.framework.ap.GlobalSysInfo
;
import
com.mortals.framework.ap.SysConstains
;
import
com.mortals.framework.util.AESUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.Set
;
@Slf4j
public
class
MenuEncodeUtil
{
public
static
String
generateMenuUrlCode
(
Set
<
String
>
urls
)
{
try
{
String
securityKey
=
GlobalSysInfo
.
getPropertyValue
(
SysConstains
.
PROP_COOKIE_SECURITY_KEY
);
StringBuilder
sb
=
new
StringBuilder
();
if
(
urls
!=
null
&&
urls
.
size
()
>
0
)
{
for
(
String
url
:
urls
)
{
int
index
=
url
.
hashCode
()
&
(
Integer
.
MAX_VALUE
-
1
);
sb
.
append
(
index
).
append
(
","
);
}
}
String
menuUrl
=
sb
.
toString
();
return
AESUtil
.
encrypt
(
menuUrl
,
securityKey
);
}
catch
(
Throwable
e
)
{
log
.
error
(
"编码异常"
,
e
);
return
null
;
}
}
}
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